Alexander Klenin wrote:
> First, the hook already takes %PATH% argument containing a list of paths to
> be committed, so it is possible for the hook to display them along
> with issues list.
I've finally got around to looking at this properly, and I'm going to
press ahead with having a button on the commit dialog. I think that
Alexander's solution of using a client-side pre-commit hook is a good
fit for some scenarios, but it doesn't work for us: We need to see the
list of changed files and to be able to see the diffs before choosing
which issue is being worked on.
Rather than reimplement the commit dialog in our hook, it seems simpler
to snap in to the existing commit dialog.
Here's my plan. Feel free to take pot-shots at it:
1. The issue tracker hook is defined in exactly the same way as the
other client-side hooks. You can use %PATH% %PATHS% and %MESSAGEFILE%
2. If an issue tracker hook is defined for your working copy, it
overrides the bugtraq: behaviour in the commit dialog, and places a
button in the top-right of the commit dialog. This is for two reasons:
Firstly, I figure that you won't need both; secondly, that space in the
top-right of the dialog is mighty attractive. I'm not sure how to define
the text on the button. Any ideas?
3. If the user clicks on the button, TortoiseProc creates a temporary
file containing whatever text is already in the log message field. It
then runs the configured hook, passing the name of this temporary file
as %MESSAGEFILE% on the command line.
4. The hook does whatever it needs to do to ask the user about what
they're working on and what they've done. It places this information in
the temporary file, in whichever format desired (i.e. so that it can be
parsed by the post-commit hook). It then exits, returning zero (i.e.
success). If it returns a non-zero value, it's assumed to have failed.
5. If it succeeded, TortoiseProc takes the text from the temporary file
and puts it in the log message field, overwriting whatever was already
there (we passed the original text to the plugin, so it has the
opportunity to preserve it).
6. TortoiseProc deletes the temporary file.
I hope to have a patch available for discussion in a day or so.
To unsubscribe, e-mail: dev-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: dev-help_at_tortoisesvn.tigris.org
Received on 2008-02-01 16:04:16 CET