On 15.09.2017 12:43, Svante Schubert wrote:
> This is the last project of mine that is using subversion and it would help
> me a lot (and all others I have talked to) if we could transform the source
> repository from svn to git.
> Especially, as I a plan to work on a feature branch (the ODF changes
> features), which works best to when working with git.
> 
> If no one else would be able to do it, I would do the work. :)

hi Svante,

that's a great idea!  i've done a bit of reading on this...


the SVN repo is at: https://svn.apache.org/repos/asf/incubator/odf/

* documents/
  not sure what this stuff is

* pmc/
  ip-clearance! not sure if still relevant or only of historical
  interest?

* site/
  the website - if it should be converted in git, then it should be a
  separate repository

* tags/
* trunk/
  these two would go into a "odftoolkit" git repo


Git hosting at the ASF: https://git.apache.org/

this mentions there are 2 different ways to host git repos, "git-wip"
and "gitbox".  from a quick read of the linked documentation, i get the
impression that "git-wip" is a read-write git repo hosted on an ASF
server, and "gitbox" is a read-write git repo hosted on a different ASF
server which can be mirrored on GitHub.

but i'm not sure what exactly the differences are between these 2
options, maybe someone with more ASF experience knows more?

furthermore, apparently there's already a (read-only) git-svn mirror of
odftoolkit at git://git.apache.org/odftoolkit.git and again at
https://github.com/apache/odftoolkit


how to actually convert the SVN repo to git?

it can be done manually by git-svn and some conversion steps, like
described here:

http://www.sailmaker.co.uk/blog/2013/05/05/migrating-from-svn-to-git-preserving-branches-and-tags-3/

however it looks like the git://git.apache.org/odftoolkit.git repo has
already done a lot of the work, and crucially already uses a properly
set up "author map" so we get "Svante Schubert
<[email protected]>" and not "svanteschubert
<svanteschubert@13f79535-47bb-0310-9956-ffa450edef68>" as in my local
git-svn clone.

the main things in there that look odd from a git perspective are the
"trunk" instead of "master", and there are a couple of tags that look bogus:

> >  git tag
> 0.5-incubating-rc1
> 0.5-incubating-rc2
> 0.5-incubating-rc3
> 0.5-incubating-rc4
> 0.5-incubating-rc5
> 0.5-incubating-rc7
> 0.6-incubating-rc1
> 0.6-incubating-rc2
> 0.6-incubating-rc3
> 0.6-incubating-rc4
> 0.6-incubating-rc5
> 0.6-incubating-rc6
> assemble
> generator
> legal
> odfdom
> odftoolkit-0.5-incubating
> odftoolkit-0.6.1-incubating-RC1
> odftoolkit-0.6.1-incubating-RC2
> odftoolkit-0.6.1-incubating-RC3
> odftoolkit-0.6.1-incubating-RC4
> odftoolkit-0.6.2-incubating
> odftoolkit-0.6.2-incubating-RC1
> odftoolkit-0.6.3-incubating
> simple
> taglets
> validator
> xslt-runner
> xslt-runner-task

half of these "tags" are directory names, probably should be deleted
because:

> > git log xslt-runner
> fatal: ambiguous argument 'xslt-runner': both revision and filename
> Use '--' to separate paths from revisions, like this:
> 'git <command> [<revision>...] -- [<file>...]'

so, this part looks quite easy.

regards,
 michael

Reply via email to