Subject: Re: Cygwin B20/Jan-Snapshot Bug Report
From: Earnie Boyd <[email-masked]>
To: David M Knight <[email-masked]>
Cc: "dmk%applied-cs-inc.com" <[email-masked]>, cygwin users <[email-masked]>
Date: Thu, 3 Jun 1999 06:51:12 -0700 (PDT)

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 <[email-masked]> 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
> &amp;&amp; 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 [email-masked]