wow, thats some concise documentation! this distributed revision control (DRCS) paradigm looks pretty damn cool. can we dip our toes into the water before trying to change huge workflows like core and contrib repositories? maybe we should use distributed RCS in order to prepare our next "boil the ocean" patch like forms api. -moshe Karoly Negyesi wrote:
I'll send a lot more text to the list concerning bzr, we had an irc chat on #drupal with James Blackwell after he sent this letter, I will sum that up.
Note that for these examples to work you do not need a special apache setup.
------- Forwarded message ------- From: "James Blackwell" <jblack@> To: karoly@negyesi.net Cc: Subject: bzr usage example Date: Wed, 16 Nov 2005 21:42:47 +0100
A lead developer:
$ tar xvf mysources.tgz $ cd mysources $ bzr init $ bzr add * $ bzr commit -m"I imported my branch with no history" $ [edit a few files] $ bzr commit -m"I fixed up a variety of typos" $ bzr push sftp://jblack@merconline.com/~/public_html/sources_head
A contributor:
$ bzr branch http://merconline.com/~jblack/sources_head my_sources $ cd my_sources [wait a few days] $ bzr pull $ [edit a few files] $ bzr commit -m"fixed that buffer overflow holding up release" $ bzr push sftp://someone@somewhere.com/~/public_html/sources_bug-8312 $ echo "Hey! Merge http://somewhere.com/~me/sources_bug-8132" | mutt jblack@merconline.com -s "merge me"
A lead:
$ cd mysources $ bzr merge http://somewhere.com/~someone/sources_bug-8312 $ bzr diff [ things look good ] $ bzr commit -m "someone fixed sources_bug-8312 $ bzr push sftp://jblack@merconline.com/~/public_html_sources_1.1
The contributor: [decides to work more permanantly] $ bzr branch http://merconline.com/~jblack/sources_head code/source_head echo "12 * * * * * cd ~/code/source_head; bzr pull > /dev/null" \ > /var/spool/cron/someuser $ cd code/source_head $ bzr branch ../source_fix1 $ bzr branch ../source_feature2 $ bzr branch ../allmyfixes $ cd ../source_fix1 [hack hack hack commit] $ cd ../source_fix2 [hack hack hack commit] $ cd ../allmyfixes $ bzr merge # bzr merge defaults to where a branch was branched from $ bzr merge ../source_fix1 $ bzr merge ../source_fix2
The developer can now keep up with mainstream, keep his patches independant, and enjoy the fruits of his own labor. :)