Re: BK Kernel Hacking HOWTO

From: Andreas Dilger (adilger@turbolabs.com)
Date: Thu Feb 21 2002 - 13:40:16 EST


On Feb 21, 2002 17:40 +0100, Stelian Pop wrote:
> On Thu, Feb 21, 2002 at 11:13:38AM -0500, Jeff Garzik wrote:
> > Submitting Changes to Linus
>
> I would really like this section to be splitted in two:
>
> - one for Linus' lieutenants:
> your explanation, with tree to pull from is ok.
>
> - one for occasionnal contributors:
> either plain patch on l-k
> or
> plain patch + BK changeset on l-k (using the
> Andreas Dilger script wrapper maybe, see below)

I agree (not just because Stelian mentioned my script ;-). To burden
bkbits.net or any other site to keep a BK repository online just to
submit a trivial change from an occasional contributor is too much.

BK can easily handle CSETs sent inline with the mail, and if Linus
has the original email saying "pull from here" it could just as well
have a small CSET attached at the end. Proposed wording:

        For occasional contributors who want to use BK, it is possible
        to send a BK changeset directly in the mail. In order to make
        it easier to view what is in the changeset, you need to include
        a good description of the change (as always) and both a unified
        diff and the changeset. Since the unified diff is the readable
        part of the message, it makes sense to make the BK changeset part
        as small as possible. This can be done by using one of the BK
        wrappers when generating the changeset. For example:

        To: <maintainer>
        Subject: [PATCH] fixes to FAT filesystem detection

        This change fixes the FAT filesystem code so that it does not
        break when we try to mount something that isn't a FAT filesystem.

        You can import this changeset into BK by piping this whole message to
        'bk receive [path to repository]' or apply the patch as usual.
        =================================================================
        <changeset comment: 'bk changes -r<rev>'>
        <patch summary: 'bk export -t patch -du -h -r<rev> | diffstat'>
        <unified diff: 'bk export -t patch -du -h -r<rev>'>
        =================================================================
        <compressed changeset: 'bk send -wgzip_uu -r<rev> -'>

(this may become part of BK itself so at that time we can just say "use
'bk send -linus -r<rev>' to format the output".

New version of script which includes diffstat output below.

Cheers, Andreas
=============================================================================
#!/bin/sh
# A script to format BK changeset output in a manner that is easy to read.
# Andreas Dilger <adilger@turbolabs.com> 13/02/2002
#
# Add diffstat output after Changelog <adilger@turbolabs.com> 21/02/2002

PROG=bksend

usage() {
        echo "usage: $PROG -r<rev>"
        echo -e "\twhere <rev> is of the form '1.23', '1.23..', '1.23..1.27',"
        echo -e "\tor '+' to indicate the most recent revision"

        exit 1
}

case $1 in
-r) REV=$2; shift ;;
-r*) REV=`echo $1 | sed 's/^-r//'` ;;
*) echo "$PROG: no revision given, you probably don't want that";;
esac

[ -z "$REV" ] && usage

echo "You can import this changeset into BK by piping this whole message to"
echo "'| bk receive [path to repository]' or apply the patch as usual."

SEP="\n===================================================================\n\n"
echo -e $SEP
bk changes -r$REV
echo
bk export -tpatch -du -h -r$REV | diffstat
echo; echo
bk export -tpatch -du -h -r$REV
echo -e $SEP
bk send -wgzip_uu -r$REV -

--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Feb 23 2002 - 21:00:35 EST