Thanks for the input Tim, though because I've just started to get into bzr I'm unqualified to make any solid comment about your suggestion. Even after finishing the user-docs, I won't have the practical experience of doing group collaboration with bzr in the manner you describe nor in any other manner. I hope those of you with experience can enlighten the rest of us.
Though, from what I can make of it, your idea would work in our open system since everyone has write access and could make a branch. That also solves the issue of 'how/where/in-what-form do we accept patches' (afaik, googlegroups doesn't allow file attachments, and I haven't looked into the issue tracker at launchpad yet). I do worry that the repo would get clogged with a mess of branches assuming a lot of patches come in. But that might be naivete on my part.
In any case, I'd like to hear more discussion and get input from real-world users of launchpad, bzr, dcvs. However, in an effort to keep threads relevant and easy to find (unlike how community enso was discussed, decided, and launched in 'alt-tab, window switch'), let's keep this thread for submission related questions and announcements and discuss this somewhere else.
On Feb 3, 2009 4:51 PM, "Timothy Biron" <timoth...@gmail.com> wrote:
With Bazaar being a DVCS, I think it would be best for patches to be linked to the project in Launchpad as one of the developers personal branches which is based off of the branch Shu cited. This should make each branch represent one patch and each branch *should* represent a working version of Enso that has only one less bug in it or only one new feature depending on what the patch did. This will allow the greatest flexibility in terms of merging in selected fixes and/or features into the main development branch come release time. This will also make it easier for code reviewers to focus on one feature/fix. Fixes and features should get mergered faster if the code reviewer only needs to verify and review the code for one fix or feature rather than multiple if more than one feature and/or fix were submitted for mergering in a single branch. Thoughts?
On Tue, Feb 3, 2009 at 6:23 PM, shu.chen <sirp...@gmail.com> wrote: > > > To all that have worked...
OK, Shu and I chatted about this a bit. I suggest the following:
1. You want to submit a patch to Enso. First, branch the Enso codebase:
bzr branch lp:enso/community-enso name-for-your-branch
2. Make the changes in your branch until you're happy with them
(make some changes)
bzr commit -m "comment about the change you're committing)
(repeat)
3. Push your branch to launchpad:
bzr push lp:~YOUR_LAUNCHPAD_ID/enso/name-for-your-branch
4. Propose the branch for merging; go to your branch's page in
Launchpad and say "propose for merging into another branch". Propose
it for merging into ~communityenso/enso/community-enso (NOT
~vcs-imports/enso/trunk) and add a comment explaining what your branch
does
5. Your branch will now get reviewed. You should wait until the
platform leads have reviewed it for each platform to confirm that it
doesn't break any platform: platform leads are me/Shu for Linux,
blackdaemon for Windows, someone for Mac OS X
6. If it gets "needs review", fix the problems and post a comment
saying you've done so: repeat steps 5 and 6 until your branch is
approved by everyone
7. Merge your branch into trunk and commit trunk:
bzr branch lp:enso/community-enso
cd community-enso
bzr merge lp:~YOUR_LAUNCHPAD_ID/enso/name-for-your-branch
bzr commit -m "merge name-for-your-branch into trunk"
bzr push
(if you already have the community-enso branch, just "bzr pull" inside it)
And you are done.
A thought about branching:
Once a branch has been merged, I prefer (personally) that extra
changes are not made to it; instead, create a new branch. (So don't
have one "win32changes" branch which keeps getting changed and merged;
instead, create a new branch every time you want to make a change.
Branches are cheap.)
Does this seem like a good scheme? If people like this, I'll write it
up on the wiki and then we should adopt it.
sil