From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,9e81fa53486a4934,start X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!g21g2000prn.googlegroups.com!not-for-mail From: deadlyhead Newsgroups: comp.lang.ada Subject: What is your preferred VCS? Date: Wed, 28 Jul 2010 16:18:00 -0700 (PDT) Organization: http://groups.google.com Message-ID: <24890919-000d-4b75-8556-0585e8a2f59d@g21g2000prn.googlegroups.com> NNTP-Posting-Host: 216.57.220.9 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1280359402 1307 127.0.0.1 (28 Jul 2010 23:23:22 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 28 Jul 2010 23:23:22 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: g21g2000prn.googlegroups.com; posting-host=216.57.220.9; posting-account=snJuNwoAAABnc8T9lYkBlDQrDdSjOjG2 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:12650 Date: 2010-07-28T16:18:00-07:00 List-Id: Since I trust the Ada community by and large when it comes to questions of robustness and cleanliness of code, it seems fitting that I might cast about for opinions on choosing a version control system. My personal preference in the past has been GNU Arch. While its interface was a bit cumbersome, I felt it was powerful, well-built and ahead of its time. Unfortunately its long been a dormant project, ever since Bzr forked from it and mutated, pulling the small community that was forming around it away. Tom Lord's intended successor, revc, stalled as well due to other circumstances, and finding copies of that code base is like playing Hunt the Wumpus. Now, if going the distributed version control route (which is what I'm going for), it seems that, these days, there are basically four choices: Git Bazaar Mercurial Monotone People/projects seem to like these for different reasons, but so far I haven't gotten excited by any of them. Git seems like it's pretty fast for source files (though chokes on binaries?), and robust enough to handle huge projects like the Linux kernel. But it seems not so much developed/designed as hacked together, a hodge-podge of Linus Torvalds' special brand of C+Perl (which just makes me shudder.) Mercurial and Bazaar, as far as I can tell, are two implementations of the same thing. Both are written in Python (sigh...), they have very similar command sets, and they're very tied to the "branch" view of version control. The scales tip in Mercurial's favor, though, as it has decent support for pushing over SSH, and it seems, action-for- action, to be a bit faster than Bazaar. (I could be completely wrong about this. I haven't looked into this for some time.) Monotone has been said to be implemented in a very "Ada-like way" by somebody-or-other who was attempting to build an Ada OS (I think called AdaOS. Stillborn last I heard.) I've been poking around and I don't see it. It is written in C++ and uses the Boost library, both of which I get a bit squirmy thinking about. I have a special distaste for C++, and have never had any success with Boost (though I never tried very hard to use it.) Perhaps somebody here can give me a reason to prefer any of these, or better yet, have a completely different suggestion. (Is there one written in Ada? I'm there!) The amount of _biased_ information available is overwhelming, and I'm having some trouble seeing the forest for the yelling trees. Disclosure: I know about darcs, and how it has its roots as attempting to implement a new patching model on top of Arch. I like a lot of its concepts, but when it comes down to it, I don't like it enough to force Haskell into my development flow. I think Haskell is very interesting and I can appreciate what it brings to functional programming, but deep down I hack in Scheme when I'm not developing in Ada, and just don't feel like going that route.