* [PATCH] branch: only print upstream relationship with -v -v
@ 2010-03-17 15:05 Nguyễn Thái Ngọc Duy
2010-03-17 16:21 ` Michael J Gruber
2010-03-17 16:53 ` Junio C Hamano
0 siblings, 2 replies; 4+ messages in thread
From: Nguyễn Thái Ngọc Duy @ 2010-03-17 15:05 UTC (permalink / raw)
To: git; +Cc: Nguyễn Thái Ngọc Duy
"git branch -v" is unusable for me because it's too slow. After this
patch:
pclouds@do ~/w/git $ time ./git branch -v > /dev/null
real 0m0.016s
user 0m0.011s
sys 0m0.004s
pclouds@do ~/w/git $ time ./git branch -v -v > /dev/null
real 0m8.960s
user 0m8.854s
sys 0m0.029s
This is on a repository with ~30 branches, some are hundreds of
patches behind upstream.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
Maybe it's just me, with my old branches...
Documentation/git-branch.txt | 6 +++---
builtin/branch.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index 903a690..4380846 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -101,9 +101,9 @@ OPTIONS
-v::
--verbose::
- Show sha1 and commit subject line for each head, along with
- relationship to upstream branch (if any). If given twice, print
- the name of the upstream branch, as well.
+ Show sha1 and commit subject line for each head. If given twice,
+ also the relationship to upstream branch (if any). If given
+ three times, print the name of the upstream branch, as well.
--abbrev=<length>::
Alter the sha1's minimum display length in the output listing.
diff --git a/builtin/branch.c b/builtin/branch.c
index 6cf7e72..eb407f0 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -439,8 +439,8 @@ static void print_ref_item(struct ref_item *item, int maxwidth, int verbose,
sub = subject.buf;
}
- if (item->kind == REF_LOCAL_BRANCH)
- fill_tracking_info(&stat, item->name, verbose > 1);
+ if (item->kind == REF_LOCAL_BRANCH && verbose > 1)
+ fill_tracking_info(&stat, item->name, verbose > 2);
strbuf_addf(&out, " %s %s%s",
find_unique_abbrev(item->commit->object.sha1, abbrev),
--
1.7.0.1.390.g67bca
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] branch: only print upstream relationship with -v -v
2010-03-17 15:05 [PATCH] branch: only print upstream relationship with -v -v Nguyễn Thái Ngọc Duy
@ 2010-03-17 16:21 ` Michael J Gruber
2010-03-17 16:53 ` Junio C Hamano
1 sibling, 0 replies; 4+ messages in thread
From: Michael J Gruber @ 2010-03-17 16:21 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy; +Cc: git
Nguyễn Thái Ngọc Duy venit, vidit, dixit 17.03.2010 16:05:
> "git branch -v" is unusable for me because it's too slow. After this
> patch:
>
> pclouds@do ~/w/git $ time ./git branch -v > /dev/null
> real 0m0.016s
> user 0m0.011s
> sys 0m0.004s
>
> pclouds@do ~/w/git $ time ./git branch -v -v > /dev/null
> real 0m8.960s
> user 0m8.854s
> sys 0m0.029s
>
Well, but also, after your patch the old output format of "git branch
-v" is not available any more at all! I mean, what is wrong with
git log --oneline --no-walk --branches --decorate
or
git rev-list --oneline --no-walk --branches
depending on what it is that you're really after? (Not to mention
for-each-ref.)
Michael
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] branch: only print upstream relationship with -v -v
2010-03-17 15:05 [PATCH] branch: only print upstream relationship with -v -v Nguyễn Thái Ngọc Duy
2010-03-17 16:21 ` Michael J Gruber
@ 2010-03-17 16:53 ` Junio C Hamano
2010-03-18 0:06 ` Nguyen Thai Ngoc Duy
1 sibling, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2010-03-17 16:53 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy; +Cc: git
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
> "git branch -v" is unusable for me because it's too slow.
> ...
> This is on a repository with ~30 branches, some are hundreds of
> patches behind upstream.
Perhaps you have an overeager branch.autosetupmerge configuration?
I dunno. I seem to have a lot more branches than you do (currently
56), but most of them are topics that, once they forked from a
particular commit, never merge other random commits, only because they
have new commits that are unrelated to the objective of the topic, so
most of my branches do not have "upstream" in that sense.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] branch: only print upstream relationship with -v -v
2010-03-17 16:53 ` Junio C Hamano
@ 2010-03-18 0:06 ` Nguyen Thai Ngoc Duy
0 siblings, 0 replies; 4+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2010-03-18 0:06 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On 3/17/10, Junio C Hamano <gitster@pobox.com> wrote:
> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
>
> > "git branch -v" is unusable for me because it's too slow.
>
> > ...
>
> > This is on a repository with ~30 branches, some are hundreds of
> > patches behind upstream.
>
>
> Perhaps you have an overeager branch.autosetupmerge configuration?
No. Never heard of it.
> I dunno. I seem to have a lot more branches than you do (currently
> 56), but most of them are topics that, once they forked from a
> particular commit, never merge other random commits, only because they
> have new commits that are unrelated to the objective of the topic, so
> most of my branches do not have "upstream" in that sense.
I did sysprof and it seems half the time was spent inside
merge_bases_many(). Being a complete ignorant about merging stuff, I
put "return NULL;" at the beginning of that function, "git branch -v"
now goes down to 2 seconds. Don't know if that could tell anything.
--
Duy
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-03-18 0:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-17 15:05 [PATCH] branch: only print upstream relationship with -v -v Nguyễn Thái Ngọc Duy
2010-03-17 16:21 ` Michael J Gruber
2010-03-17 16:53 ` Junio C Hamano
2010-03-18 0:06 ` Nguyen Thai Ngoc Duy
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.