You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Benoit Chesneau <bc...@gmail.com> on 2014/02/05 16:00:11 UTC

splitting rcouch in multiple repo

I am seeing that bigcouch is splitting everything in its own repo. I could
also do the same for rcouch quite easily. The question is how.

I basically need the following repo:

couch_collate
couch_mrview
couch_index
couch_replicator
couch_httpd
couch_collate

(and probably soon a couch_js)

I think most are already existing except maybe couch_collate ( I need to
check).

Is creating  merge-branch enough?

What about the missing repositories? How to ask for them?

- benoit

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Wed, Feb 5, 2014 at 8:25 PM, Paul Davis <pa...@gmail.com>wrote:

> On Wed, Feb 5, 2014 at 1:16 PM, Benoit Chesneau <bc...@gmail.com>
> wrote:
> > On Wed, Feb 5, 2014 at 7:27 PM, Paul Davis <paul.joseph.davis@gmail.com
> >wrote:
> >
> >> Why the rename if you don't want to rename modules and all that comes
> >> with it? If you just rename the directory, couch.app.src, and
> >> couch.erl I'm not sure I see the benefit.
> >>
> >
> > saying it's the core.
>
> Doesn't seem worth it to me and it'd screw anyone trying to do release
> upgrades. Either way I'd like to defer that particular decision until
> after the merge. Maintaining history is already gonna be hard enough.
>


you're probably right. Also agree there is no hurry on that topic.

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
On Wed, Feb 5, 2014 at 1:16 PM, Benoit Chesneau <bc...@gmail.com> wrote:
> On Wed, Feb 5, 2014 at 7:27 PM, Paul Davis <pa...@gmail.com>wrote:
>
>> Why the rename if you don't want to rename modules and all that comes
>> with it? If you just rename the directory, couch.app.src, and
>> couch.erl I'm not sure I see the benefit.
>>
>
> saying it's the core.

Doesn't seem worth it to me and it'd screw anyone trying to do release
upgrades. Either way I'd like to defer that particular decision until
after the merge. Maintaining history is already gonna be hard enough.

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Wed, Feb 5, 2014 at 7:27 PM, Paul Davis <pa...@gmail.com>wrote:

> Why the rename if you don't want to rename modules and all that comes
> with it? If you just rename the directory, couch.app.src, and
> couch.erl I'm not sure I see the benefit.
>

saying it's the core.

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
Why the rename if you don't want to rename modules and all that comes
with it? If you just rename the directory, couch.app.src, and
couch.erl I'm not sure I see the benefit.

On Wed, Feb 5, 2014 at 11:28 AM, Benoit Chesneau <bc...@gmail.com> wrote:
> On Wed, Feb 5, 2014 at 5:52 PM, Paul Davis <pa...@gmail.com>wrote:
>
>> > ok, make sense since i have also at some point moved it to src/couch (and
>> > will be renamed to couch_core soon in rcouch).
>>
>> Why are you wanting to rename couch to couch_core? Erlang standard is
>> to have "app/src/app_*.erl". Renaming everything to couch_core_*.erl
>> would be a fairly massive change.
>>
>
> Well in theory you don't need to rename everything as couch_core_* . That's
> more to have a proper naming for what is the core or not. couch by itself
> could be the release point (or not). I am not sure it's really needed.
>
> - benot

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Wed, Feb 5, 2014 at 5:52 PM, Paul Davis <pa...@gmail.com>wrote:

> > ok, make sense since i have also at some point moved it to src/couch (and
> > will be renamed to couch_core soon in rcouch).
>
> Why are you wanting to rename couch to couch_core? Erlang standard is
> to have "app/src/app_*.erl". Renaming everything to couch_core_*.erl
> would be a fairly massive change.
>

Well in theory you don't need to rename everything as couch_core_* . That's
more to have a proper naming for what is the core or not. couch by itself
could be the release point (or not). I am not sure it's really needed.

- benot

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
> ok, make sense since i have also at some point moved it to src/couch (and
> will be renamed to couch_core soon in rcouch).

Why are you wanting to rename couch to couch_core? Erlang standard is
to have "app/src/app_*.erl". Renaming everything to couch_core_*.erl
would be a fairly massive change.

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Wed, Feb 5, 2014 at 4:38 PM, Paul Davis <pa...@gmail.com>wrote:

