unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* "checksum failure after patch" in CVS
@ 2005-07-04 14:41 Juanma Barranquero
  2005-07-04 14:47 ` Juanma Barranquero
  0 siblings, 1 reply; 11+ messages in thread
From: Juanma Barranquero @ 2005-07-04 14:41 UTC (permalink / raw)


C:\...\HEAD> cvs -q update
? data
? site-lisp
? etc/icons
? lib-src/ctags.c
? lisp/Makefile.unix
? nt/config.log
? nt/makefile
P config.bat
cvs update: checksum failure after patch to ./config.bat; will refetch
M info/dir

[and apparently CVS hangs, or at least it takes a very long time]

-- 
                    /L/e/k/t/u

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-04 14:41 "checksum failure after patch" in CVS Juanma Barranquero
@ 2005-07-04 14:47 ` Juanma Barranquero
  2005-07-04 15:45   ` Jason Rumney
  2005-07-04 22:47   ` Eli Zaretskii
  0 siblings, 2 replies; 11+ messages in thread
From: Juanma Barranquero @ 2005-07-04 14:47 UTC (permalink / raw)


On 7/4/05, Juanma Barranquero <lekktu@gmail.com> wrote:

> P config.bat
> cvs update: checksum failure after patch to ./config.bat; will refetch

Weirdly enough, it all worked again after

  C:\...\HEAD> cvs -q update -kb config.bat
  U config.bat
  C:\...\HEAD> cvs -q update

Perhaps it is a problem with CVSNT. Even so, id I say already that I
*hate* .BAT files in binary mode in the repository?

