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

[PATCH 00/14] WIP Partial clone part 3: clone, fetch, fetch-pack, upload-pack, and tests

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

This is part 3 of 3 for partial clone. It assumes that part 1 [1] and part 2 [2] are in place.

Part 3 is concerned with the commands: clone, fetch, upload-pack, fetch-pack, remote-curl, index-pack, and the pack-protocol.

Jonathan and I independently started on this task. This is a first pass at merging those efforts. So there are several places that need refactoring and cleanup. In particular, the test cases should be squashed and new tests added.

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

Jeff Hostetler (5):
  upload-pack: add object filtering for partial clone
  clone, fetch-pack, index-pack, transport: partial clone
  fetch: add object filtering for partial fetch
  remote-curl: add object filtering for partial clone
  index-pack: silently assume missing objects are promisor
Jonathan Tan (9):
  fetch: refactor calculation of remote list
  pack-objects: test support for blob filtering
  fetch-pack: test support excluding large blobs
  fetch: add from_promisor and exclude-promisor-objects parameters
  t5500: add fetch-pack tests for partial clone
  t5601: test for partial clone
  t5500: more tests for partial clone and fetch
  unpack-trees: batch fetching of missing blobs
  fetch-pack: restore save_commit_buffer after use
 Documentation/config.txt                          |   4 +
 Documentation/gitremote-helpers.txt               |   4 +
 Documentation/technical/pack-protocol.txt         |   8 ++
 Documentation/technical/protocol-capabilities.txt |   8 ++
 builtin/clone.c                                   |  24 ++++-
 builtin/fetch-pack.c                              |   4 +
 builtin/fetch.c                                   |  83 ++++++++++++++--
 builtin/index-pack.c                              |  14 +++
 connected.c                                       |   3 +
 fetch-object.c                                    |  27 ++++-
 fetch-object.h                                    |   5 +
 fetch-pack.c                                      |  17 ++++
 fetch-pack.h                                      |   2 +
 remote-curl.c                                     |  10 +-
 t/t5300-pack-object.sh                            |  45 +++++++++
 t/t5500-fetch-pack.sh                             | 115 ++++++++++++++++++++++
 t/t5601-clone.sh                                  | 101 +++++++++++++++++++
 t/test-lib-functions.sh                           |  12 +++
 transport-helper.c                                |   5 +
 transport.c                                       |   4 +
 transport.h                                       |   5 +
 unpack-trees.c                                    |  22 +++++
 upload-pack.c                                     |  20 +++-
 23 files changed, 526 insertions(+), 16 deletions(-)
-- 
2.9.3
Next: Jeff Hostetler
Message 1 of 23 in “WIP Partial clone part 3: clone, fetch, fetch-pack, upload-pack, and tests”
  1. 00/14 WIP Partial clone part 3: clone, fetch, fetch-pack, upload-pack, and testsJeff Hostetler, Nov 2, 2017
  2. 02/14 clone, fetch-pack, index-pack, transport: partial cloneJeff Hostetler, Nov 2, 2017
  3. Jonathan TanNov 3, 2017
  4. Adam DinwoodieNov 8, 2017
  5. Jeff HostetlerNov 16, 2017
  6. 04/14 fetch: add object filtering for partial fetchJeff Hostetler, Nov 2, 2017
  7. Jonathan TanNov 3, 2017
  8. Jeff HostetlerNov 16, 2017
  9. 05/14 remote-curl: add object filtering for partial cloneJeff Hostetler, Nov 2, 2017
  10. 07/14 fetch-pack: test support excluding large blobsJeff Hostetler, Nov 2, 2017
  11. 08/14 fetch: add from_promisor and exclude-promisor-objects parametersJeff Hostetler, Nov 2, 2017
  12. 10/14 t5601: test for partial cloneJeff Hostetler, Nov 2, 2017
  13. 13/14 fetch-pack: restore save_commit_buffer after useJeff Hostetler, Nov 2, 2017
  14. 11/14 t5500: more tests for partial clone and fetchJeff Hostetler, Nov 2, 2017
  15. 14/14 index-pack: silently assume missing objects are promisorJeff Hostetler, Nov 2, 2017
  16. 12/14 unpack-trees: batch fetching of missing blobsJeff Hostetler, Nov 2, 2017
  17. 09/14 t5500: add fetch-pack tests for partial cloneJeff Hostetler, Nov 2, 2017
  18. 06/14 pack-objects: test support for blob filteringJeff Hostetler, Nov 2, 2017
  19. 03/14 fetch: refactor calculation of remote listJeff Hostetler, Nov 2, 2017
  20. 01/14 upload-pack: add object filtering for partial cloneJeff Hostetler, Nov 2, 2017
  21. Jonathan TanNov 2, 2017
  22. Jeff HostetlerNov 3, 2017
  23. Junio C HamanoNov 3, 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.