29 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
wiz
|
7feebf9ca0 |
Update to 1.1:
Sun May 4 09:55:54 UTC 2014 1.1 release. Changes - '_MTN/wanted-testresults' must now have 1 hex-encoded signing key hash in lowercase per line. New features - 'automate atttributes' now also works without a workspace and returns the attributes for a specific file from the revision's manifest - New 'erase_descendants' automate command which returns all input revisions, except those that are a descendant of another revision in the input. - New 'min(A)' selector is now available which returns all revisions selected by A which are not descendants of other revisions selected by A. - New 'not(A)' selector is now available which returns all revisions not selected by 'A'. - All certs for a revision are now output by 'mtn log' with 'suspend', 'testresult', and custom certs placed under a a new 'Other certs' heading. - New conflict 'dropped/modified' allows explicitly resolving the case of a file that is dropped on one side of a merge, and modified on the other. Previously, the modifications were always lost; now you have the option of re-adding the file with the modifications during merge conflict resolution. - New attribute 'mtn:resolve_conflict' allows specifying a persistent 'drop' conflict resolution for a dropped/modified conflict. This is useful in the case where the conflict will occur again in the future, for example when a file that is maintained in an upstream branch is not needed, and therefore dropped, in a local branch. Bugs fixed - Monotone now compiles against Botan 1.10.x (as well as most of the testing releases in 1.9.y). - Struct file_handle got renamed to avoid clash with newer glibc's fcntl.h. - Monotone now compiles just fine with gcc's option "-Werror=format-security." - Fixed renaming across devices, for example if parts of the workspace are on NFS. - Fixed recursive file removal on Solaris. - Fixed a failure to revert some files when inodeprints is enabled. - Fix an early abort in netsync on Windows, which caused problems transferring large files. - Work around a 64-bit issue with mktime on Mac OS X for dates in 1901 and before. - Allow an ssh_agent socket path including dashes. - Monotone now works with Lua 5.2, even if it doesn't have backwards-compatibility compiled in. - Various fixes for compatibility with newer boost versions. - mtn add and mtn list are now more consistent in their use of --recursive and --unknown options. - Produce a meaningful error message when trying to disapprove a root. - Allow monotone to compile on platforms where MAXPATHLEN isn't defined (i.e. GNU/Hurd). - Allow monotone to compile on C++11-enabled g++ and clang++. - Allow the test suite to run on systems behind a broken DNS resolver and in cases where names cannot be resolved at all. - Allow the test suite to run from directories containing spaces and lots of other minor tweaks to the test suite making its results more reliable. Internal - The performance and memory usage of regular expressions has been improved throughout. This affects any use of the ".mtn-ignore" file such as "mtn ls unknown" and "mtn add", and any calls to "regex.search" in Lua hooks. Other - 'mtn diff' now outputs old and new revision IDs in the diff header when both are specified. - Additional Vim syntax files and an output colorization script in contrib. |
||
joerg
|
e817ab1e54 | Add missing include. Use C++11 STL for libc++ and when in C++11 mode. | ||
joerg
|
9f598ce4cc | shared_dynamic_cast -> dynamic_pointer_cast | ||
jmmv
|
cae55b11dd |
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) |
||
drochner
|
7d0b7ebd4e |
update to 0.48.1
changes: -fix crash on empty cmd line arguments which is considered a security problem because it can crash mtn server processes (SA41960) -minor fixes also add a patch from upstream to adapt to a behavior change in sqlite3-3.7.3 |
||
bjs
|
8ef8a196c2 |
Update to monotone-0.41.
pkgsrc-specific changes: add REPLACE_SH for new bin/mtnopt shell script. Remove unneeded patch-aa; the bug is no longer. NEWS: Changes - 'mtn clone' now takes a branch argument rather than a branch option which is more what people expect given the fact that mtn push/pull/sync do not use a branch option either. - 'mtn automate inventory' will show the birth revision for any file that has been committed. Bugs fixed - If the options '--db' or '--keydir' were previously specified for a command which was executed inside a workspace and one or both option arguments were invalid (f.e. invalid paths), they were still written to _MTN/options of the particular workspace. This lead to errors on any subsequent command which used these options. This bug is fixed in so far that basic file type checks are applied on both options, so its no longer possible to set non-existing paths accidentally or use a path to a directory as option argument for '--db'. - If a key clash occurs on a netsync operation, i.e. two different keys with the same key id are encountered, mtn now fails cleanly and provides further guidance how to proceed. - It was previously not possible to clone a branch / database anonymously; this has been fixed. - If the client tries to use an unknown key, try to fall back to anonymous pull instead of failing immediately. - 'mtn automate identify' was broken in 0.40 when used over stdio, i.e. the output of the command did not get into the right output channel; this has been fixed. - Monotone would produce a warning if executed from the root directory of a Windows drive; this has been fixed. - The 'note_commit' hook now returns the new revision id hex-encoded again - the bug was introduced in 0.40. New features - New 'mtn suspend' command which lets you mark certain revisions and thus whole branches as discontinued ("suspended") by attaching a special suspend cert to the revision. All relevant mtn commands (f.e. mtn heads, mtn ls branches) honor this cert by default. To ignore it, simply add '--ignore-suspend-certs' to your command line. Suspended revisions can have children, which are in no way affected by the cert of their parent, i.e. suspended development lines or branches can simply be "unsuspended" by committing to them. This feature was already added in monotone 0.37, but was forgotten to be mentioned in NEWS back then. - New 'get_default_command_options' lua hook which lets you specify default options for a given, triggered command. Useful f.e. if you always want to have your 'mtn add' command executed with '-R' / '--recursive'. - Add 'automate show_conflicts' command. - Add 'automate get_workspace_root' command. - Add Lua hooks 'note_netsync_revision_sent', 'note_netsync_cert_sent' and 'note_netsync_pubkey_sent'. |
||
dan
|
58abc5a739 |
you commit to cvs expecting it to work like monotone.
wizd hits you. (redo previous while actually committing the patch as well) |
||
jmmv
|
81bd594f9d |
Update to 0.39:
Changes - 'mtn di' is now an alias for 'mtn diff'. - 'automate db_set' has been renamed to 'automate set_db_variable'. - 'automate db_get' has been replaced by 'automate get_db_variables' which returns all database variables similar to 'list vars' in basic_io format, optionally restricted by domain. - The REVID argument of 'automate get_revision' is now mandatory; to retrieve the current workspace revision, use the new command 'automate get_current_revision' - messages describing conflicts from all of the various merge commands have been reworked and should be much more informative. - mtn show_conflicts now outputs much more detailed and descriptive messages, however it may report content conflicts that will be resolved automatically by the line merger. - The internal copy of PCRE has been updated to version 7.6. If you use the '--with-system-pcre' configure switch, it will insist on at least this version. - "emacs" has been removed from the list of dumb terminal types; tickers should now default to --ticker=count with emacs terminals - extensive section on merge conflicts and ways to resolve them added to the manual. Bugs fixed - for changes near the beginning of a file, mtn's unified diff output sometimes contained too many leading context lines. - the path handling of 'mtn revert' was improved and fixed two bugs: now a restricted revert on a node "dir1/file1" reverts only the content changes in "file1", but leaves renames of any of its ancestor nodes untouched; furthermore, if "dir0/" was renamed to "dir1" and "dir1/file1" was dropped, mtn now re-creates file1 at the proper place ("dir1/") and leaves no missing files around because of the non-existing "dir0/". - a few changes needed to build with gcc 4.3. New features - 'automate drop_db_variables' which drops one database variable (like the 'unset' command) or all variables within a given domain. - 'automate inventory' now accepts the options '--no-ignored', '--no-unknown', '--no-unchanged' and '--no-corresponding-renames'. Please consult the monotone documentation for more information about these new options. In addition, 'automate inventory' no longer recurses into ignored directories. The typical case of listing files that need attention now runs at least four times faster. - 'automate get_current_revision' which outputs the revision text of changes in the current workspace |
||
bjs
|
d9fbcc92ce |
Update to version 0.38. Fix one line of post-install target to allow
for DESTDIR support. Also, patch-ab is no longer necessary; patch-aa is merely a one-liner now. Changes since 0.37: Changes - mtn log now prints a single dot for a project's root directory instead of an empty string. - mtn now warns if changes to a file will be ignored because the file has been deleted on one side of a merge. - mtn now errors if your chosen private key doesn't match the public key of the same name in your database. - mtn now checks for your key before a merge action takes place to ensure that any manually merged file isn't lost in an error case Bugs fixed - a bug introduced in 0.37 prevented an external merger from being executed unless the MTN_MERGE environment variable was set - mtn read successfully reads revision data, and cert packets again - mtn consistently supports certs with empty values (fixed 'ls certs' and 'read') Internal - Update Botan to 1.7.2. - Moved the gzip implementation out of the Botan directory. Other - Added the scripts of the following Lua-based contributed Monotone extension commands to contrib/command/: "mtn base", "mtn fuse", "mtn revision", "mtn conflicts". - Added a hooks version of the contributed ciabot script, contrib/ciabot_monotone_hookversion.lua - The monotone manual is now licensed under the GPL rather than the GFDL. |
||
jmmv
|
6079da3bc9 |
Fix a bug in the configure script that prevents it from working on
NetBSD 3.0. Found by gavan@. |
||
jmmv
|
d04c7c138f |
Update to 0.37:
Changes - mtn db kill_rev_locally now checks for an existing workspace before the revision is killed and tries to apply the changes of this particular revision back to the workspace to allow easy re-committing afterwards - the "--brief" switch for mtn annotate has been renamed to "--revs-only" for clarity - mtn help now lists the commands (and their aliases) available within a group, so its easier to get an overview which commands are available at all - the "MTN_MERGE=diffutils" merger (provided by std_hooks.lua) was improved. It now accepts a MTN_MERGE_DIFFUTILS environment variable which can be used to control its behaviour through comma-separated "key[=value]" entries. Currently supported entries are "partial" for doing a partial batch/non-modal 3-way merge conflict "resolution" which uses embedded content conflict markers and "diff3opts=[...]" and "sdiffopts=[...]" for passing arbitrary options to the used "diff3" and "sdiff" tools. When used in combination with "mtn merge_into_workspace" this way one especially can achieve a CVS/SVN style non-modal workspace-based merging. - There is a new revision selector: "p:REV" selects the parent(s) of revision REV. For example, if a revision has one parent, mtn diff -r p:REV -r REV will show the changes made in that revision. - Monotone now uses the Perl-Compatible Regular Expression (PCRE) library for all regular expressions, instead of the boost::regex library. This means that external Boost libraries are no longer required to build or use Monotone. If building from source, you will still need the Boost headers available somewhere. See INSTALL for details. PCRE's syntax for regular expressions is a superset of boost::regex's syntax; it is unlikely that any existing .mtn-ignore files or other user uses of regexps will break. The manual now contains detailed documentation of the regexp syntax, borrowed from PCRE itself. - the format of "mtn automate inventory" has changed to basic_io. This fixes a couple of corner cases where the old format returned wrong information and introduces new capabilities like restricted output, recognized attribute changes, and more. For a complete overview on the new format, please take a look in the appropriate manual section. Bugs fixed - mtn automate heads called without a branch argument now properly returns the head revisions of the workspace's branch if called over mtn automate stdio - mtn commit no longer crashes if it creates a revision whose roster already exists, i.e. was left behind by the command `mtn db kill_rev_locally REV` (savannah #18990) Documentation changes - the documentation of the "--revs-only" (formerly "--brief") switch for the annotate command didn't match its actual behavior, this has been fixed - documentation for the "ssh_agent_add" command was missing and has been added Other - contrib/usher.cc has been removed. Please use the net.venge.monotone.contrib.usher branch instead. Internal - Update SQLite to 3.4.1. - Update Lua to 5.1.2 plus latest bug fixes. - Update Botan to 1.5.10. - Internal use of regular expressions has been almost eliminated. (Regular expressions are still used for .mtn-ignore and the --show-encloser feature of mtn diff, and are still available to Lua hooks.) |
||
jmmv
|
fde3ce0406 |
Fix configure under NetBSD 3.0; broken due to an unportable construction
of a 'case' statement. Reported by gavan@ and already sent upstream as revision 80e9c375945561d2469a25736fa31fa9475f6218. |
||
jmmv
|
a6545c6b87 |
Update to 0.36:
Changes - The help command is now able to show documentation on subcommands (such as 'attr set'). - The help command now shows a brief abstract of each command, instead of only listing their names. - The command `list changed` now outputs the new path of any renamed item making it easier to copy and paste these paths for external program usage. - `automate attributes` has been renamed to `automate get_attributes`, also a bug has been fixed there so resurrected attributes are now properly outputted as "new" and not "changed". New features - Two new commands to set and drop attributes over automate: `automate set_attribute` and `automate drop_attribute` - There is a new function available to the lua hooks, 'server_request_sync(what, address, include, exclude)', which will initate a netsync connection to the server at "address", with the given include and exclude patterns, and will sync, push, or pull, as given in the "what" argument. If called from a monotone instance which is not acting as a server, this function will do nothing. - There is a new hook available, 'get_netsync_key(server, include, exclude)', which is called to determine which key to use for netsync operations. Note that the server calls this once at startup with the address it is listening on, "*", and "" as arguments, rather than for each connection. Other - Giving the --confdir argument will automatically set the key store directory to keys/ under that directory, unless --keydir is also given. This is a bugfix. - Fixed a regression in 0.35 that resulted in some databases becoming significantly larger when storing new revisions. Existing databases with this problem can be fixed by pulling into a fresh database using 0.36. - contrib/lua-mode.el, a Lua mode for GNU emacs. - contrib/monotone-buildbot-notification.lua, a netsync hook to have a server notify a buildbot when new changes have arrived. Useful for anyone who uses a buildbot with monotone as source. - contrib/monotone-cluster-push.lua, a netsync hook script to have arriving changes be forwarded to other servers automatically. It uses the new internal lua function 'server_request_sync'. - contrib/mtn_makepermissions, a simple script to create read-permissions and write-permissions from files in the directories read-permissions.d and write-permissions.d, Debian style. - contrib/Monotone.pm, a first attempt to write a Perl module to interface with 'monotone automate stdio'. - contrib/monotone-import.pl has been removed since monotone now has an internal import command. Internal - Commands are now defined as a tree of commands instead of a plain list, which allows the help system to look up information of a command at an level in the tree. - The command class, the automate class and all the associated macros have been cleaned up. - All C++ files now depend on base.hh, which includes the few things that are used virtually everywhere. 'make distcheck' will check for the presence of base.hh in all source files and will protest if it's not there. This is explained further in HACKING. - Update the internal SQLite to version 3.4.0. - Updated Visual C building system, which now also builds the test programs. The script visualc/runtests.bat can be used to run the tests. - Monotone can now be built successfully with Boost 1.34. Older versions of monotone would sometimes seem to work depending on the compiler used, but would have bugs in path normalization. - Monotone now requires Boost 1.33 or later. - The Boost filesystem library is no longer required. - The Boost unit test system is no longer required. |
||
dan
|
1f92c96b8d |
pluck a number of fixes from mainline mtn to fix a bug introduced shortly
before the 0.35 release, which could cause monotone db files to grow larger than necessary by not removing some file/delta content as they were superceded by new versions. Most noticable on fresh pulls, or via "db check". Extra content can be cleaned up with a local sync into a fresh db. Changes from Matt Johnston, via pluck -r t:monotone-0.35 -r 397dcbd2f \ database.{cc,hh} diff_patch.{cc,hh} work.cc bump PKGREVISION |
||
jmmv
|
25be2d2ad7 |
Update to 0.35:
Changes - 'mkdir --no-respect-ignore PATH' now really skips any ignore directives from .mtn-ignore or Lua hooks - Private keys are now stored more safely, using file permissions. - The editable log summary (what you get in an editor when committing without -m) now includes information about which branch the commit applies to. - The status command and the editable log summary now show the same details about the change. New features - 'automate identify', an automate version of 'mtn identify'. - 'automate roots', prints the roots of the revision graph, i.e. all revisions that have no parents. Other - You can't drop the workspace root any more. Internal - Update the internal Lua to version 5.1.2. - Added build files for Mac OS X. - Update the internal SQLite to version 3.3.17. - Code cleanup of app_state. |
||
jmmv
|
493fe201b0 |
Update to 0.34:
The internal data format has changed with this release; migration is straight-forward. To upgrade your databases, you must run: $ mtn -d mydb.mtn db migrate All of these operations are completely lossless, and 0.34 remains compatible with earlier versions all the way back to 0.26 with regards to netsync. Changes - Text is now output at best of the environment's possibilities, transliterating them or substituting '?' as needed. - The lua hook get_author() now takes a second argument, a key identity, in case someone wants to create an author based on that and not only the branch name. - The command 'chkeypass' became 'passphrase'. - The commands 'drop', 'rename' and 'pivot_root' default to always perform the operation in the file system as well. They do not accept '--execute' any more, but will instead take '--bookkeep-only' in case the user only wants to affect bookkeeping files. New features - New hook note_mtn_startup(), which is called when monotone is started. - New Lua support function spawn_pipe(), which is used to run a command and get back its standard input and standard output file handles as well as the pid. - Monotone will automatically add a monotone key in a resident ssh-agent when it's first used, and will then use ssh-agent for all subsequent signing. Thus, you will only need to give the password once in one session. - New command 'ssh_agent_export' to export a monotone key into an SSH key. - New command 'ssh_agent_add' to add a monotone key explicitly to a resident ssh-agent. - New command 'clone' that combines 'pull' and 'checkout'. - 'automate put_file' and 'automate put_revision' stores a file and a revision in the database. - 'automate cert', an automate version of 'mtn cert'. - 'automate db_set', an automate version of 'mtn set'. - 'automate db_get', an automate version of 'mtn ls vars' with a twist. Other - contrib/ciabot_monotone_hookversion.py now uses a real basic_io parser and thus should send more precise information to the cia server. Furthermore, it has become more careful with creating zombies. - contrib/monotone-log-of-pulled-revs-hook.lua, a lua hook to display information about incoming revisions. - contrib/monotone-mirror-postaction-push.sh, a post action script that should be executed by contrib/monotone-mirror.sh to automatically push data on to other servers. - contrib/monotone-mirror.lua, a lua hook that executes contrib/monotone-mirror.sh after any netsync session is done. - contrib/monotone-mirror.sh now takes keydir and keyid configuration and has better protection against overlapping duplicate runs. - contrib/monotone.bash_completion now handles signals. - contrib/monotone.el now includes a commit button. Internal - Date and time display has now been reimplemented internally to avoid Boost more. This means that we have lowered our dependency from Boost 1.33.0 to 1.32.0. - Lots of code cleanup. - The heights cache got an index, making the processing faster. - Update the internal SQLite to version 3.3.13. - Algorithm to find uncommon ancestors has been rewritten, so 'pull' and 'regenerate_caches' should be faster. |
||
jmmv
|
bf12864e96 |
Update to 0.32. Tested under NetBSD 4.99.7 and Mac OS X Tiger:
Changes - "mtn serve" no longer takes patterns on the command line. Use the permissions hooks instead. - the name of the option that denoted the revision from which "mtn log" should start logging was renamed from "--revision" to "--from" - author selectors no longer have implicit wildcarding - if you manually add entries to MTN/log while you are working, in preparation for an eventual commit, you will now be required to remove a "magic" template line from the file before the commit will succeed. This, like the test for an empty log file, helps to prevent accidents. - the "db regenerate_caches" migration command replaces the previous "db regenerate_rosters", generalising the task of rebuilding or generating cached data that may be added across an upgrade. Like "db migrate", which upgrades the database schema, this command fills in the data for new features. In this release, as well as rosters, it also adds "heights" information used to speed up topology operations. Speed improvements - "mtn annotate file" and "mtn log file" are generally much faster now, dependant on the number of revisions that changed the file. Both commands as well as "mtn automate toposort" make use of data called "heights" caching the topological order of all revisions. In order to create and use this data, the following must be run once for each db after upgrading: $ mtn -d mydb.mtn db regenerate_caches New features - "mtn automate content_diff" - "mtn automate get_file_of" (same as get_file, but expects a file path and optionally a revision) - "mtn import" command - "mtn log --to" - netsync_note_* hooks are given much more information, inlcuding a http/smtp/etc style status code - includedirpattern(dir, fileglob) function for hooks Bugs fixed - bug in "automate stdio" that would result in monotone garbling its input in some circumstances fixed - "mtn annotate file" and "mtn log file" are generally much faster now, dependant on the number of revisions that changed the file. Both commands as well as "mtn automate toposort" make use of data called "heights" caching the topological order of all revisions. - spawn_redirected hook function now understands a blank filename to mean not to redirect that stream - "mtn log" is now in proper topological order, also due to the use of cached "heights" data - reset options between "automate stdio" commands - another compile fix for gcc3 - bug in localization code where option strings where not always properly translated Other - botan library upgraded to 1.6.0 - accommodate changes in boost 1.34 - documentation for "mtn automate get_option" - notes/ directory |
||
dan
|
f7297433a1 |
fix from monotone mainline fbfd9b42c9e9fdb5d45e806cab07ad0dd57f7bf8:
cmd_automate.cc, cmd.hh, ...: renamed member variable "options" to "opts" to make (hopefully) the gcc-3.3 build slaves happy This went in just after the 0.31 release, but never made it to pkgsrc until now. |
||
jmmv
|
808be7edad |
Update to 0.31:
0.31 release. Code cleanups and bug fixes. New features: - If multiple --message (or -m) arguments are passed to 'commit', then they will be concatenated on separate lines. - The validate_commit_message hook is now told what branch the commit is on. Bugs fixed: - The typo that prevented building with gcc 3.3 has been fixed. - Attempting to commit without a signing key available now fails earlier. - Command-line option parsing has been redone yet again; this should fix a number of bugs caused by the use of boost::program_options. For instance, command line error messages are now l10nized again, "--depth=asdf" now gives a sensible error message instead of crashing, and --key= now works as an alternative to -k "". - A bug in the new roster caching logic that caused assertion failures on very large trees has been fixed. - A rare bug in the "epoch refinement" phase of the netsync protocol has been fixed. - Accidental (and undocumented) change to 'automate inventory' output format reverted; documentation is now correct again. - Some obscure error conditions with 'pivot_root' fixed. Many fixes to 'automate stdio': - IO handling has been rewritten, to remove some obscure bugs and clean up the code. - automate commands can now take options (even when used with 'automate stdio'). - The default block size has been increased to 32k (which should considerably reduce overhead). - Many automate commands were flushing their output far too often, causing major slowdowns when used with 'automate stdio'; this has been fixed. - Syntax errors now cause 'automate stdio' to exit, rather than attempting to provide usage information for the calling program to read. Other: - New large-coverage random testsuite for delta reconstruction path finding algorithm. - Miscellaneous code cleanups and improved error messages. - Enhancements to debian packaging. - New translation to es (Spanish). |
||
dan
|
ab0530311a |
Fix a regression introduced between 0.29 and 0.30 detected when
handling large repositories like NetBSD src. Problem found by riz@, fix from mainline a:njs/d:2006-09-22T07:01:26, tested by me. bump rev to nb1 ChangeLog: 2006-09-21 Nathaniel Smith <njs@pobox.com> * lru_writeback_cache.hh (clean_insert): Correct the cache overflow logic so as to _actually_ never remove the last element. Add an invariant to verify this. (insert_dirty): Add an invariant here too. |
||
jmmv
|
a16ab89c38 | Fix build with gcc 3.x (dunno why it compiled with 4.x...). From riz@. | ||
jmmv
|
f6d77e48a4 |
Update to 0.27. OK'ed by wiz@ during the freeze.
0.27 release. Minor bug fixes and enhancements, plus ssh support. Major new features: - Monotone can now push/pull/synchronize over arbitrary bidirectional streams, not just raw TCP. - File-to-file synchronization is enabled out of the box, e.g.: $ mtn -d db1.mtn sync file:/path/to/db2.mtn - SSH synchronization is enabled out of the box, e.g.: $ mtn -d local.mtn sync ssh://njs@venge.net/home/njs/remote.mtn Note that this requires mtn be installed on the remote computer, and locks the remote database while running; it is not ideal for groups accessing a shared database. - New protocols can be defined with Lua hooks -- for example, someone could in principle make "$ mtn sync xmpp://njs@jabber.org" do something interesting. - See section "Other Transports" under "Advanced Uses" in the for more details. Minor new features: - Selectors now support escaping, e.g., b:foo\/bar can be used to refer to a branch with name "foo/bar" (normally / is a metacharacter that separates multiple selectors). - Visual C++ can now build monotone on Windows. (Mostly important because it allows better Windows debugging.) - --quiet now turns tickers off, and does not turn warnings off. New option --reallyquiet disables warnings as well. - New command 'automate common_ancestors'. - 'ls branches' now takes a pattern, e.g.: $ mtn ls branches "*contrib*" Speed improvements: - Bug in select() loop fixed, server should no longer pause in processing other clients while busy with one, but multiplex fairly. - The database has a new write buffer which gives significant speed improvements in initial pulls by cancelling redundant database writes. - There's been a fair bit of performance tuning all around. Bug fixes: - Merge tools that exit in failure are now detected. - Better reporting of operating system errors on Win32. - Passphrases stored in ~/.monotonerc are no longer written to the log file. (Passphrases entered at the terminal were never written to the log file.) - Fix sql injection bugs in selectors, making it safe to expose slectors in web interfaces etc. - Files marked with the mtn:execute attr now respect umask. - 'automate' commands on Win32 now disable newline translation on their output; this is especially important for 'automate stdio'. - 'db check' now calls the sqlite "PRAGMA integrity_check", to validate the integrity of things like sqlite indices. - 'mtn annotate nonexistent-file' now gives a proper error message, instead of an assertion error. - 'mtn revert --missing' now works correctly when run in a subdirectory. - 'automate inventory' no longer fails when _MTN/work contains patch stanzas. Other: - Many, many internal code cleanups - Including changes to somewhat reduce the size of the binary - New tutorial on using packets added to the manual - Updated translations, improved error messages, etc. Reliability considerations: - In the two months since 0.26 was released, zero serious bugs have been reported in the new code. |
||
jmmv
|
4695233db0 | Properly fix headers in html files within the html directory. | ||
jmmv
|
e419137afd | Avoid the need for perl during the build. | ||
jmmv
|
d7f7d9454d |
Update monotone and monotone-server to 0.22 (from 0.19):
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. |
||
rillig
|
a630ec9ff1 |
Added a patch that #includes <unistd.h> for non-Win32 systems. Approved
by xtraeme. |
||
jmmv
|
17658ba0e6 |
Update to 0.16, which includes mostly important bug fixes:
- 50+ new integration tests - many NetBSD portability fixes - release build on gcc 3.4 / FC3 - masses of changeset bugs in 0.15 fixed Some bogus changesets were generated in the 0.16 development cycle. You will need to rebuild revision graph. |
||
jmmv
|
30055dce44 |
Changes in the package, coming from a monotone package I started creating
yesterday w/o having checked for this one: - Beautify DESCR. - Take maintainership. - Handle monotone.info properly. - Mark the package as C/C++. - Use boost's toolset.mk to get the compiler name. - Simplify patches by using CPPFLAGS. - Add missing dependencies. While here, update to 0.15: - overhauled the internal representation of changes. see README.changesets for details. - fixed bugs in merkle trie synchronization code. - fixed echoing and progress UI bugs (helps when using in emacs). - upgraded cryptopp to 5.2.1. - fixed bug 8715, diff hunk coordinate reporting. - added figures, new tutorial to manual. - improve accuracy of log command. - several build, configure, and linkage fixes. - some OSX / PPC portability fixes. |
||
drochner
|
3e530bcf25 | import monotone-0.14, another distributed revision control system |