[cvsnt] Can't import binary files with std cvs backend

Chris Allen chrisa at matrixscience.com
Mon Sep 18 12:48:18 BST 2006


Chris Allen wrote:
> cvs.exe -d ":pserver:chrisa at localhost:/export/cvsroot" import -I! -m 
> "RM: Test import" scratch/import_bin SCRATCH_VENDBRN SCRATCH_20060707
> N scratch/import_bin/my.lib
> cvs: import.c:583: process_import_file: Assertion `entdata->options[0] 
> == '-' && entdata->options[1] == 'k'' failed.
> cvs [import aborted]: received abort signal

Looks like this is fixed now (testing with "2.5.04 (Zen) Build 2442") - 
thanks heaps!

However, it seems that cvswrappers are now ignored when specifying the 
"-k" option when doing an import, which has changed since 2.0.62 (at 
least).  Using the latest build if I specify "-ko", as a default for 
files that don't match any cvswrappers, files that do match still get 
the "o" flag and so binary files are treated as text (trace at end).

Running in debug mode, the wrapper option is correctly set at this line:

client.cpp:4958:  vers.options = wrap_rcsoption(vfile);

But the subsequent call to "assign_options()" causes the command line 
flag to clobber it, at:

vers_ts.cpp:70:  *existing_options = xstrdup (options);

Which results in:

# grep --binary-files=text expand import_bin/*,v
import_bin/myheader.h,v:expand   @o@;
import_bin/my.lib,v:expand   @o@;

Regards,
Chris


"\Program Files\CVSNT\CVSNT\cvs.exe" -ttt -d 
":pserver:chrisa at localhost:/export/cvsroot" import -I! -ko -m "RM: Test 
import" scratch/import_bin SCRATCH_VENDBRN SCRATCH_20060918
12:31:43:   -> Tracelevel set to 3.  PID is 2668
12:31:43:   -> Session ID is a6c450e839f16ce
12:31:43:   -> Session time is Mon Sep 18 11:31:43 2006
12:31:43:   -> Loading protocol pserver as pserver.dll
12:31:43:   -> CLibraryAccess::Load loading 
C:\PROGRA~1\CVSNT\CVSNT/protocols/pserver.dll
12:31:43:   -> main loop with 
CVSROOT=:pserver:chrisa at localhost:/export/cvsroot
12:31:43:   -> start_server(0)
12:31:43:   -> wrap_add(*.sln -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.vcproj -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.csproj -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.dsw -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.dsp -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.isv -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.idt -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.rtf -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.mhtml -k 'o', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.avi -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.baf -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.bin -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.bmp -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.bz -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.bz2 -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.chm -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.class -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.cur -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.dll -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.doc -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.exe -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.exp -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.gif -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.gz -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.hqx -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.ico -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.jar -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.jpeg -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.jpg -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.lib -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.mov -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.mp3 -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.mpg -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.mso -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.obj -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.pdf -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.png -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.ppt -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.rpm -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.srpm -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.swf -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.tar -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.tbz -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.tgz -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.tif -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.tiff -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.wmz -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.xbm -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.xls -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.yep -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.zip -k 'b', 0, 1, 1, 0)
12:31:43:   -> wrap_add(*.a -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.avi -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.bin -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.bmp -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.bz2 -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.chm -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.class -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.dll -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.doc -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.dvi -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.exe -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.gif -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.gz -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.hqx -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.ico -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.ilk -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.iso -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.lib -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.jar -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.jpg -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.jpeg -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.lnk -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.mpg -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.mpeg -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.mov -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.mp3 -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.ncb -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.o -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.ogg -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.obj -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.pdb -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.pdf -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.png -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.ppt -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.res -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.rpm -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.sit -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.so -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.tar -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.tga -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.tgz -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.tif -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.tiff -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.wav -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.wmv -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.xls -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.zip -kb, 0, 0, 0, 0)
12:31:43:   -> wrap_add(*.Z -kb, 0, 0, 0, 0)
12:31:43:   -> Sending file 'my.lib' to server
12:31:43:   -> wnt_stat(my.lib)
12:31:43:   -> _statcore(00000000,my.lib)
12:31:43:   -> Trying GetFileAttributesEx....
12:31:43:   -> File attributes = 00000020
12:31:43:   ->  - read/write file
12:31:43:   -> GetUnixFileModeNtEA(m,00000670) returns 0000
12:31:43:   -> Sending file 'myheader.h' to server
12:31:43:   -> wnt_stat(myheader.h)
12:31:43:   -> _statcore(00000000,myheader.h)
12:31:43:   -> Trying GetFileAttributesEx....
12:31:43:   -> File attributes = 00000020
12:31:43:   ->  - read/write file
12:31:43:   -> GetUnixFileModeNtEA(m,00000670) returns 0000
cvs import: warning: unrecognized response `S -> serve_directory (.)' 
from cvs server
cvs import: warning: unrecognized response `S -> dirswitch (., 
/export/cvsroot/scratch/import_bin)' from cvs server
cvs import: warning: unrecognized response `S -> do_cvs_command 
(import)' from cvs server
cvs import: warning: unrecognized response `S -> server_notify()' from 
cvs server
S -> CVS_SERVER_SLEEP not set.
S -> Parse_Info (/export/cvsroot/CVSROOT/verifymsg, scratch/import_bin, 
not ALL)
S-> system('/bin/true' '/var/tmp/cvsaacUDy')
S -> unlink_file(/var/tmp/cvsaacUDy)
S -> safe_location( where=(null) )
N scratch/import_bin/my.lib
N scratch/import_bin/myheader.h

No conflicts created by this import



More information about the cvsnt mailing list