Thread (15 messages) flat view 15 messages, 12 authors, 2016-06-15

Re: What's cooking in git.git (Jun 2010, #04; Wed, 23)

From: Finn Arne Gangstad <hidden>
Date: 2016-06-15 22:49:00

On Thu, Jun 24, 2010 at 01:42:56PM +0200, Johannes Sixt wrote:
Am 6/24/2010 13:17, schrieb Finn Arne Gangstad:
quoted
Assume you start out with a repo that has a lot of text files with
CRLF checked in (A).

  C----
 /     \
A---B---D

B: Add "* text=auto" to .gitattributes and normalize all files to LF
only in repo

D: try to merge C

Without this patch you will get a ridiculous number of lf/crlf
conflicts when trying to merge C into D, since the repository contents
for C are "wrong" wrt the new .gitattributes file.
What should happen when you have C checked out (i.e., you do not yet have
the updated .gitattributes in your worktree nor index) and merge B?
Currently, you get the identical conflicts, but I suspect that the patch
does not help in this situation. IOW, it breaks the merge symmetry.
git merges .gitattributes early, so it will work any way you do the
merge I think? Each file in a merge is processed separately with
whatever .gitattributes file is active.

If you get a conflict in .gitattributes you may be in a slightly
interesting spot, but you will still get all the new attributes in the
conflicted file, so in practice it should still work. git ignores the
conflict markers in .gitattributes and moves on..

- Finn Arne
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help