tags:

views:

81

answers:

1

Hi,

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

A: 

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

Oliver Giesen