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

Re: Git merge: conflict is expected, but not detected

From
Kyle J. McKay <mackyle@gmail.com>
Date
Nov 30, 2013, 00:42 UTC
Message-ID
<288B55D2-B91B-4123-8D0A-84BE5960E14D@gmail.com>
In-Reply-To
<CAO6Ho0d=JHk4ydd1PdcWP1XHxvXpjfYVK+B_QLgd0vpyFTh_xQ@mail.gmail.com>
On Nov 29, 2013, at 06:26, Evgeniy Ivanov wrote:
Show 9 quoted lines
> Let's say I have two identical branches: master and topic. In master I
> remove some code, i.e. function bar(). In topic I do the same (commit)
> and after some time I realize I need bar() and revert previous commit
> with removal.
> So I end with master with no bar() and topic with bar() in its
> original state. When I merge I get code without bar() and no merge
> conflict (recursive or resolve strategies). Is it possible to detect
> such situations as conflicts? When bar() is C++ virtual there is no
> possibility to catch this with compiler.
You can do something like:

git checkout master git merge -s ours --no-commit topic # conflicts, if any, will happen during cherry-pick git cherry-pick --no-commit ..topic git commit -m "Merge branch 'topic'"

Which will give you a merge commit as though using "git merge" but it will have restored the bar() function. However, depending on what's happened on the topic branch, you might have to wade through some conflicts that would not happen with a real "git merge" since cherry- pick will replay all the commits from the topic branch that aren't in master. Maybe some day "git merge" will grow a "--cherry-pick" option.

Previous: brian m. carlsonNext: Jon Seymour
Message 3 of 5 in “Git merge: conflict is expected, but not detected”
  1. Evgeniy IvanovNov 29, 2013
  2. brian m. carlsonNov 29, 2013
  3. Kyle J. McKayNov 30, 2013
  4. Jon SeymourNov 30, 2013
  5. Evgeniy IvanovDec 1, 2013

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.