[Chicago] DVCS Workflows?

Garrett Smith g at rrett.us.com
Mon Nov 17 19:29:29 CET 2008

I'm preparing some notes on my use of Bazaar for the next meeting. If folks are up for a talk on this topic, I can try to tackle it. 

In particular, I'm thinking of presenting in some detail on how Bazaar can as a personal dev tool within a Subversion managed project. This would cover the merits of distributed VCS tools in more traditional, centralized scenarios. 

Most of the concepts would apply to git or Mercurial. As I've used git as well, I can speak as to the key differences. 

As I was thinking about this topic over the weekend, it occurred to me that there are two uber-topics that are in play for this conversation: 

* Concurrency of development work streams 
* Flexbility of applying and reverting developer contributions 

The first topic has to do with how well the toolset support the activities of multiple developers. This gets into flexibility of the model (centralized vs. federated) and the support for merging separate codelines. In this vein, I like Bazaar as it explicitly supports some of the more common patterns as well as the more esoteric. 

The second topic is tied to more advanced work flows where gate keepers (or similar -- e.g. dev leads, program managers, etc.) assume responsbility for evaluating and applying developer contributions. As a project (can be commercial as well as open source) matures/grows, it becomes more important to manage the flow of contributions into particular releases. For example, the toolset+process might allow a program manager to decide late in a release cycle to apply two new feature and remove a particular fix because it looks like it's causing problems. I've only seens a handful of these process at work and they're very impressive. In these cases, git + the-right-process IMO really shines! 

Anyway, to get back to the original question, "maybe", depending on your definition of "more interesting" :) 

----- "James Snyder" <jbsnyder at fanplastic.org> wrote: 
I was thinking a bit about the revision control workflows discussion that had come up during the last meeting, and while a survey of some sort is probably a good idea, I have some related thoughts, and a question or two. 

Central repository tools like SVN seem to be somewhat common in working environments where there's an organization or company backing/organizing development. Are there any out there that are using distributed version control tools like git while working on projects like this, with a DVCS being the primary tool both locally and for the "official" version of the code? 

I pretty much exclusively use git, but frequently I'm using it as a way to talk to a centralized SVN repo (whether read-only to check out latest development sources or read-write). In these cases, I'm basically using git because it allows me to have a local, rather well compressed, full history of a project. I sometimes end up using it for easy local branching of things in a way I might not do with a local SVN client, but otherwise I don't use it that much differently for subversion while interacting with these types of projects. 

Where git usage differs, for me, from svn usage is on projects I've started myself, or if someone's using git for an "official" version of a project. I really like the ability to really cheaply create a repository when I start working on something, and periodically commit locally to it so that if something breaks horribly I've always got the history, and I've got it locally, and I don't have to be online to talk with a server. This has gotten to the point where I will make a repo for almost any code I'm messing with as long as I may come back to it at some point. I would never do this with subversion, even though technically I could make a local repo and commit to it. 

Is anyone doing anything more interesting with DVCS tools? 

Related: There is a python git library available here (port of ruby grit library): http://blog.michaeltrier.com/2008/5/8/gitpython 



James Snyder 
jbsnyder at fanplastic.org 
> _______________________________________________ Chicago mailing list Chicago at python.org http://mail.python.org/mailman/listinfo/chicago 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/chicago/attachments/20081117/bca1c0fa/attachment.htm>

More information about the Chicago mailing list