Manpage logo

bk-rset - (unknown subject)


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

SYNOPSIS
bk rset
[−ahSU] −lrev | −Rrev | −rr1..r2

DESCRIPTION
bk rset
is a tool that generates information about a particular changeset (-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 usually 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 current 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 changeset.

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.

−lrev list the entire repository as of changeset rev. Mutually 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.
−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 several 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
diff
(1), patch(1), bk-export, bk-log, bk-range, bk-terms

CATEGORY
Utility


Updated 2026-06-01 - jenkler.se | uex.se