On 13/03/2014 19:38, Glyph Lefkowitz wrote:
On Mar 12, 2014, at 11:53 PM, Chris Withers <ch...@simplistix.co.uk
<mailto:ch...@simplistix.co.uk>> wrote:

Not to be too contentious, but when do you reckon you guys will switch
the main repo to git?

Just to be clear about the nature of my other answers: we do not
"reckon" such a thing will happen; we have no estimates.  Things get
done because volunteers do them.  You could be just such a volunteer :).

I've read up on the thread and it's interesting to note that Mike Bayer has poured a huge amount of effort into doing the move for SQLAlchemy, producing some great tools in the process. I believe he now has 3 git repos that keep each other in sync, as well as accepting pull requests via both bitbucket and github.

I asked him about it and checked that it was okay to forward on his reply, please find it attached.

Hope this helps,

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk
--- Begin Message ---
well we were on mercurial before git, so our SVN migration was to mercurial, 
though it’s just as simple moving from SVN to git directly, we did that at work.

However: when I migrate VCS’s, I usually need to alter the migration utilities 
to support the following features that people usually don’t seem to care about:

1. author mapping.  Ensure that author names/emails from the old system are 
updated in the new system the way we want them to be.

2. commit message rewriting.   We make a lot of use of revision numbers in 
commit messages (e.g. like r1234), so when we do the migration we like to 
rewrite the commit messages with the new numbers as well (this of course means 
the transfer system needs to have those numbers available up front).

3. as far as tags and branches, I’m non-negotiable in that these must transfer 
*exactly* with no shenanigans, naming changes, loss of history, etc..  hg-git 
has some silly restrictions that it doesn’t support hg branches, only 
“bookmarks” which nobody uses, this is because hg-git is trying to do a 
hg<->git bidirectional workflow, which is ludicrous.  I don’t need that, so I 
wrote https://bitbucket.org/zzzeek/hggitonce based on it to do what I want.

When you move VCS’s, you need to make sure you capture a file that is the 
translation map from old to new revision identifiers.  you then use this map to 
rewrite all of the issues and comments in your issue tracking system to refer 
to the new numbers.   Using trac, this is obviously pretty easy since you just 
access the database directly and do the work.    I’ve done this twice with trac 
- once with svn-> hg, and then with hg->git.

As far as github for issue tracking, you have much bigger issues there, since 
github does not allow a pure import of issues which include original timestamps 
and author names.  I tried to ask them about that once and I got a pretty 
dismissive response from some sleepy 20 year old kid.    Again, it’s not an 
option to lose the timestamps on your issues nor to lose author names for 
people who have accounts in github.

That’s why I think bitbucket’s system is superior in many ways:

1. its workflow is much more similar to trac and is easier to map
2. their support is 150% top notch and I have direct email access to several 
people there 
3. they have a full blown import/export system that accepts author names and 
timestamps, you can rewrite your issue database as many times as you like.

To transfer issues from trac to bitbucket I wrote bbutils: 
https://bitbucket.org/zzzeek/bbutils.   It’s got some quirks but does the job.  
 When you transfer your issues to bitbucket, you need to be careful which 
author names you take over as a lot of them aren’t on bitbucket, and also you 
need to run through the issues about 30 minutes after import and clear the 
“spam” flags that their spam bot will invariably set up.  the BB devs can do 
this for you, but so I don’t have to bother them I wrote a “spam” command in 
bbutils that does this for you.

I’m not sure how twisted handles spam with their trac install, that’s 
ultimately the reason I had to move.  the spammers found me, and none of trac’s 
underdocumented and obtuse spam tools could do anything about it.    super glad 
I don’t host any more applications or email anymore.

On Mar 13, 2014, at 4:56 AM, Chris Withers <ch...@simplistix.co.uk> wrote:

> Hi Mike,
> 
> How much of what you did with sqlalchemy is a recipe that the Twisted 
> guys could follow?
> 
> Chris
> 
> 
> -------- Original Message --------
> Subject: Re: [Twisted-Python] git?
> Date: Thu, 13 Mar 2014 15:14:53 +0800
> From: HawkOwl <hawk...@atleastfornow.net>
> Reply-To: Twisted general discussion <twisted-python@twistedmatrix.com>
> To: twisted-python@twistedmatrix.com
> 
> Signed PGP part
> Hi Chris,
> 
> I can assure you this topic has come up many times - and unless we
> have volunteers that can manage to get the several thousand tickets
> with comment history into GitHub (which I'm sure that nobody wants to
> get tied to when you have a workflow already), without losing
> anything, then it's most likely Twisted is sticking with svn and trac.
> 
> Git has svn support - see `git svn`. I have merged several branches
> with it, and it works great. Use that instead, if you get commit access :)
> 
> -hawkowl
> 
> On 13/03/14 14:53, Chris Withers wrote:
> > On 12/03/2014 23:52, Glyph Lefkowitz wrote:
> >> On Mar 12, 2014, at 3:43 PM, Christopher Armstrong
> >> <ra...@twistedmatrix.com <mailto:ra...@twistedmatrix.com>>
> >> wrote:
> >>
> >>> On March 12, 2014 at 5:39:36 PM, Chris Withers
> >>> (ch...@simplistix.co.uk <mailto:ch...@simplistix.co.uk>)
> >>> wrote:
> >>>> Hi All,
> >>>>
> >>>> Is there a git mirror of the twisted repo anywhere?
> >>>>
> >>> Yes, it’s at
> >>>
> >>> http://github.com/twisted/twisted
> >>
> >> Also at https://code.twistedmatrix.com/git/Twisted.
> >>
> >> However, if you actually want to /use/ this mirror to work on
> >> Twisted, <https://twistedmatrix.com/trac/wiki/GitMirror> has some
> >> useful information.
> >
> > Not to be too contentious, but when do you reckon you guys will
> > switch the main repo to git?
> >
> > The difficulty of using svn for the main repo is that it only has
> > a subset of the features of a dvcs such as git.
> >
> > The difficulty of using git for the main repo is if you have people
> > who still want to interact via svn. Well, it would be if you didn't
> > use github:
> >
> > https://help.github.com/articles/support-for-subversion-clients
> >
> > I do wonder how many people know about the above feature, it blows
> > my mind a bit that it's actually there in the first place...
> >
> > Anyway, just a thought :-)
> >
> > Chris
> >
> 
> 
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python@twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
> 
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com
> ______________________________________________________________________
> 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail


--- End Message ---
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to