summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-06-02 15:59:49 -0700
committerJunio C Hamano <gitster@pobox.com>2013-06-02 15:59:49 -0700
commit4de1179afcb1105a43cf167b513afda42c4f152d (patch)
tree97303fdf5a83bdefec918e2fd6aa7779133729e7 /builtin
parent103093a0a80c385d17571a9c6da7b6c03227c767 (diff)
parente00dd1e9485c50f202cc97dfae19d510e108b565 (diff)
downloadgit-4de1179afcb1105a43cf167b513afda42c4f152d.tar.gz
Merge branch 'mc/describe-first-parent'
* mc/describe-first-parent: describe: Add --first-parent option
Diffstat (limited to 'builtin')
-rw-r--r--builtin/describe.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/builtin/describe.c b/builtin/describe.c
index 6636a68cd9..ad8471626a 100644
--- a/builtin/describe.c
+++ b/builtin/describe.c
@@ -21,6 +21,7 @@ static int debug; /* Display lots of verbose info */
static int all; /* Any valid ref can be used */
static int tags; /* Allow lightweight tags */
static int longformat;
+static int first_parent;
static int abbrev = -1; /* unspecified */
static int max_candidates = 10;
static struct hash_table names;
@@ -336,6 +337,9 @@ static void describe(const char *arg, int last_one)
commit_list_insert_by_date(p, &list);
p->object.flags |= c->object.flags;
parents = parents->next;
+
+ if (first_parent)
+ break;
}
}
@@ -404,6 +408,7 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
OPT_BOOLEAN(0, "all", &all, N_("use any ref")),
OPT_BOOLEAN(0, "tags", &tags, N_("use any tag, even unannotated")),
OPT_BOOLEAN(0, "long", &longformat, N_("always use long format")),
+ OPT_BOOLEAN(0, "first-parent", &first_parent, N_("only follow first parent")),
OPT__ABBREV(&abbrev),
OPT_SET_INT(0, "exact-match", &max_candidates,
N_("only output exact matches"), 0),