Possible Conversion From Subversion?

I did look over the mailing list, and didn’t see much that indicated any
discussion about this.

As such, I spent some time making a conversion tool that will convert
the SVN/SVK history into a full Mercurial repository. From there, you
can convert to Git, Darcs, etc, as you see fit.

I typed up a fairly detailed set of information and posted it on the
Mercurial wiki, at
http://www.selenic.com/mercurial/wiki/ProblematicConversions

I admit that I would very much like to see a switch into something like
Mercurial, mainly because where I work we forked Request Tracker long
ago, and would like to begin remerging the code. The SVN tools for doing
this will be difficult (at best), and the DVCS toolkits will make it
considerably easier to accomplish this reintegration process.

The only issues with the process are as follows:

  • When doing an export of a given version, svn does keyword expansion.
    This seems to only affect the result of configure.ac as it embeds the
    SVN revision ID into the file.
  • In versions 3.5.1 and 3.5.2, a file etc/upgrade/QUEBEC gets created,
    and then goes away. This seems to be only a minor annoyance in
    housekeeping.
  • html/Elements/ViewUser gets created and attached to almost all
    revisions after 3.3.5. This does not seem to impact the functioning of
    RT in any fashion, and is only a minor annoyance in housekeeping.
  • 3.7.15 has an empty directory lib/t/regression Mercurial does not
    track empty directories, so this directory is not present in
    Mercurial.
  • 3.7.85 has an empty directory t/data/mail Mercurial does not
    track empty directories, so this directory is not present in
    Mercurial.
  • 3.8.x has an empty directory var/session_data Mercurial does not track
    empty directories, so this directory is not present in Mercurial.

To my mind, these are all extremely minor issues. I hope that this can,
at least, be considered for a switch.

Thank you.
Michael J. Pedersen
My IM IDs: Jabber/pedersen@icelus.tzo.com, ICQ/103345809, AIM/pedermj022171
Yahoo/pedermj2002, MSN/pedermj022171@hotmail.com
My GnuPG KeyID: 4E724A60 My Public Key Available At: pgp.mit.edu
My GnuPG Key Fingerprint: C31C 7E90 5992 9E5E 9A02 233D D8DD 985E 4E72 4A60

In Best Practical we’re moving some modules not related to RT into git
repository, so I probably it would be git, but I can not tell how soon
and how it will look.On Mon, May 18, 2009 at 10:15 PM, Michael J. Pedersen m.pedersen@icelus.org wrote:

I did look over the mailing list, and didn’t see much that indicated any
discussion about this.

As such, I spent some time making a conversion tool that will convert
the SVN/SVK history into a full Mercurial repository. From there, you
can convert to Git, Darcs, etc, as you see fit.

I typed up a fairly detailed set of information and posted it on the
Mercurial wiki, at
http://www.selenic.com/mercurial/wiki/ProblematicConversions

I admit that I would very much like to see a switch into something like
Mercurial, mainly because where I work we forked Request Tracker long
ago, and would like to begin remerging the code. The SVN tools for doing
this will be difficult (at best), and the DVCS toolkits will make it
considerably easier to accomplish this reintegration process.

The only issues with the process are as follows:

  • When doing an export of a given version, svn does keyword expansion.
    This seems to only affect the result of configure.ac as it embeds the
    SVN revision ID into the file.
  • In versions 3.5.1 and 3.5.2, a file etc/upgrade/QUEBEC gets created,
    and then goes away. This seems to be only a minor annoyance in
    housekeeping.
  • html/Elements/ViewUser gets created and attached to almost all
    revisions after 3.3.5. This does not seem to impact the functioning of
    RT in any fashion, and is only a minor annoyance in housekeeping.
  • 3.7.15 has an empty directory lib/t/regression Mercurial does not
    track empty directories, so this directory is not present in
    Mercurial.
  • 3.7.85 has an empty directory t/data/mail Mercurial does not
    track empty directories, so this directory is not present in
    Mercurial.
  • 3.8.x has an empty directory var/session_data Mercurial does not track
    empty directories, so this directory is not present in Mercurial.

To my mind, these are all extremely minor issues. I hope that this can,
at least, be considered for a switch.

Thank you.

Michael J. Pedersen
My IM IDs: Jabber/pedersen@icelus.tzo.com, ICQ/103345809, AIM/pedermj022171
Yahoo/pedermj2002, MSN/pedermj022171@hotmail.com
My GnuPG KeyID: 4E724A60 My Public Key Available At: pgp.mit.edu
My GnuPG Key Fingerprint: C31C 7E90 5992 9E5E 9A02 233D D8DD 985E 4E72 4A60


List info: The rt-devel Archives

Best regards, Ruslan.

Ruslan Zakirov wrote:

In Best Practical we’re moving some modules not related to RT into git
repository, so I probably it would be git, but I can not tell how soon
and how it will look.

What’s with people moving from svn to git? I’m still migrating things TO
svn… and liking it.

Kind Regards,

Mike Peachey, IT
Tel: +44 114 281 2655
Fax: +44 114 281 2951
Jennic Ltd, Furnival Street, Sheffield, S1 4QT, UK
Comp Reg No: 3191371 - Registered In England

Ruslan Zakirov wrote:

In Best Practical we’re moving some modules not related to RT into git
repository, so I probably it would be git, but I can not tell how soon
and how it will look.

What’s with people moving from svn to git? I’m still migrating things TO
svn… and liking it.

We never used svn as is, but with svk. I even can not imagine me
working without svk with a svn repository in US from Moscow.


Kind Regards,


Mike Peachey, IT
Tel: +44 114 281 2655
Fax: +44 114 281 2951
Jennic Ltd, Furnival Street, Sheffield, S1 4QT, UK
Comp Reg No: 3191371 - Registered In England
http://www.jennic.com


Best regards, Ruslan.

In Best Practical we’re moving some modules not related to RT into git
repository, so I probably it would be git, but I can not tell how soon
and how it will look.

Really close to off topic, but… why? Is there something that
Subversion (or, IIRC, SVK?) isn’t doing?

In Best Practical we’re moving some modules not related to RT into git
repository, so I probably it would be git, but I can not tell how soon
and how it will look.

Really close to off topic, but… why? Is there something that
Subversion (or, IIRC, SVK?) isn’t doing?

Locally cached repository is a big one, as Ruslan implied re: svk, which
essentially adds the distributed bits that git has built-in.

It also makes the process of sharing/fetching patches trivial, which is
nice in an open source project.

And it’s screaming fast. Nice when you’re working with a huge codebase.

Those are my big three.

–j