monotone

Software Screenshot:
monotone
Software Details:
Version: 1.0
Upload Date: 11 May 15
Developer: Graydon Hoare
Distribution Type: Freeware
Downloads: 13

Rating: 4.0/5 (Total Votes: 1)

monotone is a distributed version control system with a flat peer model, cryptographic version naming, meta-data certificates, decentralized authority, and overlapping branches.

monotone works out of a transactional version database stored in a regular file, and uses a custom network protocol for efficient database synchronization.

What is new in this release:

  • - The database scheme was changed; please execute 'mtn db migrate'on all your local and remote databases.
  • In 'mtn conflicts resolve_first interactive', the result file name now defaults to _MTN/resolutions/.(fixes monotone issue 103)
  • The French monotone translation has been updated and is now part of the main distribution again. Many thanks to Steve Petruzzello for the outstanding work!
  • get_netsync_(read|write)_permitted have been extended to not only read the files read-permissions and write-permissions, but also the files in the subdirectories read-permissions.d and write-permissions.d.
  • monotone now also tracks the workspaces of databases which do not reside in a "managed" location.
  • automate now resets the locale to "POSIX" internally. This means that all scripts can expect the same untranslated messages from mtn automate, regardless of the locale of the calling process.
  • The hook 'get_netsync_key' has been split up into two separate hooks, one for client usage ('get_netsync_client_key', with the same arguments as the original 'get_netsync_key') and one for server usage ('get_netsync_server_key', with a single table argument containing all the given '--bind' options). Please review your custom hooks accordingly.
  • Short options ('-b', '-d', ...) are no longer completed. This fixes an invariant failure originating from wrong option usage.(closes monotone issue 141)
  • New Features:
  • 'mtn conflicts store' now outputs a count of the conflicts, and the name of the conflicts file. (fixes monotone issue 108)
  • New 'mtn list workspaces' command which outputs all the known workspaces for a specific database. (closes monotone issue 129)
  • Bugs fixed:
  • The internal line merger will actually preserve your line endings now, instead of changing everything to "\n".
  • Improved the help and fixed the argument indexing in 'conflicts resolve_first' (fixes monotone issue 101)
  • A regression from 0.48 prevented monotone from ordering the diff output of individual files alphabetically. (fixes monotone issue 102)
  • 'mtn privkey' did not recognize private keys solely available in the key store. This has been fixed.
  • Added compatibility with Botan 1.9.9 and newer. (fixes monotone issue 104)
  • 'mtn pull' and 'mtn sync' would always say that your workspace has not been updated. Now, it only does that when you used the '--update' option and there were no updates. (fixes monotone issue 106)
  • 'mtn automate remote' and 'mtn automate remote_stdio' now use a given database given by an alias to read, store and validate a remote server's key fingerprint (fixes monotone issue 95)
  • monotone gives a proper error message now if a netsync URI with the 'mtn' scheme misses the required host part (fixes monotone issue 110)
  • Whenever a binary file was removed and one would try to get a diff using mtn diff, it would report that "/dev/null is binary". This has been changed to it reports the actual name of the removed file instead.(fixes monotone issue 111)
  • monotone no longer wrongly falls back on a :memory: database when no database option is given. It also prints out an informational message for commands like 'setup' and 'clone' that fall back on the configured default database, again, if no database is specified for these commands. (fixes monotone issue 113)
  • monotone no longer enforces ".mtn" as file extension for managed databases. A new Lua hook, get_default_database_glob(), is used instead to determine a pattern which matches accepted database filenames and this pattern by default accept files ending with both, ".mtn" and ".db". (fixes monotone issue 128)
  • monotone now gives a proper error message when an incomplete or partial identifier contains non-hex digits. (fixes monotone issue 143)
  • Performance of "mtn ls changed" has been improved and is now comparable to "mtn status". (fixes monotone issue 120)
  • Internal:
  • The source tree has been reorganized. Sources, tests and documentation now reside in specific directories and many smaller improvements in terms of source code cleanup,
  • developer documentation and general build infrastructure accompany this big change.
  • Other:
  • Added a new directory extra/, which contains monotone hooks and related scripts that have been shown to work. Most of these get installed, usually somewhere under $(prefix)/share/monotone. Please read extra/README for further information.
  • Added the mtn-cleanup Perl script that returns a workspace to its pristine state with the minimum amount of change. This script is in the extra/bin directory.

What is new in version 0.99:

  • This version contains almost countless bug fixes, changes, and new features.
  • Among them are a heavily extended revision selector functionality, a much improved user interface, and the possibility to "dry-run" network operations.

