summaryrefslogtreecommitdiff
path: root/revision.h
diff options
context:
space:
mode:
authorPierre Habouzit <madcoder@debian.org>2008-07-08 15:19:33 +0200
committerJunio C Hamano <gitster@pobox.com>2008-07-08 15:29:40 -0700
commit02e542206f26cf06817ec2e9ffecf4f416e8e332 (patch)
tree11e1a28dd4700be27f090faf22adf98afa0d73a8 /revision.h
parent8bb65883d164843d5bb7475281af09bae18ab22d (diff)
downloadgit-02e542206f26cf06817ec2e9ffecf4f416e8e332.tar.gz
revisions: split handle_revision_opt() from setup_revisions()
Add two fields to struct rev_info: - .def to store --default argument; and - .show_merge 1-bit field. handle_revision_opt() is able to deal with any revision option, and consumes them, and leaves revision arguments or pseudo arguments (like --all, --not, ...) in place. For now setup_revisions() does a pass of handle_revision_opt() again so that code not using it in a parse-opt parser still work the same. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'revision.h')
-rw-r--r--revision.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/revision.h b/revision.h
index dcf08e089a..c44498e3b3 100644
--- a/revision.h
+++ b/revision.h
@@ -25,6 +25,7 @@ struct rev_info {
/* Basic information */
const char *prefix;
+ const char *def;
void *prune_data;
unsigned int early_output;
@@ -65,6 +66,7 @@ struct rev_info {
/* Format info */
unsigned int shown_one:1,
+ show_merge:1,
abbrev_commit:1,
use_terminator:1,
missing_newline:1;
@@ -117,6 +119,8 @@ volatile show_early_output_fn_t show_early_output;
extern void init_revisions(struct rev_info *revs, const char *prefix);
extern int setup_revisions(int argc, const char **argv, struct rev_info *revs, const char *def);
+extern int handle_revision_opt(struct rev_info *revs, int argc, const char **argv,
+ int *unkc, const char **unkv);
extern int handle_revision_arg(const char *arg, struct rev_info *revs,int flags,int cant_be_filename);
extern int prepare_revision_walk(struct rev_info *revs);