[Python-Dev] Looking for VCS usage scenarios

Cosmin Stejerean cstejerean at gmail.com
Wed Nov 5 21:00:25 CET 2008

On Nov 5, 2008, at 12:16 PM, skip at pobox.com wrote:

> I apologize that I haven't read whatever Brett's written so far, but  
> I just
> haven't had time, and don't know if there's a PEP yet (and if so,  
> what its
> number is).  I did want to get my questions/confusion on the record  
> though.
> What DVCS fits my poor brain best?  I feel I'm like a dinosaur not  
> being
> able to figure out how I'm supposed to contribute changes to the  
> system.
> Do I:
>    * commit my changes to some central branch?

Not exactly. If you had commit access to the central repository you  
could commit then push, which would be the DVCS equivalent of  
committing to a central branch.

>    * commit my changes locally then create diffs I then submit to the
>      tracker?


>    * commit locally then push them somewhere?

If you have commit access this would be the way to get your changes in.

>    * commit locally then ask someone to pull?

Often preferred way to submit patches, as you can continue to maintain  
the patch locally against newer versions of trunk so that the patch is  
not obsolete by the time people finally get around to it.

>    * Not commit anything anywhere but just submit patches to the  
> tracker?

Likely possible, but it's good to have the patch committed locally so  
you can modify it or continue to build upon it until it gets accepted.

> In addition:
>    * Will there be a central repository?

Generally there should be a central authoritative repository where  
people can turn to for the official version.

>    * How will I know which of possibly many repos is "authoritative"?

The authoritative repo should generally be linked to from the website  
so that people can easily find it.

>    * How will I discover other repos?  For example, if the  
> safethread stuff
>      is sitting somewhere in a repository can I find it on my own  
> somehow?

I'm not aware of any decentralized system for discovering  
repositories. Something like github or bitbucket could be used which  
help you discover repositories, but a wiki page with a list of  
alternative repositories and their purpose should suffice.

>    * Will a DVCS allow simpler operation as if we are still using a
>      centralized system like CVS or Subversion?

I think commit locally then push (if you have commit access) or email  
a patch (or upload to tracker, etc) can work almost exactly as the  
subversion workflow (the only differences being possible slight  
variations on the command line interface). DVCS should enable more  
interesting workflows (like working against multiple remote  
repositories), but it shouldn't prevent the simple uses cases that  
people are used to from a centralized VCS.

- Cosmin

More information about the Python-Dev mailing list