Please help Python team decide on a VCS

Adrian Wilkins adrian.wilkins at
Mon Dec 1 11:31:14 GMT 2008

Had a look at the page and I've tried to fill in some of the empty
spaces, plus what I feel is a small improvement on just raw patch output.

== One-off patch ==

bzr branch
cd trunk

# while feature_not_done:
#   Edit some code.
bzr commit -m'Stuff I did'
#   is feature done?

bzr send -o ../__patch__
# This produces a bundle with both a patch and the metadata from locally
committed revisions

== Patch review ==

# Download the patch file (from bzr send) to workspace
bzr branch test_patch_branch
cd test_patch_branch
bzr merge ../patch.diff
# resolve any conflicts
bzr commit -m "Merged patch from patch_author"
# Test
# if passed:
bzr push
# Patch now part of trunk
cd ..
rm -r test_patch_branch

== Backport ==

This involves cherry picking which I explicitly avoid, and the test case
probably merits thought. In short, I don't feel very qualified to answer
this one.

== Coordinated Development of New Feature ==

# Create branch
bzr branch killer_rabbit
# Push branch to server
bzr push
# hackhackhack
bzr commit -m "Killer Rabbit Feature initiated"
# Other developers need to see the awesome fluffiness
bzr push
bzr: ERROR: These branches have diverged.  Try using "merge" and then
# Darn, Brave Sir Robin got there first
bzr merge
bzr commit -m "Merged"
bzr push
# Or maybe we should act a bit more SVN-like for a while
bzr bind
# Now all my commits go the server right away, that'll fox Sir Robin!

== Separation of issue dependencies ==

# Start fixing vulnerability_to_grenades
# Go to my local repository
cd ~/repository
bzr branch
# grab a working tree
cd ~/workspace
bzr checkout ~/repository/grenade_vulnerability killer_rabbit
cd killer_rabbit
# hackhackhack
bzr commit -m "Soon those pesky Grail Knights will quail once more!"
# Discover that killer_rabbit cannot burrow
cd ~/repo/
bzr branch killer_rabbit inability_to_burrow
cd ~/workspace/killer_rabbit
bzr switch inability_to_burrow
# hackhackhack
bzr commit -m "Subterranean prowess restored!"
# Now back to something completely different
bzr switch grenade_vulnerability
bzr merge ~/repository/inability_to_burrow
bzr commit -m "Merged burrowing code"
# hackhackhack
bzr commit -m "Killer Rabbit now burrows rapidly to avoid grenade damage"

More information about the bazaar mailing list