-- 
                    /L/e/k/t/u

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-04 14:47 ` Juanma Barranquero
@ 2005-07-04 15:45   ` Jason Rumney
  2005-07-04 22:50     ` Eli Zaretskii
  2005-07-04 23:08     ` Juanma Barranquero
  2005-07-04 22:47   ` Eli Zaretskii
  1 sibling, 2 replies; 11+ messages in thread
From: Jason Rumney @ 2005-07-04 15:45 UTC (permalink / raw)
  Cc: Emacs Devel

Juanma Barranquero wrote:

>Weirdly enough, it all worked again after
>
>  C:\...\HEAD> cvs -q update -kb config.bat
>  U config.bat
>  C:\...\HEAD> cvs -q update
>
>Perhaps it is a problem with CVSNT. Even so, id I say already that I
>*hate* .BAT files in binary mode in the repository?
>  
>
It's not in binary format in the repository, we deliberately avoid 
binary format for text files, even when we need to check them in with 
DOS line ends, because we know that binary format is inconvenient.

I don't have any problem updating it with CVSNT 2.0.51d, it may be a bug 
in the specific version you are using.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-04 22:50     ` Eli Zaretskii
@ 2005-07-04 22:34       ` Jason Rumney
  0 siblings, 0 replies; 11+ messages in thread
From: Jason Rumney @ 2005-07-04 22:34 UTC (permalink / raw)
  Cc: lekktu, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Mon, 04 Jul 2005 16:45:56 +0100
>> From: Jason Rumney <jasonr@gnu.org>
>> Cc: Emacs Devel <emacs-devel@gnu.org>
>> 
>> I don't have any problem updating it with CVSNT 2.0.51d, it may be a bug 
>> in the specific version you are using.
>
> Is config.bat checked out with -kb on your machine?  If it is, then
> such problems indeed will never happen.  Juanma's wasn't.

No. config.bat is only used by the DOS build, so the fact it might not
work as-is does not bother me.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-04 14:47 ` Juanma Barranquero
  2005-07-04 15:45   ` Jason Rumney
@ 2005-07-04 22:47   ` Eli Zaretskii
  2005-07-04 22:59     ` Juanma Barranquero
  1 sibling, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2005-07-04 22:47 UTC (permalink / raw)
  Cc: emacs-devel

> Date: Mon, 4 Jul 2005 16:47:24 +0200
> From: Juanma Barranquero <lekktu@gmail.com>
> 
> On 7/4/05, Juanma Barranquero <lekktu@gmail.com> wrote:
> 
> > P config.bat
> > cvs update: checksum failure after patch to ./config.bat; will refetch
> 
> Weirdly enough, it all worked again after
> 
>   C:\...\HEAD> cvs -q update -kb config.bat
>   U config.bat
>   C:\...\HEAD> cvs -q update

That's a known problem: it means that config.bat didn't have -kb in
your CVS/Entries file prior to the first "cvs update" (without -kb).
That's why the first "cvs up" did a P(atch) instead of U(pdate).  When
it tries to patch a file with DOS-style line-endings, the checksum
never works out due to EOL munging by the client (it blindly adds a CR
before each LF, even if there's already a CR).

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-04 15:45   ` Jason Rumney
@ 2005-07-04 22:50     ` Eli Zaretskii
  2005-07-04 22:34       ` Jason Rumney
  2005-07-04 23:08     ` Juanma Barranquero
  1 sibling, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2005-07-04 22:50 UTC (permalink / raw)
  Cc: lekktu, emacs-devel

> Date: Mon, 04 Jul 2005 16:45:56 +0100
> From: Jason Rumney <jasonr@gnu.org>
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> I don't have any problem updating it with CVSNT 2.0.51d, it may be a bug 
> in the specific version you are using.

Is config.bat checked out with -kb on your machine?  If it is, then
such problems indeed will never happen.  Juanma's wasn't.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-04 22:47   ` Eli Zaretskii
@ 2005-07-04 22:59     ` Juanma Barranquero
  0 siblings, 0 replies; 11+ messages in thread
From: Juanma Barranquero @ 2005-07-04 22:59 UTC (permalink / raw)
  Cc: emacs-devel

On 7/5/05, Eli Zaretskii <eliz@gnu.org> wrote:

> That's a known problem: it means that config.bat didn't have -kb in
> your CVS/Entries file prior to the first "cvs update" (without -kb).
> That's why the first "cvs up" did a P(atch) instead of U(pdate).  When
> it tries to patch a file with DOS-style line-endings, the checksum
> never works out due to EOL munging by the client (it blindly adds a CR
> before each LF, even if there's already a CR).

You nailed it. Indeed I had not checked out config.bat with -kb, only
the .BATs in nt/. Thanks!

FWIW, I'm using "CVSNT 2.5.01 (Travis) Build 1976", which is the newest release.

-- 
                    /L/e/k/t/u

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-04 15:45   ` Jason Rumney
  2005-07-04 22:50     ` Eli Zaretskii
@ 2005-07-04 23:08     ` Juanma Barranquero
  2005-07-05  4:30       ` Eli Zaretskii
  1 sibling, 1 reply; 11+ messages in thread
From: Juanma Barranquero @ 2005-07-04 23:08 UTC (permalink / raw)
  Cc: Emacs Devel

On 7/4/05, Jason Rumney <jasonr@gnu.org> wrote:

> It's not in binary format in the repository, we deliberately avoid
> binary format for text files, even when we need to check them in with
> DOS line ends, because we know that binary format is inconvenient.

It's a terminology issue. You're right the file is in "text" mode in
the repository, but when a file is in the repository in text mode with
CR/LF pairs, in my view it is a binary file masquerading as a text
one. I will not say the CVSNT client is right in doing CR/LF ->
CR/CR/LF, because it obviously is gaffing. But having a CR/LF file in
the repo as text file is evil, was evil, will forever be evil. IMHO,
and all standard disclaimers, etc. etc.

> I don't have any problem updating it with CVSNT 2.0.51d, it may be a bug
> in the specific version you are using.

Eli has already explained the issue, but for the record: I didn't
change my version of CVSNT for weeks, and I was routinely checking out
Emacs several times a day; otherwise a client problem would have been
the prime suspect.

It seems config.bat had LF on the repo and some recent change has
updated it with CR/LF.

-- 
                    /L/e/k/t/u

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-04 23:08     ` Juanma Barranquero
@ 2005-07-05  4:30       ` Eli Zaretskii
  2005-07-05  8:23         ` Juanma Barranquero
  0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2005-07-05  4:30 UTC (permalink / raw)
  Cc: emacs-devel, jasonr

> Date: Tue, 5 Jul 2005 01:08:01 +0200
> From: Juanma Barranquero <lekktu@gmail.com>
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> On 7/4/05, Jason Rumney <jasonr@gnu.org> wrote:
> 
> > It's not in binary format in the repository, we deliberately avoid
> > binary format for text files, even when we need to check them in with
> > DOS line ends, because we know that binary format is inconvenient.
> 
> It's a terminology issue. You're right the file is in "text" mode in
> the repository, but when a file is in the repository in text mode with
> CR/LF pairs, in my view it is a binary file masquerading as a text
> one.