> All of those repos already exist:
>
> https://git-wip-us.apache.org/repos/asf?s=couchdb


perfect

>
>
> Some but not all of those I've done the initial legwork on extracting
> source code from couch and/or rcouch. I have some time right now while
> I wait on other things to pull those at into new branches named
> something like import-rcouch.
>
> The hard part here is going to be how we merge differences in the
> couch application. The history gets fairly tricky to maintain in the
> split through the rename src/couchdb to src/couch. I'll give it a
> whirl with the approach I did for bigcouch to see if that works and
> gives the same sha's at least for the initial history.
>

ok, make sense since i have also at some point moved it to src/couch (and
will be renamed to couch_core soon in rcouch).

- benoit



>
> On Wed, Feb 5, 2014 at 9:00 AM, Benoit Chesneau <bc...@gmail.com>
> wrote:
> > I am seeing that bigcouch is splitting everything in its own repo. I
> could
> > also do the same for rcouch quite easily. The question is how.
> >
> > I basically need the following repo:
> >
> > couch_collate
> > couch_mrview
> > couch_index
> > couch_replicator
> > couch_httpd
> > couch_collate
> >
> > (and probably soon a couch_js)
> >
> > I think most are already existing except maybe couch_collate ( I need to
> > check).
> >
> > Is creating  merge-branch enough?
> >
> > What about the missing repositories? How to ask for them?
> >
> > - benoit
>

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
All of those repos already exist:

https://git-wip-us.apache.org/repos/asf?s=couchdb

Some but not all of those I've done the initial legwork on extracting
source code from couch and/or rcouch. I have some time right now while
I wait on other things to pull those at into new branches named
something like import-rcouch.

The hard part here is going to be how we merge differences in the
couch application. The history gets fairly tricky to maintain in the
split through the rename src/couchdb to src/couch. I'll give it a
whirl with the approach I did for bigcouch to see if that works and
gives the same sha's at least for the initial history.

On Wed, Feb 5, 2014 at 9:00 AM, Benoit Chesneau <bc...@gmail.com> wrote:
> I am seeing that bigcouch is splitting everything in its own repo. I could
> also do the same for rcouch quite easily. The question is how.
>
> I basically need the following repo:
>
> couch_collate
> couch_mrview
> couch_index
> couch_replicator
> couch_httpd
> couch_collate
>
> (and probably soon a couch_js)
>
> I think most are already existing except maybe couch_collate ( I need to
> check).
>
> Is creating  merge-branch enough?
>
> What about the missing repositories? How to ask for them?
>
> - benoit

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
> Apparently all repos are OK except the couch_mrview one . The tests
> 09- and 10- has disappeared from it. I am trying to see if i can
> create a new branch with them without losing the history.
>

Hard to say. I'll go back and try and compare logs to see where I went wrong.

> I didn't launched the tests yet. I have to check actually how you are
> launching the tests in the bigcouch branch now. Maybe I could revisit
> that in the branch to follow what you did. For myself I changed the
> test paths so i could launch them simply by using the prove command.
>

I've not got the etaps wired up just yet. BigCouch just had a large
prove command and disabled some that were weird. I'll have to do more
work to make sure that all of the current etaps run properly but I'm
not super worried about it right now.

On the other hand, the JS tests are executed by running: './dev/run --
test/javascript/run'. The './dev/run' script pulls up an entire three
node cluster as well for anyone wanting to play with that. As of now
the JS tests just run against the single node port on a node.

> About the tests I am wondering if we shouldn't move test/etap* and the
> util to the couch app in a test folder ....
>
> - beoit

