summaryrefslogtreecommitdiff
path: root/devel/monotone
diff options
context:
space:
mode:
authorjmmv <jmmv>2010-11-07 20:51:45 +0000
committerjmmv <jmmv>2010-11-07 20:51:45 +0000
commitef9b60caca4d18c7ed0593978c80df6cfdda69c9 (patch)
tree9910eb6d873a8e8bc38b025a4634280691ed7515 /devel/monotone
parent0e75bed9d451dc61a9271cb58c25ea8b8280a7b6 (diff)
downloadpkgsrc-ef9b60caca4d18c7ed0593978c80df6cfdda69c9.tar.gz
Update to 0.99:
Changes - The database scheme was changed; please execute 'mtn db migrate' on all your local and remote databases. - Normal and automate sync, push, and pull now take a --dry-run option; no data is transferred, but the connection is made and a summary of what would be transferred is output. - The changelog editor format was simplified; user entered text is back at the top of file and the instructions have been reduced. The edited text is saved now even if a commit is canceled. - Selectors are much more powerful now and selector functions to calculate common sets of revisions have been introduced. The characters '(', ')', and ';' need to be quoted if mean literally (just like '/') because of this. See section 3.2 in the documentation for details. (fixes monotone bug #18302). - The SERVER [BRANCH] call syntax for network-related commands has been deprecated in favour of the existing, universal URI syntax. Additionally, file:// and ssh:// URIs are now parsed for include and exclude patterns just as the native mtn:// URIs. The possibility to specify include patterns by using 'include=' and exclude patterns by using 'exclude=' in the query string has been removed. Patterns are separated by ';' and will be treated as include patterns unless prefixed with '-'. Where you could previously specify 'mtn://host/?include=foo,exclude=bar', you would now give 'mtn://host/?foo;-bar' instead. The URI parser was made a bit more standards compliant and treats the scheme and host in a case insensitive manner. The path and query parts are now automatically URL-decoded. We deviate from RFC 3986 however by recognizing the authority part in scheme-less URLs, where the standard would force us to recognize a path instead. For example, for the URL 'code.monotone.ca/monotone' we'd normally parse 'code.monotone.ca/monotone' as path, but our implementation parses 'code.monotone.ca' as authority and '/monotone' as path, so you are not forced to type 'mtn://' on command line, just as you are not forced to type 'http://' in your browser. Monotone's native scheme / protocol 'mtn' is by the way set as default in cases like this. The format for the server part of the 'default-server', 'known-server', 'server-include' and 'server-exclude' database variables has been changed and now always includes the complete (normalized) URI resource, consisting of the used protocol, user, host, port and path parts. Older entries in existing databases which do not match the new format are preserved and not changed by monotone. Please check the manual section 5.3 for more details on the URI syntax. - Naturally, the 'clone' command now also accepts mtn:// URIs, though the use of branch globs is forbidden unless a branch is specified separately with the new --branch option. To avoid confusion with an existing workspace, clone no longer looks for and loads the options of such a workspace, therefor it now also falls back to the configured default database and no longer to the database used in the workspace if no explicit database is given. - Server defaults for netsync operations are now only saved if the exchange was successful. The progress messages which have been issued for this previously have been removed, since they would come up now unexpectedly and would clutter the output of commands such as 'clone', 'automate remote' and 'automate remote_stdio'. - The following characters have been deprecated in branch names ?,;*%+{}[]!^ as they denote either meta characters in monotone's URI syntax or are used in globs to resolve branch patterns. Furthermore, branch names should no longer start with a dash (-), since this character is used to denote an exclude pattern in the aforementioned URI syntax. monotone warns on the creation of branches which violate these restrictions and gives further directions. - The 'cert' command can now operate on multiple revisions at once. - The command 'db kill_rev_locally' has been renamed to 'local kill_revision', and 'db kill_tag_locally' and 'db kill_branch_certs_locally' have been replaced with a more flexible command 'local kill_certs'. - The 'import' command now keeps the created bookkeeping root if --dry-run is not specified. This makes it possible to re-use the import directory as workspace and is also more closely to what our documentation states, when it says that import is basically "setup with a twist". - On Win32 native, the option '--no-format-dates' which disables the localized date format, is now the default for 'commit', since dates are not parseable on Win32 native. - The automate commands sync, push, and pull now output information about each transferred revision, cert and key, in basic_io format. - monotone no longer passes syntactically correct, but non-existent revision ids through the selector machinery. The most visible place for this change is 'automate select', which no longer echoes every possible 40 hex-byte string. - The 'automate genkey' command has been renamed to 'automate generate_key' New features - Options can now be overridden; you can specify '--no-unknown --unknown' on the command line and effectively get back the original state in the application. Similarly, you can specify '--no-unknown' in the 'get_default_command_options' hook and then override that with '--unknown' on the command line. - New global options: --no-ignore-suspend-certs undo previous --ignore-suspend-certs --use-default-key undo previous --key --allow-default-confdir undo previous --no-default-confdir --allow-workspace undo previous --no-workspace --interactive undo previous --non-interactive --no-standard-rcfiles replaces --norc --standard-rcfiles undo previous --no-standard-rcfiles --no-builtin-rcfile replaces --nostd --builtin-rcfile undo previous --no-builtin-rcfile --clear-rcfiles undo previous --rcfile --verbose [-v] increase verbosity (opposite of --quiet) - Global options now hidden: --roster-cache-performance-log - New command options: add --no-recursive undo previous --recursive --respect-ignore undo previous --no-respect-ignore --no-unknown undo previous --unknown bisect *, checkout, pivot_root, pluck, update, automate update --no-move-conflicting-paths undo previous --move-conflicting-paths diff --without-header undo previous --with-header --show-encloser undo previous --no-show-encloser disapprove, suspend --no-update undo previous --update drop --no-recursive undo previous --recursive explicit_merge, merge, merge_into_dir propagate --no-resolve-conflicts undo previous --resolve-conflicts --no-update undo previous --update log --no-brief undo previous --brief --no-diffs undo previous --diffs --clear-from undo previous --from --files undo previous --no-files --graph undo previous --no-graph --merges undo previous --no-merges --clear-to undo previous --to import --no-dry-run undo previous --dry-run --respect-ignore undo previous --no-respect-ignore mkdir --respect-ignore undo previous --no-respect-ignore serve --no-pid-file undo previous --pid-file sync, pull, push, automate remote_stdio, automate remote automate pull, automate push, automate sync --no-set-default undo previous --set-default sync, pull, push, automate pull, automate push, automate sync --dry-run just report what would be sent/received automate inventory --corresponding-renames undo previous --no-corresponding-renames --ignored undo previous --no-ignored --unchanged undo previous --no-unchanged --unknown undo previous --no-unknown automate content_diff --without-header undo previous --with-header automate show_conflicts --no-ignore-suspend-certs undo previous --ignore-suspend-certs automate log --clear-from undo previous --from --merges undo previous --no-merges --clear-to undo previous --to - Command options now hidden: (several commands) --no-prefix serve --stdio --no-transport-auth (all netsync/remote commands) --min-netsync-version --max-netsync-version - Deprecated options: --norc use --no-standard-rcfiles --nostd use --no-builtin-rcfile --reallyquiet use --quiet --quiet --debug use --verbose - To aid command line typing, partial option names are tried to be expanded; if the expansion leads to multiple possibilities, all matches and an accompanying short description of the particular expansion are displayed. Two types of expansions are available: simple prefix matching and word abbreviation matching. Single-word options like '--update' are easier to expand from prefixes, as they're unique after a few characters, in this example '--up' already matches. Multi-word options like for example '--ignore-suspend-certs' might collide however with single-worded ones and are best expanded from abbreviations, in this case '--isc'. - The 'disapprove' command now accepts a revision range in addition to a single revision. - A new 'manpage' command has been added which dumps the monotone command help including all global and command specific options in standard troff format. If this command is used interactively, its output is automatically processed through nroff and less, in case both are available on your system. If not, you can change the default command by overwriting the 'get_man_page_formatter_command' hook. The 'manpage' command is also used to create a static version of mtn(1) which is now installed with the rest of monotone's docs. - New 'k:' selector type to query revisions where at least one certificate was signed with the given key. - New automate command 'log' which behaves identical to the normal 'log' command, except that it only outputs the revision ids. - New automate command 'checkout' which works just as its non-automate counterpart. - Monotone now tracks file size information (hence the previously mentioned schema change). File sizes are currently only queryable via the automation interface, directly for specific files via 'get_file_size' or as part of the extended manifest (see below), but these information may become visible as part of the user UI later on as well. - New automate command 'get_extended_manifest_of', which prints a beefed-up manifest format with file size and extensive marking information. This can be used to easily determine when specific nodes have been changed or moved at last. - New automate commands 'put_public_key', 'get_public_key' and 'drop_public_key'. (closes monotone bug #30345) Bugs fixed - The 'mv' command now warns when a source is being renamed onto itself or one of its children (fixes monotone bug #29484). - The 'mv' command now also handles this usage properly, where 'foo' is a directory: $ mv foo bar $ mtn mv --bookkeep-only foo bar - monotone no longer asks to pick a branch from a set of branches of a revision in which all but one branch have been suspended (fixes monotone bug #29843) - The annotate command no longer fails if it should print out empty or untrusted date cert values (fixes monotone bug #30150) - monotone now tries harder to find the cancel hint in a commit message and only aborts if it can't find it anywhere (fixes monotone bug #30215) - The import command no longer warns about not being able to write out _MTN/options on --dry-run (fixes monotone bug #30225) - 'automate remote' and 'automate remote_stdio' can now be used without transport authentication (e.g. on file:// or ssh:// transports) as well as anonymously over netsync (fixes monotone bug #30237) - monotone does no longer warn about missing implicit includes when dealing with restricted file sets (fixes monotone bug #30291) - The 'passphrase' and 'dropkey' commands now handle private keys in old-style key files (without the hash part in the file name) properly. monotone also makes it very sure now that the key file of a private key which is about to be deleted really and only contains the key which should be deleted and nothing else (fixes monotone bug #30376) - monotone no longer throws an unrecoverable error if a public or private key is addressed with some non-existing key id (fixes monotone bug #30462) - A globish that contains a bracket pair with an empty sub-pattern such as "{,.foo}", "{.foo,}" or even "{.foo,,.bar}" now correctly expands the empty target, so e.g. the branch pattern "net.venge.monotone{,.*}" now matches "net.venge.monotone" and "net.venge.monotone.*" as expected. (fixes monotone bug #30655) - A regression in 0.48 made a path-restricted 'mtn log' show revisions, in which not the picked path(s), but one of its parents were changed. This has been fixed. - 'mtn trusted' will no longer accept single bogus revision ids, but instead validates if the given revision really exists in the current database. - 'mtn read' (and also 'mtn automate read_packets') now tests public and private key data more thoroughly and aborts if it encounters invalid data. - 'mtn conflicts store' now gives a proper error message when run outside a workspace (fixes monotone bug #30473) - monotone did not properly parse URIs which missed a scheme or which did not mark the start of the authority with a double slash. This has been fixed. (fixes monotone issue 94)
Diffstat (limited to 'devel/monotone')
-rw-r--r--devel/monotone/Makefile6
-rw-r--r--devel/monotone/PLIST3
-rw-r--r--devel/monotone/distinfo9
-rw-r--r--devel/monotone/patches/patch-aa28
4 files changed, 9 insertions, 37 deletions
diff --git a/devel/monotone/Makefile b/devel/monotone/Makefile
index 1616cde8d84..9063127f1ca 100644
--- a/devel/monotone/Makefile
+++ b/devel/monotone/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.64 2010/10/30 15:10:54 drochner Exp $
+# $NetBSD: Makefile,v 1.65 2010/11/07 20:51:45 jmmv Exp $
#
-DISTNAME= monotone-0.48.1
+DISTNAME= monotone-0.99
CATEGORIES= devel scm
-MASTER_SITES= http://monotone.ca/downloads/0.48.1/
+MASTER_SITES= http://monotone.ca/downloads/0.99/
MAINTAINER= jmmv@NetBSD.org
HOMEPAGE= http://monotone.ca/
diff --git a/devel/monotone/PLIST b/devel/monotone/PLIST
index fcc60549252..e4458b24adb 100644
--- a/devel/monotone/PLIST
+++ b/devel/monotone/PLIST
@@ -1,7 +1,8 @@
-@comment $NetBSD: PLIST,v 1.21 2010/03/15 09:51:32 jmmv Exp $
+@comment $NetBSD: PLIST,v 1.22 2010/11/07 20:51:45 jmmv Exp $
bin/mtn
bin/mtnopt
info/monotone.info
+man/man1/mtn.1
share/doc/monotone/figures/branch-heads.png
share/doc/monotone/figures/cert.png
share/doc/monotone/figures/difference-between-versions.png
diff --git a/devel/monotone/distinfo b/devel/monotone/distinfo
index dab0dc8b8b9..e0744ee88b0 100644
--- a/devel/monotone/distinfo
+++ b/devel/monotone/distinfo
@@ -1,6 +1,5 @@
-$NetBSD: distinfo,v 1.45 2010/10/30 15:10:54 drochner Exp $
+$NetBSD: distinfo,v 1.46 2010/11/07 20:51:45 jmmv Exp $
-SHA1 (monotone-0.48.1.tar.gz) = 0536efda6de6bd77b23ed4891161879645deb4f7
-RMD160 (monotone-0.48.1.tar.gz) = c3fe7132b45fd51ec08152edf097324f0c3f6e01
-Size (monotone-0.48.1.tar.gz) = 4868557 bytes
-SHA1 (patch-aa) = e94c896ef549d481207009727d67d6aad22759a1
+SHA1 (monotone-0.99.tar.gz) = badcf38bf532193124a88463c82a55a1e1f217a9
+RMD160 (monotone-0.99.tar.gz) = cf9c62ebd48a061c481f15d8e74d476e59bc259a
+Size (monotone-0.99.tar.gz) = 4940625 bytes
diff --git a/devel/monotone/patches/patch-aa b/devel/monotone/patches/patch-aa
deleted file mode 100644
index 301ae97f556..00000000000
--- a/devel/monotone/patches/patch-aa
+++ /dev/null
@@ -1,28 +0,0 @@
-$NetBSD: patch-aa,v 1.22 2010/10/30 15:10:54 drochner Exp $
-
---- database.cc.orig 2010-10-22 00:04:05.000000000 +0000
-+++ database.cc
-@@ -1489,12 +1489,19 @@ database_impl::fetch(results & res,
- vector<string> row;
- for (int col = 0; col < ncol; col++)
- {
-+ // We never store NULLs, so we should never see one.
-+ int const datatype = sqlite3_column_type(i->second.stmt(), col);
-+ E(datatype != SQLITE_NULL, origin::database,
-+ F("null result in query: %s") % query.sql_cmd);
- const char * value = (const char*)sqlite3_column_blob(i->second.stmt(), col);
- int bytes = sqlite3_column_bytes(i->second.stmt(), col);
-- E(value, origin::database,
-- F("null result in query: %s") % query.sql_cmd);
-- row.push_back(string(value, value + bytes));
-- //L(FL("row %d col %d value='%s'") % nrow % col % value);
-+ if (value) {
-+ row.push_back(string(value, value + bytes));
-+ } else {
-+ // sqlite3_column_blob() returns null for zero-length
-+ I(bytes == 0);
-+ row.push_back(string());
-+ }
- }
- res.push_back(row);
- }