Web lists-archives.com

[PATCH v6 00/12] Partial clone part 2: fsck and promisors




From: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>

This is V6 of part 2 of partial clone.  This assumes V6 of part 1
is already present.  This version fixes a problem in fetch-pack
observed in V5.  It also contains 2 "fixup" commits that are
WIP responses to comments on V5.

Part 2 is concerned with fsck, gc, initial support for dynamic
object fetching, and tracking promisor objects.  Jonathan Tan
originally developed this code.  I have moved it on top of
part 1 and updated it slightly.


Jeff Hostetler (2):
  fixup: sha1_file: convert gotos to break/continue
  fixup: sha1_file: add TODO

Jonathan Tan (10):
  extension.partialclone: introduce partial clone extension
  fsck: introduce partialclone extension
  fsck: support refs pointing to promisor objects
  fsck: support referenced promisor objects
  fsck: support promisor objects as CLI argument
  index-pack: refactor writing of .keep files
  introduce fetch-object: fetch one promisor object
  sha1_file: support lazily fetching missing objects
  rev-list: support termination at promisor objects
  gc: do not repack promisor packfiles

 Documentation/git-pack-objects.txt             |  11 +
 Documentation/gitremote-helpers.txt            |   7 +
 Documentation/rev-list-options.txt             |  11 +
 Documentation/technical/repository-version.txt |  12 +
 Makefile                                       |   1 +
 builtin/cat-file.c                             |   2 +
 builtin/fetch-pack.c                           |  10 +
 builtin/fsck.c                                 |  26 +-
 builtin/gc.c                                   |   3 +
 builtin/index-pack.c                           | 113 ++++----
 builtin/pack-objects.c                         |  37 ++-
 builtin/prune.c                                |   7 +
 builtin/repack.c                               |   8 +-
 builtin/rev-list.c                             |  71 ++++-
 cache.h                                        |  13 +-
 environment.c                                  |   1 +
 fetch-object.c                                 |  27 ++
 fetch-object.h                                 |   6 +
 fetch-pack.c                                   |  48 ++--
 fetch-pack.h                                   |   8 +
 list-objects.c                                 |  29 ++-
 object.c                                       |   2 +-
 packfile.c                                     |  77 +++++-
 packfile.h                                     |  13 +
 remote-curl.c                                  |  14 +-
 revision.c                                     |  33 ++-
 revision.h                                     |   5 +-
 setup.c                                        |   7 +-
 sha1_file.c                                    |  32 ++-
 t/t0410-partial-clone.sh                       | 343 +++++++++++++++++++++++++
 transport.c                                    |   8 +
 transport.h                                    |  11 +
 32 files changed, 899 insertions(+), 97 deletions(-)
 create mode 100644 fetch-object.c
 create mode 100644 fetch-object.h
 create mode 100755 t/t0410-partial-clone.sh

-- 
2.9.3