Changes since v5:
* Support tag objects exclusion (configurable but will repeat download object
data in previous patch)
* Tests and docs modification for tag exclusion feature
* Abstraction of some reusable methods
Teng Long (14):
pack-objects.c: introduce new method `match_packfile_uri_exclusions`
Add new parameter "carry_data" for "show_object" function
packfile-uri: support for excluding commit objects
packfile-uri: support for excluding tree objects
packfile-uri.txt: support for excluding commits and trees
t5702: replace with "test_when_finished" for cleanup
t5702: support for excluding commit objects
Add new parameter "carry_data" for "show_commit function
commit.h: add wrapped tags in commit struct
object.h: add referred tags in `referred_objects` struct
packfile-uri: support for excluding tag objects
packfile-uri.txt: support for excluding tag objects
t5702: add tag exclusion test case
pack-objects.c: introduce `want_exclude_object` function
Documentation/technical/packfile-uri.txt | 38 ++-
builtin/describe.c | 8 +-
builtin/pack-objects.c | 128 ++++++---
builtin/rev-list.c | 6 +-
bundle.c | 4 +-
commit.h | 5 +
list-objects.c | 50 ++--
list-objects.h | 4 +-
object.c | 20 +-
object.h | 16 +-
pack-bitmap.c | 14 +-
reachable.c | 8 +-
revision.c | 42 ++-
revision.h | 3 +
shallow.c | 4 +-
t/t5702-protocol-v2.sh | 330 ++++++++++++++++++++---
upload-pack.c | 7 +
17 files changed, 542 insertions(+), 145 deletions(-)
Range-diff against v4:
-: ---------- > 1: 73a5b4ccc1 pack-objects.c: introduce new method `match_packfile_uri_exclusions`
-: ---------- > 2: bc8fea97e3 Add new parameter "carry_data" for "show_object" function
-: ---------- > 3: f71b310842 packfile-uri: support for excluding commit objects
-: ---------- > 4: bbb0413cc4 packfile-uri: support for excluding tree objects
-: ---------- > 5: 8e5bf4010c packfile-uri.txt: support for excluding commits and trees
-: ---------- > 6: f3b1cba7e1 t5702: replace with "test_when_finished" for cleanup
-: ---------- > 7: 3b5f9732b8 t5702: support for excluding commit objects
1: 19f7670384 = 8: 19f7670384 Add new parameter "carry_data" for "show_commit function
2: 011e5eaea3 = 9: 011e5eaea3 commit.h: add wrapped tags in commit struct
3: 824844499f = 10: 824844499f object.h: add referred tags in `referred_objects` struct
4: 43aa811b65 = 11: 43aa811b65 packfile-uri: support for excluding tag objects
5: c83db0055c = 12: c83db0055c packfile-uri.txt: support for excluding tag objects
6: 29a52b7a0d = 13: 29a52b7a0d t5702: add tag exclusion test case
7: 1a7c4c5894 = 14: 1a7c4c5894 pack-objects.c: introduce `want_exclude_object` function