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.