This series contains patches to address a significant push performance regression in repositories with large amounts of refs. It avoids performing expensive edge marking unless the repository is shallow. The first patch in the series is a fix for a minor typo I discovered when editing the documentation. The second patch implements git rev-list --objects-edge-aggressive, and the third patch ensures it's used for pushing to and fetching from shallow repos only. The changes from v3 are to use --objects-edge-aggressive from the point it's introduced (this preserves bisectability) and to make higher-level commands pass --shallow for any shallow pushing and fetching instead of trying to have pack-objects determine it. The original fix was suggested by Duy Nguyen. brian m. carlson (3): Documentation: add missing article in rev-list-options.txt rev-list: add an option to mark fewer edges as uninteresting pack-objects: use --objects-edge-aggressive for shallow repos Documentation/git-pack-objects.txt | 7 ++++++- Documentation/git-rev-list.txt | 3 ++- Documentation/rev-list-options.txt | 7 ++++++- builtin/pack-objects.c | 7 ++++++- list-objects.c | 4 ++-- revision.c | 6 ++++++ revision.h | 1 + send-pack.c | 3 +++ upload-pack.c | 4 +++- 9 files changed, 35 insertions(+), 7 deletions(-) -- 2.2.1.209.g41e5f3a -- 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