Subject: Re: I just pulled, and git log --graph does not show all

From: Uwe Brauer <[email-masked]>
Date: Wed, 09 Oct 2019 16:36:26 +0300

>>> "SG" == SZEDER Gábor <[email-masked]> 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