What is new in version 0.48:

  • Changes:
  • Much more information is now passed to the editor when composing a commit message for a new revision. The Author, Date, Branch and Changelog values may now all be changed directly in the editor allowing new branches to be created without using the --branch option. Changes to other lines of this information must not be made or the commit will abort.
  • The edit_comment lua hook now only takes one argument which is the text to be passed to the editor to edit a commit. Existing hooks that override the default hook will need to be changed to work properly.
  • The long date/time format used by 'status', 'commit' and 'log' must be sufficient to preserve a date through a formatting and parsing cycle. The 'status' command now checks for this and warns if the format is unsuitable and 'commit' will refuse to operate with an unsuitable format.
  • The output of the 'status' and 'log' commands has changed to align with the new information displayed by 'commit' so that all three commands display revisions similarly.
  • The 'setup' as well as the 'clone' command check if no managed default database exists and if no database is given either as command line or as workspace option and eventually create a new default database outside of the bookkeeping directory of the new workspace (see below for more information on the new management features).
  • The output of monotone diff has changed to use /dev/null as the source for added files and as the target for deleted files. This is compatible with patch(1) and will cause it to add and delete files where appropriate. As part of this change diff will now include the removed contents of deleted files which were omitted in earlier versions of monotone.
  • Monotone will only warn about bad certs if there are not also matching trusted certs. So if someone commits a bad branch cert, monotone will only warn about that bad cert until someone else approves that revision into the same branch (fixes monotone bug #8033).
  • 'db check' now checks for errors in the branch heads cache, and 'db regenerate_caches' fixes them.
  • The output of the Lua functions print() and io.write() is now redirected to the standard progress message stream of monotone. See chapter 6.3 in the documentation for details.
  • New features:
  • Monotone has now database management capabilities: If you place your databases in one or more specific locations (defaults to %APPDIR%/monotone/databases on Windows and $HOME/.monotone/databases on Linux, configurable by a hook), it is able to discover these databases and access them only by giving the (base) name of their filename, for example ":my-database.mtn". You can also directly create new databases in the first found default location by issuing 'mtn db init -d ":my-database.mtn". Some commands, like 'setup' and 'clone' automatically fall back to a default database (":default.mtn", also configurable by a hook) if no database option is explicitely given. Additionally, monotone remembers checked out workspaces for every managed database and displays these "known" registered paths together with other information in the new 'list databases' command (closes monotone bug #8916).
  • A set of accompanying management commands
  • 'register_workspace', 'unregister_workspace' and 'cleanup_workspace_list'
  • to handle moved or removed workspaces for managed databases have been added.
  • Many commands that change the heads of a branch (approve, disapprove, pull, merge, etc) can now take an option "--update". If run from a workspace which is based on a head of the branch and has no local changes, this option makes these commands update that workspace to the new head. If you always want this behavior, you can define the get_default_command_options(cmd) hook in your monotonerc (fixes monotone bug #17878).
  • New command 'undrop' which undoes a 'drop' done by mistake (fixes monotone bug #13604).
  • New automation command 'update' which behaves identical to the normal 'update' command.
  • 'ls tags' now outputs the branch name(s) a tagged revision is on. The revision id is shortened to the first ten characters to get some more space for this (fixes monotone bug #12773).
  • Default include and exclude patterns are now remembered per server. This means that you can have for example one server that you sync everything to, and one that you only sync some branches to, and you don't have to worry about forgetting to give the include pattern and accidentally trying to sync everything to the second server.
  • A new Lua extension function change_workspace(directory) has been added. This should be most useful for custom commands which need to work on multiple workspaces from the same monotone instance.
  • There is also the new server_set_listening(bool) Lua extention function available since 0.47, which can be used to let a monotone server exit gracefully instead of having to be killed. Bugs fixed
  • A regression in 0.47 prevent successful execution of push / pull / sync over pipes (Debian bug 574512); this has been fixed.
  • A bug in 0.46 and 0.47 could lead to pulls or possibly commits taking approximately forever, if any of the previous branch heads was not a "close" relation of the new head. This has been fixed.
  • Several bugs related to restrictions not including the required parent directories of included files have been fixed. It is now possible to say 'mtn add a/b/c' followed by 'mtn commit a/b/c' and have the commit succeed. See the restrictions section in the manual for more details (fixes monotone bugs #15994, #17499, #20447 and #22044).
  • monotone no longer saves changed options from the command line back to _MTN/options in case the command execution was unsuccessful (fixes monotone bug #22928).
  • When monotone reads packets from files, like f.e. keys in a directory given by the --keydir option, and these files are large and do not contain packet data at all, monotone no longer uses an excessive amount of time and memory to figure this out (fixes monotone bug #28799).
  • The 'log' command no longer crashes if it is executed in a workspace whose parent revision(s) do not exist in the specified database (fixes monotone bug #29677).
  • The 'clone' command no longer removes an existing bookkeeping directory if the target directory "." points to a workspace (fixes monotone bug #29927).
  • The commands in monotone's help output are now sorted alphabetically.
  • monotone on Windows will now have a non-zero exit code when interrupted (^C). This was broken in 0.47 when it was fixed to not throw an exception on being interrupted.
  • In 0.46 and 0.47, monotone could sometimes get confused about which revisions were the heads of a particular branch. This would happen when a new branch cert was added to a revision that was an ancestor of one or more of the current heads of the branch, most commonly during netsync when multiple people had performed identical merges. This is fixed now. 'db check' will identify the problem; if your database currently gives incorrect 'heads' results, or 'mtn bug' on 'merge', you can fix it by running 'mtn db regenerate_caches'.
  • In 0.46, spurious network disconnects could occur when transferring sufficiently large items (files, diffs, revisions). This was fixed in 0.47 but not noted in the release notes at that time (fixes monotone bug #28991).
  • Other:
  • Support for the diffuse merger (http://diffuse.sourceforge.net) has been added.

What is new in version 0.47:

  • Changes:
  • The default '' author used by the git_export command has
  • changed to 'Unknown ' and must be changed in existing author
  • map files. The old '' author will be rejected by the new
  • validate_git_author lua hook.
  • The 'git_export' command now validates all git author and committer
  • values using a new 'validate_git_author' lua hook before they are
  • written to the output stream. The export will fail if any value is
  • rejected by this hook.
  • The 'git_export' command now calls a new 'unmapped_git_author' lua
  • hook for all git author values not found in the author map file. The
  • default implementation of this hook attempts to produce valid git
  • authors using several default pattern replacements.
  • The 'get_date_format_spec' lua hook now has an additional parameter
  • which hints at the wanted format (f.e. a short date or a long date
  • time). The default implementation now returns '%x' for short and
  • long dates, '%X' for short and long times (currently unused) and
  • '%x %X' for short and long date times.
  • The options '--date-format' and '--no-format-dates' are no longer
  • specific to the 'log' command, but can now be used globally.
  • monotone now prompts only three times for a key password.
  • New features:
  • Added portuguese translation (thanks to AmArico Monteiro)
  • Bugs fixed:
  • 'passphrase' now allows an empty new password to be given
  • (fixes monotone bug #28809)
  • 'automate remote' and 'automate remote_stdio' no longer
  • require an existing database (fixes monotone bug #28885)
  • monotone no longer throws an exception on Windows if it is
  • interrupted (^C); a couple of other bug have been fixed for this
  • platform as well which generally improve the compatibility.
  • The annotation of 'annotate' is now localized.
  • The various occurrences where a revision is described by its
  • certs now come with proper localized date output.
  • Fix problems with newer Lua versions especially when
  • LUA_COMPAT_VARARG not set.
  • Other:
  • Roster handling has been sped up significantly, and roster cache
  • performance has been fixed for the case of overly large rosters.
  • This should be mostly noticable when digging through history
  • (especially initial pulls, since those send so many revisions),
  • and be more noticable for projects with larger trees.

What is new in version 0.43:

  • monotone no longer bundles several required 3rd party libraries, which makes the life of distributors easier.
  • A monotone server can now be configured to use forward deltas, which speeds up netsync servers quite a lot.
  • The performance of mtn log has been improved tremendously, and new useful selectors are available there.
  • monotone can now export its databases into Git's fast-import format to allow easier collaboration with this particular VCS.
  • There are many bugfixes.

What is new in version 0.42:

  • Amongst the usual bug fixes, small improvements, and speedups in several areas, the outstanding new feature is that you can now handle merge conflicts asynchronously.

What is new in version 0.41:

  • This version fixes some annoying bugs and adds a few new features, mainly in the automation interface.

Requirements:

  • Glibc 3.4.x

Similar Software

Cervisia
Cervisia

2 Jun 15

KDESvn
KDESvn

20 Feb 15

SCCS
SCCS

11 May 15

git-goggles
git-goggles

15 Apr 15

Comments to monotone

Comments not found
Add Comment
Turn on images!