LWN.net Logo

monotone 0.99 released

From:  Thomas Keller <me-AT-thomaskeller.biz>
To:  monotone-announce-AT-nongnu.org
Subject:  [ANNOUNCE] monotone 0.99 released
Date:  Fri, 29 Oct 2010 00:28:46 +0200
Message-ID:  <4CC9F91E.2060508@thomaskeller.biz>
Cc:  monotone-devel <monotone-devel-AT-nongnu.org>
Archive-link:  Article, Thread


Greetings!

We, the monotone developers, are very proud to release version 0.99
of our distributed version control system.

This release contains almost countless bug fixes, changes and new
features, so I'm listing only the outstanding ones here:


 * Selectors have been overhauled to support the calculation of
   common sets of revisions, like e.g. differences, ancestors,
   parents or children of input revisions.

 * Monotone's URI syntax has been extended and is now the default
   for all kinds of netsync actions (the old syntax remains available
   until 2.0 though).

 * All netsync commands now come with a "dry-run" mode which
   shows incoming and outgoing changes, such as revisions and certs.

 * The command line UI was cleaned up and improved a lot and now
   supports negatable and completable options amongst other things.

 * Many new automate commands have been added and improved.

 * Monotone regained its manual page - automatically generated from
   the command tree - which is also available localized through
   the new 'manpage' command.


A complete list of changes is available in the NEWS [0] file. The
tarball can be downloaded here [1] - binaries are posted there as they
come in.


Finally, this release also marks the beginning of a new version
numbering scheme, where we try to maintain stable versions up to a
certain point and add only non-breaking changes as minor releases.

The upcoming version 1.0 now is such a stable release, actually the
first one after more than 6 years of development. It will only contain
bug fixes and documentation improvements, but no additional new
features, and is planned in Q4 2010.


Thank you all for your ongoing support!

Thomas
- on behalf of the monotone team.


[0] http://www.monotone.ca/NEWS
[1] http://www.monotone.ca/downloads.php

-- 
GPG-Key 0x160D1092 | tommyd3mdi@jabber.ccc.de | http://thomaskeller.biz
Please note that according to the EU law on data retention, information
on every electronic information exchange might be retained for a period
of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en

_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel


(Log in to post comments)

monotone 0.99 released

Posted Oct 30, 2010 3:19 UTC (Sat) by tialaramex (subscriber, #21167) [Link]

Always there is someone who has a last minute change that doesn't need testing. How could it be a problem? It doesn't even really count as a change, it's just a little tweak, nothing can go wrong...

And this is always the change that breaks everything.

Which is why it shouldn't land. Sorry, I know your patch will make everything a thousand times better AND it comes with a free puppy, but people will just have to live without it for a while. And maybe, just maybe, while you're waiting, you could actually test it? No, I thought not, don't worry, just wait until five minutes before the next version ships and ask us to apply it then.

monotone 0.99 released

Posted Nov 1, 2010 7:40 UTC (Mon) by ikm (subscriber, #493) [Link]

Here's another "always" for you: it's always better to be a smart guy than to actually do release stuff.

monotone 0.99 released

Posted Nov 2, 2010 13:55 UTC (Tue) by tialaramex (subscriber, #21167) [Link]

Did I touch a nerve?

That last paragraph is (more or less) what I've told people in my real job where I write real software which people have to use to run a business. It is possible to be the smart guy AND release stuff. I'd like to think that the stuff I release is actually better for me being "the smart guy" who knows not to apply some inadequately tested last-minute patch.

monotone 0.99 released

Posted Oct 30, 2010 10:50 UTC (Sat) by busterb (subscriber, #560) [Link]

why would an uninitialized variable be an architecture-dependent bug?

http://code.monotone.ca/p/monotone/source/commit/17195983...

monotone 0.99 released

Posted Oct 30, 2010 15:38 UTC (Sat) by bronson (subscriber, #4806) [Link]

I think it's saying that it was discovered on x86_64, not that it only affects x86_64. At least that's what I hope it's saying!

Looks like some valgrind attention is needed.

monotone 0.99 released

Posted Oct 30, 2010 16:27 UTC (Sat) by njs (guest, #40338) [Link]

It'd be a bug everywhere, but it might have accidentally worked on some architectures. An uninitialized local variable will just have whatever value happened to have last been stored at the location on the stack where it ended up, so that will vary depending on stack layout and things.

monotone 0.99 released

Posted Nov 1, 2010 15:22 UTC (Mon) by gowen (guest, #23914) [Link]

It's passed as a void*, and the called code casts it differently according to what info is requested. Consider the following:

void make7(void *foo)
{
  *(int *) foo = 7;
}

int main()
{
  long bar;
  make7(&bar);
  printf("%ld\n",bar);
}
This program will almost certainly print "7" if sizeof(int)==sizeof(long), and probably won't if sizeof(long) != sizeof(int). It's technically a bug in both cases (as the behaviour is formally undefined), but one of them will work consistently, and the other one probably won't.

monotone 0.99 released

Posted Nov 1, 2010 18:38 UTC (Mon) by daniel (subscriber, #3181) [Link]

I will mention it here for anybody who does not know: Monotone is the ancestor of both Git and Mercurial, and therefore the progenitor of modern, open source distributed version control. And still a vibrant project in its own right. Monotone is not (yet) as performant as its famous offspring, but well worth watching. The repository schema Monotone uses is quite different from, but was designed to capture the core functionality of Bitkeeper that Linus had come to rely on at the time. This is essentially the schema now used but Git and Mercurial, that is, the idea of a directory object referencing a set of file or directory objects uniquely identified by content hash keys. As far as I know (please correct me if I'm wrong) Monotone introduced the concept of crytographic hashes as content keys to the version control world.

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds