Tridge Releases BitKeeper-Compatible Tool
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.
I assume you mean "have essentially nothing on them". If so, why do you say that? I has the source code for the free bitkeeper tool that he designed. What more would people want?
with the move away from bitkeeper. :-D
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...
...so goes the soap opera that has become the Linux community
Something Witty Goes Here
Perhaps because Tridge never set out to create a replacement for BK - merely a tool that would interoperate with it and enable you to get source out of a BK repository without actually running the BK client.
were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
Why does that matter? Most of the features in sourceforge are basically designed to be responses to the code/applications anyway (bug reports, forums, etc). So it will get plenty of use. But even if it didn't, why not use it to host a couple of open source files that people want?
A big huge middle finger!
Flywheels has a history of linking articles at his site, PressEsc to un-related stories and comments, in order to boost his PageRank.
He has even linked to Google to redirect to his page so that he escapes detection from mods.
Feel free to check his history.
### I must say I haven't used it, but from reviews and comparisons I've read, it seems to be a good tool.
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/
--dave
davecb@spamcop.net
Nobody...
Yes, you are the very very very very first first first person to come up with something THAT original.
Arch is a good tool -- once you've wrapped your mind around it. Coming from CVS, that's hard.
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.
Not today, thank you. Perhaps you could come around tomorrow, or maybe the day after? I'll check my calendar, but later, ok?
Infuriate left and right
I don't want a tool that tries to tell me how to do things. I want a tool that stays the hell out of my way and lets me do some work. Their "way things should be" is not suitable for all software development models, yet their tool is so closely tied to said model that they actively add in features to try to stop you from working any other way.
Congratulations to Tridge.
Sounds like everyone was within their rights. Which means disagreement is simply the by product of everyone being human.
Tharkban (It is a signature after all)
A tool that lets you Pull stuff out of BitKeeper. How did he manage to avoid naming it BitPull?
No, the telnet bit was just for dumping the data out of a BK server with the "clone" command/request. I presume that this code interprets the data and produces usable source files and diffs, or whatever format the "metadata" is in. I've never used BK (and after this little exercise, never will) so I don't know what the other metadata is all about.
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.
Oh, it's not that bad. Yes, Tom has given Arch features which are tied to how he works -- but none come to mind that actually stop you from working a different way, as opposed to merely being annoying.
That said, I'm anxiously awaiting Bazaar-NG.
Arch is quite scalable, if used correctly -- and the remaining places where it aren't are either (1) implementation rather than design issues, or (2) issues which have a solution proposed which nobody's bothered to implement yet.
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 the table that could be implemented very, very quickly if anyone was feeling enough pain to prioritize them (or hire Tom to prioritize them -- same thing, really).
If *this* is the project Larry was complaining about so much, I can't wait to hear what he has to say now.
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".
I tried using arch to manage my debian packages, which have an upstreamversion-packageversion versioning number scheme. Both tla and baz complained that this wasn't an appropriate version number. This is beyond annoying, it makes arch unusable for my fairly simple needs.
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 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. 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.
"I may not have morals, but I have standards."
arch is vi unfriendly (you have to edit filenames that start with +), so that perhaps discourages a third of the potential users. 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 stinks if you like to keep little notes in your own shorthand). Also the jury is out as to if arch can handle development of a highly active project like Linux. But otherwise I think arch is a neat idea and a neat tool.
“Common sense is not so common.” — Voltaire
But there's already an open-source tool for pulling code out of BitKeeper. So what is the point in Tridge's release?
If I were you, I'd have done find . -name \*.c | xargs cat | wc -l. That'd avoid getting back "Argument list too long" if there'd been more files. :)
Anyone have a link to a decent summary of this entire story as it was played out? I've browsed through the past /. articles and searched Goolge but nothing I've found gives a decent summary or big picture history.
Bad boys rape our young girls but Violet gives willingly.
That's why I use darcs. Find out the differences with some surfing.
BitTaker
Or, for a more exacting description of what their relationship is... rename both tools:
BitKeeper -> BitPitcher
SourcePuller -> BitCatcher
cyn, free software and *nix operating systems enthusiast.
Interesting way of measuring complexity.
$ diff --help | wc -l
81
Does that make svn twice as simple? Does it not have a good diff built in?
Unlike Samba, SourcePuller is completely useless without the proprietary product. So, you need to violate a commercial license in order to use it at all.
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 benefit whatsoever to having a client that speaks BK's client commands and writes files in their format? (Aside from potential IP violations in duplicating their format.)
So, honestly, what does something like SourcePuller get you aside from losing use of a tool?
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
Yeah, I guess I wasn't considering you were only interested in that summary - of course, the cat is easier in that circumstance.
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."
ATTENTION: THOSE CONSIDERING WINDOWS AS A MARKET
This is what always happens. Bring your product to Microsoft and they love you, then they kill you.
Lesson: don't bother.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
more people would know what it's describing :)
Isn't that Wendy's new Logo?
Heh. This reminds me of some of the original UNIX code, from the V6/V7 days.
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), was this priceless comment:
"Here's the tricky part"
Heh. Thanks guys.
The best way to predict the future is to create it. - Peter Drucker.
Linus was just keeping the boat afloat. The Linux and FOSS communities are sailing around on the oceans with very powerful allies and foes all around us. IBM has turned out to be one of our strongest allies, by providing us protection. The War on Intellectual Property is coming soon.
By doing what he did, Tridge is further defining the ground rules that the *real* hackers agree too. As has already been said, he did the reverse engineering on his own time, without ever having used the BitKeeper program. Lessons Learned: Reverse engineering on your own time is absolutely an ethical and allowed activity.
The more I think about it, the biggest winner in all this is the GPL license. It will now have a custom code management application built around working with GPLed code.
wc -l `find . -name "*.[ch]"` | tail -n 1
How many ways can you skin a cat in UNIX anyway?
LedgerSMB: Open source Accounting/ERP
You can tell how early in some revision of the program a variable first appeared by which letter in the alphabet it is. That is, my first variable is "a", my second is "b", and when I run out of letters, I just repeat incrementing a prepended letter, that is, "aa", "ab"... "ba".
Huh? You mean I can have a variable named ResultsTable? No, no.. "c" is clearly a better name. After all, you wouldn't know where to find the first reference otherwise! (hint: after "b")
This is beyond annoying, it makes arch unusable for my fairly simple needs.
Unless, that is, you make the version part of your branch name.
arch is vi unfriendly (you have to edit filenames that start with +), so that perhaps discourages a third of the potential users.
./+blah'' I don't try to edit those directly anyway, I just have an alias that looks like this:
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 stinks if you like to keep little notes in your own shorthand).
It's perfectly happy ignoring my build directories and other random crap I use for testing. I just need to tell it what kinds of things it should ignore.
More importantly, if something looks like source, I want my revision control system to let me know if I'm forgetting it on a checkin (or worse, if someone else is forgetting it on their checkin and I sync and attempt a build only to find that they're gone and one little piece they added is missing).
-- The world is watching America, and America is watching TV.
Not really though.
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!
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
One of the more useful functions of Samba where I work is to allow Windows boxes to access Unix file systems.
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.
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
The journalism on this issue has me wondering if there is not an evil company pushing PR splinters into Linus or Linux from behind the scenes...
/.ers for not joining in and posting days-of-our-lives comments.
A couple of articles appear to have gone a long way towards blowing up an issue - with the open source community being dragged into a non-existent 'fight'!
Thank you
Happy moony
Stared too long into the abyss, gave way to despair, betrayed his realm.
Lunckily Gandalf/Stallman is going to install a new king for us...
'There is a Light that never goes out.'
The point is that Samba can act as either Server or Client. SourcePuller can only ever be a client.
Samba actually provides a migration path away from the MS Windows network by removing the dependency on MS software to provide server functionality. Think, you could replace all file and print servers on a network using Linux and Samba and not affect a single Windows client running on the network.
This may seem like a minor distinction to you but to me it is the crux of the matter and jibes with Linus' complaint about SourcePuller. It's a tool that will only function as long as BitKeeper is being used. The irony is that the use of the tool almost guaranteed that BitKeeper wouldn't be used.
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.