You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Irvine, Chuck R [LTD]" <Ch...@embarq.com> on 2006/08/14 20:33:51 UTC
Commit log templates
We consider the ability to have commit log templates (something similar
to the CVS rcsinfo mechanism) a requirement really. I searched the
mailing list archives and found that there was past discussion on adding
this functionality and what the design would look like. Is this
functionality in the latest version of subversion or is it targeted to
an upcoming release? Thanks -Chuck
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: Re: Commit log templates
Posted by Bart Robinson <lo...@pobox.com>.
On 2006-8-28 Chris.Fouts@qimonda.com wrote:
> Bart, we're trying something similar, but using Perl scripts
> that has a "built-in" template. However, users will have to
> use the Perl scripts. Your way however, seems to be more
> generic so I'd like to pursue it. Some questions though...
>
> - I assume I'll have a script, say svnlog.sh, that contains
> the code you provided correct? This will reside on the
> server side or client side?
The script needs to be runnable from wherever clients do
commits. The server side would not need any modifications. The
script assumes a Unix-like environment. For Windows users you
may have to provide something different, although Cygwin might
be an option.
> - Will I have to set my SVN_EDITOR to this script, ie,
> setenv SVN_EDITOR svnlog.sh?
Yep.
> - In your pre-commit, is /project-foo/ just a stand-in
> for a real project, so one can use say $project for it?
That is just to restrict the template-enforcement to a
particular project (or branch of a project, etc). If you want
it to apply to the whole repository you can of course remove the
svnlook check.
-- bart
>
> -chris
>
> >-----Original Message-----
> >From: Bart Robinson [mailto:lomew@pobox.com]
> >Sent: Friday, August 25, 2006 7:48 PM
> >To: Garrett Rooney
> >Cc: Irvine, Chuck R [LTD]; users@subversion.tigris.org
> >Subject: Re: Commit log templates
> >
> >On 2006-8-14 Garrett Rooney <ro...@electricjellyfish.net> wrote:
> > > On 8/14/06, Irvine, Chuck R [LTD] <Ch...@embarq.com> wrote:
> > > > We consider the ability to have commit log templates
> >(something similar > > to the CVS rcsinfo mechanism) a
> >requirement really. I searched the > > mailing list archives
> >and found that there was past discussion on adding > > this
> >functionality and what the design would look like. Is this >
> >> functionality in the latest version of subversion or is it
> >targeted to > > an upcoming release? Thanks -Chuck > >
> >There are various people who have talked about working on it,
> >but > AFAIK nobody is currently working on it.
> >
> >A workaround is to make use of the SVN_EDITOR env var. This
> >would of course require client-side configuration (at this
> >point providing a custom built svn with your log message
> >hardcoded is also an option).
> >
> >Here is an SVN_EDITOR script for Unix-like environments that
> >might work for you:
> >
> >---------------------------------------------------------------------
> >#!/bin/sh
> >#
> ># Example SVN_EDITOR script
> >#
> >
> >[ $# -eq 1 ] || {
> > echo "usage: $0 file"
> > exit 1
> >}
> >file=$1
> >
> >ed=$VISUAL
> >[ -z $ed ] && ed=$EDITOR
> >[ -z $ed ] && ed=vi
> >
> >cat <<ENDTEMPLATE >$file.$$
> >BugId:
> >Approved-By:
> >ENDTEMPLATE
> >
> >cat $file >> $file.$$
> >
> >sum=`cksum $file.$$`
> >if $ed $file.$$; then
> > newsum=`cksum $file.$$`
> > if [ "$newsum" != "$sum" ]; then
> > rm -f $file
> > mv $file.$$ $file
> > else
> > # no changes
> > rm -f $file.$$
> > fi
> >else
> > echo "editor \"$ed\" failed"
> > exit 1
> >fi
> >---------------------------------------------------------------------
> >
> >You could then check the format of log messages in the
> >pre-commit hook, and if they are wrong the stderr can instruct
> >them how to properly configure their client, e.g.:
> >
> >------ in pre-commit ------------------------------------------------
> ># Make sure they used the template
> >if $SVNLOOK dirs-changed -t "$TXN" "$REPOS" | grep /project-foo/; then
> > $SVNLOOK log -t "$TXN" "$REPOS" | grep "^BugId:" > /dev/null || {
> > echo "*** Please configure your client to use the log
> >message template" >&2
> > echo "*** Instructions are here: http://foo" >&2
> > exit 1
> > }
> >fi
> >---------------------------------------------------------------------
> >
> >-- bart
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: Re: Commit log templates
Posted by Ch...@qimonda.com.
Bart, we're trying something similar, but using Perl scripts
that has a "built-in" template. However, users will have to
use the Perl scripts. Your way however, seems to be more
generic so I'd like to pursue it. Some questions though...
- I assume I'll have a script, say svnlog.sh, that contains
the code you provided correct? This will reside on the
server side or client side?
- Will I have to set my SVN_EDITOR to this script, ie,
setenv SVN_EDITOR svnlog.sh?
- In your pre-commit, is /project-foo/ just a stand-in
for a real project, so one can use say $project for it?
-chris
>-----Original Message-----
>From: Bart Robinson [mailto:lomew@pobox.com]
>Sent: Friday, August 25, 2006 7:48 PM
>To: Garrett Rooney
>Cc: Irvine, Chuck R [LTD]; users@subversion.tigris.org
>Subject: Re: Commit log templates
>
>On 2006-8-14 Garrett Rooney <ro...@electricjellyfish.net> wrote:
> > On 8/14/06, Irvine, Chuck R [LTD] <Ch...@embarq.com> wrote:
> > > We consider the ability to have commit log templates
>(something similar > > to the CVS rcsinfo mechanism) a
>requirement really. I searched the > > mailing list archives
>and found that there was past discussion on adding > > this
>functionality and what the design would look like. Is this >
>> functionality in the latest version of subversion or is it
>targeted to > > an upcoming release? Thanks -Chuck > >
>There are various people who have talked about working on it,
>but > AFAIK nobody is currently working on it.
>
>A workaround is to make use of the SVN_EDITOR env var. This
>would of course require client-side configuration (at this
>point providing a custom built svn with your log message
>hardcoded is also an option).
>
>Here is an SVN_EDITOR script for Unix-like environments that
>might work for you:
>
>---------------------------------------------------------------------
>#!/bin/sh
>#
># Example SVN_EDITOR script
>#
>
>[ $# -eq 1 ] || {
> echo "usage: $0 file"
> exit 1
>}
>file=$1
>
>ed=$VISUAL
>[ -z $ed ] && ed=$EDITOR
>[ -z $ed ] && ed=vi
>
>cat <<ENDTEMPLATE >$file.$$
>BugId:
>Approved-By:
>ENDTEMPLATE
>
>cat $file >> $file.$$
>
>sum=`cksum $file.$$`
>if $ed $file.$$; then
> newsum=`cksum $file.$$`
> if [ "$newsum" != "$sum" ]; then
> rm -f $file
> mv $file.$$ $file
> else
> # no changes
> rm -f $file.$$
> fi
>else
> echo "editor \"$ed\" failed"
> exit 1
>fi
>---------------------------------------------------------------------
>
>You could then check the format of log messages in the
>pre-commit hook, and if they are wrong the stderr can instruct
>them how to properly configure their client, e.g.:
>
>------ in pre-commit ------------------------------------------------
># Make sure they used the template
>if $SVNLOOK dirs-changed -t "$TXN" "$REPOS" | grep /project-foo/; then
> $SVNLOOK log -t "$TXN" "$REPOS" | grep "^BugId:" > /dev/null || {
> echo "*** Please configure your client to use the log
>message template" >&2
> echo "*** Instructions are here: http://foo" >&2
> exit 1
> }
>fi
>---------------------------------------------------------------------
>
>-- bart
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: users-help@subversion.tigris.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Commit log templates
Posted by Bart Robinson <lo...@pobox.com>.
On 2006-8-14 Garrett Rooney <ro...@electricjellyfish.net> wrote:
> On 8/14/06, Irvine, Chuck R [LTD] <Ch...@embarq.com> wrote:
> > We consider the ability to have commit log templates (something similar
> > to the CVS rcsinfo mechanism) a requirement really. I searched the
> > mailing list archives and found that there was past discussion on adding
> > this functionality and what the design would look like. Is this
> > functionality in the latest version of subversion or is it targeted to
> > an upcoming release? Thanks -Chuck
>
> There are various people who have talked about working on it, but
> AFAIK nobody is currently working on it.
A workaround is to make use of the SVN_EDITOR env var. This
would of course require client-side configuration (at this point
providing a custom built svn with your log message hardcoded is
also an option).
Here is an SVN_EDITOR script for Unix-like environments that
might work for you:
---------------------------------------------------------------------
#!/bin/sh
#
# Example SVN_EDITOR script
#
[ $# -eq 1 ] || {
echo "usage: $0 file"
exit 1
}
file=$1
ed=$VISUAL
[ -z $ed ] && ed=$EDITOR
[ -z $ed ] && ed=vi
cat <<ENDTEMPLATE >$file.$$
BugId:
Approved-By:
ENDTEMPLATE
cat $file >> $file.$$
sum=`cksum $file.$$`
if $ed $file.$$; then
newsum=`cksum $file.$$`
if [ "$newsum" != "$sum" ]; then
rm -f $file
mv $file.$$ $file
else
# no changes
rm -f $file.$$
fi
else
echo "editor \"$ed\" failed"
exit 1
fi
---------------------------------------------------------------------
You could then check the format of log messages in the
pre-commit hook, and if they are wrong the stderr can instruct
them how to properly configure their client, e.g.:
------ in pre-commit ------------------------------------------------
# Make sure they used the template
if $SVNLOOK dirs-changed -t "$TXN" "$REPOS" | grep /project-foo/; then
$SVNLOOK log -t "$TXN" "$REPOS" | grep "^BugId:" > /dev/null || {
echo "*** Please configure your client to use the log message template" >&2
echo "*** Instructions are here: http://foo" >&2
exit 1
}
fi
---------------------------------------------------------------------
-- bart
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Commit log templates
Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 8/14/06, Irvine, Chuck R [LTD] <Ch...@embarq.com> wrote:
> We consider the ability to have commit log templates (something similar
> to the CVS rcsinfo mechanism) a requirement really. I searched the
> mailing list archives and found that there was past discussion on adding
> this functionality and what the design would look like. Is this
> functionality in the latest version of subversion or is it targeted to
> an upcoming release? Thanks -Chuck
There are various people who have talked about working on it, but
AFAIK nobody is currently working on it.
-garrett
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org