From: Reiner Steib <reiner.steib@gmx.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 4451@emacsbugs.donarmstrong.com
Subject: bug#4451: 23.1; EOL problems with vc-diff and cygwin
Date: Mon, 05 Oct 2009 18:07:53 +0200 [thread overview]
Message-ID: <20091005180753.1mcmt2jzswoko048@imap.uni-ulm.de> (raw)
In-Reply-To: <834oqqt63w.fsf@gnu.org>
Eli Zaretskii wrote:
> What I'd like to see is where in Emacs sources we examine the output
> we get from Diff, and where and why we err as to what EOL format
> should be used for decoding that output.
`vc-coding-system-for-diff' is called 2 times when I do `C-x v ='
1)
vc-coding-system-for-diff("c:/Users/x123456/tmp/check-out/K3.xml")
vc-diff-internal(t (CVS ("c:/Users/x123456/tmp/check-out/K3.xml"))
nil nil t)
vc-diff(nil t)
call-interactively(vc-diff nil nil)
2)
vc-coding-system-for-diff("c:/Users/x123456/tmp/check-out/K3.xml")
vc-cvs-diff(("c:/Users/x123456/tmp/check-out/K3.xml") nil nil "*vc-diff*")
apply(vc-cvs-diff (("c:/Users/x123456/tmp/check-out/K3.xml") nil
nil "*vc-diff*"))
vc-call-backend(CVS diff ("c:/Users/x123456/tmp/check-out/K3.xml")
nil nil "*vc-diff*")
vc-diff-internal(t (CVS ("c:/Users/x123456/tmp/check-out/K3.xml"))
nil nil t)
vc-diff(nil t)
call-interactively(vc-diff nil nil)
> One possibility for this mistake might be that Diff produces
> inconsistent EOL format in its output, for example if Diff or its VC
> front-end outputs some headers that have Unix EOLs and then the actual
> diffs with DOS EOLs.
The repository file (K3.xml,v) has Unix EOLs. But if I do a fresh
checkout, I get a file K3.xml with DOS EOLs (I think this is the usual
behavoir of the Windows cvs binaries[1] for text files unless you
specify the switch "-ko"). However, in my workflow I overwrite the file
with a Unix EOL file (exported from some application), do modifications,
diffs and check it in.
Probably this conversion is also the reason that "cvs diff --binary"
outputs "^M^M$" for the old file and "^M$" for the new file. "cvs diff"
outputs consitent DOS EOLs (both diff markers and the text):
$ cvs diff SK3.xml | cat --show-all | grep -F -v '^M' | wc -l
> Another possibility is that somewhere along the chain of processing
> the output, we force EOL conversion to be Unix-style, instead of
> detecting EOLs dynamically, or maybe even forcing it to DOS (if we
> have clear evidence for doing the latter).
`vc-coding-system-for-diff' returns `utf-8-unix' in both calls.
Stefan Monnier wrote:
> Could it be that the RCS files accessed this way get an accidental
> LF->CRLF conversion done by the network-file-system?
> Seems pretty unlikely. But could you try and copy (part of) the
> repository to a local directory and try the operation again, just to
> rule out any funny business from this side?
I copied the repository file to a local drive and also used local drive
working copy (drive c:). But that doesn't make any difference.
Bye, Reiner
[1] $ cvs --version
Concurrent Versions System (CVS) 1.11.22 (client)
Copyright (C) 2006 Free Software Foundation, Inc.
next prev parent reply other threads:[~2009-10-05 16:07 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-16 18:08 bug#4451: 23.1; EOL problems with vc-diff and cygwin Reiner Steib
2009-09-16 20:56 ` Eli Zaretskii
2009-09-17 14:26 ` Reiner Steib
2009-09-17 16:35 ` Stefan Monnier
2009-09-17 17:22 ` Eli Zaretskii
2009-09-17 20:59 ` Stefan Monnier
2009-09-18 11:29 ` Reiner Steib
2009-09-24 17:00 ` Reiner Steib
2009-09-24 22:07 ` Stefan Monnier
2009-09-25 19:11 ` Eli Zaretskii
2009-09-26 8:27 ` Reiner Steib
2009-09-26 9:20 ` Eli Zaretskii
2009-09-27 0:36 ` Stefan Monnier
2009-09-27 7:38 ` Eli Zaretskii
2009-09-27 19:03 ` Stefan Monnier
2009-09-27 20:35 ` Reiner Steib
2009-09-28 1:08 ` Stefan Monnier
2009-10-05 16:07 ` Reiner Steib [this message]
2009-10-05 18:45 ` Stefan Monnier
2009-10-05 20:58 ` Eli Zaretskii
2010-07-15 7:22 ` Reiner Steib
2010-07-15 8:33 ` Eli Zaretskii
2010-07-16 6:51 ` Reiner Steib
2010-07-16 8:05 ` Andreas Schwab
2010-07-16 10:18 ` Eli Zaretskii
2010-07-19 7:23 ` Reiner Steib
2009-09-17 17:18 ` Eli Zaretskii
2009-09-18 11:31 ` Reiner Steib
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091005180753.1mcmt2jzswoko048@imap.uni-ulm.de \
--to=reiner.steib@gmx.de \
--cc=4451@emacsbugs.donarmstrong.com \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.