diff options
author | Junio C Hamano <junkio@cox.net> | 2006-03-10 22:32:59 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-03-10 22:32:59 -0800 |
commit | c301a0d2cf49b57f246ad73d0fd9f1cf203e7c16 (patch) | |
tree | b548ce5d5211efb71df3615973bd36f11282014b /revision.h | |
parent | Merge branch 'jc/fsck' into next (diff) | |
parent | blame: Rename detection (take 2) (diff) | |
download | tgif-c301a0d2cf49b57f246ad73d0fd9f1cf203e7c16.tar.xz |
Merge branch 'fk/blame' into next
* fk/blame:
blame: Rename detection (take 2)
rev-lib: Make it easy to do rename tracking (take 2)
Make it possible to not clobber object.util in sort_in_topological_order (take 2)
Add git-imap-send, derived from isync 1.0.1.
repack: prune loose objects when -d is given
try_to_simplify_commit(): do not skip inspecting tree change at boundary.
Fix t1200 test for breakage caused by removal of full-stop at the end of fast-forward message.
Describe how to add extra mail header lines in mail generated by git-format-patch.
Document the --attach flag.
allow double click on current HEAD id after git-pull
Diffstat (limited to 'revision.h')
-rw-r--r-- | revision.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/revision.h b/revision.h index 31e8f61567..6c2becad13 100644 --- a/revision.h +++ b/revision.h @@ -7,6 +7,10 @@ #define SHOWN (1u<<3) #define TMP_MARK (1u<<4) /* for isolated cases; clean after use */ +struct rev_info; + +typedef void (prune_fn_t)(struct rev_info *revs, struct commit *commit); + struct rev_info { /* Starting list */ struct commit_list *commits; @@ -14,7 +18,8 @@ struct rev_info { /* Basic information */ const char *prefix; - const char **paths; + void *prune_data; + prune_fn_t *prune_fn; /* Traversal flags */ unsigned int dense:1, @@ -33,9 +38,20 @@ struct rev_info { int max_count; unsigned long max_age; unsigned long min_age; + + topo_sort_set_fn_t topo_setter; + topo_sort_get_fn_t topo_getter; }; +#define REV_TREE_SAME 0 +#define REV_TREE_NEW 1 +#define REV_TREE_DIFFERENT 2 + /* revision.c */ +extern int rev_same_tree_as_empty(struct tree *t1); +extern int rev_compare_tree(struct tree *t1, struct tree *t2); + +extern void init_revisions(struct rev_info *revs); extern int setup_revisions(int argc, const char **argv, struct rev_info *revs, const char *def); extern void prepare_revision_walk(struct rev_info *revs); extern struct commit *get_revision(struct rev_info *revs); |