+1 after the merge is over.

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Thu, Feb 6, 2014 at 6:44 PM, Paul Davis <pa...@gmail.com> wrote:
> I've managed to split out the following rcouch applications:
>
> couch_index
> couch_mrview
> couch_replicator
> couch_collate
> couch_httpd
> couch
>
> And I've pushed them to their respective repositories on branches
> named import-rcouch.
>
> This is the procedure I used to do the extract:
>
> https://gist.github.com/davisp/8848265
>
> Hooray merges!
>
> On Thu, Feb 6, 2014 at 3:49 AM, Benoit Chesneau <bc...@gmail.com> wrote:
>> On Wed, Feb 5, 2014 at 10:13 PM, Paul Davis <pa...@gmail.com>wrote:
>>
>>> So this turned into more of a thing than I thought it'd be though I
>>> have at least gotten couch_index split out onto a branch I think. I
>>> need to do some diff's to make sure that its identical and then have
>>> Benoit read the history to make sure its all sane. My notes on the
>>> requisite git gymnastics are here:
>>>
>>> https://gist.github.com/davisp/8833187
>>>
>>> I'll do more work on this tonight or tomorrow morning but I'm off line
>>> for the rest of the afternoon today.
>>>
>>>
>> Yup the move from apps/ to src/ then back to apps/ was unfortunate . i can
>> eventually rebase and provide a new branch at
>> 941a8236c33a248b77abc8fa546a082d08c18bd9
>>
>> not sure it's interresting for all to have all the steps. (though the slip
>> of couch_httpd may be interresting...
>>
>> - benoit


Checked this morning.

Apparently all repos are OK except the couch_mrview one . The tests
09- and 10- has disappeared from it. I am trying to see if i can
create a new branch with them without losing the history.

I didn't launched the tests yet. I have to check actually how you are
launching the tests in the bigcouch branch now. Maybe I could revisit
that in the branch to follow what you did. For myself I changed the
test paths so i could launch them simply by using the prove command.

About the tests I am wondering if we shouldn't move test/etap* and the
util to the couch app in a test folder ....

- beoit

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
Nope, didn't have to do anything special for couch which was nice.

On Sun, Feb 9, 2014 at 4:29 PM, Benoit Chesneau <bc...@gmail.com> wrote:
> On Thu, Feb 6, 2014 at 6:44 PM, Paul Davis <pa...@gmail.com> wrote:
>> I've managed to split out the following rcouch applications:
>>
>> couch_index
>> couch_mrview
>> couch_replicator
>> couch_collate
>> couch_httpd
>> couch
>>
>> And I've pushed them to their respective repositories on branches
>> named import-rcouch.
>>
>> This is the procedure I used to do the extract:
>>
>> https://gist.github.com/davisp/8848265
>>
>> Hooray merges!
>
>
> Thanks!
>
> In your paste I don't see the procedure you followed for the couch
> application. Did you do anything special?
>
> - benoit

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Thu, Feb 6, 2014 at 6:44 PM, Paul Davis <pa...@gmail.com> wrote:
> I've managed to split out the following rcouch applications:
>
> couch_index
> couch_mrview
> couch_replicator
> couch_collate
> couch_httpd
> couch
>
> And I've pushed them to their respective repositories on branches
> named import-rcouch.
>
> This is the procedure I used to do the extract:
>
> https://gist.github.com/davisp/8848265
>
> Hooray merges!


Thanks!

In your paste I don't see the procedure you followed for the couch
application. Did you do anything special?

- benoit

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
I've managed to split out the following rcouch applications:

couch_index
couch_mrview
couch_replicator
couch_collate
couch_httpd
couch

And I've pushed them to their respective repositories on branches
named import-rcouch.

This is the procedure I used to do the extract:

https://gist.github.com/davisp/8848265

Hooray merges!

On Thu, Feb 6, 2014 at 3:49 AM, Benoit Chesneau <bc...@gmail.com> wrote:
> On Wed, Feb 5, 2014 at 10:13 PM, Paul Davis <pa...@gmail.com>wrote:
>
>> So this turned into more of a thing than I thought it'd be though I
>> have at least gotten couch_index split out onto a branch I think. I
>> need to do some diff's to make sure that its identical and then have
>> Benoit read the history to make sure its all sane. My notes on the
>> requisite git gymnastics are here:
>>
>> https://gist.github.com/davisp/8833187
>>
>> I'll do more work on this tonight or tomorrow morning but I'm off line
>> for the rest of the afternoon today.
>>
>>
> Yup the move from apps/ to src/ then back to apps/ was unfortunate . i can
> eventually rebase and provide a new branch at
> 941a8236c33a248b77abc8fa546a082d08c18bd9
>
> not sure it's interresting for all to have all the steps. (though the slip
> of couch_httpd may be interresting...
>
> - benoit

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Wed, Feb 5, 2014 at 10:13 PM, Paul Davis <pa...@gmail.com>wrote:

