git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v5 00/10] Partial clone part 2: fsck and promisors

From
JHJeff Hostetler <git@jeffhostetler.com>
Date
Nov 21, 2017, 21:07 UTC
Message-ID
<20171121210720.21376-1-git@jeffhostetler.com>
From: Jeff Hostetler <jeffhost@microsoft.com>

This is V5 of part 2 of partial clone. This assumes V5 of part 1 is already present. V5 includes minor cleanup over V4 and better separates the --exclude-promisor-objects and --missing arguments.

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.

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            |   6 +
 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                                   |   8 +-
 fetch-pack.h                                   |   2 +
 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                                    |  38 ++-
 t/t0410-partial-clone.sh                       | 343 +++++++++++++++++++++++++
 transport.c                                    |   8 +
 transport.h                                    |   8 +
 32 files changed, 869 insertions(+), 83 deletions(-)
 create mode 100644 fetch-object.c
 create mode 100644 fetch-object.h
 create mode 100755 t/t0410-partial-clone.sh
-- 
2.9.3
Next: Jeff Hostetler
Message 1 of 20 in “Partial clone part 2: fsck and promisors”
  1. 00/10 Partial clone part 2: fsck and promisorsJeff Hostetler, Nov 21, 2017
  2. 01/10 extension.partialclone: introduce partial clone extensionJeff Hostetler, Nov 21, 2017
  3. 04/10 fsck: support referenced promisor objectsJeff Hostetler, Nov 21, 2017
  4. 09/10 rev-list: support termination at promisor objectsJeff Hostetler, Nov 21, 2017
  5. 10/10 gc: do not repack promisor packfilesJeff Hostetler, Nov 21, 2017
  6. Christian CouderDec 2, 2017
  7. Jeff HostetlerDec 5, 2017
  8. 05/10 fsck: support promisor objects as CLI argumentJeff Hostetler, Nov 21, 2017
  9. 08/10 sha1_file: support lazily fetching missing objectsJeff Hostetler, Nov 21, 2017
  10. Christian CouderDec 2, 2017
  11. Jeff HostetlerDec 5, 2017
  12. 07/10 introduce fetch-object: fetch one promisor objectJeff Hostetler, Nov 21, 2017
  13. Christian CouderDec 2, 2017
  14. Jeff HostetlerDec 5, 2017
  15. 02/10 fsck: introduce partialclone extensionJeff Hostetler, Nov 21, 2017
  16. 03/10 fsck: support refs pointing to promisor objectsJeff Hostetler, Nov 21, 2017
  17. 06/10 index-pack: refactor writing of .keep filesJeff Hostetler, Nov 21, 2017
  18. Junio C HamanoNov 22, 2017
  19. Jonathan TanNov 22, 2017
  20. Jonathan TanNov 22, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.