Please help Python team decide on a VCS
Adrian Wilkins
adrian.wilkins at gmail.com
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 http://code.python.org/python/trunk
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 http://code.python.org/python/trunk 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 http://code.python.org/python/trunk
# 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 http://code.python.org/python/trunk killer_rabbit
# Push branch to server
bzr push http://code.python.org/python/branches/killer_rabbit
# 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
"push".
# Darn, Brave Sir Robin got there first
bzr merge http://code.python.org/python/branches/killer_rabbit
bzr commit -m "Merged"
bzr push
# Or maybe we should act a bit more SVN-like for a while
bzr bind http://code.python.org/python/branches/killer_rabbit
# 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 http://code.python.org/python/branches/killer_rabbit
grenade_vulnerability
# 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