git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/4] Improve push performance with lots of refs
@ 2014-12-23 12:01 brian m. carlson
  2014-12-23 12:01 ` [PATCH v3 1/4] Documentation: add missing article in rev-list-options.txt brian m. carlson
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: brian m. carlson @ 2014-12-23 12:01 UTC (permalink / raw)
  To: git; +Cc: Duy Nguyen, Junio C Hamano

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 shallow repos only.  The final patch ensures that sending packs
to shallow clients use --object-edge-aggressive as well.

The only change from v2 is the addition of a fourth patch, which fixes
t5500.  It's necessary because the test wants packs for fetches to
shallow clones to be minimal.

I'm not especially thrilled with having to provide a --shallow command
line argument, but the alternative is to buffer a potentially large
amount of data in order to determine whether the remote side is shallow.

The original fix was suggested by Duy Nguyen.

brian m. carlson (4):
  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 only for shallow repos
  upload-pack: use --objects-edge-aggressive for shallow fetches

 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 +
 upload-pack.c                      | 4 +++-
 8 files changed, 32 insertions(+), 7 deletions(-)

-- 
2.2.1.209.g41e5f3a

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-12-24 21:31 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-23 12:01 [PATCH v3 0/4] Improve push performance with lots of refs brian m. carlson
2014-12-23 12:01 ` [PATCH v3 1/4] Documentation: add missing article in rev-list-options.txt brian m. carlson
2014-12-23 12:01 ` [PATCH v3 2/4] rev-list: add an option to mark fewer edges as uninteresting brian m. carlson
2014-12-23 17:55   ` Michael Blume
2014-12-23 18:51     ` Jeff King
2014-12-23 19:11       ` Junio C Hamano
2014-12-24 21:26       ` brian m. carlson
2014-12-23 12:01 ` [PATCH v3 3/4] pack-objects: use --objects-edge-aggressive only for shallow repos brian m. carlson
2014-12-23 12:01 ` [PATCH v3 4/4] upload-pack: use --objects-edge-aggressive for shallow fetches brian m. carlson
2014-12-23 18:40 ` [PATCH v3 0/4] Improve push performance with lots of refs Junio C Hamano
2014-12-24 21:31   ` brian m. carlson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).