This is great advice.  Thanks Mauricio.  I found an article that gives
some tips on how to accomplish the tag thing you mentioned, as well as
some other clean-ups.

http://thomasrast.ch/git/git-svn-conversion.html

Based on what you've said, it sounds like we need to do at least a
couple things.

1.  Have committers sign up for github accounts so the history can be
mapped nicely.  Unless more mass user actions come up, it seems like a
good idea to start a separate urgent thread to have committers provide
their details for the conversion.

2.  Write a script that will convert your repository appropriately.
Is it safe to assume that you'll be able to pull any last minute
changes from SVN into your repo?  I propose that we set up a GIT
repository to store the script to be used for the conversion.  We can
then refine it and learn a bit along the way.

If nobody else does it, I'll do these things tomorrow to get the ball rolling.

        Patrick Earl

On Tue, Aug 2, 2011 at 1:46 PM, Mauricio Scheffer
<[email protected]> wrote:
> It's not really *required* to do this mapping, it's only very convenient so
> that github can create links from every commit to the committer account, and
> also for future statistics.
>
> Another thing to decide is what to do about tags. Git-svn models tags as
> separate commits (because each svn tag creates a new revision), but that's
> not how git usually handles tags. You could go over each tag and redefine
> it, e.g. instead of the 3.1.0GA tag being here :
> https://github.com/mausch/NHibernate/commit/a971c20f9be652a59bc467d8e61bbad2f2928ef3
> as a separate commit, it would be here:
> https://github.com/mausch/NHibernate/commit/3c2d5fdbeeebc87f089bac2306792b8ef4459a81
> which is the commit before that. Clone the repository and use gitk to better
> visualize this.
> Also, tags in git can be lightweight, annotated or even cryptographically
> signed if you're really paranoid about people redistributing code with
> edited tags.
>
> --
> Mauricio
>
>
> On Tue, Aug 2, 2011 at 4:27 PM, Mauricio Scheffer
> <[email protected]> wrote:
>>
>> Right now, on my github mirror all committers have names autogenerated by
>> git-svn. For example: "patearl
>> <patearl@d2eaab8a-a80d-0410-be94-99ecdb4ea5df>".
>> Git filter-branch should be used to change all commits and map those
>> autogenerated names to the actual github accounts (e.g. the email used for
>> https://github.com/patearl ), otherwise all commits are pretty much
>> anonymous, detached from their actual owners.
>> Here's a sample script that does this for a single user:
>> http://progit.org/book/ch6-4.html#changing_email_addresses_globally
>> The filter-branch docs also has some examples about this:
>> http://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html
>>
>> Cheers,
>> Mauricio
>>
>>
>> On Tue, Aug 2, 2011 at 4:00 PM, Patrick Earl <[email protected]> wrote:
>>>
>>> On Tue, Aug 2, 2011 at 10:35 AM, Mauricio Scheffer
>>> <[email protected]> wrote:
>>> > If NHibernate decides to move to git, you might be interested in my
>>> > github mirror: https://github.com/mausch/NHibernate , which contains
>>> > of course the whole history, is up to date, and has all tags and
>>> > branches.
>>>
>>> That sounds great Mauricio.  Thanks for the heads up.
>>>
>>> > All that would be needed to complete the migration is mapping the
>>> > committers to their proper github accounts (which isn't hard, just
>>> > some filter-branches, doesn't take too long). So the slowest part
>>> > (migrating the actual commits from SVN to git) is already done.
>>>
>>> Can you suggest what you mean here to do the mapping?  It sounds like
>>> you have a very clear idea of what needs to be done.
>>>
>>> > Of course, tooling support is a separate issue. I don't know what
>>> > tools NHibernate currently uses that depend on SVN (could be nant for
>>> > tagging, TeamCity, JIRA integration, ...)
>>>
>>> TeamCity has built-in GIT support, so that shouldn't be a problem.
>>> The releases haven't even been using the SVN revision for the version
>>> number, so we're more or less okay on that front.  We don't have JIRA
>>> set up with any VCS integration right now, so integrating would only
>>> be an improvement.  Do we have some sort of script or anything to run
>>> tagging on release?  The release process is a mystery to me
>>> personally. :)
>>>
>>>          Patrick Earl
>>
>
>

Reply via email to