bk rset(7.3ce)              BitKeeper User's Manual             bk rset(7.3ce)

NAME
       bk rset - list files in a cset or the difference between two csets

SYNOPSIS
       bk rset [-ahSU] [-s<alias>] -l<rev> | -R<rev> | -r<r1..r2>

DESCRIPTION
       bk rset is a tool that generates information about a particular change-
       set (-l) or the differences between two changesets (-r/-R)  in  a  form
       that can be passed to other tools (see examples below).

       The format is some variation of <pathname>|<revs> where the rev is usu-
       ally in the MD5 key format.  Because MD5 keys  are  long  (here's  one:
       37d3f5a9b3lm8Qx0jP8XDL8ULRE19A)  we  don't show actual keys, instead we
       show <md5A>..<md5B> in example output.

       To see the difference between a changeset and its parent:

           $ bk rset -R1.201
           ChangeSet|1.200..1.201
           src/Makefile|<md5A>..<md5B>

OPTIONS
       -a            Show deleted files which are normally suppressed.
       -h            Show the "historic" paths of the file as well as the cur-
                     rent  path.   This  makes  the  output look like <current
                     path>|<start path>|<rev>|<end  path>|<rev>.   The  output
                     has  three  file  names:   current, starting, and ending;
                     corresponding to the current pathname,  the  pathname  of
                     the  file at the start of the first changeset listed, and
                     the pathname of the file at the end of the  last  change-
                     set.
                     For  merge  changesets, the format gets 2 more fields for
                     any file that has different revs in the  history  of  the
                     two  parents,  where neither rev is in the history of the
                     other.  For these files, the output looks  like  <current
                     path>|<start1    path>|<rev1>|<start2   path>|<rev2>|<end
                     path>|<rev>.
       -l<rev>       list the entire repository as of changeset <rev>.   Mutu-
                     ally exclusive with "-R".
       -r<r1..r2>    List the differences between changeset <r1> and changeset
                     <r1>.
       -R<rev>       List the differences between the  parent  or  parents  of
                     <rev> and <rev>.
       -s<alias>     In a nested collection, rset can recurse into some or all
                     of the populated components.  Using the -s<alias>  option
                     limits  the  repositories processed to those specified by
                     <alias>.  If this option is repeated the  implied  subset
                     is  the union of all specified components.  If no <alias>
                     is specified that is taken to be the same as -sHERE.
       -S
       --standalone  Just run rset on the  current  component.   This  has  no
                     effect  in  a traditional standalone repository, but in a
                     nested collection, processes just the  current  component
                     and not the entire nested collection.
       -U            User files only (like bk -U).  Does not list ChangeSet or
                     anything under BitKeeper/.

EXAMPLES
       Rset is a helper tool, it is used by other tools that want to show  you
       a  view  of  history.   For example, bk difftool -rbk-5.0..bk-6.0 calls
       rset to get the set of files to display.

       Quite a few of the BitKeeper commands can accept rset  input  to  drive
       them, some examples:

           bk rset -R+ | bk log -
           bk rset -UR+ | bk diff -

       The  documentation below is for script writers who may want to use rset
       to drive bk directly.

       To list all the files at their current location (less deleted files, -a
       will add those):

           $ bk rset -l+
           ChangeSet|+
           BitKeeper/etc/config|<md5>
           RELEASE-NOTES|<md5>
            ...
           src/gui/ChangeSet|<md5>
           src/gui/BitKeeper/etc/config|<md5>
           src/gui/csettool.tcl|<md5>
            ...

       Show the difference between a merge changeset and its parents:

           $ bk rset -R1.2104
           ChangeSet|1.2103,1.2058.7.1..1.2104
           src/libc/ChangeSet|<md5A>,<md5B>..<md5C>
           src/libc/utils/dirs.c|<md5A>,<md5B>..<md5C>
           src/libc/utils/fileops.c|<md5A>,<md5B>..<md5C>
            ...

       Show  what  is  the  difference between two changesets, in just the GUI
       components, showing historical paths.  Note that  this  format  is  not
       parsed by most BitKeeper commands.  Also note in the example below sev-
       eral of the .tcl files have been renamed to .l files.

           $ bk rset -sGUI -h -rbk-6.0.2..bk-6.0.3
           src/gui/ChangeSet|src/gui/ChangeSet|<md5A>|src/gui/ChangeSet|<md5B>
           src/gui/common.l|src/gui/common.tcl|<md5A>|src/gui/common.l|<md5B>
           src/gui/difflib.l|src/gui/difflib.tcl|<md5A>|src/gui/difflib.l|<md5B>
           src/gui/fmtool.l|src/gui/fmtool.tcl|<md5A>|src/gui/fmtool.l|<md5B>
           src/gui/tcltk/Makefile|src/gui/tcltk/Makefile|<md5A>|src/gui/tcltk/Makefile|<md5B>
            ...

       Show the difference between a merge change  and  its  parents,  showing
       historic  paths.   For  files which changed on both sides of the merge,
       there will be 7 fields instead of 5.

           $ bk rset -h -R1.2503
           ChangeSet|ChangeSet|1.2502|ChangeSet|1.2468.1.270|ChangeSet|1.2503
           src/changes.c|src/changes.c|<md5A>|src/changes.c|<md5B>|src/changes.c|<md5C>
           src/sccs.h|src/sccs.h|<md5A>|src/sccs.h|<md5B>|src/sccs.h|<md5C>
           src/slib.c|src/slib.c|<md5A>|src/slib.c|<md5B>|src/slib.c|<md5C>
           src/t/ChangeSet|src/t/ChangeSet|<md5A>|src/t/ChangeSet|<md5B>|src/t/ChangeSet|<md5C>
            ...

SEE ALSO
       bk export
       bk log
       bk range
       bk terms

CATEGORY
       Utility

BitKeeper Inc                         1E1                       bk rset(7.3ce)