-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi
Dne Thu, 18 Mar 2010 10:02:05 +0100 Dieter Adriaenssens dieter.adriaenssens@gmail.com napsal(a):
$ git merge QA_3_3 Auto-merging ChangeLog CONFLICT (content): Merge conflict in ChangeLog Auto-merging Documentation.html Auto-merging libraries/config.default.php Auto-merging main.php Auto-merging tbl_change.php CONFLICT (content): Merge conflict in tbl_change.php Automatic merge failed; fix conflicts and then commit the result.
I understand the automerge of Documentation.html and libraries/config.default.php. They are probably different between branches. I understand why merging ChangeLog had difficulties, because I changed something there. I can imagine why main.php (the file I changed) merged without problem, probably because that file was previously unchanged, so the merge was no problem. But what I don't understand is why the tbl_change.php caused problems. I didn't touch that file, so as far as I'm concerned, that file should have been correctly merged the previous time (commit before me).
Well the problem is that there was no merge for some changes and both branches had these changes applied separately (and by different patch because of different context) and in this case it is hard to tell which one if correct and it causes conflict (in this case it was most likely because of commits 8779405 and f0672d8).
After manualy changing the tbl_change.php and ChangeLog file, I did this :
git add ChangeLog git add tbl_change.php
(because git status instructed me to)
Well you should do this after resolving conflicts,
and then
git commit git push
This resulted in these two commits :
Changed link to git repository on main page Merge branch 'QA_3_3'
It then turned out I forgot to solve two conflicts in tbl_change.php (indicated by >>>>>> HEAD and <<<<<< QA_3_3). I changed this file and commited again :
fix mistake in merge Merge branch 'master' of ssh://phpmyadmin.git.sourcefor...
Because you seem to noticed this before pushing the changes, you could have done git commit --ammend, what folds in changes into last commit.
(the last commit happened automaticaly when I did a git pull, before git push, because Marc had pushed a commit in the meanwhile)
Yes this is the reason for merge commit (you could have done git pull - --rebase to avoid this merge commit because you did not publish your changes so far).
I hope my answers clarify the situation at least a bit :-).
- -- Michal Čihař | http://cihar.com | http://blog.cihar.com