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

Re: Opera release Git-splitter, a sub-modularizing tool for Git

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Dec 22, 2012, 16:41 UTC
Message-ID
<50D5E2B7.5010303@drmicha.warpmail.net>
In-Reply-To
<op.wpontloxvqd7e2@damia.oslo.osa>
Yngve Nysaeter Pettersen venit, vidit, dixit 21.12.2012 21:13:
Show 34 quoted lines
> On Fri, 21 Dec 2012 16:49:21 +0100, Matthieu Moy  
> <Matthieu.Moy@grenoble-inp.fr> wrote:
> 
>> "Yngve Nysaeter Pettersen" <yngve@opera.com> writes:
>>
>>> The split command will create a new repository for all files foo in a
>>> folder (path/foo) and their commit history.
>>>
>>> The replant command reverses that process, re-adding the path prefix
>>> for each file. It may be possible to extend that process into one that
>>> automatically reintegrates the new commits in the original history,
>>> but I never had time to complete that work.
>>>
>>> I did originally add the "replant" functionality into my version of
>>> the git-subtree script, but given the number of commits in the
>>> original repository, git-subtree turned out to be inefficient, due to
>>> the use of temporary files (tens of thousands of files IIRC).
>>>
>>> Those problems led to my development of git-splitter in Python
>>> (bypassing the problem of temporary files), but just including the
>>> functionality I needed, join was not one of those functions.
>>
>> That still doesn't answer the question: why did you need to write a new
>> tool instead of extending git-subtree?
> 
> The primary problem with git-subtree was that I ended up with a temporary  
> file directory containing 100+K files, which I tracked back to being used  
> to manage the commit-to-tree mapping. On Windows, at least, that literally  
> slowed down the process to a crawl.
> 
>> If one doesn't use "replant", is your tool different from git-subtree?
> 
> No, it is not different. However, my tool will use RAM, not diskspace to  
> manage information.

That is some valuable input. It can help improve git-subtree for Windows users, or replace it by something else.

Michael
Previous: Yngve Nysaeter Pettersen
Message 8 of 8 in “Opera release Git-splitter, a sub-modularizing tool for Git”
  1. Yngve N. Pettersen (Developer Opera Software ASA)Dec 18, 2012
  2. Michael J GruberDec 21, 2012
  3. Yngve Nysaeter PettersenDec 21, 2012
  4. Michael J GruberDec 21, 2012
  5. Yngve Nysaeter PettersenDec 21, 2012
  6. Matthieu MoyDec 21, 2012
  7. Yngve Nysaeter PettersenDec 21, 2012
  8. Michael J GruberDec 22, 2012

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.