diff options
author | 2006-03-10 22:32:59 -0800 | |
---|---|---|
committer | 2006-03-10 22:32:59 -0800 | |
commit | c301a0d2cf49b57f246ad73d0fd9f1cf203e7c16 (patch) | |
tree | b548ce5d5211efb71df3615973bd36f11282014b /commit.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 'commit.h')
-rw-r--r-- | commit.h | 20 |
1 files changed, 17 insertions, 3 deletions
@@ -65,15 +65,29 @@ int count_parents(struct commit * commit); /* * Performs an in-place topological sort of list supplied. * - * Pre-conditions: + * Pre-conditions for sort_in_topological_order: * all commits in input list and all parents of those * commits must have object.util == NULL - * - * Post-conditions: + * + * Pre-conditions for sort_in_topological_order_fn: + * all commits in input list and all parents of those + * commits must have getter(commit) == NULL + * + * Post-conditions: * invariant of resulting list is: * a reachable from b => ord(b) < ord(a) * in addition, when lifo == 0, commits on parallel tracks are * sorted in the dates order. */ + +typedef void (*topo_sort_set_fn_t)(struct commit*, void *data); +typedef void* (*topo_sort_get_fn_t)(struct commit*); + +void topo_sort_default_setter(struct commit *c, void *data); +void *topo_sort_default_getter(struct commit *c); + void sort_in_topological_order(struct commit_list ** list, int lifo); +void sort_in_topological_order_fn(struct commit_list ** list, int lifo, + topo_sort_set_fn_t setter, + topo_sort_get_fn_t getter); #endif /* COMMIT_H */ |