> So this turned into more of a thing than I thought it'd be though I
> have at least gotten couch_index split out onto a branch I think. I
> need to do some diff's to make sure that its identical and then have
> Benoit read the history to make sure its all sane. My notes on the
> requisite git gymnastics are here:
>
> https://gist.github.com/davisp/8833187
>
> I'll do more work on this tonight or tomorrow morning but I'm off line
> for the rest of the afternoon today.
>
>
Yup the move from apps/ to src/ then back to apps/ was unfortunate . i can
eventually rebase and provide a new branch at
941a8236c33a248b77abc8fa546a082d08c18bd9

not sure it's interresting for all to have all the steps. (though the slip
of couch_httpd may be interresting...

- benoit

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
So this turned into more of a thing than I thought it'd be though I
have at least gotten couch_index split out onto a branch I think. I
need to do some diff's to make sure that its identical and then have
Benoit read the history to make sure its all sane. My notes on the
requisite git gymnastics are here:

https://gist.github.com/davisp/8833187

I'll do more work on this tonight or tomorrow morning but I'm off line
for the rest of the afternoon today.

On Wed, Feb 5, 2014 at 1:33 PM, Benoit Chesneau <bc...@gmail.com> wrote:
> On Wed, Feb 5, 2014 at 8:27 PM, Paul Davis <pa...@gmail.com>wrote:
>
>> Cool. I'm gonna take a crack at getting all of the rcouch versions of
>> apps split out into their respective repositories to see how hard
>> it'll be to get things merged between the rcouch and bigcouch
>> versions.
>>
>> I'll push anything I make to branches named import-rcouch and will
>> paste the commands I used in an email on this thread.
>>
>
>
> cool! I will update the thread once it's done.
>
> - benoit

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Wed, Feb 5, 2014 at 8:27 PM, Paul Davis <pa...@gmail.com>wrote:

> Cool. I'm gonna take a crack at getting all of the rcouch versions of
> apps split out into their respective repositories to see how hard
> it'll be to get things merged between the rcouch and bigcouch
> versions.
>
> I'll push anything I make to branches named import-rcouch and will
> paste the commands I used in an email on this thread.
>


cool! I will update the thread once it's done.

- benoit

Re: splitting rcouch in multiple repo

Posted by Paul Davis <pa...@gmail.com>.
Cool. I'm gonna take a crack at getting all of the rcouch versions of
apps split out into their respective repositories to see how hard
it'll be to get things merged between the rcouch and bigcouch
versions.

I'll push anything I make to branches named import-rcouch and will
paste the commands I used in an email on this thread.

On Wed, Feb 5, 2014 at 1:17 PM, Benoit Chesneau <bc...@gmail.com> wrote:
> On Wed, Feb 5, 2014 at 4:00 PM, Benoit Chesneau <bc...@gmail.com> wrote:
>
>> I am seeing that bigcouch is splitting everything in its own repo. I could
>> also do the same for rcouch quite easily. The question is how.
>>
>> I basically need the following repo:
>>
>> couch_collate
>> couch_mrview
>> couch_index
>> couch_replicator
>> couch_httpd
>> couch_collate
>>
>> (and probably soon a couch_js)
>>
>> I think most are already existing except maybe couch_collate ( I need to
>> check).
>>
>> Is creating  merge-branch enough?
>>
>> What about the missing repositories? How to ask for them?
>>
>> - benoit
>>
>
> ok will do the split tomorrow. Using current status of the rcouch branch.
>
> - benoit

Re: splitting rcouch in multiple repo

Posted by Benoit Chesneau <bc...@gmail.com>.
On Wed, Feb 5, 2014 at 4:00 PM, Benoit Chesneau <bc...@gmail.com> wrote:

> I am seeing that bigcouch is splitting everything in its own repo. I could
> also do the same for rcouch quite easily. The question is how.
>
> I basically need the following repo:
>
> couch_collate
> couch_mrview
> couch_index
> couch_replicator
> couch_httpd
> couch_collate
>
> (and probably soon a couch_js)
>
> I think most are already existing except maybe couch_collate ( I need to
> check).
>
> Is creating  merge-branch enough?
>
> What about the missing repositories? How to ask for them?
>
> - benoit
>

ok will do the split tomorrow. Using current status of the rcouch branch.

- benoit