Le mercredi 06 avril 2011 à 15:07 +0800, Senthil Kumaran a écrit :
The below changes were from Alexander Belopolsky. When I tried to push my changes, my changes resulted in multiple heads in 2.7, so I had to go back 2.7 branch, merge 2.7 and then commit and push. This resulted in both my changes as well as merged changes being pushed.
Well, this is normal. Do understand that history with a DVCS is not linear. You have based your changes on an earlier revision (for whatever reason - for example someone pushed a new revision in-between), and so you had to merge - reconcile - your changes with the latest upstream changes. This is normal practice.
I guess you have been surprised by the diff in the notification e-mail, which makes it look like that the datetime changes have been committed "twice". The diff displays the differences between the merge changeset and one of its parents (the first one, probably). So, it will reflect the changes made necessary to one of its two parents in order to reconcile it with the other; it "appears" (due to the diff) that some changes have been committed twice, but it's only so if you consider history linear as in SVN.
I think the representation of merges as a diff against one of the parents is indeed sub-optimal. OTOH, it's not easy to come up with something better.
I have a script which kind of traverses all the local directories of branches and does a hg pull; hg update before I start making changes and I thought that was enough.
It should be enough, but perhaps other changes were pushed in-between.
Regards
Antoine.