Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <19990603135112.21215.rocketmail@web109.yahoomail.com> Date: Thu, 3 Jun 1999 06:51:12 -0700 (PDT) From: Earnie Boyd Reply-To: earnie_boyd AT yahoo DOT com Subject: Re: Cygwin B20/Jan-Snapshot Bug Report To: David M Knight Cc: "dmk%applied-cs-inc.com" , cygwin users MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii I'm not sure why you directed your problem directly to me so I'm copying the list on my reply. If you want this to work then _you_ will have work on _porting_ it. I don't know of anyone working on this particular problem as rcs and cvs are used more for source code management rather than binary data management. Others, feel free to comment if you've gotten diffutils and rcs to correctly work for binary files on Win32. I'll suggest that you use -mno-cygwin or mingw32 to use the native api's rather than the cygwin library. Yes, it is possible to have these tools in native mode. I have successfully built diffutils and rcs under mingw32. I've built cvs under mingw32 but it didn't work correctly and I never got back to it. None of these build without much tweaking under Mingw32 but it can be done. Good luck, Earnie. --- David M Knight wrote: > I have searched the archives and the ported software locations and have > not been able to find mention of or fixes for the following: > > -- diff(diffutils-2.7) does not handle binary files properly (for rcs > "ci" cmd, and probably for cvs cmds as well > > Attached please find a test script (xxx) and a log file (xxx_cygwin.log) > illustrating the problem. This is a Cygwin B20.1 system with the January 15 > snapshot installed. > > I have tried the rcs-5.7 binaries from the "porters" and have rebuilt > rcs-5.7 myself, but the result is always the same: check-in of a new version > of binary files trashes all prior revisions (e.g. the "reverse deltas") > - apparently due to incorrect difference generation > > I rebuilt the diffutils-2.7 pkg and got the same (incorrect) results. > > NOTE: The rcs-5.7 configure script had to be "fixed" (the test for a > "working diff" is fails because it has 5 file args) and there is some > confusion > in rcslex.c over interpretation of the OPEN_O_BINARY and the "large_memory > && maps_memory" conditional compilation settings as determined > by configure > and conf.sh for cygwin! > > > Attached is a test script illustrating the problem (it works fin on a Unix > system, of course) and > a logfile from a cygwin run. > > Here is the test script: > > set -xv > > which diff > diff --version > > which co > co -V > > rm -f x.tar,v > tar cvf x.tar /cygnus/*b20/include/g++/std > cp -f x.tar orig_x11.tar > ci -l x.tar << EOM > testing > EOM > ls -l x.tar,v > > rcs -kb x.tar > ls -l x.tar,v > > tar cvf x.tar /cygnus/*b20/include/g++/std /cygnus/*b20/share/tcl8.0/http1.0 > cp -f x.tar orig_x12.tar > ci x.tar << EOM > testing > EOM > > ls -l x.tar,v > > rlog x.tar > > co -ko -r1.1 -p x.tar > kb_co_x11.tar > co -kb -r1.1 -p x.tar > ko_co_x11.tar > ls -l *x11.tar > > co -r1.1 -p x.tar > co_x11.tar > ls -l *x11.tar > tar tvf co_x11.tar > > co -r1.2 -p x.tar > co_x12.tar > ls -l *x12.tar > tar tvf co_x12.tar > > rcs -l x.tar > cp orig_x11.tar x.tar > ci x.tar << EOM > testing > EOM > > ls -l x.tar,v > > rlog x.tar > > co -r1.2 -p x.tar > xco_x12.tar > ls -l *x12.tar > tar tvf xco_x12.tar > > echo done > > And a logfile from running said script under cygwin: > > Script Started: Wed Jun 2 13:17:02 1999 > > which diff > + which diff > /BIN/diff > /CYGNUS/CYGWIN~1/H-I586~1/BIN/diff > diff --version > + diff --version > diff - GNU diffutils version 2.7 > > which co > + which co > /USR/LOCAL/BIN/co > co -V > + co -V > RCS version 5.7 > > rm -f x.tar,v > + rm -f x.tar,v > tar cvf x.tar /cygnus/*b20/include/g++/std > + tar cvf x.tar /cygnus/cygwin-b20/include/g++/std > tar: Removing leading `/' from absolute path names in the archive > cygnus/cygwin-b20/include/g++/std/ > cygnus/cygwin-b20/include/g++/std/bastring.cc > cygnus/cygwin-b20/include/g++/std/bastring.h > cygnus/cygwin-b20/include/g++/std/complext.cc > cygnus/cygwin-b20/include/g++/std/complext.h > cygnus/cygwin-b20/include/g++/std/dcomplex.h > cygnus/cygwin-b20/include/g++/std/fcomplex.h > cygnus/cygwin-b20/include/g++/std/ldcomplex.h > cygnus/cygwin-b20/include/g++/std/straits.h > cp -f x.tar orig_x11.tar > + cp -f x.tar orig_x11.tar > ci -l x.tar << EOM > testing > EOM > + ci -l x.tar > x.tar,v <-- x.tar > initial revision: 1.1 > done > ls -l x.tar,v > + ls -l x.tar,v > -r--r--r-- 1 dmk users 82111 Jun 2 13:17 x.tar,v > > rcs -kb x.tar > + rcs -kb x.tar > RCS file: x.tar,v > done > ls -l x.tar,v > + ls -l x.tar,v > -r--r--r-- 1 dmk users 82123 Jun 2 13:17 x.tar,v > > tar cvf x.tar /cygnus/*b20/include/g++/std /cygnus/*b20/share/tcl8.0/http1.0 > + tar cvf x.tar /cygnus/cygwin-b20/include/g++/std > /cygnus/cygwin-b20/share/tcl8.0/http1.0 > tar: Removing leading `/' from absolute path names in the archive > cygnus/cygwin-b20/include/g++/std/ > cygnus/cygwin-b20/include/g++/std/bastring.cc > cygnus/cygwin-b20/include/g++/std/bastring.h > cygnus/cygwin-b20/include/g++/std/complext.cc > cygnus/cygwin-b20/include/g++/std/complext.h > cygnus/cygwin-b20/include/g++/std/dcomplex.h > cygnus/cygwin-b20/include/g++/std/fcomplex.h > cygnus/cygwin-b20/include/g++/std/ldcomplex.h > cygnus/cygwin-b20/include/g++/std/straits.h > cygnus/cygwin-b20/share/tcl8.0/http1.0/ > cygnus/cygwin-b20/share/tcl8.0/http1.0/http.tcl > cygnus/cygwin-b20/share/tcl8.0/http1.0/pkgIndex.tcl > cp -f x.tar orig_x12.tar > + cp -f x.tar orig_x12.tar > ci x.tar << EOM > testing > EOM > + ci x.tar > x.tar,v <-- x.tar > new revision: 1.2; previous revision: 1.1 > done > > ls -l x.tar,v > + ls -l x.tar,v > -r--r--r-- 1 dmk users 176646 Jun 2 13:17 x.tar,v > > rlog x.tar > + rlog x.tar > > RCS file: x.tar,v > Working file: x.tar > head: 1.2 > branch: > locks: strict > access list: > symbolic names: > keyword substitution: b > total revisions: 2; selected revisions: 2 > description: > testing > ---------------------------- > revision 1.2 > date: 1999/06/02 20:17:11; author: dmk; state: Exp; lines: +2642 -2252 > testing > ---------------------------- > revision 1.1 > date: 1999/06/02 20:17:10; author: dmk; state: Exp; > Initial revision > ============================================================================= > > co -ko -r1.1 -p x.tar > kb_co_x11.tar > + co -ko -r1.1 -p x.tar > x.tar,v --> standard output > revision 1.1 > co -kb -r1.1 -p x.tar > ko_co_x11.tar > + co -kb -r1.1 -p x.tar > x.tar,v --> standard output > revision 1.1 > ls -l *x11.tar > + ls -l co_x11.tar kb_co_x11.tar ko_co_x11.tar orig_x11.tar > -rw-r--r-- 1 dmk users 84171 Jun 2 13:13 co_x11.tar > -rw-r--r-- 1 dmk users 84171 Jun 2 13:17 kb_co_x11.tar > -rw-r--r-- 1 dmk users 84171 Jun 2 13:17 ko_co_x11.tar > -rw-r--r-- 1 dmk users 81920 Jun 2 13:17 orig_x11.tar > > co -r1.1 -p x.tar > co_x11.tar > + co -r1.1 -p x.tar > x.tar,v --> standard output > revision 1.1 > ls -l *x11.tar > + ls -l co_x11.tar kb_co_x11.tar ko_co_x11.tar orig_x11.tar > -rw-r--r-- 1 dmk users 84171 Jun 2 13:17 co_x11.tar > -rw-r--r-- 1 dmk users 84171 Jun 2 13:17 kb_co_x11.tar > -rw-r--r-- 1 dmk users 84171 Jun 2 13:17 ko_co_x11.tar > -rw-r--r-- 1 dmk users 81920 Jun 2 13:17 orig_x11.tar > tar tvf co_x11.tar > + tar tvf co_x11.tar > drwxr-xr-x dmk/users 0 1999-05-27 15:13 > cygnus/cygwin-b20/include/g++/std/ > -rw-r--r-- dmk/users 13468 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/bastring.cc > tar: Skipping to next file header > > co -r1.2 -p x.tar > co_x12.tar > + co -r1.2 -p x.tar > x.tar,v --> standard output > revision 1.2 > ls -l *x12.tar > + ls -l co_x12.tar orig_x12.tar xco_x12.tar > -rw-r--r-- 1 dmk users 92160 Jun 2 13:17 co_x12.tar > -rw-r--r-- 1 dmk users 92160 Jun 2 13:17 orig_x12.tar > -rw-r--r-- 1 dmk users 94801 Jun 2 13:13 xco_x12.tar > tar tvf co_x12.tar > + tar tvf co_x12.tar > drwxr-xr-x dmk/users 0 1999-05-27 15:13 > cygnus/cygwin-b20/include/g++/std/ > -rw-r--r-- dmk/users 13468 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/bastring.cc > -rw-r--r-- dmk/users 21170 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/bastring.h > -rw-r--r-- dmk/users 7046 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/complext.cc > -rw-r--r-- dmk/users 11535 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/complext.h > -rw-r--r-- dmk/users 3650 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/dcomplex.h > -rw-r--r-- dmk/users 3510 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/fcomplex.h > -rw-r--r-- dmk/users 3876 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/ldcomplex.h > -rw-r--r-- dmk/users 5162 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/straits.h > drwxr-xr-x dmk/users 0 1999-05-27 15:13 > cygnus/cygwin-b20/share/tcl8.0/http1.0/ > -rw-r--r-- dmk/users 9707 1998-12-01 00:52 > cygnus/cygwin-b20/share/tcl8.0/http1.0/http.tcl > -rw-r--r-- dmk/users 735 1998-12-01 00:52 > cygnus/cygwin-b20/share/tcl8.0/http1.0/pkgIndex.tcl > > rcs -l x.tar > + rcs -l x.tar > RCS file: x.tar,v > 1.2 locked > done > cp orig_x11.tar x.tar > + cp orig_x11.tar x.tar > ci x.tar << EOM > testing > EOM > + ci x.tar > x.tar,v <-- x.tar > new revision: 1.3; previous revision: 1.2 > done > > ls -l x.tar,v > + ls -l x.tar,v > -r--r--r-- 1 dmk users 261327 Jun 2 13:17 x.tar,v > > rlog x.tar > + rlog x.tar > > RCS file: x.tar,v > Working file: x.tar > head: 1.3 > branch: > locks: strict > access list: > symbolic names: > keyword substitution: b > total revisions: 3; selected revisions: 3 > description: > testing > ---------------------------- > revision 1.3 > date: 1999/06/02 20:17:15; author: dmk; state: Exp; lines: +2252 -2642 > testing > ---------------------------- > revision 1.2 > date: 1999/06/02 20:17:11; author: dmk; state: Exp; lines: +2642 -2252 > testing > ---------------------------- > revision 1.1 > date: 1999/06/02 20:17:10; author: dmk; state: Exp; > Initial revision > ============================================================================= > > co -r1.2 -p x.tar > xco_x12.tar > + co -r1.2 -p x.tar > x.tar,v --> standard output > revision 1.2 > ls -l *x12.tar > + ls -l co_x12.tar orig_x12.tar xco_x12.tar > -rw-r--r-- 1 dmk users 92160 Jun 2 13:17 co_x12.tar > -rw-r--r-- 1 dmk users 92160 Jun 2 13:17 orig_x12.tar > -rw-r--r-- 1 dmk users 94801 Jun 2 13:17 xco_x12.tar > tar tvf xco_x12.tar > + tar tvf xco_x12.tar > drwxr-xr-x dmk/users 0 1999-05-27 15:13 > cygnus/cygwin-b20/include/g++/std/ > -rw-r--r-- dmk/users 13468 1998-12-01 00:53 > cygnus/cygwin-b20/include/g++/std/bastring.cc > tar: Skipping to next file header > > echo done > + echo done > done > > Script ended Wed Jun 2 13:17:31 1999 > _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com