[PATCH] rev-{list,parse}: allow -n<n> as shorthand for --max-count=<n>
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Jan 29, 2006, 13:40 UTC
- Message-ID
- <20060129134056.GA3428@Muzzle>
- In-Reply-To
- <20060125063325.GA7953@mail.yhbt.net>
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>
---
rev-list.c | 10 ++++++++++ rev-parse.c | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+), 0 deletions(-)
a598ce380cfcf01b27be92bca92a3c451d3b41e3
diff --git a/rev-list.c b/rev-list.c index e00e6fc..33541cc 100644 --- a/rev-list.c +++ b/rev-list.c @@ -732,6 +732,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 7abad35..3790463 100644 --- a/rev-parse.c +++ b/rev-parse.c @@ -21,6 +21,7 @@ static char *def = NULL; static int show_type = NORMAL; static int symbolic = 0; static int output_sq = 0; +static int next_arg_is_rev = 0; static int revs_count = 0; @@ -162,6 +163,24 @@ int main(int argc, char **argv) show_file(arg); continue; } + if (next_arg_is_rev) { + if ((filter & DO_FLAGS) && (filter & DO_REVS)) + show(arg); + next_arg_is_rev = 0; + continue; + } + if (!strcmp(arg,"-n")) { + next_arg_is_rev = 1; + if ((filter & DO_FLAGS) && (filter & DO_REVS)) + show(arg); + continue; + } + if (!strncmp(arg,"-n",2)) { + if ((filter & DO_FLAGS) && (filter & DO_REVS)) + show(arg); + continue; + } + if (*arg == '-') { if (!strcmp(arg, "--")) { as_is = 1;
-- 1.1.4.g3b65