Tridge Releases BitKeeper-Compatible Tool 189
Peter Willis writes "Looking at Freshmeat today (a part of OSTG) it seems Andrew Tridgell has released the BitKeeper-compatible source code management client mentioned on slashdot recently, called SourcePuller. As part of the downloads available for the project you can also get dump files which detail how to pull data from BK trees without the use of libsp. From the README: 'SourcePuller is not intended to be a full replacement for BitKeeper. Instead, you should use SourcePuller as an interoperability tool for situations where you cannot use bk itself. SourcePuller is missing a large amount of core functionality from BitKeeper, and thus is not suitable as a full replacement.'" Article available about the release on The Register.
As Tridge says in the README (Score:5, Informative)
Re:As Tridge says in the README (Score:2, Funny)
Oh! Civility. I'm afraid we don't have much call for that around these parts. May I interest you in some irony?
KFG
Re:As Tridge says in the README (Score:3, Funny)
No thanks (Score:3, Funny)
Re:No thanks (Score:3, Funny)
Re:As Tridge says in the README (Score:5, Insightful)
Re:As Tridge says in the README (Score:2, Interesting)
-- gid
Re:As Tridge says in the README (Score:2)
Hardly.
1) telnet thunk.org 5000
2) help
3) ????
4) quit
Ok, normally 4 should be Profit, but this actually works....
Re:As Tridge says in the README (Score:5, Funny)
Re:As Tridge says in the README (Score:5, Funny)
Re:As Tridge says in the README (Score:5, Funny)
You're kidding right? What do you call all of that whitespace that we sprinkle around our code? Those are comments.
If a block of code is especially self-contained or tricky, then it is surrounded by two carriage-returns before the block and two carriage-returns after the block.
If some statements are part of a loop, then we gratuitously indent them. That's not for the compiler's benefit; those are comments.
Don't even get me started on our extreme generosity in supplying names (not just types!) in our function and method prototypes. What, you want us to draw you a map?
BTW, I would submit more Insightful comments in my code if only my peers with good karma had Mod Points at code review time.
Re:As Tridge says in the README (Score:2, Funny)
But I shall persevere. And perhaps, I'll add some CRLFs this time.
The original UNIX code (Score:2, Funny)
The startup code was all done in DEC assembly (of course), in a file called locore.s (or something like that - it's been years since I've seen it). Either Brian Kernigham or Dennis Ritchie must have written it; I think it was the former.
Utterly obtuse assembly code, unless perhaps you've spent a good deal of time programming in DEC assembly. Then, no doubt, it was quite clear.
Anyway, about halfway down (after about 50 lines or so
Re:As Tridge says in the README (Score:2)
BTW, I would submit more Insightful comments in my code if only my peers with good karma had Mod Points at code review time.
Yeah, I would submit more comments in my code, too, but I would be aiming for +5 Funny so it probably wouldn't help anybody understand the code anyway.
Re:As Tridge says in the README (Score:2)
Really? I always thought that was the ghost of RMS reaching out of emacs to strangle me...
Re:As Tridge says in the README (Score:3, Insightful)
What I personally hate is the way many programmers often try to tell me how their code works using comments. These are dangerous. Whitespace provides hints as to how to read how it works, but the code has to be your authoritative point for that: SPOT principle at work (comments should not get outdated).
If the code does not speak for itself, it is bad code and should be rewritten.
Now........ When you do comment... Don't tell me
Re:As Tridge says in the README (Score:2)
Is that truly universal? What if a really ugly regex is the most efficient way to get something done? What if the code in question implements a not immediately apparant algorithm? As far as algorithms go some rely on some rather hairy math that not everybody has minored in mathematics to understand. In situations like that, the last thing we need are arrogant programmers who think their code is so elegant as to not need comm
Re:As Tridge says in the README (Score:2)
What if your really ugly regex is broken? Should I be debugging your comments or your regex?
In this case, I would like a comment which says something about why you chose that way. Something like:
"This is ugly but seems better than the alternative."
This is an immediate flag that this piece of code is difficult to read and de
Re:As Tridge says in the README (Score:2)
if(a!=1){
a++;
x+=a-1;
foo( x);
}
I have seen code like that from inexperienced coders because their tutor's slides explained what each line does in a comment and they thought that's what you're supposed to do. They also thought that indentation and whitespace was done in the slides because the tutor fan
Re:As Tridge says in the README (Score:2)
Another situation where they're called for is if working around brokeness elsewhere is necessary. Without knowing the problem being worked around, it won't be clear why apparantly baroque code was used. I just don't accept the
Re:As Tridge says in the README (Score:2)
Afterall, if you can't count braces, you don't deserve to code.
(that's a joke
Re:As Tridge says in the README (Score:2)
It's only gratuitous if you use something extreme like 8 spaces per indentation level.
I think his point was that any indentation is gratuitous to the compiler - it is used for human readability, and thus could be considered a "comment."
But, I think a comment is a certain class of readability measures applied to code. Formatting is another. Naming is another. I personally subscribe to the self-documenting code philosophy - I'd g
Re:As Tridge says in the README (Score:2)
Re:As Tridge says in the README (Score:2)
Real Programmers don't comment their code. If it was hard to write, it should be hard to understand and even harder to modify.
Re:As Tridge says in the README (Score:5, Insightful)
Re:As Tridge says in the README (Score:2)
Re:As Tridge says in the README (Score:5, Funny)
Jesus God, that's one of the dumbest fuckups I've seen in a
Re:As Tridge says in the README (Score:2)
Re:As Tridge says in the README (Score:5, Funny)
Re:As Tridge says in the README (Score:3, Funny)
Oh. That's just baaaaad.
Time to get back on topic, that's enough subversion [tigris.org] of this thread.
Re:As Tridge says in the README (Score:5, Informative)
Fact is, this is slashdot. It's the nee plus ultra of peanut galleries. Note well that Linus doesn't read or post to slashdot -- he's been busy working on git, which is not a great SCM itself, but it's turning out to be pretty hot as a library. Arch is adopting git as a backend, and darcs is talking about using libgit (once there is a libgit) for a performance boost.
Re:As Tridge says in the README (Score:2)
Really? I have to say I find that quite amazing. How long has arch been around? And git is, what, 3 or so weeks old? Either Linus really is as shit hot a coder as many would have us believe, or the arch guys have been doing something terribly wrong. Is git so fundamentally different from every other SCM out there that no one but Linus saw the need for it? Open source really does move breathtakingly fast sometimes...
Re:As Tridge says in the README (Score:2)
No. A lot of git's concepts are taken from monotone [venge.net]. It's basically monotone without the sanity-checking and without the SCM built on top of it.
Might come in handy now (Score:5, Interesting)
On a serious note, it's good that this apparently oh so evil piece of software is finally out in the open, so that the people can see that all the fuss was about a tool that allows you to get your data that is managed by a propietary tool. How evil...
Re:Might come in handy now (Score:5, Informative)
Re:Might come in handy now (Score:2)
Re:Might come in handy now (Score:2)
Your "just a note" makes little sense. The purpose of SourcePuller is to retrieve
Re:Might come in handy now (Score:2)
What do you think Linus is using to test GIT ?
Notice how he didn't announce he got the data with Tridge's help - why ? - because it wasn't necessary, everything could be exported anyhow. But apparently that wasn't enough for Tridge.
Re:Might come in handy now (Score:2)
According to you. How about: the history, the whole history, and nothing but the history. Concentrate on the "whole" part please.
Re:Might come in handy now (Score:5, Insightful)
On a serious note, it's good that this apparently oh so evil piece of software is finally out in the open, so that the people can see that all the fuss was about a tool that allows you to get your data that is managed by a propietary tool.
In a way it's good to have issues like this bubble up to give people a chance to really think about the fundamental principles involved in open source development.
For instance, it would be hypocritical to applaud Tridge for his work on reverse-engineering SMB to create Samba and to simultaneously criticize him for doing the exact same thing with BK.
Likewise, to criticize MS for using secrecy to make money with its products, while decrying the effect Tridge's reverse engineering has on the income of the Larry trying to feed his family by selling BK.
The principles have to hold independent of the emotional circumstances and the players of the game.
FOSS is all about the natural migration of more and more software technology into commodities. And that will inevitably be a difficult pill to swallow for anyone who has created new software that makes money for them. At some point, if the software is really useful, other competent programmers will look to produce a work-alike functionality. And it will be for the greater good of humanity as a whole because they will be able to use better tools for less money. Even as it erodes the financial benefits that accrue to one or to a few from having thought and done it first.
A happy ending would be Tridge's sofware encouraging more people to buy the BK core to interoperate with Sourcepuller. But, in the longer run, I expect a free core will eventually be developed and it will displace the proprietary one.
Re:Might come in handy now (Score:2)
And that my friends, is true innovation! Let someone else come up with a good idea and then implement a feature identical replacement.
Actually one of the nice things to come out of this is the work Linus has done on git. At least someone is trying to come up with something new.
Re:Might come in handy now (Score:2)
That is the history of all technology starting from Ogg The Caveman bashing his kill with a stick and Argh seeing it and trying it with a rock.
Bitkeeper itself copies functionality and ideas from older SCMs; it didn't arise in a vacuum. And we all know the one about how Xerox invented the point and click GUI except that they really didn't either.
Probably not (Score:2)
Samba provides both client and server capability (and PDC and AD functionality now too) for non-Windows OS's.
There really is no BK core and BK client like there is in the CIFS world. In order to replace the "BK core" someone will have to write from the ground-up a complete distributed SCM system. If that effort is undertaken then I really see no benefi
Re:Probably not (Score:3, Insightful)
Ah, the first idiot posts...
First of all, as I understand it, the commercial license involved says you will not reverse engineer the product YOU licensed. SourcePuller doesn't do that if YOU use it with some other SCM - it simply interoperates. It may do that if Tridge wrote it that way, which he didn't since he wasn't a licensee in the first place.
Secondly, using SourcePuller does not "get you aside from losing a tool". That statement is just idiotic. SourcePuller gets you exactly what Tridge says - i
I'm sorry to disappoint (Score:2)
Referencing Samba's AD support is actually a big point. The point is that Samba can replace an AD system, just like you could use a box running Samba to be a PDC before.
SourcePuller can do no such thing. SourcePuller's one and only function is to pull stuff out of BitKeeper. There's no interoperability. What SCM software can SourcePuller put that data into? I know, let's write a CVS plug-in for it. Oh wait, BitMover already provided that!
Think a second (Score:2)
The point is that Samba acts as both a client and a server. It contains the complete functionality.
SourcePuller only works to get data out of BitKeeper. It doesn't do anything to put data into another SCM system. It can't replace the BK repository's functionality. It basically becomes useless without someone running a BK repository.
Re:Might come in handy now (Score:3, Insightful)
Re:Might come in handy now (Score:2)
Wow, that was a close call. I mean, we almost had a situation where, like, anyone off the street could have just used this piece of software to download the entire source code to the Linux kernel. And -- OMG -- this wouldn't have been just the stuff that the kernel developers had decided was OK to release to the public, but the real complete version that they were working on, with all the metadata included. 'Cause, y'know, once all that highly sen
Like Grains of Sand in an Hourglass... (Score:5, Funny)
Re:Like Grains of Sand in an Hourglass... (Score:2)
Re:Like Grains of Sand in an Hourglass... (Score:2, Funny)
All My Children (a forking-good name)
As the Hello World Turns
One File to Give
General Protection
The <B> and the Beautiful
Re:Like Grains of Sand in an Hourglass... (Score:2)
How about "Linus's Landing"?
"Dynasty" - about UNIX, Linux, BSD, FreeBSD, etc.
Bill Gates = J.R. Ewing? (Naah, Billy Boy hasn't got near the style of J.R.! Forgeddaboutit...)
Re:Like Grains of Sand in an Hourglass... (Score:2)
Hackers
Everybody needs good hackers
With a little bit of source code
They can code a better way!
Hackers
Should share their code with one another
That's when good hackers
Are truly free...
Cheers
Stor
Logo? (Score:5, Funny)
Used already? (Score:4, Funny)
Wow, that's a lot of code for telnet poking around (Score:4, Interesting)
Re:Wow, that's a lot of code for telnet poking aro (Score:2)
Re:Wow, that's a lot of code for telnet poking aro (Score:2, Interesting)
Re:Wow, that's a lot of code for telnet poking aro (Score:2)
Re:Wow, that's a lot of code for telnet poking aro (Score:2)
I suppose I could have done this:
But that 'total' there is superfluous, so:
Thanks for the help. ;)
Re:Wow, that's a lot of code for telnet poking aro (Score:2)
I always find it interesting how different people use the text utilities on files in the shell. It often shows different thoughts and approaches to "set programming."
Re:Wow, that's a lot of code for telnet poking aro (Score:2)
How many ways can you skin a cat in UNIX anyway?
Re:Wow, that's a lot of code for telnet poking aro (Score:2)
Re:Wow, that's a lot of code for telnet poking aro (Score:3, Insightful)
Wow, that's a lot of code for a project that started out with:
WTG (Score:2, Insightful)
Sounds like everyone was within their rights. Which means disagreement is simply the by product of everyone being human.
Why the P.C name? (Score:5, Funny)
Re:Why the P.C name? (Score:5, Funny)
Re:Why the P.C name? (Score:2)
This is what Larry was complaining about? (Score:5, Interesting)
Larry, is THIS the reverse engineering you were talking about? Stealing your ideas? Making OSS version of BitKeeper? Blah, blah.
There were so many cases of people making opensource software talking to proprietary back-end (getting stock quotes with tool via TCP, for example, instead of using Java/Windows clients), and noone really made so much noise.
I have no respect anymore for BitKeeper and Larry if this is all Tridge was "reverse engineering".
Re:This is what Larry was complaining about? (Score:4, Insightful)
Comment removed (Score:3, Interesting)
Re:Waste of time (Score:2)
Re:Waste of time (Score:4, Interesting)
Tridge had 2 options after that:
a) release his version (which is also just a client) and get the "is this it? But why did Tridge do that?" comments like the parent; or
b) not release it, and let the rumors fly around.
I'm glad Tridge chose to release his version and now we can all move on. Of course, the real loser in this is McVoy (he lost his biggest mouthpiece), followed by Linus (who has to now duplicate the functionality of BK as much as he can, and while he's mucking with the tools the kernel development takes a backseat).
Re:Waste of time (Score:2)
Re:Waste of time (Score:5, Informative)
Re: (Score:2)
Shoulda named it... (Score:3, Funny)
Or, for a more exacting description of what their relationship is... rename both tools:
BitKeeper -> BitPitcher
SourcePuller -> BitCatcher
Linus = Denethor (Score:2)
Lunckily Gandalf/Stallman is going to install a new king for us...
what? (Score:2)
Re:what? (Score:2)
How about categorization and documentation? When you access a SourceForge site with nothing but the source code on it, it's difficult to take seriously. In this case, though, we all know who the author is. For lesser known authors, lack of any additional materials can kill community interest in the project.
So? (Score:2)
Re:So? (Score:2)
Re:Why not GNU Arch? (Score:5, Insightful)
Re:Why not GNU Arch? (Score:5, Insightful)
Re:Why not GNU Arch? (Score:5, Informative)
Well, try to use it then. The feature that it has indeed sound nice in theory, but Arch has huge problems when it comes to usability and performance, which make it unusable for something as large as Linux and unconfortable for most other projects around. A simple look at the 'help' already makes that pretty clear that there is something wrong with the userinterface:
$ svn help | wc -l
41
$ tla help | wc -l
186
Its however not a lost case, Bazaar-ng is trying to fix those problems of Arch:
* http://bazaar-ng.org/
Re:Why not GNU Arch? (Score:4, Funny)
And with the support of the community, and a lot of developer work, they'll be able to reduce Arch's 'help' text down to only 10 words, making it the most powerful source control system.
Re:Why not GNU Arch? (Score:2)
Re:Why not GNU Arch? (Score:2)
--dave
Re:Why not GNU Arch? (Score:3, Informative)
Folks who actually do their setup correctly (greedy, non-sparse revlibs; hardlink trees; reiserfs) have reported some very, very impressive benchmarks - and the remaining scalability issues mostly relate to patch log management, and there've been plenty of solutions proposed and on
Re:Why not GNU Arch? (Score:2, Funny)
Yes, you are the very very very very first first first person to come up with something THAT original.
Re:Why not GNU Arch? (Score:5, Interesting)
One of the problems I'm having at work is that, having wrapped my mind around Arch, I'm for all intends and purposes unable to go back to thinking in CVS primatives -- the conceptual model is that much better. However, since Arch isn't practical for use at my place of employment (no usable win32 port, much less one with a GUI the UI folks can use), I've become damn near useless as SCM advisor -- my mental model just isn't aligned for CVS anymore, and the thought of trying to "fix" that (by retraining myself to work within all of CVS's limitations again) is just too damn horrifying.
In a year and a half, maybe, or however long it is, Bazaar-NG will be ready for commercial use, and then we'll have somethnig that'll let me have my pretty conceptual model and actually be usable by the rest of staff. It's a dream, anyhow.
Re:Why not GNU Arch? (Score:3, Insightful)
Re:Why not GNU Arch? (Score:3, Interesting)
That said, I'm anxiously awaiting Bazaar-NG.
Re:Why not GNU Arch? (Score:4, Interesting)
Plus, the UI is completely tied to the implementation, so you have to know a ton about the underpinnings of arch in order to use tla. I don't want to know how arch does what it does. I don't care.
The baz people are working on fixing this, but there's a lot of problems to be fixed (see this [bazaar-ng.org] for the massive list) and I think it'll take them some time to do so. Currently, baz is pretty buggy for me too, segfaulting on things like branching. That said, I have a lot of faith in both the baz team and Martin Pool, simply because they've thought things through very well [bazaar-ng.org]. Currently though, tla and baz are nothing but an exercise in pain for me to use, and bzr isn't ready yet. I'll keep checking on them, because I really want to like them, but they make it so hard on me.
Re:Why not GNU Arch? (Score:2)
Unless, that is, you make the version part of your branch name.
Re:Why not GNU Arch? (Score:2)
Re:Why not GNU Arch? (Score:2)
This is not entirely true. I use vi and arch and everything's cool. ``vi
vi `tla make-log`
Also arch enforces some rules by default that annoy people (like you can't keep any non-repository files in your directory, everything must be under version control at all times. which st
Re:Why not GNU Arch? (Score:5, Insightful)
He has even linked to Google [slashdot.org] to redirect to his page so that he escapes detection from mods.
Feel free to check his history.
Re:ATTENTION: THOSE CONSIDERING LINUX AS A MARKET (Score:2)
This is what always happens. Bring your product to Microsoft and they love you, then they kill you.
Lesson: don't bother.
Re:Paranoic (Score:2)
He's planning on making badges saying "STALLMAN WAS RIGHT"
FSF has the high ground in the community now, linus has blown himself out of the water.