git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Olivier Marin <dkr+ml.git@free.fr>
To: Junio C Hamano <gitster@pobox.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	Bruce Stephens <bruce.stephens@isode.com>,
	git@vger.kernel.org
Subject: Re: [PATCH 0/3] Making remote tracking statistics available to other tools
Date: Thu, 03 Jul 2008 18:26:11 +0200	[thread overview]
Message-ID: <486CFDA3.9070704@free.fr> (raw)
In-Reply-To: <7v3amsg1wx.fsf@gitster.siamese.dyndns.org>

Junio C Hamano a écrit :
> The one I sent out was a bit hacky as the existing implementation inside
> git-checkout was not designed to be cleanly reusable.
> 
> Here is a cleaned up series that could be applied.
> 
> [PATCH 1/3] Refactor "tracking statistics" code used by "git checkout"
> [PATCH 2/3] git-status: show the remote tracking statistics
> [PATCH 3/3] git-branch -v: show the remote tracking statistics

Sorry, but the third patch does not work for me. FWIU, the problem comes from
the revision walking code that is not reentrant because of the object cache.
IOW, calling stats_tracking_info() more than once does not work: objects
states changed after first call.

I do not understand the code enough yet and I failed to fix it. The only way
I found is by clearing obj_hash (object.c) but this seems the wrong thing to
do.

Ideas?

This test case should trigger the bug:

$ for i in a b c; do echo $i>$i && git add $i && git commit -m $i; done
$ git clone . clone1
$ cd clone1
$ git checkout -b b1 origin/master
$ git reset --hard HEAD~
$ echo d>d && git add d && git commit -m d
$ git checkout -b b2 origin/master
$ git reset --hard HEAD~
$ git merge b1

$ git branch -v
  b1     c07015a [ahead 1, behind 1] d
* b2     c07015a d
  master 08ca18b c

b1 and b2 are both 1 commit ahead and 1 commit behind.

$ git branch -D b1
$ git branch -v
* b2     c07015a [ahead 1, behind 1] d
  master 08ca18b c

deleting b1 show us the side effect.

Olivier.

  reply	other threads:[~2008-07-03 16:26 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-01  9:13 [OT] Your branch is ahead of the tracked remote branch 'origin/master' by 50 commits Ingo Molnar
2008-07-01  9:26 ` Bruce Stephens
2008-07-01 10:14   ` Ingo Molnar
2008-07-01 11:41     ` SZEDER Gábor
2008-07-01 12:47       ` Jakub Narebski
2008-07-01 19:16     ` Junio C Hamano
2008-07-02  7:50       ` [PATCH 0/3] Making remote tracking statistics available to other tools Junio C Hamano
2008-07-03 16:26         ` Olivier Marin [this message]
2008-07-03 19:07           ` Junio C Hamano
2008-07-03 19:25             ` Olivier Marin
2008-07-02  7:51       ` [PATCH 1/3] Refactor "tracking statistics" code used by "git checkout" Junio C Hamano
2008-07-02  7:52       ` [PATCH 2/3] git-status: show the remote tracking statistics Junio C Hamano
2008-07-02  7:52       ` [PATCH 3/3] git-branch -v: " Junio C Hamano
2008-07-02  8:23         ` Johannes Sixt
2008-07-02  8:33           ` Karl Hasselström
2008-07-02 14:44             ` Brian Gernhardt
2008-07-02  8:42           ` Junio C Hamano
2008-07-02 15:44         ` Johannes Schindelin
2008-07-01 12:44   ` [OT] Your branch is ahead of the tracked remote branch 'origin/master' by 50 commits Jakub Narebski
2008-07-01  9:32 ` Junio C Hamano
2008-07-01 10:07   ` Ingo Molnar
2008-07-01 11:16     ` Miklos Vajna
2008-07-01 11:22       ` Ingo Molnar
2008-07-01 11:41         ` Miklos Vajna
2008-07-01 23:55           ` Junio C Hamano
2008-07-04  8:35         ` Pedro Melo
2008-07-01 12:46     ` Mikael Magnusson
2008-07-01 18:01     ` Björn Steinbrink

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=486CFDA3.9070704@free.fr \
    --to=dkr+ml.git@free.fr \
    --cc=bruce.stephens@isode.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=mingo@elte.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).