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': $ 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. 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. 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'.