From: David Kastrup <dak@gnu.org>
To: git@vger.kernel.org
Cc: David Kastrup <dak@gnu.org>
Subject: [PATCH 5/5] Avoid queuing commits multiple times for the same origin
Date: Mon, 3 Feb 2014 20:14:09 +0100 [thread overview]
Message-ID: <1391454849-26558-6-git-send-email-dak@gnu.org> (raw)
In-Reply-To: <1391454849-26558-1-git-send-email-dak@gnu.org>
---
builtin/blame.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/builtin/blame.c b/builtin/blame.c
index 0188115..80345db 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -928,9 +928,12 @@ static int pass_blame_to_parent(struct scoreboard *sb,
/* The rest are the same as the parent */
blame_chunk(&d.dstq, &d.srcq, INT_MAX, d.offset, INT_MAX, target, parent);
*d.dstq = NULL;
- parent->suspects = blame_merge(parent->suspects, newdest);
if (parent->suspects)
+ parent->suspects = blame_merge(parent->suspects, newdest);
+ else if (newdest) {
+ parent->suspects = newdest;
prio_queue_put(&sb->commits, parent->commit);
+ }
return 0;
}
@@ -1303,8 +1306,12 @@ static void pass_whole_blame(struct scoreboard *sb,
origin_decref(e->suspect);
e->suspect = porigin;
}
- porigin->suspects = blame_merge(porigin->suspects, suspects);
- prio_queue_put(&sb->commits, porigin->commit);
+ if (porigin->suspects)
+ porigin->suspects = blame_merge(porigin->suspects, suspects);
+ else if (suspects) {
+ porigin->suspects = suspects;
+ prio_queue_put(&sb->commits, porigin->commit);
+ }
}
/*
--
1.8.3.2
prev parent reply other threads:[~2014-02-03 19:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-03 19:14 [PATCH 0/5] git-blame: further performance preview David Kastrup
2014-02-03 19:14 ` [PATCH 1/5] builtin/blame.c: struct blame_entry does not need a prev link David Kastrup
2014-02-03 19:14 ` [PATCH 2/5] Eliminate same_suspect function in builtin/blame.c David Kastrup
2014-02-03 19:14 ` [PATCH 3/5] builtin/blame.c: large-scale rewrite David Kastrup
2014-02-03 19:14 ` [PATCH 4/5] Performance improvement: don't drop origin blobs that are going to get tested next David Kastrup
2014-02-03 19:14 ` David Kastrup [this message]
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=1391454849-26558-6-git-send-email-dak@gnu.org \
--to=dak@gnu.org \
--cc=git@vger.kernel.org \
/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 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.