all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Reiner Steib <reiner.steib@gmx.de>
Cc: 4451@emacsbugs.donarmstrong.com
Subject: bug#4451: 23.1; EOL problems with vc-diff and cygwin
Date: Mon, 05 Oct 2009 14:45:43 -0400	[thread overview]
Message-ID: <jwv8wfphee2.fsf-monnier+emacsbugreports@gnu.org> (raw)
In-Reply-To: <20091005180753.1mcmt2jzswoko048@imap.uni-ulm.de> (Reiner Steib's message of "Mon, 05 Oct 2009 18:07:53 +0200")

> `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)

Looks like vc-cvs-diff sets up the coding system redundantly.

>> 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.

Well, that's probably a good explanation for why you see the problem and
others don't: overwriting a file with another is not exaclty standard
practice in revision-control-systems.  I'm surprised that CVS doesn't
consider that every line in the file is modified (AFAIK that's what it
does if you copy the DOS-EOL version of a file atop a Unix-EOL file).

IOW: don't do that.  Either convince CVS to use Unix-EOLs on this file,
or use DOS-EOLs.


        Stefan





  reply	other threads:[~2009-10-05 18:45 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
2009-10-05 18:45                     ` Stefan Monnier [this message]
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=jwv8wfphee2.fsf-monnier+emacsbugreports@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=4451@emacsbugs.donarmstrong.com \
    --cc=reiner.steib@gmx.de \
    /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.