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

Re: [PATCH 00/17] Narrow clone v3 (was subtree clone)

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Sep 6, 2010, 05:24 UTC
Message-ID
<AANLkTimyZfkMCFEeAX_Cpwscb0+EiZam0Hy0UBsB47C3@mail.gmail.com>
In-Reply-To
<AANLkTinNnm=Z=e_=P_auuNgSrDynt_P+FLiZgWeNNgps@mail.gmail.com>
2010/9/6 Elijah Newren <newren@gmail.com>:
Show 9 quoted lines
> Hi,
>
> 2010/9/5 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>:
>> I'll describe differences between this series and Elijah's one [1].
>> I think it's more interesting. Changes from v2 [2] will follow later.
>
> So, I downloaded your patches and even made sure to sort them
> appropriately to fix the order, but I'm getting conflicts trying to
> apply them (on top of current pu).  What version did you base them on?

b5442ca (was master in Aug 24) with en/object-list-with-pathspec applied on top. Sorry I don't want to change my base too often so it's quite old.

Show 8 quoted lines
>> Things that won't work:
>>
>>  - Shell scripts that use "git write-tree"
>
> Yeah, write-tree didn't work in mine either; I had to make it throw an
> error.  But wouldn't your idea to make a tree object (referenced for
> sha1sums outside the sparse/narrow paths) part of the index allow even
> write-tree to work?
Definitely.
Show 9 quoted lines
>>  - only send commits that have changes in narrow area and graft it at
>>   client side
>
> After reviewing more of your changes, and replacing various patches of
> mine with yours, this is fairly high on my priority list as well
> (whereas fsck & prune are a bit lower).  Maybe we can discuss ideas on
> tackling this when we start working on it.  I've got some rough
> initial ideas (though I have no idea if they'll pan out); I'll see if
> I can write some of them up in the next day or two.

Well, looking forward to your fake commit implementation. I think it's more or less the same as graft.

-- 
Duy
Previous: Elijah NewrenNext: Sverre Rabbelier
Message 23 of 25 in “Narrow clone v3 (was subtree clone)”
  1. 00/17 Narrow clone v3 (was subtree clone)Nguyễn Thái Ngọc Duy, Sep 5, 2010
  2. 01/17 rev-list: do not do commit simplification if simplify_history = 0Nguyễn Thái Ngọc Duy, Sep 5, 2010
  3. 02/17 tree.c: add path_to_sha1()Nguyễn Thái Ngọc Duy, Sep 5, 2010
  4. 03/17 Introduce $GIT_DIR/narrowNguyễn Thái Ngọc Duy, Sep 5, 2010
  5. 04/17 index: make narrow index incompatible with older gitNguyễn Thái Ngọc Duy, Sep 5, 2010
  6. 05/17 pack-objects: support narrow packs with pathspecsNguyễn Thái Ngọc Duy, Sep 5, 2010
  7. 06/17 {fetch,upload}-pack: support narrow repositoryNguyễn Thái Ngọc Duy, Sep 5, 2010
  8. 07/17 unpack-trees: split traverse_trees() code into a separate functionNguyễn Thái Ngọc Duy, Sep 5, 2010
  9. 08/17 unpack-trees: support unpack trees in narrow repositoryNguyễn Thái Ngọc Duy, Sep 5, 2010
  10. 09/17 cache-tree: only cache tree within narrow areaNguyễn Thái Ngọc Duy, Sep 5, 2010
  11. 10/17 get_pathspec(): support narrow pathspec rewritingNguyễn Thái Ngọc Duy, Sep 5, 2010
  12. 11/17 pathspec retrieval fixNguyễn Thái Ngọc Duy, Sep 5, 2010
  13. 12/17 clone: support --narrow optionNguyễn Thái Ngọc Duy, Sep 5, 2010
  14. 13/17 commit: add narrow's commit_tree versionNguyễn Thái Ngọc Duy, Sep 5, 2010
  15. 14/17 commit: use commit_narrow_tree() to support narrow repoNguyễn Thái Ngọc Duy, Sep 5, 2010
  16. 15/17 write-tree: requires --narrow-base in narrow repositoryNguyễn Thái Ngọc Duy, Sep 5, 2010
  17. 16/17 merge: try to do local merge if possible in narrow repoNguyễn Thái Ngọc Duy, Sep 5, 2010
  18. 17/17 Add narrow clone demonstration testNguyễn Thái Ngọc Duy, Sep 5, 2010
  19. Sverre RabbelierSep 5, 2010
  20. Nguyen Thai Ngoc DuySep 5, 2010
  21. Elijah NewrenSep 5, 2010
  22. Elijah NewrenSep 6, 2010
  23. Nguyen Thai Ngoc DuySep 6, 2010
  24. Sverre RabbelierSep 6, 2010
  25. Elijah NewrenSep 6, 2010

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.