summaryrefslogtreecommitdiff
path: root/devel/monotone
AgeCommit message (Collapse)AuthorFilesLines
2006-06-18Update to 0.27. OK'ed by wiz@ during the freeze.jmmv3-39/+6
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.
2006-04-17Strip ${PKGLOCALEDIR} from PLISTs of packages that already obeyjlam1-7/+7
PKGLOCALEDIR and which install their locale files directly under ${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now on, pkgsrc/mk/plist/plist-locale.awk will automatically handle transforming the PLIST to refer to the correct locale directory.
2006-04-14Properly fix headers in html files within the html directory.jmmv2-7/+9
2006-04-14Avoid the need for perl during the build.jmmv2-1/+32
2006-04-10Update to 0.26:jmmv3-9/+14
Sat Apr 8 19:33:35 PDT 2006 0.26 release. Major enhancements and internal rewrites. Please read these notes carefully, as significant changes are described. In particular, you _cannot_ upgrade to 0.26 without some attention to the migration, especially if you are working on a project with other people. See UPGRADE for details of this procedure. The changes are large enough that there were 3 pre-releases of this code; the changes that occurred in each can be seen below. However, for the convenience of those following releases, all changes since 0.25 will be summarized in these release notes. There is no need to read the pre-release notes individually. Major changes since 0.25: - The most user-visible change is that the default name of the monotone binary has changed to 'mtn'. So, for example, you would now run 'mtn checkout', 'mtn diff', 'mtn commit', etc., instead of 'monotone checkout', 'monotone diff', 'monotone commit'. - Similarly, the name of the workspace bookkeeping directory has changed from "MT" to "_MTN". As workspaces will generally be recreated when migrating to this release, this should not cause any problems. - Similarly, built-in attrs like 'execute' have had 'mtn:' prepended to their names. For example, executable files should now have the attr 'mtn:execute' set to 'true' on them. The migration code will automatically add this prefix; no user intervention is needed. - Similarly, the name of the ignore file has changed from '.mt-ignore' to '.mtn-ignore'. The migration code will automatically rename this file; no user intervention is needed. - Similarly, the recommended suffix for monotone db files is now '.mtn'. These changes are all purely cosmetic, and have no affect on functionality. - The most developer-visible change is that the data structure for representing trees has been completely replaced, and all related code rewritten. The new data structure is called a 'roster'. You don't really need to know this name; unless you are hacking on monotone or using various debug operations, you will never see a roster. It's mostly useful to know that when someone says something about 'roster-enabled monotone' or the like, they're referring to this body of new code. This change has a number of consequences: - The textual format for revisions and manifests changed. There is no conceptual change, they still contain the same information and work the same way. The formats were merely cleaned up to correct various problems experience showed us, and allow various enhancements now and in the future. However, this change means that a flag-day migration is required. See UPGRADE for details. - Directories are now first-class objects. You can add an empty directory, must drop a directory if you want it to go away, etc. - Attrs are now first-class objects. '.mt-attrs' no longer exists; attrs are now described directly in the manifest, and changes to them appear directly in revisions. The migration code will automatically convert existing .mt-attrs files to the new first-class attrs. If you have custom attrs, those may require special handling -- if this is the case, then the upgrader will tell you. - The merge code has been rewritten completely. The interface is currently the same (though this rewrite makes it easier to improve the interface going forward); if you have found merging in monotone to be easy in the past, then you will not notice anything different. If you have run into problems, then the new merger should make your life substantially simpler. It has full support for renames (of both directories and files), intelligent merging of attrs, improved handling of file content merges. Is the first known merger implementation based on a provably correct algorithm (the "multi-*-merge" algorithm), has exhaustive automated tests, and generally should give accurate, conservative merges. - The new code is generally faster, though not yet as fast as it could be. Netsync changes: - The default netsync port has changed 5253 to 4691. 4691 is our official IANA-assigned port. Please adjust firewalls appropriately. - Netsync code has also been largely reworked; new code should provide better opportunities for - The protocol is incompatible with earlier versions of monotone. This should not be a surprise, since the data it carries is also incompatible (see above)... New features: - New option --brief to 'annotate', gives somewhat more friendly output. - Several enhancements to log: - New option --next, to display descendent revisions (rather than ancestor revisions). - When 'log -r' is given an ambiguous selector, it now just logs all matching revisions, instead of requiring the selector be disambiguated. - New option --no-files. - New command 'show_conflicts', performs a dry run merge. - New command 'ls changed'. - 'rename' (and its alias 'mv') now accept a broader range of syntax: mtn rename foo some_dir -> renames foo to some_dir/foo mtn rename foo bar baz some_dir -> moves foo, bar, and baz to some_dir/foo, some_dir/bar, and some_dir/baz - New hook 'validate_commit_message', which may be used to verify that all commit messages meet arbitrary user-defined rules. - New option --log, to log monotone's output to a file. - New option 'drop --recursive', to remove a directory and its contents in one swoop. - The root dir may now be renamed. This is a somewhat exotic feature, but has some interesting uses related to splitting up or joining together projects; see new commands 'pivot_root', 'merge_into_dir'. Minor bug fixes: - 'serve' with no --bind argument should now work on systems where the C library has IPv6 support, but the kernel does not. - Stricter checking on the internal version of filenames to ensure that they are valid UTF-8. - If the database is in the workspace, then it is always ignored. - Monotone no longer errors out when using a French (fr) locale with a non-Unicode codeset. Other changes: - Packet commands ('rdata', 'fdata', etc.) have been moved to 'automate'. - Database storage now uses sqlite's blob support; database files should be ~1/4 smaller as a result. - Monotone now uses sqlite 3.3; this means that older versions of the command line client (e.g., an 'sqlite3' command built against sqlite version 3.2) cannot be used to poke at a monotone 0.26 database. Solution is to upgrade your sqlite3 program. Hopefully this is irrelevant to most users... - Translations updated, and 3 new translations added (de, it, sv). Reliability considerations: - This new codebase has received much less testing under real world conditions than the codebase used in 0.25, simply because it is newer. It has been in active use for monotone development since 8 January 2006, and only a small number of bugs have been found; all bugs found so far have been very minor, and none stood any danger of corrupting data. Furthermore, we are much more confident in the theoretical underpinnings of the new approach than the old, and the test suite attempts to exhaustively exercise all new code paths. However, none of this is or can be a substitute for real world experience. We advise caution in upgrading to this version of monotone, and suggest that (especially) those who upgrade aggressively should pay extra attention to the monotone mailing list before and after doing so. Wed Mar 29 05:20:10 PST 2006 0.26pre3 release. This release may be considered a "release candidate", in that while we need to write some tests and make sure some bugs are fixed, all features are in and we hope that no further bug fixes will be needed either. It is still a pre-release for testing. Do not package it. DO NOT USE THIS RELEASE UNLESS YOU WANT TO BE A DAREDEVIL. But, PLEASE PLEASE TEST this release. There are some non-trivial changes since 0.26pre2, and this is your last chance! Major changes since 0.26pre2: - The name of the monotone binary has changed to 'mtn'. - Similarly, the name of the bookkeeping directory in workspaces has changed from 'MT' to '_MTN' (if you have an existing 0.26-line workspace, just rename the MT directory to _MTN). - Similarly, the name of the ignore file has changed from ".mt-ignore" to ".mtn-ignore". 'rosterify' will rename these automatically (if you have already rosterified, you get to rename them by hand). - Similarly, the recommended suffix for monotone db files is now ".mtn". - We now perform stricter checking to make sure that filenames are valid UTF-8. It is in principle possible that this stricter checking will cause histories that used to work to break; if you have non-ascii filenames, it is strongly recommended to test with this release. - Root dir renaming is now supported. See new commands 'pivot_root', 'merge_into_dir'. - As a side-effect, it is now possible to run 'rosterify' on histories in which two independent lines of history were merged. - The security fix released in 0.25.2 has been forward-ported to this release; this prevents some security exposure to people running monotone as a client on case-insensitive file systems. Minor change since 0.26pre2: - Database now uses sqlite blobs for storage; should be ~1/4 smaller. - New command: show_conflicts, does a dry-run merge. - New option 'drop --recursive', to remove a directory and all its contents in one swoop. - Changes to 'log': - New option --no-files - Including merges is again the default (i.e., it now acts like 0.25, and not like 0.26pre2). - When 'log -r' is given an ambiguous selector, it now just logs all matching revisions, instead of requiring the selector be disambiguated. - New option --log, to log monotone output to a file. - Netsync changes: - Was sending far too much data in some cases; now does not. - Several bugs that caused it to lock up fixed - Tweak to allow 'usher' proxy to transparently redirect based on client's protocol version, to ease migration between incompatible protocol versions. - Packet commands have been moved to 'automate'. - Fixed bugs in 'db kill_rev_locally', should no longer leave an inconsistent db behind. - Translation updates Other projects receiving notable work: - Monotone's "dumb server" support (repo distribution over HTTP/FTP/SFTP etc.) has been ported to 0.26, a first command line version written, etc. - The 'usher' netsync proxy used for hosting many databases on a single machine has received significant cleanups, and the 'webhost' project to provide a simple interface to shared monotone hosting providers has received even more work. Sat Feb 11 13:32:51 PST 2006 0.26pre2 release. Inching towards 0.26. If you are using 0.25 or earlier, then make sure to read the very important notes for 0.26pre1, below. In particular, like 0.26pre1, this is a pre-release for testing. Do not package it. DO NOT USE THIS RELEASE UNLESS YOU WANT TO BE A DAREDEVIL. (Though, in fact, in a month of usage, only one bug has been found in the new history code, and it was both minor and harmless. It has additionally been fixed.) Database changes: - SQLite 3.3.3 has been imported. 3.3 introduces a new database format that is not backwards compatible with earlier 3.x releases. New databases will be created using this new format. Existing databases remain compatible, and are not converted automatically. Existing databases can be converted by performing a database vacuum ('monotone db execute vacuum'). New features: - New hook validate_commit_message -- use to verify that all commit messages meet arbitrary user-defined rules. UI improvements: - rename (and mv) commands now accept a broader range of syntax: monotone rename foo some_dir -> renames foo to some_dir/foo monotone rename foo bar baz some_dir -> moves foo, bar, and baz to some_dir/foo, some_dir/bar, and some_dir/baz - Print a warning if it looks like a user has made a quoting mistake on push/pull/sync/serve (windows cmd.exe has confusing rules here). - New command "ls changed". - New option "--next" to log, which displays descendents of the start revision. - Updating to an arbitrary revision now works again (as it did in 0.25 and earlier). This allows one to, for instance, switch a working copy to another head, or back up to an earlier version, while preserving uncommitted changes. - New option --brief to annotate, gives somewhat more friendly output. - Fixed bug that made ticker output from netsync inaccurate. - In 'log', --no-merges is now the default, use --merges to override. - If the database is in the working copy, then it is always ignored. Bugs: - 'serve' with no --bind should now work on systems where the C library has IPv6 support, but the kernel does not. - Compile fixes for GCC 4.1 pre-releases. Other: - Better detection when users have not run "rosterify", and more helpful suggestions on what to do in this case. - Documentation, translation, error message, etc. improvements. - Updates to contrib/mtbrowse.sh, simple shell-based monotone interface. - Updates to many other contrib/ files, mostly to maintain compatibility with monotone changes. Sun Jan 8 01:08:56 PST 2006 0.26pre1 release. Massive rewrites, released for shakedown. This release is also dedicated to Shweta Narayan. This release includes massive changes compared to 0.25. The core versioning code has all been replaced with a completely different mechanism. Data formats and the netsync protocol have changed in incompatible ways. Migration to 0.26pre1 or later is irreversible and requires a flag day for your project. See UPGRADE for details. Note that we DO NOT recommend upgrading at this time; see below. If you have been following the development list for the last few months, you may have heard about "rosters" -- this is the name for the new core data structure we use. While the code is completely different, the user experience should not be very different. You will never see a roster, unless you are debugging monotone itself; everything still revolves around revisions, manifests, and certs. While this new code has extensive tests, because of these incompatibilities, it has never been used for real work. The purpose of this release is to make a version available for the monotone developers to begin using for day-to-day work, to shake out bugs. Let's say that again in caps: THIS CODE IS PROBABLY BUGGY, DO NOT USE IT IN PRODUCTION UNLESS YOU WANT TO BE A DAREDEVIL. However, testing of this version with real databases is a good idea, and we'd very much appreciate hearing about your experiences. Some of the many changes: - New textual format for revisions and manifests; they remain conceptually the same, but have been tweaked. Manifests now use the same "basic_io" format as everything else in monotone, and contain entries for directories, revisions record file adds slightly differently and record directory adds for the first time, etc. Because of this format change, revision hashes are now different; converting rosters requires a full history rebuild and reissue of certs. - Directories are now first class. To get rid of a directory you must remove it; to create a directory, you must add it. You can add an empty directory. - Attrs are now first class. The .mt-attrs file is gone; attributes are now stored directly in the manifest. - New merge algorithm, based on "multi-*-merge", and more aggressive, less buggy merge ancestor selection code - Netsync's core has been largely rewritten. Code is now much clearer and more reliable, and now includes the ability to resume interrupted partial transfers. The netsync protocol version number has been bumped, and netsync now runs on the IANA-assigned port 4691 by default. - 100% fewer change_set.cc related bugs. 100% more roster.cc related bugs. But the idea of touching roster.cc does not terrify people.
2006-03-31Clear out INFO_FILES so that the info files listed in the PLIST are found.jlam1-2/+2
2006-03-31* Move info file entries into the PLIST.jlam1-1/+2
* Honor PKGINFODIR and EMACS_INFOPREFIX.
2006-03-09Update to 0.25.2:jmmv2-7/+6
0.25.2 release. Important security fix for Windows and OS X users. With versions of monotone prior to this release, a person with commit access could commit a malicious file with a name like "mt/monotonerc". When anybody else then checked out this revision on a system with a case-folding filesystem -- usually, this means, "on Windows or OS X" -- then their monotone would run arbitrary Lua code stored in this file. The _only_ change in this release as compared to 0.25 is that the existing checks against files in MT are now extended to check for mt, Mt, and mT. All users on Windows and OS X, or otherwise checking out versioned source on a case-insensitive filesystem, are recommended to upgrade immediately. Binaries used only for serving, or only on case-insensitive filesystems (i.e., most Unix users), are not affected. (0.25.1 was never released in source form. The original 0.25 build for Windows was found to have problems on NT 4, and 0.25.1 was Windows-only rebuild with NT 4 compatible libraries.)
2006-03-05* Teach the tools framework how to supply the pkgsrc version ofjlam1-3/+2
makeinfo if no native makeinfo executable exists. Honor TEXINFO_REQD when determining whether the native makeinfo can be used. * Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo. * Get rid of all the "split" argument deduction for makeinfo since the PLIST module already handles varying numbers of split info files correctly. NOTE: Platforms that have "makeinfo" in the base system should check that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are correct.
2006-02-05Recursive revision bump / recommended bump for gettext ABI change.joerg1-1/+2
2005-12-31Update to 0.25:jmmv3-7/+8
Incompatible command line changes: - 'monotone revert' now requires an argument. To revert your entire working copy, $ monotone revert no longer works; instead, go to the root of your working copy and run $ monotone revert . New features: - Netsync now supports IPv6 (where OS support exists) Bugs fixed: - 'revert' gives feedback describing what it changes - Database locking further tweaked, to allow more concurrent access in situations where this is safe. - On win32, ticker display was fixed, so that it no longer prints a new line at each update. - 'read' can now understand (and migrate) privkey packets generated by monotone version 0.23 or earlier. - 'log --diffs <files>' now prints only diffs for the given files (previously, it would print only revisions in which the given files changed, but would print all diffs for those revisions). - Win9x and WinNT 4 compatibility fixes. New translations: - pt_BR
2005-11-29Update to 0.24dan2-6/+6
Major key management changes: - Private keys are no longer stored in your database. They are stored in ~/.monotone/keys/ (Unix, OS X) or %APPDATA%\monotone\keys\ (Windows). 'db migrate' will automatically move your keys out of your database and into their proper location. Consequences: - 'genkey' no longer requires a database. Simply run it once when you first start using monotone, even before you have created a database. - Running 'genkey' once will suffice to give all databases on one computer access to your key. No more fiddling with 'read'. - When you want to make your key available on another computer, simply copy over the appropriate file from your 'keys' directory to the corresponding directory on the new computer. - Private keys also use a more standard on-disk envelope encoding ("PBE-PKCS5v20(SHA-1,TripleDES/CBC)") instead of previous ARC4. More secure, and with extra crypto karma. Netsync changes: - Command line syntax for 'serve' changed; administrators WILL have to adjust scripts. monotone serve my.host.com "*" becomes monotone serve --bind=my.host.com "*" or simply monotone serve "*" (to serve on the default port, on all interfaces). - Speaking of which, we can now bind to all interfaces; run 'serve' without passing --bind, or with passing --bind=:port, and monotone will listen on all interfaces. - New option '--key-to-push' for 'push', 'sync', allows administrator to push a new user's public key into a running server without restarting it. - Netsync permission hooks have new defaults that read a description of allowed access out of a standard, basic_io-based textfile (the same stanza-based format that revisions use). Current hooks will continue to work, but users may prefer to transition to this format; see manual for details. - Between these, it is now straightforward to change permissions and add users without restarting your server. - Improvements to experimental "usher" facility. UI improvements: - New convenience options "add --unknown", "drop --missing", "revert --missing" do what you'd expect -- add all non-ignored non-versioned files, drop all deleted-but-undropped files, and restore all deleted-but-undropped files, respectively. - New selector "h:" to select heads of a branch. "h:" means heads of current branch, "h:mybranch" means heads of mybranch. - Similarly, "b:" selector with no argument now refers to current branch. - Commit messages now have a blank line at the top so you can start typing directly. - No more obscure error messages when multiple monotone processes attempt to access a single database at the same time; we now fail early with a more sensible error message. (Concurrent access has never caused database corruption; this simply makes the corruption prevention less frustrating for the user.) - New handlers for SIGTERM, SIGINT to rollback database transactions. Not visible to users (unless you're really looking carefully). (Again, killing monotone has never been able to cause database corruption; this simply causes the transactions to be rolled back immediately, rather than the next time monotone runs, which improves robustness in some theoretical way.) Changes in 'automate': - New command 'automate keys' to get information on existing keys in basic_io format. Updated translations: - fr Smaller changes: - Improved handling of multibyte characters in message displays. - Fixes to Botan's memory allocator, to avoid pathological slowdowns in some rare cases. - Fix bug in delta-storage code; we were not being as aggressive about delta-compressing files and manifests as we should have been. - Minor bugs fixed, error messages improved. - Upgrading from 0.23: You must run 'db migrate' and provide your password, for each database.
2005-10-05Remove some more *LEGACY* settings that are over a month old andwiz1-2/+1
thus were before 2005Q3.
2005-09-30Update to 0.23:jmmv3-8/+10
Possibly incompatible changes: - hook_note_commit and hook_note_netsync_revision_received take a new argument containing the text of the revision that was received. (Timothy Brownawell <tbrownaw@gmail.com>) - 'cat FILENAME' now acts like the old 'cat file REV FILENAME'; use new commands 'automate get_revision', 'automate get_manifest', 'automate get_file' to fetch objects by hash. (Grahame Bowland <grahame@angrygoats.net>) General improvements: - .mt-ignore support (Martin Dvorak <jezek2@advel.cz>, Timothy Brownawell <tbrownaw@gmail.com>) - much work on making monotone more i18n friendly (Benoît Dejean <benoit@placenet.org>, Matt Johnston <matt@ucc.asn.au>) - support for more interactive merge tools: - FileMerge.app (comes with OS X) (Marcel van der Boom <marcel@hsdev.com>) - TortoiseMerge (Win32; comes with TortoiseSVN) (Matthew Gregan <kinetik@orcon.net.nz>) - rename and drop now actually perform the specified rename or deletion when the argument --execute is passed. (Richard Levitte <richard@levitte.org>) - 'help' command, same as --help (Matt Johnston <matt@ucc.asn.au>). - 'usher' support: experimental method for proxying multiple netsync servers through a single port (similar concept to vhosts) (Timothy Brownawell <tbrownaw@gmail.com>) - support long passphrases (Matt Johnston <matt@ucc.asn.au>) - Faster binary file detection (Eric Anderson <anderse-monotone@cello.hpl.hp.com>) - netsync speedups: - when handling large files (Eric Anderson <anderse-monotone@cello.hpl.hp.com>) - when handling many branches (Marcel van der Boom <marcel@hsdev.com>) - new system to allow crash logs to contain not just execution traces, but also dumps of data being handled when the error was detected -- greatly improves debuggability of user crashes. - complete rework of path handling code, for clarity, robustness, and speed. No user visible changes, except for the many bugs fixed. (Special thanks to Matthew Gregan <kinetik@orcon.net.nz> and Grahame Bowland <grahame@angrygoats.net>.) - however, if you have non-normalized paths in your history (symptom: fresh pulls with 0.18 work, but fresh pulls with 0.19 do not), then 0.23 will report an error and refuse to handle the affected revisions. Since it is believed this only affects one project, and to conserve core developer time, implementing a migration was put off for now. If this causes problems or for more details, please send an email to monotone-devel@nongnu.org. - as always, many small bug fixes, speedups, and improved messages. New translations: - fr (Benoît Dejean <benoit@placenet.org>) - ja (Satoru SATOH <ss@gnome.gr.jp>) Other new monotone-related projects since 0.22: - mtsh by Timothy Brownawell: https://netfiles.uiuc.edu/brownawe/www/mtsh/ GTK+ wrapper for monotone focusing on working copy operations -- add/drop/revert/rename/commit/update/diff and browsing. Has a mechanism for per-file commit comments. - "dumb server" support by Nathaniel Smith (share your monotone repositories via HTTP/FTP, no netsync daemon needed): http://viewmtn.angrygoats.net//branch.psp?branch=net.venge.monotone.dumb Still needs a command-line frontend to be usable, among other things. Help wanted. In python. - m7 by Larry Hastings <larry@hastings.org> http://www.midwinter.com/~lch/programming/m7/ Experimental drop-in command-line wrapper for monotone. Uses certs to add local incrementing version numbers, and an enhanced annotate front-end.
2005-08-12Bump revision to 1 after update of Boost to 1.33.0 (dependency changed).jmmv1-1/+2
2005-08-09Update monotone and monotone-server to 0.22 (from 0.19):jmmv3-28/+6
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.
2005-06-18Let this build with boost-1.32.0nb1. Bump PKGREVISION to 1.jmmv1-1/+3
2005-06-01Deprecate ipv6 option in favour of inet6.wiz1-3/+4
2005-05-22Remove USE_GNU_TOOLS and replace with the correct USE_TOOLS definitions:jlam1-2/+2
USE_GNU_TOOLS -> USE_TOOLS awk -> gawk m4 -> gm4 make -> gmake sed -> gsed yacc -> bison
2005-05-09Added a patch that #includes <unistd.h> for non-Win32 systems. Approvedrillig2-1/+17
by xtraeme.
2005-05-04Update to 0.19:jmmv2-6/+6
0.19 release. performance improvements, features, ui improvements, and bug fixes. - many operations sped up by another factor of 2 or better. - special thanks to Matt Johnston <matt@ucc.asn.au>. - first steps towards automated benchmarking. Thanks to Timothy Brownawell <tbrownaw@gmail.com>. - new major features: - "annotate" command; still requires optimization. Thanks to Emile Snyder <emile@alumni.reed.edu>. - "inodeprints" for fast change detection in large working dirs now fully supported; see manual for details. - new minor features: - new selector "c:name=value" for selecting on arbitrary certs. Thanks to Richard Levitte <richard@levitte.org>. - new hooks to automatically initialize attributes on add; monotone now automatically sets execute bit on executables. Thanks to Joel Reed <joelwreed@comcast.net>. - new automate command "select", to do selector expansion. Thanks to Richard Levitte <richard@levitte.org>. - new automate commands "graph", "parents", "children", "ancestors", to easily inspect history. Special thanks to Sebastian Spaeth <Sebastian@SSpaeth.de>. - new command "db kill_rev_locally". Thanks to Sebastian Spaeth <Sebastian@sspaeth.de>. - new arguments to "commit": --author, --date; useful for patch attribution and importing history. - new automate command "inventory" (output format will change in next release, however). Thanks to Derek Scherger <derek@echologic.com>. - ui improvements: - netsync progress ticker in kilobytes/megabytes. Thanks to Matt Johnston <matt@ucc.asn.au> and Sebastian Spaeth <Sebastian@sspaeth.de>. - tickers do not cause annoying scrolling when wider than window. Special thanks to Matthew Gregan <kinetik@orcon.net.nz>. - warn users when a commit creates divergence, and when an update ignores it. Thanks to Jeremy Cowgar <jeremy@cowgar.com>. - support for command-specific options (there is still no rule that such options must appear after the command on the command line, though). Thanks to Richard Levitte <richard@levitte.org>. - bug fixes: - many cvs_import bugs fixed. Special thanks to Jon Bright <jon@siliconcircus.com>, Emile Snyder <emile@alumni.reed.edu>, Hansjoerg Lipp <hjlipp@web.de>, Matthew Gregan <kinetik@orcon.net.nz>. - windows/unix working copy line ending conversion now works correctly. Thanks to Emile Snyder <emile@alumni.reed.edu>. - many fixes to i18n-ized filename support - "drop" and "rename" now affect file attributes as well. Thanks to Richard Levitte <richard@levitte.org> and Joel Reed <joelwreed@comcast.com>. - better error reporting in netsync. Thanks to Grahame Bowland <grahame@angrygoats.net>. - only set working directory's default branch on some commands (update, commit). Thanks to Florian Weimer <fw@deneb.enyo.de>. - "db check" now sets exit status correctly, for use in scripts. Thanks to Derek Scherger <derek@echologic.com>. - many others... - fantastic emacs integration in contrib/monotone.el. Thanks to Harley Gorrell <harley@panix.com>. - 45 new integration tests. total line coverage: ~84%. - upgrading from 0.18: database and working copies are fully compatible. NOTE that the configuration file is now ~/.monotone/monotonerc, rather than old ~/.monotonerc. Simply create ~/.monotone, and rename any existing configuration file.
2005-04-12Update to 0.18:jmmv2-7/+7
0.18 release. performance improvements, features, and bug fixes. This release is dedicated to Shweta Narayan. - most operations sped up by a factor of 2 or better; many sped up by up several orders of magnitude. - special thanks to Matt Johnston <matt@ucc.asn.au>, Derek Scherger <derek@echologic.com>, Linus Torvalds <torvalds@osdl.org>. - new concept: "database vars". Used in several features below. - new features: - new file "MT/log" can be edited while you work, sets default changelog. (no change in behaviour if you do not edit it.) Thanks to Jeremy Cowgar <jeremy@cowgar.com>. - monotone now stores default netsync server/collection, initialized on first use of netsync. - you no longer need to manually import server keys, monotone will fetch the key from the server on first netsync. - monotone keeps track of keys of servers you have previously synced with, to prevent man-in-the-middle attacks. - several powerful new "automate" commands added. - new command 'ls known', lists files that are under version control. Thanks to Florian Weimer <fw@deneb.enyo.de>. - preliminary "inodeprints" functionality -- speeds up diff, status, etc. No UI or documentation yet -- in a working copy, 'touch MT/inodeprints' to enable, then commit or update to populate cache. - UI improvements: - Added short options -r, -b, -k, -m. - default to 'dot' ticker-style when stderr is not a tty, thanks to Derek Scherger <derek@echologic.com>. - New "-@/--xargs" option, helpful when using new automate commands. Thanks to Richard Levitte <richard@levitte.org>. - New "--depth" argument to 'log'. Thanks to Richard Levitte <richard@levitte.org>. - 'db info' gives statistics on space usage. - new command 'dropkey'. Thanks to Jeremey Cowgar <jeremy@cowgar.com>. - robustness improvement: if monotone crashes in a working directory and --dump and --debug were not specified, saves debug dump to "MT/debug" for analysis, instead of discarding. - new contributed scripts: CIA (cia.navi.cx) notification, email notification, Bash completion. - 33 new integration tests. total line coverage: ~82%. - many bug fixes - Special thanks to Matt Johnston <matt@ucc.asn.au>, for going above and beyond to track down the last release blocker. - upgrading from 0.17 requires only a 'db migrate'.
2005-04-11Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.tv1-2/+1
2005-03-21Update to 0.17:jmmv2-8/+8
0.17 release. bug fixes and features. - many, many robustness improvements - more careful checking everywhere - much more thorough test suite - all revisions subject to careful checks before entering database - not yet fully optimized; "pull" may be very slow and use lots of cpu - support for "epochs", to safely manage future rebuilds, hash migration, etc. - new "db check" command, thanks to Derek Scherger <derek@echologic.com>. - now uses sqlite3, thanks to Christof Petig <christof@petig-baender.de>. - removes most former size limitations - "restrictions" support, thanks to Derek Scherger <derek@echologic.com>. - most commands now take a list of files to limit their actions to - monotone can now be run from anywhere in the working directory (not just the root) - new command "monotone setup" required to create a working directory for a new project - important security fix -- don't use shell when calling external merge commands. - format change for "MT/options", ".mt-attrs"; you may have to edit these files - new command "attr" for managing .mt-attrs. - builds merkle tries in-memory -- netsync starts up many times faster - start of new "automate" interface, for shell scripts and others. - new command "cdiff": generates context diffs. - remove most of now-obsolete manifest/file cert support. - 60+ new integration tests. - many portability fixes - in particular, major win32 cleanups, thanks to Jon Bright <jon@siliconcircus.com>. win32 is once again fully and natively supported. - many bug fixes - several incompatible changes: see file UPGRADE for migration information
2005-02-26Catch up with Boost packages rework: no need to use BOOST_SUFFIX any morejmmv1-5/+3
(because libraries are unversioned), and we only need to depend on the binary libraries (boost-libs); the huge boost dependency disappears. Bump PKGREVISION to 1.
2005-02-23Add RMD160 digests.agc1-1/+2
2005-01-12Capitalize Monotone.jmmv1-1/+1
2005-01-01Update to 0.16, which includes mostly important bug fixes:jmmv3-48/+17
- 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.
2004-11-28Changes in the package, coming from a monotone package I started creatingjmmv8-76/+39
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.
2004-10-03Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10tv1-1/+2
in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
2004-08-15import monotone-0.14, another distributed revision control systemdrochner8-0/+126