You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Matthieu Baechler <mb...@linagora.com> on 2015/09/07 14:53:40 UTC

Experiments with repositories merging

Hi,

Following my proposal about James modules merge, I'm looking at how 
exactly this merge can be done.

I didn't find a good way to merge things using svn tools (in theory, it 
can be done with svnadmin dump / svnadmin load but these tools are not 
made for remote experiments).

I managed to get the expected layout with this workflow :

1/ git svn clone james-project
2/ git subtree add --prefix=james https://github.com/apache/james.git trunk
3/ [git subtree add all modules]
4/ git svn dcommit

The big downside is that it loses the merged modules history.

If we omit the "git svn dcommit" step, the history is kept because git 
history doesn't need to be linear (it keeps both histories with the "git 
subtree add" being the "merge" commit).

So there's three questions :

x Do we need to keep history of merged branches in trunk ? (my opinion 
is "yes, we need that")

x Does anybody know how the history could be kept while keeping svn ?

x If previous answer is "Nobody", could we delay this merge and launch 
the "migrate to git" debate on the mailing list ?

Cheers,

-- 
Matthieu Baechler

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: Experiments with repositories merging

Posted by Eric Charles <er...@apache.org>.
On 2015-09-07 14:53, Matthieu Baechler wrote:
> Hi,
>
> Following my proposal about James modules merge, I'm looking at how
> exactly this merge can be done.
>
> I didn't find a good way to merge things using svn tools (in theory, it
> can be done with svnadmin dump / svnadmin load but these tools are not
> made for remote experiments).
>
> I managed to get the expected layout with this workflow :
>
> 1/ git svn clone james-project
> 2/ git subtree add --prefix=james https://github.com/apache/james.git trunk
> 3/ [git subtree add all modules]
> 4/ git svn dcommit
>
> The big downside is that it loses the merged modules history.
>
> If we omit the "git svn dcommit" step, the history is kept because git
> history doesn't need to be linear (it keeps both histories with the "git
> subtree add" being the "merge" commit).
>
> So there's three questions :
>
> x Do we need to keep history of merged branches in trunk ? (my opinion
> is "yes, we need that")
>

yes

> x Does anybody know how the history could be kept while keeping svn ?
>

As stefano said, 'svn cp' or 'svn mv' keep the history.

> x If previous answer is "Nobody", could we delay this merge and launch
> the "migrate to git" debate on the mailing list ?
>

Let's merge in svn before moving to git.
The discussion thread to move to git can already be launched.

> Cheers,
>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: Experiments with repositories merging

Posted by Matthieu Baechler <mb...@linagora.com>.

On 07/09/2015 15:14, Stefano Bagnara wrote:
> What about creating the merge tree in svn and then clone on git the
> resulting svn repository?
> In SVN the merge can be done with a simple "svn cp" and it keeps history.
>
> Stefano

Oh yes, I just forgot it's actually a single svn repository, not several 
ones. Thanks a lot.

-- 
Matthieu Baechler


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: Experiments with repositories merging

Posted by Stefano Bagnara <ap...@bago.org>.
What about creating the merge tree in svn and then clone on git the
resulting svn repository?
In SVN the merge can be done with a simple "svn cp" and it keeps history.

Stefano

On 7 September 2015 at 14:53, Matthieu Baechler <mb...@linagora.com> wrote:
> Hi,
>
> Following my proposal about James modules merge, I'm looking at how exactly
> this merge can be done.
>
> I didn't find a good way to merge things using svn tools (in theory, it can
> be done with svnadmin dump / svnadmin load but these tools are not made for
> remote experiments).
>
> I managed to get the expected layout with this workflow :
>
> 1/ git svn clone james-project
> 2/ git subtree add --prefix=james https://github.com/apache/james.git trunk
> 3/ [git subtree add all modules]
> 4/ git svn dcommit
>
> The big downside is that it loses the merged modules history.
>
> If we omit the "git svn dcommit" step, the history is kept because git
> history doesn't need to be linear (it keeps both histories with the "git
> subtree add" being the "merge" commit).
>
> So there's three questions :
>
> x Do we need to keep history of merged branches in trunk ? (my opinion is
> "yes, we need that")
>
> x Does anybody know how the history could be kept while keeping svn ?
>
> x If previous answer is "Nobody", could we delay this merge and launch the
> "migrate to git" debate on the mailing list ?
>
> Cheers,

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org