Hi, On Wednesday, 2011-09-07 15:43:13 +0200, Eike Rathke wrote:
> I'll first grab calc68 and try my luck ;) Did so with a git svn repository, see another thread Message-ID: <j3frmh$6of$1...@dough.gmane.org> http://mail-archives.apache.org/mod_mbox/incubator-ooo-dev/201108.mbox/%3Cj3frmh$6of$1...@dough.gmane.org%3E You'll also need StGit to be installed and in the git svn repository have once executed stg init. I took notes on each step, commands to be executed are prefixed with $ In a temporary location do $ hg clone -U http://hg.services.openoffice.org/OOO340 $ hg clone -U http://hg.services.openoffice.org/calc68 1. EIS data said calc68's current milestone is OOO340_m0. Lookup tag OOO340_m0 in OOO340 with $ hg log | less * Result is 12fa3ee3d107. 2. Lookup 12fa3ee3d107 in calc68 with $ hg log | less * Verify that no OOO340 masterfix is above that revision, if there are lookup the topmost masterfix. * Next changeset on top in calc68 is af32685ae575 3. Export all changesets starting with that, note the trailing : colon $ hg export --git -o %b-%N-%n af32685ae575: * Result are files calc68-5-1, calc68-5-2, ... 4. In the git svn AOOo repository, for each generated patch file do: $ stg import --reject patchfile * Resolve any merge errors, merge changes from *.rej to corresponding source files. $ stg refresh $ stg edit * In editor: * Verify that cwsname: (here calc68:) precedes the commit message summary for easy identification. * Move the "# User" line to give credit below the commit message, separated by a blank line. * I replaced "# User" with "Original committer:", but that's not important, I think I won't do that for other CWSs anymore, it's just another cumbersome step, and leave it as is instead. * Delete other lines prefixed with '#'. * Save & Quit. 5. Loop 4 until all patches are applied. 6. When all patches are applied: $ stg show -a * Verify that commit messages and diffs (if possible) look sane. * If not $ stg pop until at the desired patch and stg edit or massage source and stg refresh, whatever.. $ stg push -a 7. Build and deliver the affected modules in the correct order (or top make) * If there are errors: $ stg new * In editor invoked for the commit message enter short summary, e.g. cwsname: fix build errors * Save & Quit. 7a) Fix errors. * Rebuild. Loop 7a until clean. $ stg refresh 8. No (more) errors: $ stg commit -a $ git svn rebase * Resolve merge errors, if any, and if so and resolved $ git rebase --continue 9. Finally the commit to the SVN repository: $ git svn dcommit * If you originally did git svn clone https://svn.apache.org/... instead of git svn clone https://svn-master.apache.org/... this may need several iterations of $ git svn dcommit $ git svn rebase until the mirror is in line with all commits. 10. $ git svn rebase to make sure your local repository is up-to-date, it should say "Current branch master is up to date." I hope this is detailed enough ;-) Eike -- PGP/OpenPGP/GnuPG encrypted mail preferred in all private communication. Key ID: 0x293C05FD - 997A 4C60 CE41 0149 0DB3 9E96 2F1A D073 293C 05FD
signature.asc
Description: Digital signature