Loading ...
Sorry, an error occurred while loading the content.

54516Re: git conflicted merge

Expand Messages
  • Markus Heidelberg
    Jun 25, 2009
      _sc_, 25.06.2009:
      >
      > my latest update ended unpolitely:
      >
      > [...]
      > * refs/remotes/origin/vim-with-runtime: fast forward to branch 'vim-with-runtime' of git://repo.or.cz/vim_extended
      > old..new: 15fb691..68e4f6c
      > Auto-merged runtime/doc/autocmd.txt
      > CONFLICT (content): Merge conflict in runtime/doc/autocmd.txt
      > Automatic merge failed; fix conflicts and then commit the result.
      > You are in the middle of a conflicted merge.
      >
      > how do i get git to tell me what the conflict is,

      git diff

      > and resolve it?

      Modify and do "git add", but you should be able to avoid the conflicts.

      > the first thing i tried is to perform a
      >
      > git reset --hard HEAD
      >
      > in order to get out of my 'conflicted merge' status -- then i
      > navigated to runtime/doc and deleted autocmd.txt, thinking there
      > would be less chance of conflict if there were nothing on my end
      > for it to conflict with,

      No, then the left side (you) changed all lines and the right side
      changed some lines. The merge cannot happen automatically.

      > specifically, what i am attempting here is to merge the
      > runtime/doc/autocmd.txt from 'vim-with-runtime' into 'custom',
      > which implies there was no problem merging the
      > origin/feat/rel-line-numbers

      This should be the other way around. Merging 'vim-with-runtime'
      shouldn't cause a conflict, because it is already solved in the merge
      commit 68e4f6c. But merging 'feat/rel-line-numbers' will cause
      conflicts, because it doesn't contain the merge commit which includes
      the resolution. Are you sure the merge of 'feat/rel-line-numbers' went
      fine?

      I tried it myself:

      $ git checkout -b custom origin/vim-with-runtime^ (15fb69133 7.2.209 + runtime)
      $ git merge origin/feat/rel-line-numbers^ (4657617 7.2.209 + relativenumber)

      Now I should be in a state before you run your update script.

      Merging origin/feat/rel-line-numbers now leaves a conflict:

      diff --cc runtime/doc/autocmd.txt
      index 8408c0e,14d64ed..0000000
      --- a/runtime/doc/autocmd.txt
      +++ b/runtime/doc/autocmd.txt
      @@@ -754,7 -754,7 +754,11 @@@ SwapExists Detected an existing swap
      'a' abort, like hitting CTRL-C
      When set to an empty string the user will be
      asked, as if there was no SwapExists autocmd.
      ++<<<<<<< HEAD:runtime/doc/autocmd.txt
      + *E811*
      ++=======
      + *E812*
      ++>>>>>>> feat/rel-line-numbers:runtime/doc/autocmd.txt
      It is not allowed to change to another buffer,
      change a buffer name or change directory
      here.

      But first merging origin/vim-with-runtime and then
      origin/feat/rel-line-numbers (which is not necessary) succeeds.

      > following is my update script, with tee's and logging removed:
      >
      > #!/bin/bash
      > set -e
      > cd ~/.build/vim/vim72/vim_extended
      > git checkout custom
      > git fetch
      > git merge origin/feat/rel-line-numbers
      > git checkout -- runtime/doc/tags
      > git merge origin/vim-with-runtime

      In this case you should at first merge 'vim-with-runtime' and then
      'feat/rel-num-lines'. First merge the branch which contains a resolved
      conflict. Maybe you can change your script to choose which branch to
      merge first. My suggestion to first merge the feat/* branches is merely
      based on likeliness of occuring conflicts.

      The conflict was caused because of conflicting changes in the commit
      34eaa4f8 (update runtime files, 2009-03-23) and commit 19982beb
      (7.2.216), so the resolution is in 'vim-with-runtime' but not in any
      feat/* branch. Another negative side effect of separating the runtime
      files.

      > should i try to find out what the conflict is with some form of git
      > diff, fix, and commit it, or is it something that needs to be fixed
      > on the repository end? or...

      Hey, it is not broken, I don't push an unresolved repo out :)

      Markus


      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • Show all 4 messages in this topic