# # # patch "INSTALL" # from [8df6ebb89b041e75199707f40a46fba5152f72af] # to [1ce67691a7b2c99af3bdce649ce6b8d9388ef8b7] # # patch "NEWS" # from [09f664e0c61cd32fb378957aba4b6c23e48596fc] # to [0a38b76c36a4842e734564c1aae26fb9a46c2feb] # # patch "UPGRADE" # from [11c0b97604437bc7b411317d5bead6e90a173af1] # to [2877096a746cf318568d418e444959797a9621f0] # ============================================================ --- INSTALL 8df6ebb89b041e75199707f40a46fba5152f72af +++ INSTALL 1ce67691a7b2c99af3bdce649ce6b8d9388ef8b7 @@ -74,153 +74,146 @@ 1. prerequisites: on Windows (using MinGW): - tools and packages needed: + Many tools and packages are available on the SourceForge + MinGW download site: - Package | Version | URL - -------------------------- - MingGW | 5.1.3 | http://prdownloads.sf.net/mingw/MinGW-5.1.3.exe?download - MSYS | 1.0.10 | http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download - msysDTK | 1.0.1 | http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download - libiconv | 1.11 | http://prdownloads.sf.net/mingw/libiconv-1.11-mingwPORT-20070423-1.tar.bz2?download - autoconf | 2.59 | http://prdownloads.sf.net/mingw/autoconf-2.59-mingwPORT.tar.bz2?download - automake | 1.9.5 | http://prdownloads.sf.net/mingw/automake-1.9.5-mingwPORT.tar.bz2?download - zlib | 1.2.3 | http://prdownloads.sf.net/mingw/zlib-1.2.3-mingwPORT.tar.bz2?download - gettext | 0.16.1 | ftp://aeneas.mit.edu/pub/gnu/gettext/gettext-0.16.1.tar.gz - boost | 1.34.1 | http://prdownloads.sf.net/boost/boost_1_34_1.tar.bz2?download - Lua | 5.1 | http://www.lua.org/ - pcre | 7.8 | http://www.pcre.org/ - botan | 1.8 | http://botan.randombit.net/news/ - sqlite3 | 3.6.10 | http://www.sqlite.org/download.html - sqlite-amalgamation-3_6_10.tar.gz, with makefile - libidn | 1.9 | ftp://ftp.gnu.org/gnu/libidn + https://sourceforge.net/projects/mingw/files/ - The installer defaults put MinGW in `c:\MinGW` and MSYS in - `c:\Msys`. However, later steps sometimes install new items - in `c:\MinGW\bin`, and sometimes in `c:\Msys\bin`. So it is - difficult to ensure that the new items are always first in - path. Installing MinGW and MSYS both to `c:\MinGW` avoids - this issue. However, in this case the MSYS installer - mistakenly renames 'make' to 'mingw32-make', so we need to - change it back. + That site is organized into several hierarchical lists of + files. We give the hierarchy names here, rather than a + complete download URL, to make it easy to check for new + versions. The versions given here were used to build the + current release of monontone. - msysDTK installs Perl, CVS, crypt, and other tools needed - by the autoconf tools. The installed autoconf scripts are a - little broken, so we need to manually fix them. + Trying a new version of Boost can be dangerous. - 1. MinGW - install, accept defaults but add g++ on the package selection page - 2. MSYS - install to same directory as MinGW (`c:\MinGW`), otherwise accept defaults - 3. msysDTK - install into MinGW directory - 4. Rename `make`: - $ mv /bin/mingw32-make.exe /bin/make.exe + These instructions work on a new computer, with only + Windows XP installed. - 5. libiconv - $ cd /usr/src - $ export SRCROOT=/usr/src - $ tar jxf libiconv-1.11-mingwPORT.tar.bz2 - $ cd libiconv-1.11/mingwPORT - $ ./mingwPORT.sh + Package | Version | location + -------------------------- + MingGW | 5.1.4 | Automated MinGW Installer | MinGW-5.1.4.exe + MSYS | 1.0.11 | MSYS Base System | Current Release: msys-1.0.10 | MSYS-1.0.10.exe + msysDTK | 1.0.1 | MSYS Supplementary Tools | Current Release: msysDTK-1.0.1 | msysDTK-1.0.1.exe + libiconv | 1.13 | MinGW libiconv | Release 1.13 | + | | libiconv-1.13-mingw32-bin.tar.gz + | | libiconv-1.13-mingw32-dev.tar.gz + | | libiconv-1.13-mingw32-dll-2.tar.gz + autoconf | 2.63 | MSYS autoconf | autoconf-2.63-1 | autoconf-2.63-1-msys-1.0.11-bin.tar.lzma + automake | 1.11 | MSYS automake | automake-1.11-1 | automake-1.11-1-msys-1.0.11-bin.tar.lzma + zlib | 1.2.3 | MinGW zlib | + | | libz-1.2.3-1-mingw32-dev.tar.gz + | | libz-1.2.3-1-mingw32-dll-1.tar.gz + gcc dll | | GCC Version 4 | gcc-core-4.4.0-mingw32-dll.tar.gz + gettext | 0.17 | MinGW gettext | + | | gettext-0.17-1-mingw32-bin.tar.lzma + | | gettext-0.17-1-mingw32-dev.tar.lzma + | | libgettextpo-0.17-1-mingw32-dll-0.tar.lzma + | | libintl-0.17-1-mingw32-dll-8.tar.lzma + boost | 1.34.1 | http://prdownloads.sf.net/boost/boost_1_34_1.tar.bz2?download + Lua | 5.1.4 | http://www.lua.org/ | lua-5.1.4.tar.gz + pcre | 7.8 | http://www.pcre.org/ | pcre-7.8.tar.bz2 + botan | 1.8.4 | http://botan.randombit.net/news/ | Botan-1.8.4.tbz + sqlite3 | 3.6.16 | http://www.sqlite.org/download.html | sqlite-amalgamation-3.6.16.tar.gz, with makefile + libidn | 1.9 | ftp://ftp.gnu.org/gnu/libidn | libidn-1.9.tar.gz - 6. Accept all defaults by hitting the enter key. The following steps also always accept all defaults. + msysDTK installs autoconf, automake, Perl, CVS, crypt, and + other tools needed by the autoconf tools. - 7. autoconf - $ cd /usr/src - $ tar jxf autoconf-2.59-mingwPORT.tar.bz2 - $ cd autoconf-2.59/mingwPORT - $ ./mingwPORT.sh + However, monotone requires a newer autoconf and automake. + In general, there are two versions of most tools on the + MinGW site; mingw and msys. MinGW versions are intended to + be run from a DOS shell, msys versions from an Msys shell. + monotone configure requires the Msys shell, so we need the + msys versions of autoconf and automake. - 8. Open `/mingw/bin/autoconf` in an editor and change the following line from something like + Other tools will be linked with the monotone MinGW + executable, so we need the MinGW versions of those. - : ${AUTOM4TE='c:/mingw/bin/autom4te'} + 1. MinGW - run installer, accept defaults but add g++ on the package selection page (installs to c:/MinGW) + 2. MSYS - run installer, accept defaults (installs to c:/Msys) + 3. msysDTK - run installer, accept defaults (installs to c:/Msys) - to + 4. libiconv + start the Msys shell. + $ cd /mingw + $ tar zxf libiconv-1.13-mingw32-bin.tar.gz + $ tar zxf libiconv-1.13-mingw32-dev.tar.gz + $ tar zxf libiconv-1.13-mingw32-dll-2.tar.gz - : ${AUTOM4TE='/mingw/bin/autom4te'} + 5. autoconf + $ cd / + $ tar --lzma -xf autoconf-2.63-1-msys-1.0.11-bin.tar.lzma - 9. automake - $ cd /usr/src - $ tar jxf automake-1.9.5-mingwPORT.tar.bz2 - $ cd automake-1.9.5/mingwPORT - $ ./mingwPORT.sh + 6. automake + $ cd / + $ tar --lzma -xf automake-1.11-1-msys-1.0.11-bin.tar.lzma - 10. Open the files `/mingw/bin/aclocal`, - `/mingw/bin/aclocal-1.9`, and all files matching - `auto*` in an editor and delete `c:/` from all paths, - as was done above for `autoconf`. + 7. zlib + $ cd /mingw + $ tar zxf libz-1.2.3-1-mingw32-dev.tar.gz + $ tar zxf libz-1.2.3-1-mingw32-dll-1.tar.gz + $ cp bin/libz-1.dll bin/zlib1.dll - 11. zlib - $ cd /usr/src - $ tar jxf zlib-1.2.3-mingwPORT.tar.bz2 - $ cd zlib-1.2.3/mingwPORT - $ ./mingwPORT.sh + 8. gettext + $ cd /mingw + $ tar --lzma -xf gettext-0.17-1-mingw32-bin.tar.lzma + $ tar --lzma -xf gettext-0.17-1-mingw32-dev.tar.lzma + $ tar --lzma -xf libgettextpo-0.17-1-mingw32-dll-0.tar.lzma + $ tar --lzma -xf libintl-0.17-1-mingw32-dll-8.tar.lzma + $ tar zxf gcc-core-4.4.0-mingw32-dll.tar.gz - 12. gettext - $ cd /usr/src - $ tar zxf gettext-0.17.tar.gz - $ cd gettext-0.17 - $ ./configure --prefix=/usr/local - $ make install + 9. boost; only need headers + $ cd /usr/src + $ tar jxf boost_1_34_1.tar.bz2 + $ cd boost_1_34_1 + $ cp -a boost /mingw/include - 13. boost; only need headers + 10. Lua $ cd /usr/src - $ tar jxf boost_1_34_1.tar.bz2 - $ cd boost_1_34_1 - $ cp -a boost /mingw/include - - 14. Lua - $ cd /usr/src $ tar zxf lua-5.1.4.tar.gz $ cd lua-5.1.4 - $ make mingw - $ make install + $ make mingw INSTALL_TOP=/mingw + $ make install INSTALL_TOP=/mingw - 15. pcre + 11. pcre $ cd /usr/src - $ tar zxf pcre-7.8.tar.gz + $ tar jxf pcre-7.8.tar.bz2 $ cd pcre-7.8 - $ ./configure + $ ./configure --prefix=/mingw $ make install - 16. botan - $ cd /usr/src - $ tar zxf Botan-1.8.0.tgz - $ cd Botan-1.8 - $ ./configure.pl --with-tr1=none - $ make install + 12. botan + 12.1 unpack, configure: + $ cd /usr/src + $ tar jxf Botan-1.8.4.tbz + $ cd Botan-1.8.4 + $ ./configure.pl --with-tr1=none + 12.2 edit Makefile, delete -ansi from LANG_FLAGS + 12.3 install: + $ make install - 17. sqlite3 - $ cd /usrsrc - $ tar zxf sqlite-amalgamation-3_6_10.tar.gz - $ cd sqlite-amalgamation-3.6.10 - $ ./configure + 13. sqlite3 + $ cd /usr/src + $ tar zxf sqlite-amalgamation-3.6.16.tar.gz + $ cd sqlite-3.6.16 + $ ./configure --prefix=/mingw $ make install - 18. libidn + 14. libidn $ cd /usr/src $ tar zxf libidn-1.9.tar.gz $ cd libidn-1.9 - $ ./configure + $ ./configure --prefix=/mingw $ make install - cd monotone - ./configure lua_CFLAGS=-I/usr/local/include lua_LIBS="-L/usr/local/lib -llua" \ - sqlite_CFLAGS=-I/usr/local/include sqlite_LIBS="-L/usr/local/lib -lsqlite3" \ - idn_CFLAGS=-I/usr/local/include idn_LIBS="-L/usr/local/lib -lidn" + 15. build monotone + $ cd /c/.../monotone + $ export PATH=/bin:$PATH + $ autoreconf -i + $ ./configure sqlite_LIBS=-lsqlite3 + $ make - # Notes - - * If the `./configure` step of the monotone build fails - claiming your system is unrecognized while checking the - build system type, it may be caused by `uname -s` - returning a string containing MSYS rather than MINGW. - This indicates that your build environment is in a - special mode for producing MSYS binaries, which is not - what you want when building monotone. See - [MsysBuildEnvironment](http://www.mingw.org/MinGWiki/index.php/MsysBuildEnvironment) - for a detailed explanation. - - * If you get strange errors from perl when running - `autoreconf -i`, check that you edited the paths - correctly in `aclocal-*` and `auto*`. - on Windows (using Cygwin): Monotone needs the following packages to compile: @@ -242,9 +235,9 @@ 1. prerequisites: libidn-devel-1.9-1 or newer lua-5.1.4-1 or newer (*) botan-1.8.0-1 or newer (*) - + currently every prerequisite is avaialble as packages except - lua and botan; an official Cygwin package for monotone and + lua and botan; an official Cygwin package for monotone and all its dependencies will be available soon after release the following is needed to succesfulyl configure ============================================================ --- NEWS 09f664e0c61cd32fb378957aba4b6c23e48596fc +++ NEWS 0a38b76c36a4842e734564c1aae26fb9a46c2feb @@ -1,3 +1,106 @@ +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/, 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. ============================================================ --- UPGRADE 11c0b97604437bc7b411317d5bead6e90a173af1 +++ UPGRADE 2877096a746cf318568d418e444959797a9621f0 @@ -1,4 +1,4 @@ -upgrading monotone to 0.44 +upgrading monotone to 0.45 ========================== How to read this file: @@ -16,6 +16,10 @@ If you are upgrading from: will be described there, not here. If you are upgrading from: + - 0.44 or earlier: The database format has changed. You must run + (after remembering to take a backup copy): + $ mtn -d mydb.mtn db migrate + on each of your databases. - 0.39 or earlier: The database format has changed. You must run (after remembering to take a backup copy): $ mtn -d mydb.mtn db migrate