It is no more binary than a Unix-style file such as configure.in.

You are, in effect, saying that Emacs is wrong decoding non-Unix EOLs
and treating the result as text by hiding the alien EOL sequences from
the user when it displays the file.  Because if config.bat is a binary
file, we should have visited it with no-conversion.

> I will not say the CVSNT client is right in doing CR/LF ->
> CR/CR/LF, because it obviously is gaffing. But having a CR/LF file in
> the repo as text file is evil, was evil, will forever be evil.

It's not evil because storing it as a binary loses some valuable
features of CVS, like the ability to say "cvs diff", "cvs annotate",
etc.

What _is_ evil is the broken manner in which Windows CVS clients
handle the EOL issue.

> It seems config.bat had LF on the repo and some recent change has
> updated it with CR/LF.

No, config.bat was always stored with DOS EOLs in the Emacs CVS.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-05  4:30       ` Eli Zaretskii
@ 2005-07-05  8:23         ` Juanma Barranquero
  2005-07-05 21:18           ` Eli Zaretskii
  0 siblings, 1 reply; 11+ messages in thread
From: Juanma Barranquero @ 2005-07-05  8:23 UTC (permalink / raw)
  Cc: emacs-devel

On 7/5/05, Eli Zaretskii <eliz@gnu.org> wrote:

> You are, in effect, saying that Emacs is wrong decoding non-Unix EOLs
> and treating the result as text by hiding the alien EOL sequences from
> the user when it displays the file.  Because if config.bat is a binary
> file, we should have visited it with no-conversion.

No. I'm specifically speaking of CVS. Nothing that I did say bears any
relation with Emacs. I'm talking about what CVS and CVS clients *do*
and *expect* from text and/or binary files.

And, as I said, it is a terminology issue. I'm not questioning that
you and Jason are right. That does not keep me from shooting my foot
every now and then because of the CR/LF "text" files in the
repository.

> It's not evil because storing it as a binary loses some valuable
> features of CVS, like the ability to say "cvs diff", "cvs annotate",
> etc.

That's why I'd like for them to be text with LF. I'm not advocating
having CR/LF files in binary. Heck, I'm not "advocating" anything.
I've already understood why some people has decided to have CR/LF
.BATs in the repository as text files. That I understand what has been
done doesn't preclude me of thinking of it as evil (the fact, not the
people, of course).

> What _is_ evil is the broken manner in which Windows CVS clients
> handle the EOL issue.

That, too. But CVSNT is *the* CVS client for Windows, it is widely
deployed. Even if they fixed that, there'd be still a lot of people
running older copies. So we have something in the repository which is
likely to cause problems to Windows developers and users (at least
those who're going to compile their own Emacs).

> No, config.bat was always stored with DOS EOLs in the Emacs CVS.

Funny, then. It's been changed at other times and I never had the problem.

-- 
                    /L/e/k/t/u

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: "checksum failure after patch" in CVS
  2005-07-05  8:23         ` Juanma Barranquero
@ 2005-07-05 21:18           ` Eli Zaretskii
  0 siblings, 0 replies; 11+ messages in thread
From: Eli Zaretskii @ 2005-07-05 21:18 UTC (permalink / raw)
  Cc: emacs-devel

> Date: Tue, 5 Jul 2005 10:23:33 +0200
> From: Juanma Barranquero <lekktu@gmail.com>
> Cc: emacs-devel@gnu.org
> 
> > No, config.bat was always stored with DOS EOLs in the Emacs CVS.
> 
> Funny, then. It's been changed at other times and I never had the problem.

It changes very rarely.  The last time was in November 2004, the one
before that in July 2004.  And if there are a lot of other files that
are updated, one can easily miss the warning about CRC.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-07-05 21:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-04 14:41 "checksum failure after patch" in CVS Juanma Barranquero
2005-07-04 14:47 ` Juanma Barranquero
2005-07-04 15:45   ` Jason Rumney
2005-07-04 22:50     ` Eli Zaretskii
2005-07-04 22:34       ` Jason Rumney
2005-07-04 23:08     ` Juanma Barranquero
2005-07-05  4:30       ` Eli Zaretskii
2005-07-05  8:23         ` Juanma Barranquero
2005-07-05 21:18           ` Eli Zaretskii
2005-07-04 22:47   ` Eli Zaretskii
2005-07-04 22:59     ` Juanma Barranquero

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).