BK-REVTOOL(1)

📦 version 7.3.3, in alpine 3.24

💖 NAME 💖

bk revtool — the BitKeeper graphical history browser, bestie. This is the bk revtool manual page from section (none) of the BitKeeper User’s Manual, and we are about to make history browsing feel like a group chat. 💅


🌸 SYNOPSIS 🌸

bk revtool [−llocal] [−rremote] file
bk revtool [−rrev] [−/string/] [+number] [file]

🦋 DESCRIPTION 🦋

Okay so bk revtool is literally one of the primary tools used when doing code reviews, tracking down bugs, and following the progress of a project. Main character energy. ✨

bk revtool shows checkin comments and the graph history of a project or file. It may be used to view any revision controlled file, including the ChangeSet file. When no filename is given, the entire package history is shown. No cap. 🫶

bk revtool has an upper window that shows the graph of revision history, and a lower window that can show either the checkin comments or differences between versions. Two windows, two vibes, one iconic tool. 🎀


🔥 HISTORY AND DIFFERENCES 🔥

Upon startup, the bottom window displays the recent revision history for the file or project. If a line number (+number) or search string (−/string/) is specified on the command line along with a file name, an annotated listing of the filename will be displayed instead. Slay. 💖

If a search string is given, the first occurrence of the search string on or after the given line number will be highlighted and the text will be scrolled so that it is in view; if no line number is given, the search begins with the first line. If a line number is given without a search string, that line will be highlighted and centered on the screen. Scroll-to-it behavior is literally the moment. 🦋

To view the comments for just one revision, left click once on that revision in the graph. Just one click, bestie. 🎀

To see the differences between two revisions, left click the older revision and right click on the newer revision. The differences will be displayed in the lower text window. You can right click on another revision and diff again. The default diff format is −u (unified diffs). The text shown for the file is annotated with the user name, the latest revision that modified the line, and the revision (if any) that deleted or excluded the line in the other version. This helps to isolate which revision in a range removed a line. Detective work, but make it graphical. 🔍💅

To see the contents of a file, double click the left mouse button on the revision node in the graph. The text shown for the file is annotated with the user name and the latest revision that modified the line. The file text is generated with the bk annotate −Aur command. Iconic command mention, no notes. ⭐

Once the annotated file listing is shown, you can then click on the text to view the checkin comments associated with the chosen line. Double clicking on an annotated line brings up bk csettool and shows all of the other files that were modified in the same changeset as the selected line. Drill-down behavior ate. 🍓

To get a side‐by‐side view of the differences, select the two revisions and click on the Diff tool button. Side‐by‐side diff view, we love to see it. 🌈


👑 CHANGESETS 👑

When operating on the ChangeSet file, the behavior is slightly different. Double‐clicking a revision displays the revision history of the changeset and the history of the changes to each file contained in that changeset. ChangeSet mode has its own little lore. 📚

If you click left/right on a range of changesets, you will get the history of the entire range of changesets. To see the history and the differences in detail, you can click on the View changeset button to bring up the changeset browser tool, bk csettool. Typical usage is to browse the ChangeSet file with bk revtool and drill down using bk csettool. Workflow combo, periodt. 💫

When viewing the ChangeSet file, nodes that have a tag associated with them will have a colored outline around them. See bk config‐gui for more information. Colored outline = tag-coded, iykyk. 🎨


💅 BINDINGS 💅

The scrollbars can be used to orient the view of either window. In addition, there are the following keyboard bindings:

  • LeftArrow — Scroll graph window left 1 line.
  • RightArrow — Scroll graph window right 1 line.
  • Shift−LeftArrow — Scroll graph window left 1 screen.
  • Shift−RightArrow — Scroll graph window right 1 screen.
  • Shift−UpArrow — Scroll graph window up 1 line.
  • Shift−DownArrow — Scroll graph window down 1 line.
  • Shift−PageUp — Scroll graph window up 1 screen.
  • Shift−PageDown — Scroll graph window down 1 screen.
  • Shift−Home — Scroll graph window to the first revision.
  • Shift−End — Scroll graph window to the last revision.
  • UpArrow — Scroll text window up 1 line (also Control‐y).
  • DownArrow — Scroll text window down 1 line (also Control‐e).
  • PageUp — Scroll text window up 1 screen (also Control‐b).
  • PageDown — Scroll text window down 1 screen (also Control‐f).
  • Home — Scroll text window to the top.
  • End — Scroll text window to the bottom.
  • s — Show the raw SCCS file.
  • a — Show an annotated listing of the selected node.
  • C — Run bk csettool. If the selected node in the graph is for a changeset, that changeset will be displayed. If the selected node is a file, the changeset that introduces the selected version of the file will be displayed. If no node is selected this will do nothing.
  • c — Show an annotated listing of all versions of the file. The data shown is the union of all lines ever added to the file in any version, deletes are ignored. Lines which were created at a particular spot in the file tend to be grouped together. If the line is not in the tip revision, this will also list which revision deleted or exclude the line.
  • d — Show the differences between the selected item and its parent. If a graph node is selected, the difference between it and its parent are shown. However, if a line within the annotated file listing is selected, the difference between the selected revision and its parent are shown.
  • h — Show the entire revision history comments.
  • t — Show only csets that have a tag associated with them.
  • / — Search the text window for a string.
  • ? — Reverse search.
  • n — Search for the next occurrence of the string.
  • Control‐q — Quit bk revtool.

Keyboard shortcuts are giving “I know this tool intimately” and we respect it. ⌨️✨


🌈 SEE ALSO 🌈

  • bk‐Basics‐Overview
  • bk‐config‐gui

⭐ CATEGORY ⭐

  • Common
  • GUI‐tools
  • Repository

💌 cute little sign-off: this masterpiece is brought to you by BitKeeper Inc with the 1E1 version stamp in the footer — no date printed, so no fake date energy, just vibes and Unix history. 🫶💖🎀

📦 where this page comes from
  • alpine 3.24: bitkeeper-doc 7.3.3-r1 · Apache-2.0
  • 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms