从 CVS 存储库获取修订
我试图以某种方式获取对特定文件所做的所有修订日志, 但我这样做似乎很愚蠢:(
为了签出一个模块,我在 myworkingdir 中执行以下操作,
CVSROOT="/home/projects/stuff/" cvs co myworkingdir
我有一个名为 paper.tex 的测试文件,我想尝试一下 获得修订,但我尝试了以下方法,但没有任何效果...
CVSROOT="/home/projects/stuff/" cvs log paper.tex
cvs log: cannot open CVS/Entries for reading: No such file or directory
cvs log: nothing known about paper.tex
-bash-3.2$ CVSROOT="/home/projects/stuff/" cvs log myworkingdir/paper.tex
cvs [log aborted]: no such directory `myworkingdir'
任何人都知道我如何获取 paper.tex 文件的修订日志 在 myworkingdir 模块中?
非常感谢您的帮助! 克劳斯
I am trying to get somehow all the revision log that were made to a particular file,
but I seem to stupid to do that :(
To checkout a module I do the following
CVSROOT="/home/projects/stuff/" cvs co myworkingdir
within myworkingdir I have a testfile called paper.tex and from this I wanna try
to get the revisions but I tried the following but nothing works ...
CVSROOT="/home/projects/stuff/" cvs log paper.tex
cvs log: cannot open CVS/Entries for reading: No such file or directory
cvs log: nothing known about paper.tex
-bash-3.2$ CVSROOT="/home/projects/stuff/" cvs log myworkingdir/paper.tex
cvs [log aborted]: no such directory `myworkingdir'
Anyone an idea how I could get the log of the revisions of the paper.tex file
in the myworkingdir module?
Many thanks for your help!
Claus
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
错误“无法打开 CVS/条目进行读取”通常意味着运行命令时您不在沙箱内(即从 CVS 签出的文件夹)。
另请注意,
cvs log
永远不会使用 CVSROOT 环境变量。相反,它从当前目录的沙箱元数据(即 ./CVS/Root 文件)读取连接字符串。这也是运行cvs log
时需要位于有效沙箱内的原因。如果您想记录一个文件而不先检查它,您可以执行以下操作:
但是, /home/projects/stuff 真的是您的存储库的位置吗?或者它可能是您的工作副本的位置?如果它是您的存储库的位置,那么应该有一个文件夹 /home/projects/stuff/CVSROOT,其中包含各种管理文件(例如模块、loginfo、commitinfo、cvswrappers 等)。
无论如何,请确保您的工作副本完全位于其他位置(即不在 /home/projects/stuff 下的任何位置)。
The error "Cannot open CVS/Entries for reading" usually means that you are not inside a sandbox (i.e. a folder checked out from CVS) while running the command.
Please also note that
cvs log
will never use the CVSROOT environment variable. Instead, it reads the connection string from the current directory's sandbox meta data, i.e. the ./CVS/Root file. This is also why you need to be located inside a valid sandbox when runningcvs log
.If you want to log a file without checking it out first, you can do the following:
However, is /home/projects/stuff really the location of your repository? Or is it maybe rather the location of your working copy? If it is the location of your repository then there should be a folder /home/projects/stuff/CVSROOT containing all kinds of administrative files (e.g. modules, loginfo, commitinfo, cvswrappers, etc.).
In any case, make sure your working copy is located somewhere else entirely (i.e. not anywhere under /home/projects/stuff).