Wed Sep 23 16:05:07 2009 UTC ()
Update to 0.45.  Changes since 0.42 follow:

Fri Sep 11 20:50:00 UTC 2009

        0.45 release.

        Changes

        - Certs now link to the key that signed them by the key's
          hash, instead of its name.  This should provide some
          security and usability improvements.

          The database schema has been changed, so you will need to
          run 'mtn db migrate' (preferably after making a backup copy
          of your db).

          The netsync protocol version has also changed. However, we
          found space to implement full protocol version negotiation,
          so no flag day is needed.  If your particular project has a
          situation where there are multiple keys with the same name,
          you will receive errors when trying to sync certs signed by
          those keys to older netsync peers.

          A number of commands have slightly different output now,
          particularly 'ls certs', 'ls tags', 'automate keys',
          'automate tags' and 'automate certs'.  There is a new Lua
          hook associated with these changes,
          'get_local_key_name(identity)', and all Lua hooks that used
          to take a key name as an argument now instead take a table
          with several fields.

          Commands which previously accepted a key name now also
          accept the key's hash or local name, which is a local alias
          for equally named keys.  'read-permissions' and
          'write-permissions' accept either the key name or the hash.

          There is also a new 'db fix_certs' command which fixes wrong
          key assignments in migrated databases if you have the correct
          key available.

        - The 'resolved_user' conflict resolution is no longer
          reported by 'automate show_conflicts' for file content
          conflicts; 'resolved_user_left' is used instead.

        - 'format_version' was removed from 'automate tags' and
          'automate get_attributes' which both do not need this
          additional versioning information.

        New features

        - The 'log' command now, by default, converts all dates it
          prints to your timezone instead of leaving them in UTC, and
          uses a somewhat more friendly format for the dates.

          You can customize the date format with the new
          "get_date_format_spec" Lua hook, which returns a strftime(3)
          format string.  You can also override the format for one
          command with the new --date-format option, disable date
          conversion for one command with --no-format-dates, or
          disable it by default by having the above Lua hook return an
          empty string.

        - The 'diff' and 'automate content_diff' commands take a
          '--reverse' option when one revision is specified, to
          control the order of the diff with the workspace.

        - The 'update', 'checkout', 'pluck', and 'pivot_root' commands
          take an option '--move-conflicting-paths', to handle
          unversioned files that are blocking the action. The
          unversioned files are moved to
          _MTN/resolutions/<workspace_path>, so the action can
          succeed, and the user can recover the files if necessary.

        - Resolution of orphaned file conflicts is now supported by
          'merge --resolve-conflicts' and the 'conflicts' commands.

        - Duplicate name conflicts now support the 'keep' resolution.

        - Monotone now accepts ':memory:' as argument to the --db option
          and sets up a memory-only SQLite database.

        - 'clone' allows cloning into the current directory when
          '.' is given as argument.

        Bugs fixed

        - Monotone now sanely skips paths with invalid characters
          it encounters during 'add' or 'automate inventory'.

        - Key names, cert names, and var domains with non-ASCII
          characters should work properly now.  Previously, they would
          be (usually) converted to punycode on input, and not decoded
          on output. They will now not be converted to punycode at
          all.

        - The 'conflict' commands can now handle duplicate name
          conflicts for directories.

        - 'cvs_import' now properly parses CVS timestamps (again).

        - Windows' cmd.exe is recognized as smart terminal and thus
          monotone should create more readable output in
          netsync operations.

Tue May 12 20:44:00 UTC 2009

        0.44 release.

        Changes

        - Private keys no longer have a separate hash from the associated
          public key. This changes the hashes output by 'ls keys', and also
          changes the format of 'automate keys' and 'automate genkey'.

        New features

        - New 'w:' selector type for selecting the revision the workspace
          is based on.

        Bugs fixed

        - C++ exceptions in Lua extension functions are now converted into
          Lua errors catchable with pcall, instead of causing a crash.

        - In 0.43 revert became excessively noisy and would report changes to
          all attributes on included files and directories regardless of whether
          the attributes had been changed or not. This has been silenced.
          Monotone will now specifically report changes to execute permissions
          only when they occur.

        - In 0.43 monotone would lose execute permissions on all files modified
          during an update operation. Execute permissions are now reset on
          updated files that have the mtn:execute attribute set to true.

        - Invalid revision selectors now cause an immediate error instead of
          being dropped from the selection.  The old behavior could produce
          undesired effects from typoed commands, such as spewing a list of
          all revisions in the database.

        - If "automate stdio" is in use, invalid selectors are reported via
          the automate protocol rather than on stderr.

        - "Best-effort" character set conversions now work again; 'mtn log'
          will not crash just because there is a change log entry with a
          character not representable in your locale.  However, if your system
          iconv(3) implementation does not support the //TRANSLIT extension,
          you may see garbage characters in the above scenario.

        Internal

        - Various small code changes to make monotone compile under (Open)
          Solaris using Sun Studio, and under Windows with Visual C++.

        - monotone.spec has been removed from the distribution.

