Rob,

And others, because we have to choose an easy as possible and fast solution for begin to play with code.

On 07/25/2011 01:33 AM, Rob Weir wrote:
On Sat, Jul 23, 2011 at 8:22 AM, florent andré
<[email protected]>  wrote:
Hi,

I also think that we need codebase in svn soon.

Following your all pretty good comments, import a "perfect" hg history into
svn seems not to be quite easy... and will require works and effort.


I not yet convinced that this conversion is impossible.  But I am
convinced that it is difficult.

As Michael Stahl says "Hg/git/otherDSCMs and SVN have fundamentally
different data models for representing branching/merging".
So hg -->  svn is complicated but hg -->  git seems to works pretty well.

The main point is to have a way to lurk the history, and to host this
history into Apache infra in order to be Oracle's server shut down tolerant.

So, what about this proposal ? :

- ask infra to set up a special git ooo-history
- import only the main hg branch into svn
- if someone interested in a specific hg branch :
** git checkout theBranch (from ooo-history)
** svn create branch from trunk ( Btrunk)
** diff Btrunk / theBranch for creating patch
** apply patch on Btrunk
** commit Btrunk

Sure we will lost a lot of history in svn... but we still have it in git
ooo-history...


In the above approach we would still have the history of the trunk in
SVN, right? Or would we need to go to git in order to get that history
as well?

I'm not an hg to svn expert so I don't really now... seems yes but have to be confirm.


Would this work as as a general approach:

1) Move forward with the trunk migration into SVN now.  This allows
work on the trunk to go forward.  We have people waiting to start on
this work.

+1 even if we can't restore all history (because we can have workarounds with git and hg).


2) The CWS migration planning and experimentation can continue.  If
someone is able to create tooling to make this possible, or finds
another elegant solution, then we can migrate the CWS's over at a
later point.

+1


3) In the mean time, if anyone needs to do work on a CWS, they can
extract from Hg and work on it that way.   But if they want to merge
it into SVN, then they will have to do some careful and manual work.
This may be painful for some large CWS's, like the one Armin has.

Sure it will need manual work... but with the procedure I propose I think that it's lower the bar :
>> - if someone interested in a specific hg branch :
>> ** git/hg checkout gitBranch (from ooo-history/needed cws)
>> ** svn create branch from apache svn trunk ( svnBranch)
>> ** diff svnBranch / gitBranch for creating patch
>> ** apply patch on svnBranch
>> ** commit svnBranch

And some work will still be needed for merging just created svnBranch with trunk



4) If, in 6 months from now, or whenever Oracle wants to turn off
their OpenOffice.org servers, then we need to have a solution for the
CWS.  But we can wait until closer to that date.  Maybe by then Apache
will support git, in which case the problem has solved itself.

I'm personally not really fan of the "wait and see" procedure... because may Oracle will not ping us when press the "stop button".

Furthermore have a git (read only) ooo-history will make all already git users happy.

There is someone from the infra here that can say if an ooo-history git repo is feasible ?

what others think about that ?

++



As you may notice, none of the above solves the core problem.  It
merely tries to push that problem to the side, so the trunk can move
forward, and allow the CWS migration problem to be worked on in
parallel.

Is this a plausible approach?

-Rob

... And a new (hi)story begin in Apache svn ! :)

This will require infra to set up a special ooo-history git repos... but if
we are kind they may accept :).

What do you think ?

++


On 07/21/2011 03:16 PM, Jens-Heiner Rechtien wrote:

On 07/20/2011 12:05 PM, Eike Rathke wrote:

Hi Michael,

On Tuesday, 2011-07-19 23:26:48 +0200, Michael Stahl wrote:

unfortunately it seems none of the tools that convert from HG or git
to SVN can create SVN branches with SVN mergeinfo (necessary in
order to be able to merge the branches back into the trunk).

there are some tools to convert from git that can create SVN
branches, but they leave out the SVN mergeinfo; apparently the
intent is to maintain a read-only mirror...

I didn't dug deeper into this, but conversion from hg to git should be
pretty straight forward and then there's git-svn, would that be viable
to import branches as well?


basically we have these options for converting to SVN:

1. convert full history
requires writing tool to create SVN branches and mergeinfo

2. convert trunk only, using follow-first-parent heuristic
with hacks where we want to follow second parent instead

3. no history in SVN, just check in OOO340 tip

I'd prefer #3 and have a read-only hg/git repository for cases where one
really wants to lookup history. AOOo needs to get its code base going.

+1 for #3. We need the repository ASAP to get going. If we have to write
the conversion tools first we'll loose way to much time which could be
spent better on getting AOOo 3.4 (or whatever the first AOOo release
will be called) out of the door. A pity that Apache git support is not
ready for prime time ... would make things so much easier.

Heiner



Reply via email to