Subject: Re: [OT] Your branch is ahead of the tracked remote branch 'origin/master' by 50 commits.

From: Ingo Molnar <[email-masked]>
Date: Tue, 1 Jul 2008 12:07:25 +0200

* Junio C Hamano <[email-masked]> wrote:

> Ingo Molnar <[email-masked]> writes:
> 
> > i recently switched to 1.5.6.1.89.gd5446 and i'm getting this:
> >
> >   Switched to branch "master"
> >   Your branch is ahead of the tracked remote branch 'origin/master' by 50 commits.
> >
> > it's a very useful detail! It's especially useful when two branches 
> > diverge in a non-trivial way.
> > ...
> > but having a reminder at checkout time is even better (and faster as 
> > well). Kudos.
> 
> Thanks for a rare positive usability feedback.  When I started reading 
> your message, I almost expected that I'd hear you say "I am getting 
> this useless cruft and it wastes extra cycles."

Git usability is certainly very good. (And what matters even more to me 
than absolute usability, Git's usability is improving in a monotonic 
way.)

[ You normally only hear from me if i find one of those rare outliers
  that confuse me somewhere. So by reading my feedback you must be
  getting an impression of problems only - that is far from the truth :) ]

> Somebody must have had a very bright idea that day in late February 
> this year.

:)

There's a small detail i was thinking about: is there a way to get this 
extra output without actually switching branches? Right now i do this:

 earth4:~/tip> git-checkout tip; git-checkout master
 Checking out files: 100% (2437/2437), done.
 Switched to branch "tip"
 Switched to branch "master"
 Your branch is ahead of the tracked remote branch 'origin/master' by 50 commits.

(Which is an admitted lame solution but the best i could figure.)

Also, and let me hijack this thread, i sometimes feel adventurous and 
try out git/pu for kicks. I tried it two days ago and it was quite OK, 
with some fallout:

- the git-dash changes broke half of our scripts around git. (We've got
  about 50 tip-* scripts around various git details, about 2200 lines). 

I did a mass changeover:

   31 files changed, 150 insertions(+), 150 deletions(-)

... and that broke things too - see the two fixes below. I can 
understand your desire for a git-dash-less world though, but it's 
causing some pain :-) Also, i kept typoing "git-" commands all the time 
so i switched back to git/master. Maybe there should be a transition 
period where the dash scripts warn if used interactively? Dunno.

[ and there's also a git-rerere Heisenbug i have been fighting with a 
  lot with git-1.5.5. It's quite hard to reproduce and unfortunately i 
  cannot create a reproducer: but it resulted in git-rerere confusing 
  conflict resolutions and putting arch/x86/kernel/process_64.c 
  postimage entry into the entry for arch/x86/kernel/process_32.c's 
  postimage file, corrupting the integration run on the _next_ run.

  Was there a bug in this area fixed recently that would show up with 
  such symptoms? The weirdness first showed up when i did a git-rerere 
  after having done a git-add arch/x86/kernel/process_64.c, git-rerere 
  printed that it added a new resolution for 
  arch/x86/kernel/process_32.c. ]

and i like this warning at the end of master/pu make install:

!! You have installed git-* commands to new gitexecdir.
!! Old version git-* commands still remain in bindir.
!! Mixing two versions of Git will lead to problems.
!! Please remove old version commands in bindir now.

that's an easily overlooked detail.

	Ingo

--------------->
commit e87616175691dd7154cad049aae2b1bc1385bb7a
Author: Ingo Molnar <[email-masked]>
Date:   Mon Jun 30 09:29:36 2008 +0200

    - fix more git-dash fallout
    
    Signed-off-by: Ingo Molnar <[email-masked]>

diff --git a/.tip/bin/tip-backup b/.tip/bin/tip-backup
index edd7991..682d68d 100755
--- a/.tip/bin/tip-backup
+++ b/.tip/bin/tip-backup
@@ -7,7 +7,7 @@ check_master
 echo "backing up the full -tip repo ..."
 mkdir -p ~/tip-backups || exit -1
 
-FILE=~/tip-backups/tip-git $(get_date_for_tag).tar.bz2
+FILE=~/tip-backups/tip-git-$(get_date_for_tag).tar.bz2
 
 tar cjf $FILE .git || exit -1
 
commit 1bcce26cf0ba00ea62c051772f66d3e1c616e165
Author: H. Peter Anvin <[email-masked]>
Date:   Fri Jun 27 17:05:59 2008 -0700

    tip-sync-remote: quote multiword commands in variables
    
    When assigning a multiword command to a variable, it needs to be
    quoted.

diff --git a/.tip/bin/tip-sync-remote b/.tip/bin/tip-sync-remote
index 6421e55..aeeb883 100755
--- a/.tip/bin/tip-sync-remote
+++ b/.tip/bin/tip-sync-remote
@@ -65,9 +65,9 @@ do
     then
 	echo "Branch "$B" has local modifications"
 	echo "Rebasing local modifications to remote"
-	CMD=git rebase
+	CMD='git rebase'
     else
-	CMD=git merge
+	CMD='git merge'
     fi
 
     $CMD origin/$B || {