git/list[1] front-page[2] threads[3] people[4] search[5] about
 

RE: Merge conflict when lines next to each other are changed

From
rsbecker@nexbridge.com <rsbecker@nexbridge.com>
Date
Dec 1, 2021, 14:09 UTC
Message-ID
<009301d7e6bd$227a0b30$676e2190$@nexbridge.com>
In-Reply-To
<8E09F910-1D70-4848-A9E3-FA94B60335D3@yeplaa.net>
On December 1, 2021 8:34 AM, Loic Fouray wrote:
Show 34 quoted lines
> > Le 1 déc. 2021 à 13:19, rsbecker@nexbridge.com a écrit :
> >
> > On December 1, 2021 4:30 AM, Loic Fouray wrote:
> >> In a file, I have this 2 lines one below the other:
> >>
> >> Repository: myvalue
> >> Tag: 8.2.10
> >>
> >> On my local branch i have updated repository myvalue.
> >> On the upstream repo, they updated often the tag value (not updated
> >> of my side).
> >>
> >> When i perform a merge from upstream to local branch, i have a conflit.
> >> It seems that it’s related to neighboring lines.
> >> Could you confirm that it ‘s a normal git operation?
> >>
> >> Also, i need to automate this merge. Is It possible with git tools to
> >> avoid this conflict or to resolve this conflict automatically?
> >
> > I try to keep version-specific identifying information, which is already
> contained in git, out of my code. This includes change logs/history in each
> source file because git is good at keeping that information - it is redundant in
> the code. However, for organizations that need to do that, I suggest using
> clean/smudge filters so that the code inside the repository is clean, while
> things like the repo name and tag get injected into the code as git puts it into
> the working directory. The code is then cleaned up while being staged. This
> removes the possibility of the conflict on these lines by removing the
> differing lines. You can script this using a combination of sed and git
> commands. My own git front end does this all the time but it is not generally
> applicable to all platforms (only NonStop and MVS) so I have not contributed
> it.
> If i understand correctly, you use externals tools (sed ..) but there is no
> possibility to manage It directly by git (spécific options,merge strategy..) ,
> that’s right?

I avoid the merge problem by removing the lines that will cause conflicts from the source. You can use -Xtheirs to always choose the upstream, but I do not think that is going to give you the desired result in all cases. My suggestion is to avoid the problem. Yes, using an external tool for your clean/smudge filters is the suggestion if you must have the specific conflicting lines in your code. -Randall

Previous: Loic FourayNext: Loic Fouray
Message 4 of 8 in “Merge conflict when lines next to each other are changed”
  1. Loic FourayDec 1, 2021
  2. rsbecker@nexbridge.comDec 1, 2021
  3. Loic FourayDec 1, 2021
  4. rsbecker@nexbridge.comDec 1, 2021
  5. Loic FourayDec 3, 2021
  6. rsbecker@nexbridge.comDec 3, 2021
  7. Jean-Noël AvilaDec 3, 2021
  8. Loic FourayDec 3, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.