all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: bart.oldeman@bristol.ac.uk (Bart Oldeman)
Subject: Re: cvs emacs build fails on Windows XP
Date: 1 Jul 2003 04:00:17 -0700	[thread overview]
Message-ID: <2e921d9a.0307010300.421b5a1e@posting.google.com> (raw)
In-Reply-To: mailman.8828.1056857204.21513.help-gnu-emacs@gnu.org

"Eli Zaretskii" <eliz@elta.co.il> wrote in message news:<mailman.8828.1056857204.21513.help-gnu-emacs@gnu.org>...
> > Newsgroups: gnu.emacs.help
> > From: Timur Aydin <ta@taydin.org>
> > Date: Sat, 28 Jun 2003 17:12:24 +0300
> > 
> > cvs does change line ending according to the underlying platform. This
> > is by design.
> 
> A quite broken design, I'd say.
> 
> > A properly added file will be stored on the cvs server
> > with LF line endings. When checking out, the file will be converted to
> > have CR/LF line endings under windows, LF line endings under unix (no
> > change) and LF/CR line endings uder MAC.
> 
> And what would this do to Widnows *.bat batch files, that are already
> in CR/LF format, and should stay that way (or else some versions of
> Windows shells will refuse to run them), including in the repository?

no, they should have LF endings in the repository. Play with $Log RCS
keywords and you see what I mean. Or make them "binary" using "cvs
admin -kb" but that's strange.

You check batch files out on Windows, LF is converted to CRLF, all
is fine.

You check batch files out on Unix, LF stays LF, and all is fine, because
you cannot run the batch files in Unix anyway (well unless you start
playing with Wine or DOSEMU, but those are different platforms so
then you should use a DOS or Windows CVS client in DOSEMU or Wine).
Then you can *edit* the batch file on Unix with any editor (not just
newer Emacs versions for instance) and LFs stay LFs. Check them in
again, and a Windows CVS client retrieves the batch files and 
has the correct format.

This makes sense especially if you realize that this problem goes
beyond line endings and you think about EBCDIC and VMS.

It just happens to be the case that most DOS and Windows compilers
(but Turbo C 2.01 is an exception for instance) accept C files
with LF line endings, that for Emacs you can enforce a policy of
not changing line endings between client and server.

That's the theory and it makes sense. In practise many people
like to do the "idiotic" thing (according to some of the CVS 
developers, search google if you like) of sharing the same 
working directory among different platforms which is exactly
what Emacs tries to do by providing this one universal source
tarball that is unpacked in binary mode on both Windows and
Unix. So this "idiotic" thing makes sense too :)

Bart

      parent reply	other threads:[~2003-07-01 11:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-28 11:59 cvs emacs build fails on Windows XP Martin Stemplinger
2003-06-28 12:34 ` Jason Rumney
2003-06-28 14:12   ` Timur Aydin
2003-06-28 14:21     ` Jason Rumney
2003-06-29  3:24     ` Eli Zaretskii
     [not found]     ` <mailman.8828.1056857204.21513.help-gnu-emacs@gnu.org>
2003-07-01 11:00       ` Bart Oldeman [this message]

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=2e921d9a.0307010300.421b5a1e@posting.google.com \
    --to=bart.oldeman@bristol.ac.uk \
    /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.