Hi Anders,

Ack with the following comments:

1) Is it possible to avoid the "HG" prefix from each line in the editor?

2) Can we document in the README a good "example commit message" that follows
these guidelines.

Thanks,
Mathi.


> -------- Original Message --------
> Subject:      [devel] [PATCH 1 of 1] osaf: Update the commit message
> template [#791]
> Date:         Mon, 17 Feb 2014 17:44:16 +0100
> From:         Anders Widell <[email protected]>
> To:   <[email protected]> , <[email protected]>
> CC:   [email protected]
> 
> tools/devel/review/00-README       |  77
> ++++++-------------------------------
>  tools/devel/review/commit.template |  51 ++++++++++++++++++++++--
>  tools/devel/review/hgeditor.sh     |  32 +++++++++++++++
>  3 files changed, 91 insertions(+), 69 deletions(-)
> 
> 
> Update the commit message template with the agreeed format for how to
> write
> commit messages in OpenSAF. Add a shell script that can be used to set
> the
> default commit message in Mercurial to the commit message template.
> 
> diff --git a/tools/devel/review/00-README
> b/tools/devel/review/00-README
> --- a/tools/devel/review/00-README
> +++ b/tools/devel/review/00-README
> @@ -1,79 +1,24 @@
>  Commit Message Format
>  =====================
> 
> -The patch review process heavily relies on properly formatted commit
> message.
> -This section will describe how commit message should be formatted and
> the
> -relation it has with the patch review process by email.
> -
> -A commit message should comply to the following template:
> -
> -* First line  : 80-chars long one line short description (#ticket).
> Describe what
> -                the patch is doing logically (not the bug
> description)
> -* Second line : Blank
> -* Third line+ : 80-chars long lines for a more complete description
> -
> ------<-----<-----<-----<-----<-----
> -example: this is a one line short description (#2000)
> -
> -This is a more elaborate description that explains your changes and
> the
> -original problem and how it got solved.
> -
> - * Blah
> - * Blah
> -
> -Signed-off-by: John Doe <[email protected]>
> ------<-----<-----<-----<-----<-----
> -
> -The first line will be grabbed by the 'hg email' command and added as
> the
> -subject of the patch, hence the why it should be short and precise.
> Note that it
> -also contains the "area/module/feature" of the changes (i.e.
> example:). If you
> -have trouble identifying the unique nature of the patch, your patch
> is probably
> -way to long and should be divided in a series.
> -
> -The Ticket # in a future integration will be used on the Trac web
> interface to
> -correlate tickets and commits. It will also be used by Mercurial
> hooks to
> -close/fix tickets automatically if needed.
> -
> -The long description gives more details about the patch/changeset.
> -
> -The SOB tag is the original patch author.
> -
> +The patch review process heavily relies on properly formatted commit
> messages.
> +Use the file commit.template in this directory as a template when
> writing
> +commit messages. Make sure that your commit message contains all the
> necessary
> +parts, i.e. the component name, a short description, the ticket
> number and
> +a long description.
> 
>  Default Commit Message Template
>  ===============================
> 
> -Apparently Mercurial lacks the support of customizing the default
> commit message
> -based on a template file somewhere in the repository.
> +Enter the following set of commands to set up the commit.template as
> the default
> +commit message in Mercurial (you need to log out and log in again for
> the change
> +to take effect):
> 
> -The Qct extension can be installed and used in your ~/.hgrc profile
> to point to
> -a template file, so that you're nagged every time how to fill the
> commit
> -message properly ;)
> -
> -For instance under Red Hat/Fedora the package is called
> 'qct-mercurial'
> -
> -   % yum install qct-mercurial
> -   % yum install qct
> -
> -http://www.selenic.com/mercurial/wiki/index.cgi/QctExtension
> -
> -Under './tools/devel/review/commit.template', you'll find a default
> template that you
> -can use with the Qct extension. The extension automatically looks for
> a template
> -file under `hg root`/.commit.template, a copy is already placed in
> the OpenSAF
> -repository for developer that would like to use the Qct extension.
> -
> ------<-----<-----<-----<-----<-----
> -[extensions]
> -hgext.qct =
> -
> -[qct]
> -signoff = Signed-off-by: John Doe <[email protected]>
> ------<-----<-----<-----<-----<-----
> -
> -To use the Qct Extension, you'll have to commit your changes using
> the 'hg
> -commit-tool | hg qct' command. The tool has neat features, like
> dynamically
> -deciding which files will be part of the current commit etc. But it
> might bug
> -some developers since it pops up a GUI.
> -
> +mkdir ~/bin
> +cp hgeditor.sh ~/bin
> +chmod 755 ~/bin/hgeditor.sh
> +echo "export HGEDITOR=~/bin/hgeditor.sh" >> ~/.bashrc
> +echo "setenv HGEDITOR ~/bin/hgeditor.sh" >> ~/.cshrc
> 
>  Mercurial Settings Needed for Email Review
>  ==========================================
> diff --git a/tools/devel/review/commit.template
> b/tools/devel/review/commit.template
> --- a/tools/devel/review/commit.template
> +++ b/tools/devel/review/commit.template
> @@ -1,6 +1,47 @@
> -module: this is a one line short description
> +component: short_description [#ticket_number]
> 
> -Ticket #xxx (delete me if none)
> -
> -This is a more elaborate description that explains your changes and
> the
> -original problem and how it got solved.
> +long_description
> +HG:
> +HG: Enter commit message.  Lines beginning with 'HG:' are removed.
> +HG: An empty message aborts the commit.
> +HG:
> +HG: Edit the different parts of the commit message template above as
> follows:
> +HG:
> +HG: component
> +HG:       Concatenation of the "Component" and "Part" fields of the
> ticket in
> +HG:       the OpenSAF ticket system at SourceForge. The "Part" field
> is
> +HG:       optional. Write in lower case, with no space or other
> character
> +HG:       between the component and the part. Follow with a colon and
> then a
> +HG:       space.
> +HG:
> +HG: short_description
> +HG:       A one-line (max 80 characters) description of the
> changeset, starting
> +HG:       with a verb in present tense (e.g. Add, Fix, Change, ...)
> +HG:
> +HG: ticket_number
> +HG:       The ticket number in the OpenSAF ticket system at
> SourceForge. The
> +HG:       ticket number shall be preceded with a hash sign and
> surrounded with
> +HG:       square brackets, so that SourceForge recognizes it as a
> ticket
> +HG:       reference and inserts a hyperlink when displaying the
> commit message
> +HG:       on a web page.
> +HG:
> +HG: long_descrption
> +HG:       The long description shall be a more elaborate description
> of what
> +HG:       has been changed and why. For defect tickets, the long
> description
> +HG:       should consist of three parts, separated by blank lines:
> +HG:
> +HG:               visible_symptoms_of_the_problem
> +HG:
> +HG:               analysis_of_the_cause
> +HG:
> +HG:               description_of_the_solution
> +HG:
> +HG:       The visible_symptoms_of_the_problem should show how the
> problem
> +HG:       manifests itself, e.g. actual (and verbatim) log messages
> taken from
> +HG:       a system where the problem occurred. If the problem happens
> again, it
> +HG:       should be easy to search for the log messages to find the
> changeset
> +HG:       containing the fix.
> +HG:
> +HG:       The analysis_of_the_cause shall explain the fault in the
> program
> +HG:       code. The description_of_the_solution shall explain how the
> changeset
> +HG:       corrects the fault in the program code.
> diff --git a/tools/devel/review/hgeditor.sh
> b/tools/devel/review/hgeditor.sh
> new file mode 100755
> --- /dev/null
> +++ b/tools/devel/review/hgeditor.sh
> @@ -0,0 +1,32 @@
> +#!/bin/bash
> +
> +hgeditor=""
> +if test -n "$VISUAL" -a -z "$hgeditor"; then
> +    hgeditor=$(type -p "$VISUAL")
> +fi
> +if test -n "$EDITOR" -a -z "$hgeditor"; then
> +    hgeditor=$(type -p "$EDITOR")
> +fi
> +if test -z "$hgeditor"; then
> +    hgeditor=$(type -p emacs)
> +fi
> +if test -z "$hgeditor"; then
> +    hgeditor=$(type -p vi)
> +fi
> +if test -z "$hgeditor"; then
> +    echo "Cannot find a suitable editor. Please set the environment
> variable"
> +    echo "EDITOR"
> +    exit 1
> +fi
> +
> +template_file=$(hg root)/tools/devel/review/commit.template
> +if test -s "$template_file"; then
> +    grep -E "^HG:" "$1" >& /dev/null && cp "$template_file" "$1"
> +    test -s "$1" || cp "$template_file" "$1"
> +    "$hgeditor" "$1"
> +    diff -Bw "$template_file" "$1" > /dev/null && exit 1
> +    sed -i -e "/^\HG:/d" "$1"
> +else
> +    "$hgeditor" "$1"
> +fi
> +grep '[^ \t]' "$1" > /dev/null
> 
> ------------------------------------------------------------------------------
> Managing the Performance of Cloud-Based Applications
> Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
> Read the Whitepaper.
> http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
> _______________________________________________
> Opensaf-devel mailing list [email protected]
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel

------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to