BitKeeper Tricks

Getting '''All''' changes between two revisions

(from a posting by Linus Torvalds to LKML)

to see every changeset that happened between XXXX and YYYY.

(In case you care: the "bk set" will spit out all keys that are the "set difference" between what is in XXXX and YYYY, and then the "bk prs" part will print out those keys in a readable manner according to the description string given by "-d").

So with XXXX being 1.911.13.50 and YYYY being top-of-tree (you can use '+' for this), you get:

Speeding up {{{bk pull}}}

If you create a file called /etc/BitKeeper/etc/config (if one doesn't already exist) and include in it the line:

[]partial_check:yes!

checking after doing a bk pull (which is where most of the time is spent) will be much sped up.

Avoiding stale files

One thing I used to do constantly was forget to do a bk get after a checkin. This leads to compilation failures.

To fix, add the line

checkout:get

to /etc/BitKeeper/etc/config

Viewing revisions on the web

From a post to LKML by Larry McVoy

You can navigate to a file by going to www.bkbits.net and then working your
way down to the project of interest, then the repo, then "Browse the source
tree", then click on the file.  You'll get offered a list of revisions,
click on one of those and you should be at a URL that looks like
                                                                                                                                                           
        http://project/repo/diffs/path/to/file@rev
                                                                                                                                                           
You can put anything you want in for the rev, it can be a range.  To see
1.2 vs 1.5 diffs you can do file@1.2..1.5 and hit return.  It may be useful
to know that "+" always means the most recent rev in BK so to diff everything
from 1.2 to now that's file@1.2..+

Getting a specific version of the kernel

Linus tags all kernel releases in bitkeeper. This makes it easy to get a specific kernel version

bk clone -rv2.6.0-test2 bk://linux.bkbits.net/linux-2.5

To see the tags you can use bk tags

IA64wiki: BitKeeper/Tricks (last edited 2003-08-19 00:37:43 by mingus)

Gelato@UNSW is sponsored by
the University of New South Wales National ICT Australia The Gelato Federation Hewlett-Packard Company Australian Research Council
Please contact us with any questions or comments.