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