BitKeeper repositories opened up. SQL patch online

Hunter Matthews <[email protected]>
Newsgroups gmane.network.up2date.current.devel
Message-ID <1017768573.30379.24.camel@kea>
All,
   Through testing of way more version control systems than I really
wanted to, John B. and I have decided on BitKeeper as the system for
Current. BitKeeper is extremely powerful, with few problems that we have
been able to detect. (BitKeeper is also being used by part of the Kernel
development team)

   It is _not_ free software in the GPL sense - however, it is free for
us to use, as nobody cares if you see the "changelog" on a gpl'd
project. There are a number of people who don't like BitKeeper - to
those I say "don't use it" - I'll always take patches, and if I forget
to put the latest "snapshot" on the ftp server, just tell me.

Howto Follows:
--------------

First, get bk itself. There's a copy of the archive on the Current ftp
site, or you can go through the bitkeeper web pages to get your own.

Once its installed, you should be able to do a 
bk helptool
which will start a GUI help browser thingy.

There are a lot of command in bk. Thankfully, you'll only need about 5-8
of them for routine development.

bk clone bk://stenia.biology.duke.edu/PROJECT foo
will clone (copy) the existing "PROJECT" onto your local system, and
call it foo.

Right now, at this minute, we have
current-1.0-stable
current-1.0-devel
current-sql

1.0-devel and 1.0-stable are identical at this minute - I'm looking at
the update requests everyone has put in, and that will get tested in
1.0devel before it goes to stable. (There will also be a snapshot or two
for the non-bk using people).

BitKeeper "clones" are a full repository in themselves - you can clone a
clone so to speak, and do your own local modifications among a team of
people. This was a nice feature that we think Current will benefit from
in the future.

bk status [-v] will tell you what's changed (if anything) in your
repository. bk difftool and citool are extremely good and helpful-  try
them.

bk uses a (in my opinion dumb) lock/unlock type system by default. I've 
gotten around that by making the default be to unlock all the files for
people - IE, when you clone from my tree, you'll see all the files, and
they will all be writable.

Ok, so you just cloned the 1.0-stable tree, and (oh joy!) fixed the
annoying version compare bug people are seeing. Now what do you do?

A) bk difftool to see that all your changes are _just_ the bugfix -
remember, bk doesn't free you from the rule that every patch does one
thing only.

b) bk citool
   This will check in your changes, and create a "changeset", which is
kinda like a multi-file patch to bitkeeper. The changeset is the "unit"
of work that you send me or, preferably, the list.

c) bk changes
   This will show you the version number of the changeset(s) you've
created. You'll need this later.

d) bk send -rX.Y - > X.Y.cset
   The X.Y part is the version number of the changeset you just created.

   bk send has a couple of different modes that are acceptable to use 
   for Current. You can send all YOUR changesets versus the repository
   you cloned off of (bk send -ubk://stenia.biology.duke.edu/PROJECT) or
   you can run the prs command (as listed on the helptool page for 
   "send") to "log" which changsets I've already gotten from you.

HOWEVER, the default for bk send is to send me your ENTIRE repository.
DO NOT DO THAT. The bitkeeper people have admitted this was a LAME
default, and will change it in a future version. ONLY send me (or the
list) the changesets we don't already have. Yes, you will need to learn
a little bit of BitKeeper to do this correctly.

And remember kids, Hunter will always take patches, as detailed in the
developer.txt doc file. These instructions are only if you _want_ to use
BitKeeper.

For those of you dying to see what John and I have done to Toby's
original sql patch, clone off the "current-sql" tree. Its broken, due to
me moving stuff around, but thats where we are headed with postgres.

(There'll be a sql snapshot on the ftp in a minute.)

-- 
Hunter Matthews                          Unix / Network Administrator
Office: BioScience 145/244               Duke Univ. Biology Department
Key: F0F88438 / FFB5 34C0 B350 99A4 BB02  9779 A5DB 8B09 F0F8 8438
Never take candy from strangers. Especially on the internet.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.