monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] RFE: have monotone check line endings on commit


From: Justin Patrin
Subject: Re: [Monotone-devel] RFE: have monotone check line endings on commit
Date: Mon, 27 Nov 2006 13:59:08 -0800

On 11/27/06, Rob Schoening <address@hidden> wrote:
One of the things that is missing in this discussion are real concrete
use-cases.

The main one that I have had to contend with is:

Assumption 1: VCS does no line ending conversion.
Assumption 2: Line endings in repository are all "correct" per the project's
conventions
Assumption 3: All editors in use by developers can correctly handle
non-native (to their workstation) line endings
Step 1: User makes minor modification to workspace file
Step 2: User XYZ *unwittingly* saves/commits a file with a different line
ending than the previous revision.
Step 3: Monotone now thinks that every line in the file has changed.  Diff &
merges break.

In my experience this use case accounts for 90% of "line ending problems".
Unless the file happens to be a unix shell script (in which case it might
not run with modified line endings), it is more of an annoyance than
anything else.

So if *nothing* was done to address the problem, I wouldn't miss the lack of
functionality.  It would, however be *nice* if monotone could have warned
the user at step #2 that he was doing something that might be a mistake.

Thoughts?


That's my #1 use case for such a thing as well. not converting on
checkout, but unwitting checkin of different line-endings.

A second use case, added here for completeness:

A patch is checked in on Unix with Windows newlines as the code that
is being patched has Windows newlines. On some VCS (bk) this patch is
auto-mangled and is therefore useless as the patch fails. Assuming the
above 3 assumptions are valid this wouldn't happen (although someone
who set their hooks to force munging would also have this patch fail
unless this file was specifically exempted from line ending
conversion).

I know some people have different requirements where when I file is checked
out, it must exist with line-endings that are native to the client
workstation. However, I have never encountered this usecase, so perhaps
someone can comment.


RS


On 11/27/06, Richard Levitte - VMS Whacker <address@hidden> wrote:
> In message <address@hidden> on Mon, 27 Nov 2006 12:47:30
+0100, Ulf Ochsenfahrt < address@hidden> said:
>
> ulf> That's easy:
> ulf> Noone who doesn't use a sane editor gets write access to my
repository!
> ulf>
> ulf> Other things would be nice though, for example if montone would check
> ulf> that the files you try to commit have the correct (project specified)
> ulf> line endings, with an error message such as:
>
> "project specified" says it all, doesn't it.  Yes, I understand that
> you meant it as a joke, but in all seriousness, that's still the
> problem that we're discussing (unless you wish the discussion to be
> dropped entirely, which is what's happened before, and is a sure
> guarantee that the same discussion will start over in a few months!).
>
> Cheers,
> Richard
>
> -----
> Please consider sponsoring my work on free software.
> See http://www.free.lp.se/sponsoring.html for details.
>
> --
> Richard Levitte                         address@hidden
>
http://richard.levitte.org/
>
> "When I became a man I put away childish things, including
> the fear of childishness and the desire to be very grown up."
>                                                -- C.S.
Lewis
>
>


--
Justin Patrin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]