[Twisted-Python] git repo maintenance

Duncan McGreggor duncan.mcgreggor at gmail.com
Mon Oct 22 15:04:02 EDT 2012


On Mon, Oct 22, 2012 at 12:01 PM, Duncan McGreggor
<duncan.mcgreggor at gmail.com> wrote:
> On Mon, Oct 22, 2012 at 11:30 AM, David Reid <dreid at dreid.org> wrote:
>>
>>
>> On Mon, Oct 22, 2012 at 10:55 AM, Duncan McGreggor
>> <oubiwann at twistedmatrix.com> wrote:
>>>
>>> On Sat, Oct 20, 2012 at 4:24 PM, Duncan McGreggor
>>> <oubiwann at twistedmatrix.com> wrote:
>>> > Hey all,
>>> >
>>> > At the sprint today, Glyph mentioned that the github repo hasn't been
>>> > updated recently and needs someone to maintain it regularly. He also
>>> > mentioned that pull requests would be accepted from github, at which
>>> > point
>>> > I immediately volunteered to keep the repo up to date :-) (I can't bear
>>> > using svn anymore...)
>>> >
>>> > I'll be putting things in place (infrastructure, scripts, etc.) to
>>> > assist me
>>> > with this, so let me know if you have any concerns, questions, ideas,
>>> > etc.
>>>
>>> So, I've got a git repo set up for trunk of svn, and for the life of
>>> me, I can't merge it with the git repo on github.
>>>
>>> As such, my desire is to do a force push. *However* this would break
>>> github forks that everyone has made so far, based on twisted/twisted
>>> (the complete list is here:
>>> https://github.com/twisted/twisted/network/members).
>>
>>
>> Based on https://github.com/twisted/twisted/network
>>
>> (That graph indicates that no one has actually done any substantial work
>> based on the old repository.)
>>
>> I'm inclined to say do it.
>>
>> I'm a little concerned about how you ended up with a thing that which wasn't
>> mergeable?  Could we start by you documenting how you created this repo?
>
> Sure thing. All I did to build a git repo was the usual:
>
> git svn clone svn://svn.twistedmatrix.com/svn/Twitsed/trunk twisted
>
> All of my attempts to merge were using the local copy created by the
> branch above (or by creating a clone of it with just one or two
> revisions beyond what the github repo has, to minimize the commit #
> and maximize the chance of a successful merge).
>
> For instance:
>  * git clone git at github.com:twisted/twisted.git twisted-github; cd
> twisted-github; git pull ../twisted master
>
> (and other variations upon that theme).
>
> I've tried using several different merge strategies; either they
> couldn't complete the merge, or they resulted in gobs of conflicts.
>
> d

So I just tried something else:

git pull -s recursive -Xtheirs ../twisted master

since this was run in the github master, the "theirs" is the svn clone
master, and forcing the adoption of "theirs" resulted in many fewer
conflicts. Hundreds of fewer conflicts, maybe?

Looking into this to see if anything was broken by this approach...

d



More information about the Twisted-Python mailing list