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

[PATCH 0/9] WIP Partial clone part 2: fsck and promisors

From
JHJeff Hostetler <git@jeffhostetler.com>
Date
Nov 2, 2017, 20:20 UTC
Message-ID
<20171102202052.58762-1-git@jeffhostetler.com>
From: Jeff Hostetler <jeffhost@microsoft.com>

This is part 2 of a proposed 3 part sequence for partial clone. Part 2 assumes part 1 [1] is in place.

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 [1].

[1] https://public-inbox.org/git/20171102124445.fbffd43521cd35f6a71e1851@google.com/T/ [2] https://public-inbox.org/git/cover.1506714999.git.jonathantanmy@google.com/

Jeff Hostetler (1):
  extension.partialclone: introduce partial clone extension
Jonathan Tan (8):
  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
  gc: do not repack promisor packfiles
 Documentation/git-pack-objects.txt             |   4 +
 Documentation/gitremote-helpers.txt            |   2 +
 Documentation/technical/repository-version.txt |  22 ++
 Makefile                                       |   2 +
 builtin/cat-file.c                             |   3 +
 builtin/fetch-pack.c                           |  10 +
 builtin/fsck.c                                 |  26 +-
 builtin/gc.c                                   |   4 +
 builtin/index-pack.c                           | 113 ++++----
 builtin/pack-objects.c                         |  14 +
 builtin/prune.c                                |   7 +
 builtin/repack.c                               |  12 +-
 builtin/rev-list.c                             |  35 ++-
 cache.h                                        |  15 +-
 config.h                                       |   3 +
 environment.c                                  |   2 +
 fetch-object.c                                 |  26 ++
 fetch-object.h                                 |   6 +
 fetch-pack.c                                   |   8 +-
 fetch-pack.h                                   |   2 +
 list-objects.c                                 |   8 +-
 object.c                                       |   2 +-
 packfile.c                                     |  78 +++++-
 packfile.h                                     |  13 +
 partial-clone-utils.c                          |  78 ++++++
 partial-clone-utils.h                          |  34 +++
 remote-curl.c                                  |  17 +-
 revision.c                                     |  32 ++-
 revision.h                                     |   5 +-
 setup.c                                        |  12 +
 sha1_file.c                                    |  39 ++-
 t/t0410-partial-clone.sh                       | 343 +++++++++++++++++++++++++
 transport.c                                    |   8 +
 transport.h                                    |   8 +
 34 files changed, 917 insertions(+), 76 deletions(-)
 create mode 100644 fetch-object.c
 create mode 100644 fetch-object.h
 create mode 100644 partial-clone-utils.c
 create mode 100644 partial-clone-utils.h
 create mode 100755 t/t0410-partial-clone.sh
-- 
2.9.3
Next: Jeff Hostetler
Message 1 of 19 in “WIP Partial clone part 2: fsck and promisors”
  1. 0/9 WIP Partial clone part 2: fsck and promisorsJeff Hostetler, Nov 2, 2017
  2. 1/9 extension.partialclone: introduce partial clone extensionJeff Hostetler, Nov 2, 2017
  3. Jonathan TanNov 2, 2017
  4. Jeff HostetlerNov 3, 2017
  5. Jonathan TanNov 3, 2017
  6. Jeff HostetlerNov 6, 2017
  7. Jonathan TanNov 6, 2017
  8. Jeff HostetlerNov 8, 2017
  9. Jonathan TanNov 8, 2017
  10. Jeff HostetlerNov 8, 2017
  11. Jeff HostetlerNov 16, 2017
  12. 5/9 fsck: support promisor objects as CLI argumentJeff Hostetler, Nov 2, 2017
  13. 8/9 sha1_file: support lazily fetching missing objectsJeff Hostetler, Nov 2, 2017
  14. 3/9 fsck: support refs pointing to promisor objectsJeff Hostetler, Nov 2, 2017
  15. 6/9 index-pack: refactor writing of .keep filesJeff Hostetler, Nov 2, 2017
  16. 7/9 introduce fetch-object: fetch one promisor objectJeff Hostetler, Nov 2, 2017
  17. 9/9 gc: do not repack promisor packfilesJeff Hostetler, Nov 2, 2017
  18. 4/9 fsck: support referenced promisor objectsJeff Hostetler, Nov 2, 2017
  19. 2/9 fsck: introduce partialclone extensionJeff Hostetler, Nov 2, 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.