About hg --> git then git --> svn
== hg --> git ==
Finish !
It take approx 40h to complete (someone to math over-the-thumb ? :))
Result it that it's "seems" to import merge... I have not time for more
investigation, I copy/paste bellow outputs that give me this feeling [1].
diff -r between hg and git is really clean :
Only in git_repos/: .git
Only in OOO340_local/: .hg
Only in OOO340_local/: .hgtags
== git --> svn ==
I actually do the rebase (seems to take time), this is the penultimate
before real svn import...
I will be out of this machine tomorrow for 5 days... hope I can fire the
last command before going.
== get git repos ==
I currently upload the git repos to people.apache.org if you want to
play with.
== [1] ==
=== After ht to git command ===
Exporting tag [DEV300_m106] at [hg r276728] [git :276729]
Exporting tag [OOO340_m0] at [hg r276743] [git :276744]
Issued 277030 commands
git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects: 2235000
Total objects: 2233937 ( 8097599 duplicates )
blobs : 549813 ( 7325130 duplicates 472589 deltas)
trees : 1407193 ( 772469 duplicates 1192144 deltas)
commits: 276931 ( 0 duplicates 0 deltas)
tags : 0 ( 0 duplicates 0 deltas)
Total branches: 100 ( 1 loads )
marks: 1048576 ( 276931 unique )
atoms: 56682
Memory total: 115159 KiB
pools: 10394 KiB
objects: 104765 KiB
---------------------------------------------------------------------
pack_report: getpagesize() = 4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit = 8589934592
pack_report: pack_used_ctr = 20176769
pack_report: pack_mmap_calls = 702302
pack_report: pack_open_windows = 4 / 9
pack_report: pack_mapped = 3397905146 / 8589934592
---------------------------------------------------------------------
=== Git log ===
commit c1a19b7f2fbd65d7c8b8a4cb32bdf1c3b418f92c
Author: Martin Hollmichel <[email protected]>
Date: Mon May 9 14:07:54 2011 +0200
corrected merge of gridfixes cws integration
commit 032eda538088ed2009223a8063e2c143636b6dd0
Author: Martin Hollmichel <[email protected]>
Date: Fri May 6 08:13:12 2011 +0200
OOO340_m1
commit 9479cbfd2fc76106b1beb5e9ede70300241d23bc
Merge: 450b957 4e28838
Author: Kurt Zenker <[email protected]>
Date: Thu Apr 14 15:47:03 2011 +0200
CWS-TOOLING: integrate CWS obic007_OOO340
commit 450b9579887579f2498d24aeff1274678ca2051e
Merge: 1b8c3ce 7b335b1
Author: Kurt Zenker <[email protected]>
Date: Thu Apr 14 15:29:52 2011 +0200
CWS-TOOLING: integrate CWS fs34b_OOO340
commit 1b8c3ce1fcbd5d4d62ebfd28d1942d6b68e0d83e
Merge: aed026c 0461b2b
Author: Kurt Zenker <[email protected]>
Date: Thu Apr 14 13:14:35 2011 +0200
CWS-TOOLING: integrate CWS l10ndev300m106_OOO340
== git fetch origin ==
From /home/florent/dev/dev-apache/OoO/import/git_repos
* [new branch] master -> origin/master
From /home/florent/dev/dev-apache/OoO/import/git_repos
* [new tag] DEV300_last_svn_milestone -> DEV300_last_svn_milestone
* [new tag] DEV300_m100 -> DEV300_m100
* [new tag] DEV300_m101 -> DEV300_m101
* [new tag] DEV300_m102 -> DEV300_m102
* [new tag] DEV300_m103 -> DEV300_m103
* [new tag] DEV300_m104 -> DEV300_m104
* [new tag] DEV300_m105 -> DEV300_m105
* [new tag] DEV300_m106 -> DEV300_m106
* [new tag] DEV300_m31 -> DEV300_m31
* [new tag] DEV300_m32 -> DEV300_m32
* [new tag] DEV300_m33 -> DEV300_m33
* [new tag] DEV300_m34 -> DEV300_m34
* [new tag] DEV300_m35 -> DEV300_m35
* [new tag] DEV300_m36 -> DEV300_m36
* [new tag] DEV300_m37 -> DEV300_m37
* [new tag] DEV300_m38 -> DEV300_m38
* [new tag] DEV300_m39 -> DEV300_m39
* [new tag] DEV300_m40 -> DEV300_m40
* [new tag] DEV300_m41 -> DEV300_m41
* [new tag] DEV300_m42 -> DEV300_m42
* [new tag] DEV300_m43 -> DEV300_m43
* [new tag] DEV300_m44 -> DEV300_m44
* [new tag] DEV300_m45 -> DEV300_m45
* [new tag] DEV300_m46 -> DEV300_m46
* [new tag] DEV300_m47 -> DEV300_m47
* [new tag] DEV300_m48 -> DEV300_m48
...
* [new tag] OOO330_m13 -> OOO330_m13
* [new tag] OOO330_m14 -> OOO330_m14
* [new tag] OOO330_m15 -> OOO330_m15
* [new tag] OOO330_m16 -> OOO330_m16
* [new tag] OOO330_m17 -> OOO330_m17
* [new tag] OOO330_m18 -> OOO330_m18
* [new tag] OOO330_m19 -> OOO330_m19
* [new tag] OOO330_m2 -> OOO330_m2
* [new tag] OOO330_m20 -> OOO330_m20
* [new tag] OOO330_m3 -> OOO330_m3
* [new tag] OOO330_m4 -> OOO330_m4
* [new tag] OOO330_m5 -> OOO330_m5
* [new tag] OOO330_m6 -> OOO330_m6
* [new tag] OOO330_m7 -> OOO330_m7
* [new tag] OOO330_m8 -> OOO330_m8
* [new tag] OOO330_m9 -> OOO330_m9
* [new tag] OOO340_m0 -> OOO340_m0
On 07/27/2011 06:07 PM, florent andré wrote:
I manage(d) another try :
hg --> git
This is currently in process. After 20h a little bit more than 180000
rev are exported to git.
Will wait some hours more to see what append, but so far so good.
git --> svn
This is the second step of my idea, in order to see if it's more faster
with this conversion.
But have to wait the hg --> git finishing.
hg --> svn
Do another try with only the 30 last revisions with the same script
(start revision configurable)
This work pretty well (just a little special case with [email protected] file).
And
$ diff -r svn-repos/ hg-repos/ > diff-result
$ cat diff-result | grep -v ".svn"
relevant results only show 2 empty folders in svn repos that are not
still present in hg one :
offapi/drafts/
smoketestoo_native/com/
=========
So, without a really good surprise from the git --> svn conversion, it's
clearly appear that it will not be manageable to import all history in
svn [1].
So 2 options :
1) Import all the code without history. Have to check history into hg or
git (have to wait if conversion goes well to the end)
2) Define a "good" starting revision, were good means :
* enough history in svn for pretty well being
* time reasonable computation (over-the-thumb-maths says [ :) ]
approximately 250 commits/hour)
What do you think ?
++
[1] at least with my material, may a really BIG machine can lower time,
but I doubt it will achieve it in reasonable time.
On 07/26/2011 03:53 PM, Michael Stahl wrote:
On 26.07.2011 13:51, florent andré wrote:
Hi there,
I actually run a script [1] on my local laptop and online svn serveur
that import the OOO340 hg to an svn trunk folder.
For now, it's work pretty well - get all history from OO340 - with good
commit log e.g. :
-------
Added:
ooo/trunk/trunk/xmloff/source/text/XMLTextColumnsContext.cxx
Modified:
ooo/trunk/trunk/xmloff/source/text/XMLTextPropertySetContext.cxx
ooo/trunk/trunk/xmloff/source/text/makefile.mk
Log:
changeset: 41:196d10f76091
user: mib
date: Thu Sep 21 09:48:30 2000 +0000
text column import
--------
But, as it simulate all svn commit, it's a little bit long...
Actually on 45/276930 revision.
well, the first 263206 revisions are the easy ones, because they're
linear :)
btw, what script are you using?
what will it do with merge revisions?
If the process goes well to the end, what could be the next step ?
Restart this script on the apache svn or extract some kind of svn dump
from my svn-serveur and import it ?
presumably it ought to be possible and easiest to import an SVN dump,
but i'm no SVN expert...
regards,
michael