[cvsnt] Unable to access a renamed files

Arthur Barrett arthur.barrett at march-hare.com
Sun Aug 31 14:01:15 BST 2008

Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.

Alastair sent me a more detailed message showing the commands and also
the RCS files, I've replied in more detail to that directly, but I
wanted to keep the newsgroup in the loop.

> c:\program files\CVSNT\cvs.exe -d -f checkout -r 1.31 -d temp 
> MyRepo/ExecCommands.c

I did not originally pick up on the '-r 1.31'.

The correct behaviour is that it fails with a "cannot find module"

The reason is that it is not possible to checkout a revision by it's
'new' name and revision number once it has been renamed.  Instead a Tag,
or branch or HEAD or a 'date' should be used.

A limitation of the rename functionality is that you cannot find the
name of a file unless the directory (.directory_history file) has the
same information.  

So you can 'cvs co -p -D' or 'cvs co -p -r HEAD' OK.

But you cannot 'cvs co -p -r 1.32' since the code has no way of matching
1.32 to a revision in .directory_history.  

It would be possible to make it work by modifying CVSNT to either:
* find the date of revision 1.32 in the target file and then use the
date to find the revision in .directory_history
* use the 'filename' on that revision (if there is one since older RCS
files may not have filenames on revisions).

Neither of these are possible for 2.5.04 but anyone is welcome to pitch
in the effort once 2.5.04 is released.


Arthur Barrett

More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook