aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2006-01-29 16:26:40 -0800
committerJunio C Hamano <junkio@cox.net>2006-01-31 16:23:03 -0800
commit3af06987eb3c376e2f1cc6dfa9c9c510b9e228cf (patch)
treedd21eb97352e23730166622a37744966bf54cb61
parente36f8b6034f9df7e7b0aea912d1c8e850503623e (diff)
downloadgit-3af06987eb3c376e2f1cc6dfa9c9c510b9e228cf.tar.gz
git-3af06987eb3c376e2f1cc6dfa9c9c510b9e228cf.tar.xz
rev-list: allow -n<n> as shorthand for --max-count=<n>
Both -n<n> and -n <n> are supported. POSIX versions of head(1) and tail(1) allow their line limits to be parsed this way. I find --max-count to be a commonly used option, and also similar in spirit to head/tail, so I decided to make life easier on my worn out (and lazy :) fingers with this patch. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--rev-list.c10
-rw-r--r--rev-parse.c15
2 files changed, 25 insertions, 0 deletions
diff --git a/rev-list.c b/rev-list.c
index 0b142c1a6..456575521 100644
--- a/rev-list.c
+++ b/rev-list.c
@@ -749,6 +749,16 @@ int main(int argc, const char **argv)
struct commit *commit;
unsigned char sha1[20];
+ if (!strcmp(arg, "-n")) {
+ if (++i >= argc)
+ die("-n requires an argument");
+ max_count = atoi(argv[i]);
+ continue;
+ }
+ if (!strncmp(arg,"-n",2)) {
+ max_count = atoi(arg + 2);
+ continue;
+ }
if (!strncmp(arg, "--max-count=", 12)) {
max_count = atoi(arg + 12);
continue;
diff --git a/rev-parse.c b/rev-parse.c
index d2f086432..3c99a79eb 100644
--- a/rev-parse.c
+++ b/rev-parse.c
@@ -165,6 +165,21 @@ int main(int argc, char **argv)
show_file(arg);
continue;
}
+ if (!strcmp(arg,"-n")) {
+ if (++i >= argc)
+ die("-n requires an argument");
+ if ((filter & DO_FLAGS) && (filter & DO_REVS)) {
+ show(arg);
+ show(argv[i]);
+ }
+ continue;
+ }
+ if (!strncmp(arg,"-n",2)) {
+ if ((filter & DO_FLAGS) && (filter & DO_REVS))
+ show(arg);
+ continue;
+ }
+
if (*arg == '-') {
if (!strcmp(arg, "--")) {
as_is = 1;