How to resolve a conflict with git-svn?

GitSvnMergeConflict

Git Problem Overview


What is the best way to resolve a conflict when doing a git svn rebase, and the git branch you are on becomes "(no-branch)"?

Git Solutions


Solution 1 - Git

While doing a git svn rebase, if you have merge conflicts here are some things to remember:

1) If anything bad happens while performing a rebase you will end up on a (no-branch) branch.

2) If you run git status, you'll see a .dotest file in your working directory. This is safe to ignore.

3) If you want to abort the rebase use the following command.1

git rebase --abort

4) If you have a merge conflict:

  1. Manually edit the files to resolve the conflicts
  2. Stage any changes with git add [file]
  3. Continue the rebase with git rebase --continue2
  • If git asks: "did you forget to call git add?", then the edits turned the conflict into a no-op change3. Continue with git rebase --skip

You may have to repeat this process until the rebase is complete. At any point you can git rebase --abort to cancel and abandon the rebase.


1: There is no --abort option for git svn rebase.

2: There is no --continue option for git svn rebase.

3: This is very strange, but the files are in a state where git thinks they are the same after that particular patch. The solution is to "skip" that patch on the rebase.

Solution 2 - Git

You can use git mergetool to view and edit the conflicts in the usual fashion. Once you are sure the conflicts are resolved do git rebase --continue to continue the rebase, or if you don't want to include that revision do git rebase --skip

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestioncsextonView Question on Stackoverflow
Solution 1 - GitcsextonView Answer on Stackoverflow
Solution 2 - Git1800 INFORMATIONView Answer on Stackoverflow