- Delete the monotone-server-init script.
- Modify the monotone rc.d(8) script to provide extra commands such as
'init', 'genkey' and 'read' to manipulate the server. These are not
interactive, but allow the same level of customization as the previous
script. Inspired by how the monotone init.d script from Fedora works.
- Delete the need of an rc.conf script in the pkg_sysconfdir of this
package. The settings previously stored there are now automatically
discovered.
- Fully automated creation of a server key: no more need to create a
passphrase by hand, memorize it, and stick it on a configuration file
to never look at it again.
- The log file is now placed where it belongs: in varbase/log.
- Addition of a monotone-server(7) manpage explaining the whole setup
process and pointers to the server files.
Note: upgrading from a previous version of the package will require manual
intervention if the rc.d script in /etc/rc.d is replaced. However, I
really doubt anyone is using this package so I didn't want to go through
the trouble of implementing a migration procedure. I've added a note to
the MESSAGE, though, asking users to contact me if required.
is a structure instead of a string. Should probably change this hook to use
the provided contrib/get_passphrase_from_file.lua file, but I just want to
get things working again for now. Bump PKGREVISION to 1.
appropriately otherwise.
- The server keypair is now stored and read from ${PKG_SYSCONFDIR}/keys
instead of being inside the database.
- Provide and use two files (read-permissions and write-permissions) to
set up netsync's access control.
- During monotone-server-init, run monotone under the unprivileged user
so that it creates files in the correct places (if any).
- Add a note to monotone-server-init to let the user ensure that the
UID and GID are correct. (I always get them wrong otherwise.)
- Make the rc.d script print a "divisory" line in the log file so that
different sections are easy to distinguish.
Bump PKGREVISION to 2.
Mon Aug 8 23:23:53 PDT 2005
0.22 release. new crypto library, bug fixes, ui improvements
- switch from crypto++ to botan as underlying crypto library.
this should not cause any user-visible changes; let us know
if it does. special thanks to Matt Johnston
<matt@ucc.asn.au>, Kaushik Veeraraghavan
<kaushikv@gmail.com>, Matthew Gregan
<kinetik@orcon.net.nz>.
- incompatible change to netsync permission hooks: the
get_netsync_anonymous_read_permitted hook has been removed;
instead, get_netsync_read_permitted will be called with a
key name of nil. server administrators should update/review
their configuration
- new option for merge and propagate: --lca. Until we get a
long-term solution to the various 3-way merge problems, this
should be more convenient than using explicit_merge.
- many small improvements to error messages, fixes of minor
annoyances, netsync tickers more accurate, etc.
Sun Jul 17 16:48:26 PDT 2005
0.21 release. bug fixes, performance improvements, and ui
improvements.
- fixes a number of major performance bugs in 0.20's netsync
implementation. special thanks to Matt Johnston
<matt@ucc.asn.au>.
- fixes a number of major bugs in 0.20's (rewritten)
cvs_import command.
- configury kluges to work around g++ 4.0/boost 1.32
incompatibilities. special thanks to Christof Petig
<christof@petig-baender.de>, Matthew Gregan
<kinetik@orcon.net.nz>, Jordan Breeding
<jordan.breeding@mac.com>.
- ui enhancements:
- new netsync option "--exclude": branches are included if
they match any of the given globs, unless they match any
of the given --exclude globs. special thanks to Timothy
Brownawell <tbrownaw@gmail.com>.
- new netsync option client "--set-default": makes it easy
to change default server/branches.
- "diff" now takes options "--context" and "--external", to
output context diffs and to invoke an external diff
program for full control over output formatting. new
option "--diff-args" pass arguments to external diff
program; new hook "external_diff" allows further
configuration. special thanks to Vladimir Vukicevic
<vladimirv@gmail.com>.
- b: and t: selectors now match exactly, instead of matching
as substrings. globbing is supported for inexact
matching. special thanks to Brian Downing
<bdowning@lavos.net>, Jordan Breeding
<jordan.breeding@mac.com>.
- new command 'db kill_tag_locally'. special thanks to Jordan
Breeding <jordan.breeding@mac.com>.
- now uses sqlite3 prepared statements. special thanks to
Derek Scherger <derek@echologic.com>.
- 'db migrate' is now a complete no-op if there is no
migration to do; automated scripts can now call it
optimistically and cheaply to guarantee up-to-dateness.
- new hash correctness tests. special thanks to Kaushik
Veeraraghavan <kaushikv@gmail.com>.
- upgrading from 0.20: you must run 'monotone db
migrate' once against each of your databases, to add
new sql indexes.
Tue Jul 5 23:57:10 PDT 2005
0.20 release. features, ui improvements, performance
improvements, and bug fixes.
- major changes in netsync UI: serve/sync/push/pull now take a
list of globs; clients can request arbitrary sets of
branches, not just predefined "collections". write
permissions are now granted on a per-db level (they were
before anyway).
- where you used to say, e.g., "monotone pull
net.venge.monotone", you should instead say
"monotone pull net.venge.monotone*". This may
require shell-quoting.
- 'get_netsync_write_permitted' hooks must be changed
to take only one argument, the 'identity'.
'get_netsync_{read,anonymous_read}_permitted' hooks
now take a branch argument instead of a collection,
and will be called for each branch that a client
requests.
- 0.19 clients cannot talk to 0.20 servers, and vice-versa.
- special thanks to Timothy Brownawell
<tbrownaw@gmail.com>, Richard Levitte
<richard@levitte.org>.
- other major changes:
- cvs_import re-written; many bugs fixed. now
supports tags.
- many minor netsync changes:
- netsync traffic is now cryptographically authenticated
against corruption and man-in-the-middle attacks.
special thanks to Ethan Blanton <elb@elitists.net>,
Matt Johnston <matt@ucc.asn.au>.
- new hooks that are called when server receives data:
note_netsync_*_received. special thanks to Timothy
Brownawell <tbrownaw@gmail.com>.
- ancestry graphs that pass outside the given branch
are now synchronized correctly. special thanks to
Timothy Brownawell <tbrownaw@gmail.com>.
- UI improvements:
- 'log' options changed: --depth has become --last;
new options --no-merges, --diffs, --brief.
- 'status' has new option --brief. special thanks to
Derek Scherger <derek@echologic.com>.
- 'serve' has new option --pid-file. special thanks
to Matthew Gregan <kinetik@orcon.net.nz>.
- all commands taking restrictions now take option
--depth, to limit recursion through subdirectories.
special thanks to Joel Reed <joelwreed@comcast.com>.
- merge command all take --author, --date now.
- 'checkout', 'update' take --revision, instead of
using positional arguments. special thanks to Derek
Scherger <derek@echologic.com>, Richard Levitte
<richard@levitte.org>.
- 'commit' takes new --message-file option.
- new features:
- new commands: "db kill_branch_locally", "db
kill_revision_locally", useful for correcting some
mistakes. special thanks to Brian Campbell
<brian.p.campbell@dartmouth.edu>, Sebastian Spaeth
<Sebastian@sspaeth.de>.
- new file attribute 'manual_merge', to prevent invocation of
merger on binary files. hook added to guess correct
value at 'add' time. special thanks to Riccardo
Ghetta <birrachiara@tin.it>.
- new 'earlier than', 'later than' selectors. special
thanks to Riccardo Ghetta <birrachiara@tin.it>.
- new automate commands:
- 'stdio', for efficient use by
front-ends. special thanks to Timothy Brownawell
<tbrownaw@gmail.com>.
- 'certs', for fetching certs on a revision in a
parseable (basic io-based) format. special thanks
to Grahame Bowland <grahame@angrygoats.net>.
- 'inventory' output changed incompatibly; should be
much more usable now, and stable. special thanks to
Derek Scherger <derek@echologic.com>.
- better memory/performance when handling large files.
special thanks to Eric Anderson
<anderse-monotone@cello.hpl.hp.com>, Timothy Brownawell
<tbrownaw@gmail.com>, Matt Johnston <matt@ucc.asn.au>,
Matthew Gregan <kinetik@orcon.net.nz>.
- new text mode browser in contrib/mtbrowse.sh, by Henry
Nestler <Henry@BigFoot.de>.
- improved zsh completion in contrib/monotone.zsh_completion,
by Joel Reed <joelwreed@comcast.com>.
- upgrading from 0.19: database and working copies are
fully compatible. netsync clients and servers need
to be upgraded together, as described above. the
many ui changes may require script updates.
devel/monotone package it depends on):
Monotone is a free distributed version control system. It provides a
simple, single-file transactional version store, with fully disconnected
operation and an efficient peer-to-peer synchronization protocol. It
understands history-sensitive merging, lightweight branches, integrated
code review and 3rd party testing. It uses cryptographic version naming
and client-side RSA certificates. It has good internationalization
support, has no external dependencies, runs on NetBSD, Linux, Solaris,
OSX and Windows (among others), and is licensed under the GNU GPL.
This package provides all the necessary stuff to easily configure a
dedicated Monotone server. Of special interest are the included rc.d
script and the monotone-server-init script, which will greatly simplify
the whole process.