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)