>>> "SG" == SZEDER Gábor <szeder.dev@xxxxxxxxx> writes: > On Wed, Oct 09, 2019 at 09:13:56AM +0300, Uwe Brauer wrote: >> Could you please try out >> git clone https://git.code.sf.net/p/matlab-emacs/src matlab-emacs-hg > This repository contains two branches: 'master' and 'strings'. From > these two 'master' is the default branch, so that is that 'git clone' > will check out for you; note the '*' in front of 'master': Ok hg does the same, so I see the difference is in the git log --graph command. > $ git branch --all > * master > remotes/origin/HEAD -> origin/master > remotes/origin/master > remotes/origin/strings >> Then you will see >> >> That >> git log --graph >> and >> >> git log --graph --all >> >> Are giving two different results and I don't understand why the branch >> is not shown when using >> >> git log --graph > Without any ref parameter 'git log' shows the history starting at the > currently checked out commit (in this respect it behaves the same way > as 'hg log'), so it only shows the history of 'master'. 'git log > --all' means "show the history of all refs in the repository", so it > shows the history of the remote branch 'strings' as well. This is the difference, hg log -G always show all the commit starting with tip (basically the same as HEAD), the behavior you described would be hg log -G --follow > As far as I can tell all Git commands above behave as they should. >> Funny thing is when I use the hg-git plugin and run >> >> hg clone https://git.code.sf.net/p/matlab-emacs/src matlab-emacs-hg >> >> I see this branch, converted to a hg bookmark. > For some reason after cloning that repository with Mercurial and its > hg-git plugin it checks out the 'strings' branch: > $ hg bookmarks > master 170:6c03da83e522 > * strings 195:b2396f3ceca3 > Consequently, when you run 'hg log' without a branch/bookmark/whatever > parameter it shows the history of the 'strings' branch. > I'm not sure what to think about 'hg clone' checking out a branch > other than the default branch. In Git this would definitely be a bug. > In Mercurial, I don't know; given my limited experience I don't want > to outright call it a bug. I think it would be worth reporting it to > the 'hg-git' project. No I think the point is not the checkout the point is the hg log -G command. I am now not so sure that really the strings branch/bookmark was checked out I rather think not. > Anyway, in your first email you asked how you can merge that branch > into 'master'. The command 'git merge origin/strings' will "merge" it > without actually creating a merge commit, because 'strings' builds > entirely on top of 'master'; this is what Git calls a "fast-forward > merge". If you do want a merge commit, then run 'git merge --no-ff > origin/strings'. As this is what I was looking for. I actually don't like fast forward, so I would use the --no-ff option. That was very helpful, thanks Uwe
<<attachment: smime.p7s>>