* Opera release Git-splitter, a sub-modularizing tool for Git
@ 2012-12-18 14:51 Yngve N. Pettersen (Developer Opera Software ASA)
2012-12-21 12:23 ` Michael J Gruber
0 siblings, 1 reply; 8+ messages in thread
From: Yngve N. Pettersen (Developer Opera Software ASA) @ 2012-12-18 14:51 UTC (permalink / raw)
To: git
Hello all,
Today Opera Software released the "Git-splitter", a small tool for
sub-modularizing code in a git repo, with complete commit history, under
the Apache 2.0 license.
It's functionality is similar to "git-subtree", but also include a command
for reversing the process.
The code is hosted on GitHub:
<https://github.com/operasoftware/git-splitter>
We have announced the release as part of another announcement of released
code at the Opera Security Group home page:
<http://my.opera.com/securitygroup/blog/2012/12/18/tls-prober-source-released-under-apache-2-0-license>
--
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
********************************************************************
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Opera release Git-splitter, a sub-modularizing tool for Git
2012-12-18 14:51 Opera release Git-splitter, a sub-modularizing tool for Git Yngve N. Pettersen (Developer Opera Software ASA)
@ 2012-12-21 12:23 ` Michael J Gruber
2012-12-21 12:43 ` Yngve Nysaeter Pettersen
0 siblings, 1 reply; 8+ messages in thread
From: Michael J Gruber @ 2012-12-21 12:23 UTC (permalink / raw)
To: Yngve N. Pettersen (Developer Opera Software ASA); +Cc: git
Yngve N. Pettersen (Developer Opera Software ASA) venit, vidit, dixit
18.12.2012 15:51:
> Hello all,
>
> Today Opera Software released the "Git-splitter", a small tool for
> sub-modularizing code in a git repo, with complete commit history, under
> the Apache 2.0 license.
>
> It's functionality is similar to "git-subtree", but also include a command
> for reversing the process.
Is there something keeping you technically from adding a join command to
git-subtree?
> The code is hosted on GitHub:
> <https://github.com/operasoftware/git-splitter>
>
> We have announced the release as part of another announcement of released
> code at the Opera Security Group home page:
> <http://my.opera.com/securitygroup/blog/2012/12/18/tls-prober-source-released-under-apache-2-0-license>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Opera release Git-splitter, a sub-modularizing tool for Git
2012-12-21 12:23 ` Michael J Gruber
@ 2012-12-21 12:43 ` Yngve Nysaeter Pettersen
2012-12-21 13:49 ` Michael J Gruber
0 siblings, 1 reply; 8+ messages in thread
From: Yngve Nysaeter Pettersen @ 2012-12-21 12:43 UTC (permalink / raw)
To: Michael J Gruber; +Cc: git
Hi,
On Fri, 21 Dec 2012 13:23:46 +0100, Michael J Gruber
<git@drmicha.warpmail.net> wrote:
> Yngve N. Pettersen (Developer Opera Software ASA) venit, vidit, dixit
> 18.12.2012 15:51:
>> Hello all,
>>
>> Today Opera Software released the "Git-splitter", a small tool for
>> sub-modularizing code in a git repo, with complete commit history, under
>> the Apache 2.0 license.
>>
>> It's functionality is similar to "git-subtree", but also include a
>> command
>> for reversing the process.
>
> Is there something keeping you technically from adding a join command to
> git-subtree?
Probably not, but within the process I was working I did not want to merge
the branch with the recreated history for that path into the existing
codebase (I don't like duplicate histories) so I used rebasing to move the
new commits over, instead, and therefore did not need a join command.
Feel free to add a join command, if you want one.
>> The code is hosted on GitHub:
>> <https://github.com/operasoftware/git-splitter>
>>
>> We have announced the release as part of another announcement of
>> released
>> code at the Opera Security Group home page:
>> <http://my.opera.com/securitygroup/blog/2012/12/18/tls-prober-source-released-under-apache-2-0-license>
>>
--
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
********************************************************************
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Opera release Git-splitter, a sub-modularizing tool for Git
2012-12-21 12:43 ` Yngve Nysaeter Pettersen
@ 2012-12-21 13:49 ` Michael J Gruber
2012-12-21 15:02 ` Yngve Nysaeter Pettersen
0 siblings, 1 reply; 8+ messages in thread
From: Michael J Gruber @ 2012-12-21 13:49 UTC (permalink / raw)
To: Yngve Nysaeter Pettersen; +Cc: git
Yngve Nysaeter Pettersen venit, vidit, dixit 21.12.2012 13:43:
> Hi,
>
> On Fri, 21 Dec 2012 13:23:46 +0100, Michael J Gruber
> <git@drmicha.warpmail.net> wrote:
>
>> Yngve N. Pettersen (Developer Opera Software ASA) venit, vidit, dixit
>> 18.12.2012 15:51:
>>> Hello all,
>>>
>>> Today Opera Software released the "Git-splitter", a small tool for
>>> sub-modularizing code in a git repo, with complete commit history, under
>>> the Apache 2.0 license.
>>>
>>> It's functionality is similar to "git-subtree", but also include a
>>> command
>>> for reversing the process.
>>
>> Is there something keeping you technically from adding a join command to
>> git-subtree?
>
> Probably not, but within the process I was working I did not want to merge
> the branch with the recreated history for that path into the existing
> codebase (I don't like duplicate histories) so I used rebasing to move the
> new commits over, instead, and therefore did not need a join command.
>
> Feel free to add a join command, if you want one.
Im sorry, but that was a total misunderstanding. You said git-splitter
is like git-subtree but adds a command for reversing the process. My
question was: What kept you from adding that to git-subtree (rather than
redoing stiff that git-subtree does)?
I just assumed that reversing the process of splitting must be joining.
It may very well be that git-splitter does things differently, i.e. that
there are more differences than just added functionality (compared to
git-subtree), but that is not clear from the announcement.
>>> The code is hosted on GitHub:
>>> <https://github.com/operasoftware/git-splitter>
>>>
>>> We have announced the release as part of another announcement of
>>> released
>>> code at the Opera Security Group home page:
>>> <http://my.opera.com/securitygroup/blog/2012/12/18/tls-prober-source-released-under-apache-2-0-license>
>>>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Opera release Git-splitter, a sub-modularizing tool for Git
2012-12-21 13:49 ` Michael J Gruber
@ 2012-12-21 15:02 ` Yngve Nysaeter Pettersen
2012-12-21 15:49 ` Matthieu Moy
0 siblings, 1 reply; 8+ messages in thread
From: Yngve Nysaeter Pettersen @ 2012-12-21 15:02 UTC (permalink / raw)
To: Michael J Gruber; +Cc: git
On Fri, 21 Dec 2012 14:49:26 +0100, Michael J Gruber
<git@drmicha.warpmail.net> wrote:
> Yngve Nysaeter Pettersen venit, vidit, dixit 21.12.2012 13:43:
>> Hi,
>>
>> On Fri, 21 Dec 2012 13:23:46 +0100, Michael J Gruber
>> <git@drmicha.warpmail.net> wrote:
>>
>>> Yngve N. Pettersen (Developer Opera Software ASA) venit, vidit, dixit
>>> 18.12.2012 15:51:
>>>> Hello all,
>>>>
>>>> Today Opera Software released the "Git-splitter", a small tool for
>>>> sub-modularizing code in a git repo, with complete commit history,
>>>> under
>>>> the Apache 2.0 license.
>>>>
>>>> It's functionality is similar to "git-subtree", but also include a
>>>> command
>>>> for reversing the process.
>>>
>>> Is there something keeping you technically from adding a join command
>>> to
>>> git-subtree?
>>
>> Probably not, but within the process I was working I did not want to
>> merge
>> the branch with the recreated history for that path into the existing
>> codebase (I don't like duplicate histories) so I used rebasing to move
>> the
>> new commits over, instead, and therefore did not need a join command.
>>
>> Feel free to add a join command, if you want one.
>
> Im sorry, but that was a total misunderstanding. You said git-splitter
> is like git-subtree but adds a command for reversing the process. My
> question was: What kept you from adding that to git-subtree (rather than
> redoing stiff that git-subtree does)?
>
> I just assumed that reversing the process of splitting must be joining.
>
> It may very well be that git-splitter does things differently, i.e. that
> there are more differences than just added functionality (compared to
> git-subtree), but that is not clear from the announcement.
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.
>>>> The code is hosted on GitHub:
>>>> <https://github.com/operasoftware/git-splitter>
>>>>
>>>> We have announced the release as part of another announcement of
>>>> released
>>>> code at the Opera Security Group home page:
>>>> <http://my.opera.com/securitygroup/blog/2012/12/18/tls-prober-source-released-under-apache-2-0-license>
>>>>
>>
>>
--
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
********************************************************************
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Opera release Git-splitter, a sub-modularizing tool for Git
2012-12-21 15:02 ` Yngve Nysaeter Pettersen
@ 2012-12-21 15:49 ` Matthieu Moy
2012-12-21 20:13 ` Yngve Nysaeter Pettersen
0 siblings, 1 reply; 8+ messages in thread
From: Matthieu Moy @ 2012-12-21 15:49 UTC (permalink / raw)
To: Yngve Nysaeter Pettersen; +Cc: Michael J Gruber, git
"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?
If one doesn't use "replant", is your tool different from git-subtree?
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Opera release Git-splitter, a sub-modularizing tool for Git
2012-12-21 15:49 ` Matthieu Moy
@ 2012-12-21 20:13 ` Yngve Nysaeter Pettersen
2012-12-22 16:41 ` Michael J Gruber
0 siblings, 1 reply; 8+ messages in thread
From: Yngve Nysaeter Pettersen @ 2012-12-21 20:13 UTC (permalink / raw)
To: Matthieu Moy; +Cc: Michael J Gruber, git
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.
--
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
********************************************************************
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Opera release Git-splitter, a sub-modularizing tool for Git
2012-12-21 20:13 ` Yngve Nysaeter Pettersen
@ 2012-12-22 16:41 ` Michael J Gruber
0 siblings, 0 replies; 8+ messages in thread
From: Michael J Gruber @ 2012-12-22 16:41 UTC (permalink / raw)
To: Yngve Nysaeter Pettersen; +Cc: Matthieu Moy, git
Yngve Nysaeter Pettersen venit, vidit, dixit 21.12.2012 21:13:
> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-12-22 16:41 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-18 14:51 Opera release Git-splitter, a sub-modularizing tool for Git Yngve N. Pettersen (Developer Opera Software ASA)
2012-12-21 12:23 ` Michael J Gruber
2012-12-21 12:43 ` Yngve Nysaeter Pettersen
2012-12-21 13:49 ` Michael J Gruber
2012-12-21 15:02 ` Yngve Nysaeter Pettersen
2012-12-21 15:49 ` Matthieu Moy
2012-12-21 20:13 ` Yngve Nysaeter Pettersen
2012-12-22 16:41 ` Michael J Gruber
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).