从 CVS 存储库获取修订

发布于 2024-08-30 22:57:28 字数 623 浏览 8 评论 0原文

我试图以某种方式获取对特定文件所做的所有修订日志, 但我这样做似乎很愚蠢:(

为了签出一个模块,我在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌吟 2024-09-06 22:57:28

错误“无法打开 CVS/条目进行读取”通常意味着运行命令时您不在沙箱内(即从 CVS 签出的文件夹)。
另请注意,cvs log 永远不会使用 CVSROOT 环境变量。相反,它从当前目录的沙箱元数据(即 ./CVS/Root 文件)读取连接字符串。这也是运行 cvs log 时需要位于有效沙箱内的原因。

如果您想记录一个文件而不先检查它,您可以执行以下操作:

cvs -d/home/projects/stuff rlog myworkingdir/paper.tex

但是, /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 running cvs log.

If you want to log a file without checking it out first, you can do the following:

cvs -d/home/projects/stuff rlog myworkingdir/paper.tex

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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文