[cvsnt] Re: Problems to access current (CVSNT_2_0_x) source

Himmler, Peter Peter.Himmler at 3SOFT.de
Mon Mar 14 22:22:26 GMT 2005


>Peter Himmler wrote:
>>cvs co -r 1.72.2.115 win32.cpp

>That command doesn't make sense - win32.cpp is not a module.

Correct. But cvs sometimes surprise me so a tried it ;-)


> *> cvs co -r 1.72.2.115 cvsnt/windows-NT/win32.cpp

>Try win32.c.  It's a renamed file and you're not checking out the 
>directory (plus it has no chance as you're specifying a revision number 
>- even the fixed version will only be able to do this correctly given a 
>branch or tag name)... currently the way it works is you have to use the 
>old name in that case.

If I get this right that means

1) With the future corrected rename support GUI clients like tortoiseCVS doesn't have a chance to checkout a certain file revision without the knowledge about past file renames and file renames could only recognised in the enhanced cvs log output ;-)
2) IMHO a rename support which is not transparent to the client will be a nightmare to document (in the manual)

Some samples for current support

> cvs diff -r 1.72.2.115 -r 1.72.2.119 win32.c
  no error, no output
> cvs diff -r 1.72.2.115 -r 1.72.2.119 win32.cpp


Index: win32.cpp
===================================================================
RCS file: /usr/local/cvs/cvsnt/windows-NT/win32.c,v
retrieving revision 1.72.2.118
retrieving revision 1.72.2.119
diff -r1.72.2.118 -r1.72.2.119
51a52,53
> static bool g_standalone;
>
275,278d276
<               dwLen = sizeof(buffer);
<               GetComputerNameA(buffer,&dwLen);
<               *g_defaultdomain='\0';
<
306,308d303
<               if(!*g_defaultdomain)
<                       strncpy(g_defaultdomain,buffer,sizeof(g_defaultdomain));

<
310a306,319
>               else
>                       TRACE(3,"CVS Server is acting as standalone");
>
>               dwLen = sizeof(buffer);
>               GetComputerNameA(buffer,&dwLen);
>               *g_defaultdomain='\0';
>
>               if(!*g_defaultdomain)
>               {
>                       g_standalone = true;
>                       strncpy(g_defaultdomain,buffer,sizeof(g_defaultdomain));

>               }
>               else
>                       g_standalone = false;

Interesting is the name of the rcs file (both revisions are commit with the renamed filename win32.cpp!)


> cvs log -r 1.72.2.115 win32.c
cvs server: nothing known about 1.72.2.115
cvs server: nothing known about win32.c

> cvs log -r 1.72.2.115 win32.cpp
Works. Maybe somewhat strange because I get details on revision 1.89 (latest on TRUNK) - but I'm not sure what should be the output...


-Peter




More information about the cvsnt mailing list