monotone Mtn Change Log

Age Message
8 years 9 months The previous version number wasn't liked by the automated package build

utilities. So I am sticking with the m.nn style of version numbering.
8 years 9 months Updated the test results, the change log and the installation instructions.
8 years 9 months Added the test results so that I can easily keep track of changes etc.
8 years 9 months Removed the use of the less command as it mucks up the test output and related

8 years 9 months - Updated to work with Monotone version 0.42 (added the i$mtn->file_merge(),

$mtn->lua() and $mtn->read_packets() methods and added support for the
--no-workspace mtn command line switch).
- Now support the NULL key type in parse_kv_record to allow for cases where
there is a field key without a value.
- The $io_stanza_re regular expression now also extras the key name.
- Made an exception message more meaningful.
- Updated the documentation as a result of the new 0.42 features. I have also
included a new EXAMPLES section, which details some of the less obvious
features, and an AUTHORS section.
- mtn-tester has been updated to test the new features and now recreates the
$mtn object after doing its initial tests so that any error messages are
cleared out prior to the actual tests.
8 years 9 months - Added contributions and ideas from Thomas Keller:

- Now have two constructors new_from_db() and new_from_ws(). The first is
aliased to new() and does what the old constructor did. The second
constructor uses the details from the specified workspace.
- The databases are checked to see if they are Monotone SQLite v3 databases
before they are opened by the mtn subprocess.
- The get_ws_path() method has been added.
- The mtn subprocess is either started inside the root directory (if no
workspace is being used) or in the top level directory inside the
specified/current workspace. This helps avoid all sorts of confusion and
weirdness with the mtn subprocess.
- Added the db_locked_condition_detected() method.
- Revamped all of the regexp string extraction code to be more efficient.
- Updated the documentation (documented the new stuff, corrected a few typos and
revamped the RETURN VALUE section to make it more readable).
8 years 10 months Added the standard copyright blurb at the bottom of the POD file.
8 years 11 months Updated the Changes file.
8 years 11 months Tested CPAN package generation. All seems to work fine.
8 years 11 months First stab at a CPAN module.
8 years 11 months - Added the intro message in mtn-tester.

- mtn-tester now makes sure that there is no default database to sync to (safety
8 years 11 months - Completely revamped the key-value parsing to make it much more generic.

- Now fully support the automate stdio interface (both read and write) for
Monotone versions 0.35 up to 0.41 (the latest at the time of this checkin).
- Completely revamped the mtn-tester test script to be easier to maintain. It
now has a list of tests that it performs in a generic framework.
- Updated the documentation to reflect these changes.
- Tested against Monotone versions 0.35 and 0.41.
9 years 1 month - Now use severity constants instead of strings.

- Implemented the genkey, packet_for_fdata, packet_for_fdelta, packet_for_rdata,
packets_for_certs, put_file and put_revision methods.
- Corrected a wrong data type argument error in the cert method.
- Arguments can be passed by reference now so as to allow for efficient passing
of large chunks of data into Monotone via the put_file method.
- Updated the documentation to reflect the changes.
9 years 1 month - Now have the option of registering a waiting for I/O handler. Poll is used to

detect such situations and sysread is now used instead of read (which uses
- Implemented the ignore_suspend_certs method.
= Implemented the can method for determining what features are available.
- Sorted out some oddness in register_io_wait_handler()'s error handling.
- Updated the documentation.
9 years 1 month - Make sure that the destructor does not throw any exceptions and does not reset

any exception status that may be present when it is called.
- Make sure that the closedown() method does not allow its use of the eval
statement to reset any currentl exception status.

Bit of a nasty bug this one! Basically because the object was blessed before the
exception was raised in the constructor, Perl immediately calls the destructor,
which in turn calls code that uses eval, thereby resetting $@ and loosing the
details of the original exception.
9 years 1 month - The carper handler now has a default implementation like the croaker handler.

- Implemented the register_io_wait_handler class and object method.
9 years 1 month The Monotone subprocess is run in the default locale so parsing will still work

regardless of the locale it is running in.
9 years 2 months Reordered the export statements to come after the routine prototypes.
9 years 2 months - Added the register_db_locked_handler method and associated logic.

- Both error and database locked registration methods now support the use of
client data.
- Improved the regular expression used for finding complete quoted values in the
output from mtn automate stdio.
- Removed the redundant `o' switch from all re operations as Perl can work this
out for itself.
9 years 2 months Corrected a member function description.
9 years 3 months - Switched over to using the use warnings pragma instead of using -w or -W (it

gives far greater control.
- Improved the documentation a bit.
9 years 4 months Tidied up a few things.
9 years 4 months Clarified opening statement about the library.
9 years 5 months Improved the contructor code a bit.
9 years 5 months Added clarification WRT the closedown method.



Quick Links:    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status