So, while I still don't understand, why we got this errors I also found that my task is accomplished by using recursive strategy and theirs option. 2011/6/13 Dmitry S. Kravtsov <idkravitz@xxxxxxxxx>: > Also I read that during rebase terms ours and theirs are swapped, but > it i change strategy to theirs it's still error, but even more > cryptic: > > remote: Counting objects: 5, done. > remote: Total 3 (delta 0), reused 0 (delta 0) > Unpacking objects: 100% (3/3), done. > From /home/kravitz/git-test/A > Â* branch      Âmaster   -> FETCH_HEAD > First, rewinding head to replay your work on top of it... > /usr/libexec/git-core/git-rebase: line 117: git-merge-theirs: command not found > Unknown exit code (127) from command: git-merge-theirs > 1a3b9bcbc737728ae997368d6d850a6a265681b7^ -- HEAD > 1a3b9bcbc737728ae997368d6d850a6a265681b7 > > 2011/6/13 Dmitry S. Kravtsov <idkravitz@xxxxxxxxx>: >> Excuse me for russian locale, the part with error in english locale: >> >> remote: Counting objects: 5, done. >> remote: Total 3 (delta 0), reused 0 (delta 0) >> Unpacking objects: 100% (3/3), done. >> From /home/kravitz/git-test/A >> Â* branch      Âmaster   -> FETCH_HEAD >> First, rewinding head to replay your work on top of it... >> Already applied: 0001 3rd >> /usr/libexec/git-core/git-rebase: line 157: >> /home/kravitz/git-test/C/.git/rebase-merge/rewritten: No such file or >> directory >> All done. >> kravitz@Vor >> >> >> 2011/6/13 Dmitry S. Kravtsov <idkravitz@xxxxxxxxx>: >>> Hi, >>> >>> So here the steps to reproduce: >>> >>> $ git init A >>> Initialized empty Git repository in /home/catsadmin/git-test/A/.git/ >>> $ (cd A && echo 123 > file && git add file && git commit -m "1st") >>> [master (root-commit) 1055edf] 1st >>> Â1 files changed, 1 insertions(+), 0 deletions(-) >>> Âcreate mode 100644 file >>> $ git clone A B >>> Cloning into B... >>> done. >>> $ git clone A C >>> Cloning into C... >>> done. >>> $ (cd B && echo 333 >file && git commit -am "2nd") >>> [master 4e9cd67] 2nd >>> Â1 files changed, 1 insertions(+), 1 deletions(-) >>> $ (cd A && git pull ~/git-test/B master) >>> remote: Counting objects: 5, done. >>> remote: Total 3 (delta 0), reused 0 (delta 0) >>> Unpacking objects: 100% (3/3), done. >>> From /home/catsadmin/git-test/B >>> Â* branch      Âmaster   -> FETCH_HEAD >>> Updating 1055edf..4e9cd67 >>> Fast-forward >>> Âfile |  Â2 +- >>> Â1 files changed, 1 insertions(+), 1 deletions(-) >>> $ (cd C && echo 111 > file && git commit -am "3rd") >>> [master 1c4a368] 3rd >>> Â1 files changed, 1 insertions(+), 1 deletions(-) >>> $ cd C >>> $ git push origin master >>> To /home/catsadmin/git-test/A >>> Â! [rejected]    Âmaster -> master (non-fast-forward) >>> error: failed to push some refs to '/home/catsadmin/git-test/A' >>> To prevent you from losing history, non-fast-forward updates were rejected >>> Merge the remote changes (e.g. 'git pull') before pushing again. ÂSee the >>> 'Note about fast-forwards' section of 'git push --help' for details. >>> >>> So my idea is to create a straight line history, that will look like >>> "1st"---"2nd"---"3rd", >>> and from git-rebase man page I read, that strategy ours allows us to >>> discard conflicing changes in favor >>> of ours. >>> >>> $ git pull --rebase -s ours origin master >>> remote: Counting objects: 5, done. >>> remote: Total 3 (delta 0), reused 0 (delta 0) >>> Unpacking objects: 100% (3/3), done. >>> From /home/catsadmin/git-test/A >>> Â* branch      Âmaster   -> FETCH_HEAD >>> First, rewinding head to replay your work on top of it... >>> Already applied: 0001 3rd >>> /usr/bin/git-rebase: line 157: >>> /home/catsadmin/git-test/C/.git/rebase-merge/rewritten: ÐÐÑ ÑÐÐÐÐÐ >>> ÑÐÐÐÐ ÐÐÐ ÐÐÑÐÐÐÐÐ >>> All done. >>> >>> This message not only looks weird, it also discard my "3rd" commit >>> from master tree: >>> $ git branch >>> * master >>> $ git log >>> commit 4e9cd6730b1215b22b65fbcc6cbf87e331e5eb92 >>> Author: Your Name <you@xxxxxxxxxxx> >>> Date:  Mon Jun 13 13:53:27 2011 +1100 >>> >>>  Â2nd >>> >>> commit 1055edf3618787ea53231ed6f4b00dfe571c8940 >>> Author: Your Name <you@xxxxxxxxxxx> >>> Date:  Mon Jun 13 13:52:53 2011 +1100 >>> >>>  Â1st >>> >>> Am I wrong at something? >>> >>> -- >>> Dmitry S. Kravtsov >>> >> >> >> >> -- >> Dmitry S. Kravtsov >> > > > > -- > Dmitry S. Kravtsov > -- Dmitry S. Kravtsov -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html