This series brings three new options to shallow clone/fetch, to let you specify cut point by time, or by excluding some refs, or to let you extend shallow boundary by <N> commits. The series is now complete. Changes since v1 [1] - smart http support - option names --not and --since are changed to --shallow-exclude and --shallow-since - fix the last patch per Eric's comments (the tests were totally broken but I didn't realize) The meat starts since 14/25. Before that is just cleanups and stuff. Happy (shallowly) cloning! [1] http://thread.gmane.org/gmane.comp.version-control.git/283110 Nguyễn Thái Ngọc Duy (25): remote-curl.c: convert fetch_git() to use argv_array transport-helper.c: refactor set_helper_option() transport-helper.c: do not send null option to remote helper upload-pack: move shallow deepen code out of receive_needs() upload-pack: move "shallow" sending code out of deepen() upload-pack: remove unused variable "backup" upload-pack: move "unshallow" sending code out of deepen() upload-pack: use skip_prefix() instead of starts_with() when possible upload-pack: tighten number parsing at "deepen" lines upload-pack: move rev-list code out of check_non_tip() fetch-pack: use skip_prefix() instead of starts_with() when possible fetch-pack: use a common function for verbose printing fetch-pack: use a separate flag for fetch in deepening mode shallow.c: implement a generic shallow boundary finder based on rev-list upload-pack: add deepen-since to cut shallow repos based on time fetch: define shallow boundary with --shallow-since clone: define shallow clone boundary based on time with --shallow-since t5500, t5539: tests for shallow depth since a specific date refs: add expand_ref() upload-pack: support define shallow boundary by excluding revisions fetch: define shallow boundary with --shallow-exclude clone: define shallow clone boundary with --shallow-exclude t5500, t5539: tests for shallow depth excluding a ref upload-pack: make check_reachable_object() return unreachable list if asked fetch, upload-pack: --deepen=N extends shallow boundary by N commits Documentation/fetch-options.txt | 14 + Documentation/git-clone.txt | 8 + Documentation/git-fetch-pack.txt | 14 + Documentation/gitremote-helpers.txt | 11 + Documentation/technical/pack-protocol.txt | 4 +- Documentation/technical/protocol-capabilities.txt | 25 ++ builtin/clone.c | 32 ++- builtin/fetch-pack.c | 31 ++- builtin/fetch.c | 41 ++- commit.h | 2 + fetch-pack.c | 128 +++++---- fetch-pack.h | 4 + object.h | 2 +- refs.c | 8 +- refs.h | 1 + remote-curl.c | 75 ++++-- shallow.c | 85 ++++++ t/t5500-fetch-pack.sh | 67 +++++ t/t5539-fetch-http-shallow.sh | 72 ++++++ transport-helper.c | 71 +++-- transport.c | 11 + transport.h | 14 + upload-pack.c | 301 ++++++++++++++++------ 23 files changed, 832 insertions(+), 189 deletions(-) -- 2.7.0.377.g4cd97dd -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html