summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 5215374)
raw | patch | inline | side by side (parent: 5215374)
author | Jeff King <peff@peff.net> | |
Wed, 24 Feb 2010 17:08:53 +0000 (12:08 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 24 Feb 2010 19:16:14 +0000 (11:16 -0800) |
If you have a branch.$X.merge config option, but no branch.$X.remote, and
your configuration tries to push tracking branches, git will segfault.
The problem is that even though branch->merge_nr is 1, you don't actually
have an upstream since there is no remote. Other callsites generally
check explicitly that branch->merge is not NULL, so let's do that here,
too.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
your configuration tries to push tracking branches, git will segfault.
The problem is that even though branch->merge_nr is 1, you don't actually
have an upstream since there is no remote. Other callsites generally
check explicitly that branch->merge is not NULL, so let's do that here,
too.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-push.c | patch | blob | history |
diff --git a/builtin-push.c b/builtin-push.c
index 45fe843b204274cd59db275c1cce9505231174d3..041e5f46086154c7b879c8bda56ef07553750a78 100644 (file)
--- a/builtin-push.c
+++ b/builtin-push.c
struct branch *branch = branch_get(NULL);
if (!branch)
die("You are not currently on a branch.");
- if (!branch->merge_nr)
+ if (!branch->merge_nr || !branch->merge)
die("The current branch %s is not tracking anything.",
branch->name);
if (branch->merge_nr != 1)