aboutsummaryrefslogtreecommitdiff
path: root/pack-objects.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-02-27 13:57:11 -0800
committerJunio C Hamano <gitster@pobox.com>2017-02-27 13:57:12 -0800
commit538569bc8a212a45b7b3f124822b4c3e458752f5 (patch)
treeba6c4b12b22b617f41eb5f41aaad0f706f9ab326 /pack-objects.h
parent1b324988ac0fe14d069991736962289a35f15aec (diff)
parent42b766d765feb2e0867954eb665ff05e3441b547 (diff)
downloadgit-538569bc8a212a45b7b3f124822b4c3e458752f5.tar.gz
git-538569bc8a212a45b7b3f124822b4c3e458752f5.tar.xz
Merge branch 'jk/delta-chain-limit'
"git repack --depth=<n>" for a long time busted the specified depth when reusing delta from existing packs. This has been corrected. * jk/delta-chain-limit: pack-objects: convert recursion to iteration in break_delta_chain() pack-objects: enforce --depth limit in reused deltas
Diffstat (limited to 'pack-objects.h')
-rw-r--r--pack-objects.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/pack-objects.h b/pack-objects.h
index cc9b9a9b9..03f119165 100644
--- a/pack-objects.h
+++ b/pack-objects.h
@@ -30,12 +30,16 @@ struct object_entry {
/*
* State flags for depth-first search used for analyzing delta cycles.
+ *
+ * The depth is measured in delta-links to the base (so if A is a delta
+ * against B, then A has a depth of 1, and B a depth of 0).
*/
enum {
DFS_NONE = 0,
DFS_ACTIVE,
DFS_DONE
} dfs_state;
+ int depth;
};
struct packing_data {