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
YPYngve Nysaeter Pettersen <yngve@opera.com>
Date
Dec 21, 2012, 20:13 UTC
Message-ID
<op.wpontloxvqd7e2@damia.oslo.osa>
In-Reply-To
<vpqhanf2yny.fsf@grenoble-inp.fr>

On Fri, 21 Dec 2012 16:49:21 +0100, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote:

Show 21 quoted lines
> "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.

-- 
Sincerely,
Yngve N. Pettersen
********************************************************************
Senior Developer		     Email: yngve@opera.com
Opera Software ASA                   http://www.opera.com/
Phone:  +47 96 90 41 51              Fax:    +47 23 69 24 01
********************************************************************
Previous: Matthieu MoyNext: Michael J Gruber
Message 7 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.