Launchpad Bugs feature

Ian Clatworthy ian.clatworthy at internode.on.net
Wed Mar 28 04:34:42 BST 2007


Martin Pool wrote:
> On 3/28/07, Jonathan Lange <jml at mumak.net> wrote:
>> Hello,
>>
>> I'm at the Bzr mini-sprint in Sydney working on a feature to allow
>
> "Bazaar" :-)
>
> http://bazaar-vcs.org/Branding
>
>> To indicate that a revision fixes a bug:
>>     * bzr commit --fixes=62789
>
> That looks good.  You should be able to repeat the option.
>
> It's worth mentioning that people might like to scan for patterns in
> the freeform commit message mentioning a bug.  We're not excluding
> that, but taking the data in a structured form is simpler to do at
> first.
>
The only catch with this is that the information could/should get 
repeated, once in the --fixes option and a second time embedded in the 
commit message. I think the latter is still expected in many teams.
>> The bug number perhaps should be qualified to indicate that it refers
>> explicitly to a Launchpad bug, for example:
>>     * bzr commit --fixes=lp:62789
>>
>> (This lets us use the same option to fix Debian bugs and so forth).
>>
>> In future, we may want to provide the ability to set bug status before
>> the commit:
>>     * bzr bugfix BUG [STATUS]
>>       bzr commit
>>
>> And also perhaps to set the status to something other than 'fixed'
>> (e.g. 'in progress')
>>     * bzr commit --fixing=lp:62789
>>
>>
>> At the moment, I'm planning on including each bug as a revision
>> property which maps 'lp:<bug_id>' to '<status>', where status is
>> "fixed" (at least for the first iteration).
>
> It seems a little odd that this will proliferate options for every
> different status.  Maybe you could have
>
>  commit --bug 123:fixed --bug 324:fixing
>
> Not sure.
>

I agree that an option per activity is not the way to go. My preference 
is that the nuances of fixed vs fixing vs ... be embedded in the commit 
message. Because it will be anyway, particularly for those committing 
via IDEs.

Commits ought to be linkable with bugs/issues initially and specs, etc. 
later, yes? In that case, my suggestion is that the option name ought to 
highlight the action (linking/associating) and the target system(s). For 
example, a project that is still tracking bugs elsewhere (e.g. JIRA) but 
using Launchpad blueprints might instruct their developers to do 
something like this:

  bzr commit --link lp --link jira -m"Initial cut of my-lp-spec-name and 
fixes ABC-345"

The point is that the parsing of commit messages is likely to use smarts 
to extract bug-ids, spec-ids, etc based on the naming conventions of the 
linked tools. This approach also lets bzr developers use aliases to make 
the linking implicit for their environment.

As far as implementation goes, we certainly want access to (parsed or 
otherwise) metadata on a per system basis. Asking bzr for blueprint 
metadata on a commit ought to say "spec-name:comment", e.g. 
"my-lpspec-name:Initial cut of". The key point is that I don't want to 
enter that metadata twice.

My 2c,
Ian C.



More information about the bazaar mailing list