lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Wellnhofer <>
Subject Re: [lucy-dev] Break up repository
Date Wed, 18 Dec 2013 15:14:00 GMT
On 18/12/2013 04:33, Marvin Humphrey wrote:
> On Tue, Dec 17, 2013 at 3:15 AM, Nick Wellnhofer <> wrote:
>> It will be hard to track changes across these renames, so I think we could
>> as well start the Clownfish repo from scratch.
> Works for me.

I didn't think about the Clownfish compiler. A better approach is to use 
"git filter-branch --subdirectory-filter". I followed the instructions here

and ran

$ cd ..
$ git clone lucy clownfish
$ cd clownfish
$ git remote rm origin
$ git filter-branch --tag-name-filter cat --prune-empty 
--subdirectory-filter clownfish HEAD
$ git reset --hard
$ git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git 
update-ref -d
$ git reflog expire --expire=now --all
$ git gc --aggressive --prune=now

This will lose most of the Clownfish runtime history but keeps the 
history of CFC completely intact. The resulting repo is 8.8M on my machine.

I also tried the "new way" using "git subtree":

$ git subtree split -P clownfish -b clownfish-only
$ cd ..
$ mkdir clownfish
$ cd clownfish
$ git init
$ git pull ../lucy clownfish-only

But this resulted in a lot of useless history.

The same approach should work for Charmonizer.

> I'm fine with naming the Clownfish repository lucy-clownfish.git, even though
> the product will be "Apache Clownfish" and not "Apache Lucy Clownfish".  We'll
> cross the TLP bridge when we come to it.
> Likewise with the Charmonizer repo being named lucy-charmonizer.git.  With
> Charmonizer, there are not even any plans as of yet to release the full
> product independently.

I think we should call a vote on the repo split first.


View raw message