[SR-Dev] git:master: Merge ssh://git.sip-router.org/sip-router into my_branch

Henning Westerholt henning.westerholt at 1und1.de
Tue Nov 25 12:43:37 CET 2008


On Monday 24 November 2008, Andrei Pelinescu-Onciul wrote:
> > > Henning did you forgot to set  merge log to true in your git config
> > >  (~/.gitconfig or per repository in  .git/config)?
> > > ( git config --get  merge.log  # to see it's value
> > >   git config --global merge.log true  # to set it to true)
> >
> > i'm still trying to wrap my head around this git. ;-) Aparently this
> > merged the content from the henning/trie branch into the trunk, the
> > operation i wanted to do. But i don't understand the log message,
> > 'my_branch' is a local branch on my machine, not sure why this show up,
> > and it should be also the other way round. And the diff for the revision
> > is also the other way round.
> >
> > Perhaps i just did it the wrong way. :-/
> >
> > henning at ca:~/projects/openser/sip-router$ git config --get  merge.log
> > true
> >
> > Perhaps it make sense to revert this commit?
>
> No, the commit is ok, only the last log message is broken.
>
> You probably where on "my_branch" and you did a
>  git pull ssh://git.sip-router.org/sip-router master
> and then
>  git push origin my_branch:master
>
> So what you did was to merge the remote version of  master into "my_branch"
> and then update master with my_branch version.

Hi Andrei,

yes, correct. I read on some git docs that this is needed in order to merge 
the branches. This were apparently wrong.

> What you should have done is to merge trie or "my_branch" into master:
>
> git fetch origin # to get up-to-date origin/ branches, including master
> git checkout -b master origin/master # local branch following
>                                      # origin/master
> # now you are on branch master (local version)

Ah, ok, understand.

> git merge trie
> git log  or gitk to see if everything looks ok
> git push origin master:master

Ok

> If you already have a local master branch tracking origin/master you
> could do instead:
> git checkout master # switch to master
> git pull origin master # equiv. with git fetch origin; git merge master
> git merge trie
> # git log or gitk to see if everything looks ok
> git push origin master:master

I'll try this the next time, perhaps in the test branch.

> Note that some of this commands have shorter forms (if not specified some
> parameters take some default values and some of this values can be
> configured in the git config on a per branch basis, e.g. the default
> branch to push into or to pull form).
>
> Note2: you don't have to specify the whole reop name path
>  (ssh://git.sip-router.org/sip-router), origin is set by default to the
>  repo from where you cloned, so you could always use origin.

Ah, good to know!

> To revert the commit (it's not needed since we have only a strange merge
> message, but the rest is ok, but it might be good practice), there are 2
> possibilities:
>
> 1. you could use git revert (it will create a new commit reverting the
>   old one):
>   checkout the master branch:
>    - if you don't have a local master:
>      git fetch origin; git checkout -b master origin/master
>    - if you already have a master tracking origin/master (created in a
>      similar way some time ago):
>       git checkout master # switch to master
>       git pull origin master
>   revert the commit
>     git revert  -m X commit_id
>      where comit_id is the commit you want reversed (in this case
>       8d41196809f014e00346785b6517bd2c4051901a)  and X is the merge
>       parent number that should be the mainline (in this case I think
>       it's 2)
>     You could try
>      git revert --no-commit -m 2 8d41196809f014e00346785b6517bd2c4051901a
>     and see if it look ok (and if it does remove --no-commit and retry).
>
>   After this and after making sure the log looks ok (gitk, or git log)
>   you can git push origin master:master, or maybe git push origin
>   master:tmp/test just to have an extra check.
>   WARNING: do not push if it doesn't look ok (if you use the wrong -m
>   value you might end up reverting master into your branch :-)).
>
> 2. we could revert it the hard way without leaving "commit" traces
>  (by directly editing the master branch on sip-router.org and making it
>   point to the previous comit). The problem with this is that if people
>   have already checked out the current master version they will have
>   problems updating, but since I don't expect to have more then 2 or 3
>   people who do this at this point we could try it as an experiment
>   (in the future we might have to revert a commit the hard way so we
>    might try it now when this will not cause any serious problems).

I'll try the first method. Thanks for your help and explanations,

Henning



More information about the sr-dev mailing list