[wp-hackers] Switching from SVN

Piyush Mishra me at piyushmishra.com
Thu Dec 9 13:15:55 UTC 2010


Git is a good option

On Thu, Dec 9, 2010 at 6:03 PM, scribu <mail at scribu.net> wrote:

> I would like to start what will probably turn out to be a premature
> discussion, namely that of switching core development to a distributed
> version control system.
>
> == Scenario ==
>
> I'm a developer (without commit access) who wants to improve a certain
> feature in the WordPress core.
>
> It doesn't even have to be a big enhancement, like the rework I had to do
> in
> my GSoC project (ajaxify the admin list tables), just something that
> requires touching more than a dozen lines of code.
>
> = Current workflow =
>
> Initial phase:
>
>  1. I do a svn checkout of trunk.
>  2. I make my modifications.
>  3. I generate a patch and upload it to the ticket.
>
> Feedback phase:
>
>  4. Other devs apply my patch and test.
>  5. I make improvements and update the patch.
>  6. Goto step 4.
>
> Maintenance phase:
>
>  7. Update patch against latest trunk and re-upload it.
>
> Integration phase:
>
>  8. A lead dev commits my patch.
>
>
> = Better workflow =
>
> Initial phase:
>
>  1. I fork the main repo.
>  2. I make my modifications and commit to my fork.
>  3. I issue a pull request to the main repository.
>
> Feedback phase:
>
>  4. Other devs clone my fork, test and review individual commits.
>  5. I make improvements and do further commits on my fork.
>  6. Goto step 4.
>
> Maintenance phase:
>
>  7. I periodically merge changes from the main repository.
>
> Integration phase:
>
>  8. A lead dev merges in all or some commits from my fork to the main
> repository.
>
> == Discussion ==
>
> From IRC:
>
> (01:21:42 PM) nacin: A few of us had the discussion [switching to git] a
> few
> months ago. Quick hits:
> 1) Our infrastructure, and Automattic's, is heavily SVN. It will take a
> serious reinvestment for everything to change over (imagine a rewrite of
> /extend/plugins/), and it needs to be done for well-founded reasons, not
> just potential improvements.
>
> Can't argue with that. This would not be an easy undertaking, for sure.
>
> 2) Git is great, but the software that surrounds it needs more time to
> develop. Windows clients, web interfaces, etc.
>
> I looked at a site that uses trac + git integration and indeed it was
> nowhere near what you would expect, after having worked with github.com,
> for
> example.
>
> even if GitHub were open, it's project management features are minimal.
> jQuery uses github + trac, which is not ideal, I would think.
>
> The only open web interface that would support the proposed workflow, as
> well as have more than basic project management features would be
> launchpad,
> which uses bazaar.
>
> If wp.org were to start using launchpad, it could also be used for
> individual plugins and theme repos too, instead of the combined (and
> overcrowded) svn repos we have now, which would be very nice.
>
> 3) A few of us are not convinced that moving from a patch-based workflow is
> beneficial in all but the rarest of cases.
>
> With this one I have to disagree.
>
> Given the right interface, reviewing commits is much better than having to
> go over all the code in a series of patches, over and over again, trying to
> guess the differences between them.
>
> Not to mention the convenience of local commits, compared to re-uploading
> new versions of patches.
>
> Let the opinions fly.
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>



-- 
Regards
Piyush Mishra
http://www.piyushmishra.com/
Life's Short, Live it to the maximum


More information about the wp-hackers mailing list