Sun Mar 22 22:26:00 UTC 2009

        0.43 release.

        Changes

        - The Monotone source distribution no longer includes copies of
          several third-party libraries.  This means they must be downloaded
          and built separately, before building monotone.  See INSTALL for a
          complete list of necessary libraries.

          This allows monotone's developers to concentrate on monotone
          itself, rather than tracking external library updates, which in
          practice did not happen.  By way of illustration, we were still
          shipping sqlite 3.4.1, which is years out of date.  This has also
          been a long-standing request of various redistributors of binary
          packages, who prefer the use of globally shared libraries.

        - There is a new db var "database delta-direction", which can have
          values "reverse" (default), "forward", and "both". This controls
          what kind of deltas are stored for new file versions. Forward
          deltas are very fast for netsync, but slow for most other uses.
          Set this to "both" (or perhaps "forward" if you're very short on
          disk space) on an empty db and pull everything into it, to get a
          database which will be much faster for server usage (especially
          initial pulls).

        - 'mtn help <command_or_group>' or 'mtn <command_or_group> --help' no
          longer print global options, thus making the output of specific help
          requests more compact. You still see all available global options
          by executing 'mtn help' without any arguments.

        - 'mtn automate get_current_revision' now returns an empty changeset
          instead of an error if a workspace contains no changes.

        New features

        - A monotone database may be exported in the git fast-import format
          using the git_export command. The output from this command may be
          piped into git fast-import or other tools supporting this format.

        - Additional 'u:' and 'm:' selector types for selecting the revision the
          workspace was last updated from and revisions matching specified
          message globs in changelog and comment certs.

        - Additional '--revision' option for 'mtn log' allows logging of
          selected sets of revisions.

        - Additional '--full' option for 'mtn db info' to display some
          statistic analysis of the date certs in the database.

        - Command line options in the EDITOR and/or VISUAL environment
          variables are honored; for instance, EDITOR="emacs -nw"
          works now.  (Debian bug #320565.)

        - The `mtn_automate' lua function now correctly parses and sets
          options for executed automate commands.

        - The 'commit' command accepts a non-empty _MTN/log as the log
          message when '--message-file=_MTN/log' is given.

        Bugs fixed

        - Performance of the log command has been improved significantly.
          Previous versions of monotone loaded individual certs by name for each
          printed revision and this caused sqlite to not use the correct
          index. Now, all certs are loaded for each printed revision once and
          individual certs are selected from the full list which allows sqlite
          to use the preferred index.

        - In 0.42, a netsync writer would attempt to queue up all outgoing
          data as soon as it knew what data to send, in a single operation,
          without servicing the event loop. If there was a large amount of
          data to send, this would cause very long pauses and sometimes
          timeouts and dropped connections (for pauses over 10 minutes).
          The bug that caused this is fixed, and that operation now has a
          safety timer that should prevent it from coming back.

        - When the netsync server receives garbage over the network, it
          should be much better about only terminating the offending connection
          instead of the entire server.

        - The log command was missing '--depth' and '--exclude' options used to
          restrict revisions printed to those touching specific paths. Log now
          allows these options and uses them properly.

        - The update command previously did not clear execute permissions from
          files that had their associated 'mtn:execute' attribute cleared.

        - Several minor problems with workspace attributes have been fixed.
          Earlier versions of monotone would reset attributes such as
          mtn:execute on all files when any workspace modifying command was
          executed. Applying attribute changes to workspace files is now done
          much more selectively in the same manner that content and name changes
          are applied.

        - In certain cases, especially also on FreeBSD and Mac OS X, netsync
          called select() even after read() returned 0 bytes to indicate the
          end of the file, resulting in a confusing error message. This
          is fixed by treating EOF specially and prevent further calls
          to select() on the file handle, as recommended by the
          select_tut man page.

        - If given a filename, `mtn ssh_agent_export' now creates that
          file with the correct permissions (i.e. mode 600), creates
          directories as necessary, and does not throw an internal
          error if creation or writing fails.  (You're still on your
          own for directory creation and permissions if you take the
          key on standard output and redirect it to a file.)

        - The `p:' selector now accepts single character revision ids.

        - `mtn merge_into_workspace' no longer crashes if one tries to merge
          in an ancestor or descendant of a workspace, but gives a helpful
          error message.

        - Several bugfixes to `mtn automate stdio':

          * It now correctly distinguishs between syntax and command errors by
            returning error code 1 for the former and error code 2 for the
            latter - just as advertised in the documentation.

          * The stdio event loop no longer quits if a syntax error occurs, but
            rather discards the wrong state and accepts new (valid) commands.

          * Option errors haven't been catched properly and thus weren't encoded
            in stdio either; this has been fixed as well.

          * Global options, which were set or changed by a previously executed
            command, weren't properly reset before the next command was issued.
            It was f.e. not possible to "unignore" suspended branches for
            the `branches' command when `--ignore-suspend-certs' was given in
            a previous run. Now only those global options persist between
            executed commands which were given to stdio directly.

        Internal

        - Using 64 bit integer values to represent dates internally. This
          has no user visible effect.

        - The unit test code has been separated from the main source, thus
          building the tests no longer requires a full recompilation. Also,
          the number of modules which are linked into unit tester has
          decreased tremendously.

        - A couple of debug commands have been added to the `database'
          command group to aid performance timing. See `mtn help --hidden db'
          for a list of available commands.

        - Our internal error handling has been overhauled. N() is gone, and E()
          takes three arguments instead of 2: E(bool, origin::type, i18n_format).
          origin::type is an enum describing the source of the error, eg network,
          user, internal. Data types can publically inherit origin_aware (as the
          vocab types do) to obtain a public origin::type member named
          'made_from'; this can then be supplied to E() when sanity-checking
          that data. origin_aware and origin::type are in origin_type.hh.
          I() will throw a unrecoverable_failure, and E() will throw either a
          unrecoverable_failure or a recoverable_failure depending on the
          origin::type provided. informative_failure is gone.


(jmmv)
diff -r1.58 -r1.59 pkgsrc/devel/monotone/Makefile
diff -r1.18 -r1.19 pkgsrc/devel/monotone/PLIST
diff -r1.40 -r1.41 pkgsrc/devel/monotone/distinfo

cvs diff -r1.58 -r1.59 pkgsrc/devel/monotone/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/monotone/Makefile 2009/04/03 19:40:22 1.58
+++ pkgsrc/devel/monotone/Makefile 2009/09/23 16:05:06 1.59
@@ -1,56 +1,63 @@ @@ -1,56 +1,63 @@
1# $NetBSD: Makefile,v 1.58 2009/04/03 19:40:22 joerg Exp $ 1# $NetBSD: Makefile,v 1.59 2009/09/23 16:05:06 jmmv Exp $
2# 2#
3 3
4DISTNAME= monotone-0.42 4DISTNAME= monotone-0.45
5CATEGORIES= devel scm 5CATEGORIES= devel scm
6MASTER_SITES= http://monotone.ca/downloads/0.42/ 6MASTER_SITES= http://monotone.ca/downloads/0.45/
7 7
8MAINTAINER= jmmv@NetBSD.org 8MAINTAINER= jmmv@NetBSD.org
9HOMEPAGE= http://monotone.ca/ 9HOMEPAGE= http://monotone.ca/
10COMMENT= Free distributed version control system 10COMMENT= Free distributed version control system
11 11
12PKG_DESTDIR_SUPPORT= user-destdir 12PKG_DESTDIR_SUPPORT= user-destdir
13 13
14GCC_REQD+= 3.0 14GCC_REQD+= 3.0
15GNU_CONFIGURE= yes 15GNU_CONFIGURE= yes
16INFO_FILES= yes 16INFO_FILES= yes
17TEST_TARGET= check 17TEST_TARGET= check
18UNLIMIT_RESOURCES+= datasize 18UNLIMIT_RESOURCES+= datasize
19USE_TOOLS+= gmake makeinfo pax 19USE_TOOLS+= gmake makeinfo pax pkg-config
20USE_LANGUAGES= c c++ 20USE_LANGUAGES= c c++
21USE_PKGLOCALEDIR= yes 21USE_PKGLOCALEDIR= yes
22 22
23CONFIGURE_ARGS+= --with-system-pcre 23CONFIGURE_ARGS+= --with-system-pcre
24 24
25PKG_OPTIONS_VAR= PKG_OPTIONS.monotone 25PKG_OPTIONS_VAR= PKG_OPTIONS.monotone
26PKG_SUPPORTED_OPTIONS= inet6 26PKG_SUPPORTED_OPTIONS= inet6
27 27
28CHECK_INTERPRETER_SKIP+= share/monotone/contrib/* 28CHECK_INTERPRETER_SKIP+= share/monotone/contrib/*
29CHECK_PORTABILITY_SKIP+= debian/* 29CHECK_PORTABILITY_SKIP+= debian/*
30 30
 31# Remove with the 0.46 update.
 32BUILDLINK_TRANSFORM+= l:sqlite:sqlite3
 33
31REPLACE_SH= mtnopt 34REPLACE_SH= mtnopt
32 35
33.include "../../mk/bsd.options.mk" 36.include "../../mk/bsd.options.mk"
34 37
35.if !empty(PKG_OPTIONS:Minet6) 38.if !empty(PKG_OPTIONS:Minet6)
36CONFIGURE_ARGS+= --enable-ipv6 39CONFIGURE_ARGS+= --enable-ipv6
37.else 40.else
38CONFIGURE_ARGS+= --disable-ipv6 41CONFIGURE_ARGS+= --disable-ipv6
39.endif 42.endif
40 43
41post-install: 44post-install:
42 ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/monotone 45 ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/monotone
43 cd ${WRKSRC} && rm -rf contrib/.deps && \ 46 cd ${WRKSRC} && rm -rf contrib/.deps && \
44 pax -rw -pm contrib \ 47 pax -rw -pm contrib \
45 ${DESTDIR}${PREFIX}/share/monotone 48 ${DESTDIR}${PREFIX}/share/monotone
46 cd ${WRKSRC} && pax -rw -pm figures/*.png \ 49 cd ${WRKSRC} && pax -rw -pm figures/*.png \
47 ${DESTDIR}${PREFIX}/share/doc/monotone 50 ${DESTDIR}${PREFIX}/share/doc/monotone
48 51
49BUILDLINK_API_DEPENDS.pcre+= pcre>=7.6 52BUILDLINK_API_DEPENDS.pcre+= pcre>=7.6
50 53
51.include "../../converters/libiconv/buildlink3.mk" 54.include "../../converters/libiconv/buildlink3.mk"
 55.include "../../databases/sqlite3/buildlink3.mk"
52.include "../../devel/boost-headers/buildlink3.mk" 56.include "../../devel/boost-headers/buildlink3.mk"
53.include "../../devel/gettext-lib/buildlink3.mk" 57.include "../../devel/gettext-lib/buildlink3.mk"
 58.include "../../devel/libidn/buildlink3.mk"
54.include "../../devel/pcre/buildlink3.mk" 59.include "../../devel/pcre/buildlink3.mk"
 60.include "../../lang/lua/buildlink3.mk"
 61.include "../../security/botan/buildlink3.mk"
55.include "../../mk/pthread.buildlink3.mk" 62.include "../../mk/pthread.buildlink3.mk"
56.include "../../mk/bsd.pkg.mk" 63.include "../../mk/bsd.pkg.mk"

cvs diff -r1.18 -r1.19 pkgsrc/devel/monotone/PLIST (expand / switch to unified diff)

--- pkgsrc/devel/monotone/PLIST 2009/06/14 17:48:59 1.18
+++ pkgsrc/devel/monotone/PLIST 2009/09/23 16:05:06 1.19
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.18 2009/06/14 17:48:59 joerg Exp $ 1@comment $NetBSD: PLIST,v 1.19 2009/09/23 16:05:06 jmmv Exp $
2bin/mtn 2bin/mtn
3bin/mtnopt 3bin/mtnopt
4info/monotone.info 4info/monotone.info
5share/doc/monotone/figures/branch-heads.png 5share/doc/monotone/figures/branch-heads.png
6share/doc/monotone/figures/cert.png 6share/doc/monotone/figures/cert.png
7share/doc/monotone/figures/difference-between-versions.png 7share/doc/monotone/figures/difference-between-versions.png
8share/doc/monotone/figures/file-id-manifest-id.png 8share/doc/monotone/figures/file-id-manifest-id.png
9share/doc/monotone/figures/fork.png 9share/doc/monotone/figures/fork.png
10share/doc/monotone/figures/general-workflow.png 10share/doc/monotone/figures/general-workflow.png
11share/doc/monotone/figures/linear-history.png 11share/doc/monotone/figures/linear-history.png
12share/doc/monotone/figures/local-workflow.png 12share/doc/monotone/figures/local-workflow.png
13share/doc/monotone/figures/manifest.png 13share/doc/monotone/figures/manifest.png
14share/doc/monotone/figures/merge.png 14share/doc/monotone/figures/merge.png
@@ -16,48 +16,66 @@ share/doc/monotone/figures/network-workf @@ -16,48 +16,66 @@ share/doc/monotone/figures/network-workf
16share/doc/monotone/figures/parent-child-hashes.png 16share/doc/monotone/figures/parent-child-hashes.png
17share/doc/monotone/figures/parent-child-names-hashes.png 17share/doc/monotone/figures/parent-child-names-hashes.png
18share/doc/monotone/figures/parent-child.png 18share/doc/monotone/figures/parent-child.png
19share/doc/monotone/figures/revision-chaining.png 19share/doc/monotone/figures/revision-chaining.png
20share/doc/monotone/figures/revision.png 20share/doc/monotone/figures/revision.png
21share/doc/monotone/figures/statement.png 21share/doc/monotone/figures/statement.png
22share/doc/monotone/figures/three-versions.png 22share/doc/monotone/figures/three-versions.png
23share/doc/monotone/figures/two-branches.png 23share/doc/monotone/figures/two-branches.png
24share/doc/monotone/monotone.html 24share/doc/monotone/monotone.html
25share/locale/de/LC_MESSAGES/monotone.mo 25share/locale/de/LC_MESSAGES/monotone.mo
26share/locale/es/LC_MESSAGES/monotone.mo 26share/locale/es/LC_MESSAGES/monotone.mo
27share/locale/it/LC_MESSAGES/monotone.mo 27share/locale/it/LC_MESSAGES/monotone.mo
28share/locale/sv/LC_MESSAGES/monotone.mo 28share/locale/sv/LC_MESSAGES/monotone.mo
 29share/monotone/contrib/ChangeLog.sh
29share/monotone/contrib/Monotone.pm 30share/monotone/contrib/Monotone.pm
30share/monotone/contrib/README 31share/monotone/contrib/README
 32share/monotone/contrib/README.missing
 33share/monotone/contrib/asciik.py
31share/monotone/contrib/ciabot_monotone.py 34share/monotone/contrib/ciabot_monotone.py
32share/monotone/contrib/ciabot_monotone_hookversion.lua 35share/monotone/contrib/ciabot_monotone_hookversion.lua
33share/monotone/contrib/ciabot_monotone_hookversion.py 36share/monotone/contrib/ciabot_monotone_hookversion.py
34share/monotone/contrib/color-logs.conf 37share/monotone/contrib/color-logs.conf
35share/monotone/contrib/color-logs.sh 38share/monotone/contrib/color-logs.sh
36share/monotone/contrib/colorize 39share/monotone/contrib/colorize
37share/monotone/contrib/command/README 40share/monotone/contrib/command/README
38share/monotone/contrib/command/base.lua 41share/monotone/contrib/command/base.lua
39share/monotone/contrib/command/changed_files.lua 
40share/monotone/contrib/command/conflicts.lua 42share/monotone/contrib/command/conflicts.lua
41share/monotone/contrib/command/fuse.lua 43share/monotone/contrib/command/fuse.lua
42share/monotone/contrib/command/init.lua 44share/monotone/contrib/command/init.lua
43share/monotone/contrib/command/revision.lua 45share/monotone/contrib/command/revision.lua
 46share/monotone/contrib/display_branches.lua
 47share/monotone/contrib/dtrace2calltree.py
 48share/monotone/contrib/dump-test-logs.sh
44share/monotone/contrib/edit_comment_from_changelog.lua 49share/monotone/contrib/edit_comment_from_changelog.lua
 50share/monotone/contrib/ext_hooks.lua.in
 51share/monotone/contrib/ext_hooks_expand.pl
45share/monotone/contrib/extra-commands.lua 52share/monotone/contrib/extra-commands.lua
46share/monotone/contrib/get_passphrase_from_file.lua 53share/monotone/contrib/get_passphrase_from_file.lua
47share/monotone/contrib/get_stdio.pl 54share/monotone/contrib/get_stdio.pl
 55share/monotone/contrib/lua-mode.el
48share/monotone/contrib/monoprof.sh 56share/monotone/contrib/monoprof.sh
49share/monotone/contrib/monotone-buildbot-notification.lua 57share/monotone/contrib/monotone-buildbot-notification.lua
50share/monotone/contrib/monotone-cluster-push.lua 58share/monotone/contrib/monotone-cluster-push.lua
51share/monotone/contrib/monotone-cvs-ignore.lua 59share/monotone/contrib/monotone-cvs-ignore.lua
52share/monotone/contrib/monotone-inotify.lua 60share/monotone/contrib/monotone-inotify.lua
53share/monotone/contrib/monotone-log-of-pulled-revs-hook.lua 61share/monotone/contrib/monotone-log-of-pulled-revs-hook.lua
54share/monotone/contrib/monotone-mail-notify.lua 62share/monotone/contrib/monotone-mail-notify.lua
 63share/monotone/contrib/monotone-mail-notify.sh
 64share/monotone/contrib/monotone-mirror-postaction-push.sh
 65share/monotone/contrib/monotone-mirror-postaction-update.sh
55share/monotone/contrib/monotone-mirror.lua 66share/monotone/contrib/monotone-mirror.lua
 67share/monotone/contrib/monotone-mirror.sh
56share/monotone/contrib/monotone-nav.el 68share/monotone/contrib/monotone-nav.el
57share/monotone/contrib/monotone-notify-hookversion.lua 69share/monotone/contrib/monotone-notify-hookversion.lua
58share/monotone/contrib/monotone-notify.pl 70share/monotone/contrib/monotone-notify.pl
59share/monotone/contrib/monotone-run-script-post-netsync.lua 71share/monotone/contrib/monotone-run-script-post-netsync.lua
60share/monotone/contrib/monotone.bash_completion 72share/monotone/contrib/monotone.bash_completion
61share/monotone/contrib/monotone.el 73share/monotone/contrib/monotone.el
62share/monotone/contrib/monotone.zsh_completion 74share/monotone/contrib/monotone.zsh_completion
63share/monotone/contrib/mtbrowse.sh 75share/monotone/contrib/mtbrowse.sh
 76share/monotone/contrib/mtn_cheat_sheet.svg
 77share/monotone/contrib/mtn_makepermissions
 78share/monotone/contrib/op2calltree.py
 79share/monotone/contrib/parse-accounting.pl
 80share/monotone/contrib/perf-test.sh
 81share/monotone/contrib/recreate-manifest-tables.sh

cvs diff -r1.40 -r1.41 pkgsrc/devel/monotone/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/monotone/distinfo 2009/01/18 21:24:12 1.40
+++ pkgsrc/devel/monotone/distinfo 2009/09/23 16:05:06 1.41
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.40 2009/01/18 21:24:12 jmmv Exp $ 1$NetBSD: distinfo,v 1.41 2009/09/23 16:05:06 jmmv Exp $
2 2
3SHA1 (monotone-0.42.tar.gz) = f95be35a9bc823b35554d59a9a34bced7878bfb8 3SHA1 (monotone-0.45.tar.gz) = 84bd7ab5f7b1bfe98028f5105e3dbcd82c809e51
4RMD160 (monotone-0.42.tar.gz) = 7eebc79e0ffe19deac240499e5941774fcdf022c 4RMD160 (monotone-0.45.tar.gz) = d225595ba908d2d9366ffc3490caba83aa9ad9bb
5Size (monotone-0.42.tar.gz) = 5182313 bytes 5Size (monotone-0.45.tar.gz) = 4645511 bytes