diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-01-13 23:09:09 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-01-13 23:09:09 -0800 |
commit | 7a4566befef02b99aad3038f116b3ac24c4eb464 (patch) | |
tree | 7f7d4e6d95ddda85d4d86438f058363beafe9d2e /builtin-log.c | |
parent | 3ea95d2b0e6fa63e66de24a5084e217102ab9e8a (diff) | |
parent | 3bc52d7a95676bcdeeb61c372b44358daf817baa (diff) | |
download | git-7a4566befef02b99aad3038f116b3ac24c4eb464.tar.gz |
Merge branch 'mh/cherry-default'
* mh/cherry-default:
Documentation: clarify which parameters are optional to git-cherry
git-cherry: make <upstream> parameter optional
Diffstat (limited to 'builtin-log.c')
-rw-r--r-- | builtin-log.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/builtin-log.c b/builtin-log.c index 4a02ee987a..c1e2c6a4c5 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -16,6 +16,7 @@ #include "patch-ids.h" #include "run-command.h" #include "shortlog.h" +#include "remote.h" /* Set a default date-time format for git log ("log.date" config variable) */ static const char *default_date_mode = NULL; @@ -1061,13 +1062,14 @@ static int add_pending_commit(const char *arg, struct rev_info *revs, int flags) } static const char cherry_usage[] = -"git cherry [-v] <upstream> [<head>] [<limit>]"; +"git cherry [-v] [<upstream> [<head> [<limit>]]]"; int cmd_cherry(int argc, const char **argv, const char *prefix) { struct rev_info revs; struct patch_ids ids; struct commit *commit; struct commit_list *list = NULL; + struct branch *current_branch; const char *upstream; const char *head = "HEAD"; const char *limit = NULL; @@ -1090,7 +1092,17 @@ int cmd_cherry(int argc, const char **argv, const char *prefix) upstream = argv[1]; break; default: - usage(cherry_usage); + current_branch = branch_get(NULL); + if (!current_branch || !current_branch->merge + || !current_branch->merge[0] + || !current_branch->merge[0]->dst) { + fprintf(stderr, "Could not find a tracked" + " remote branch, please" + " specify <upstream> manually.\n"); + usage(cherry_usage); + } + + upstream = current_branch->merge[0]->dst; } init_revisions(&revs, prefix); |