monotone Mtn Source Tree


1Revision history for Perl extension Monotone::AutomateStdio.
30.09 Thu Aug 12 17:40:00 2010 Anthony Cooper <>
4- Added support for Monotone version 0.48 by adding the update()
5 method.
6- Made the the code that reads format 2 chunk headers slightly more
7 efficient (avoids calling poll() more than it has to).
8- Now recognise development versions of Monotone.
9- Updated the documentation (and corrected a typo).
10- Updated mtn-tester for Monotone version 0.48 and now added code to
11 print out the return value from the get_error_message() method after
12 each test.
140.08 Sun May 23 10:00:00 2010 Anthony Cooper <>
15- The get_db_name() method now returns undef instead of ":memory:" when
16 connecting to a network service.
17- Added the get_service_name() method.
18- Corrected a bug where retries on locked db caused exceptions to be
19 thrown in the startup routine despite the retry handler successfully
20 dealing with the situation and waiting until the db was unlocked.
21- Now stop deep recursion from happening in the above situation.
22- Improved the logic in error handling inside the startup routine so
23 that the best error message is generated.
24- Improved some exception messages and other minor code tidy-ups.
25- Updates the documentation and corrected a few typos.
270.07 Sat Feb 27 19:30:00 2010 Anthony Cooper <>
28- Added support for 0.46:
29 - Added support for extracting the extra automate stdio data streams
30 new in 0.46.
31 - Added support for automate remote_stdio via the new_from_service()
32 contructor.
33 - Added the pull(), push() and sync() methods.
34- Updated the POD documentation.
35- Added a return statement to the end of all methods that don't return
36 anything so that nothing can be accidentally leaked (Perl subroutines
37 by default return the value of the last expression executed).
38- Now use the getlines() method instead of <>.
39- SIGPIPE is now ignored (caused the program to terminate when the mtn
40 subprocess exited unexpectedly and this library was in the middle of
41 sending it something).
42- Stopped using abbreviated words in error messages.
43- Rationalised the use of die() croaker() and carper() (some things
44 were carping when they should have been croaking).
45- Used the OO style of calling print() and printf() so that
46 $this->{mtn_in} could be used directly.
47- Short reads on reading data cause errors rather than a blocking read.
48- Restructured some code in mtn_command_with_options() to be more
49 logically grouped.
50- Failure to read the new format header does not obscure potentially
51 more helpful error messages.
52- Get more consistent results (WRT irrelevant Data::Dumper related
53 white space) if UTF-8 conversion is switched off.
54- Switched over to custom Inside Out object design.
55- The version numbers are not treated as floating point numbers.
56- Made the convertion from UTF-8 into Perl's internal string format
57 handle errors in a better way.
58- Made the handling of the convert_to_utf8 flag a little bit more
59 consistent with other such flags.
60- Some code tidy ups.
61- Added new tests for mtn version 0.46 and updated the test results
62 with the corresponding output.
63- Corrected some comments.
650.06 Sat Nov 7 15:27:00 2009 Anthony Cooper <>
66- Updated library to take into account the changes made in Monotone
67 0.45. This also includes the documentation. Changes include:
68 - tags() and certs() now return a has as a key or signer rather than
69 their name.
70 - content_diff() now supports the --reverse and --with-headers
71 options.
72 - keys() now returns given_name and local_name instead of just name.
73- Tested against a 0.45 database and also updated the test harness to
74 reflect the above changes.
75- Made the exception handling code more consistent and cleaner.
76- Corrected the use of IO::Poll's mask method and added POLLHUP to the
77 mask.
78- Now much more explicit in handling the reaping of subprocesses and
79 much more robust in the face of a subprocess that won't die.
80- Now test for the presence of exceptions by using a simple boolean
81 test.
82- Now cope with open3() throwing exceptions whilst inside the child
83 process.
84- Now allow the --rcfile switch.
85- Made other small consistency tidy ups.
870.05 Fri Jun 5 17:49:00 2009 Anthony Cooper <>
88- Updated for Monotone version 0.44:
89 - Added support for the w: selector (feature MTN_W_SELECTOR).
90 - Modified the genkey() and keys() methods to cope with the common
91 single hash as against separate private and public ones (feature
93- The type field has been dropped from the records returned by the
94 keys() method. It wasn't really needed as only one field is sometimes
95 not available.
96- Updated mtn-tester so as to reduce avoidable churn in the test output
97 and to also correctly deal with the data returned by the
98 get_revision() method.
99- Updated and tidied up the POD documentation to reflect the above
100 changes.
101- Now supports the conversion of UTF-8 data into and out of Perl's
102 internal UTF-8 string format for data read in from and sent out to
103 the mtn subprocess.
104- Added a suppress_utf8_conversion() method for disabling the above
105 conversion if so desired.
1070.04 Sun May 3 19:19:00 2009 Anthony Cooper <>
108- Updated for Monotone version 0.43, (added support for the m: and u:
109 selectors).
110- Corrected and simplified the `Have I got a class thingy as my first
111 argument?' logic in light of issues encountered when I tried to
112 derive from this class.
113- Updated the test harness in light of previous interface changes and
114 the fact that mtn revert is more noisy now (use the -quiet switch).
115- Updated the POD documentation.
116- Switched to the OO way of calling methods, more consistent.
117- Renamed the can() method to supports() so as not to conflict with
118 Perl's UNIVERSAL can() method.
119- Renamed some of the capability constants so as to fit in more
120 naturally with the method renamed above.
1220.03 Sun Feb 8 18:22:00 2009 Anthony Cooper <>
123- Switched all Perl scripts over to demanding Perl 5.8.5.
124- Improved an error message (which was causing compilation to fail
125 anyway).
126- Added the $mtn->switch_to_ws_root() class method.
127- Documented the above and under the NOTES section went into greater
128 detail the issues surrounding using mtn inside workspaces.
129- Changed the order of the Changes file (most recent first).
130- Clarified some POD file text.
1320.02 Wed Jan 7 16:00:00 2009 Anthony Cooper <>
133- Updated to work with Monotone version 0.42 (added the
134 $mtn->file_merge(), $mtn->lua() and $mtn->read_packets() methods and
135 added support for the --no-workspace mtn command line switch).
136- Added contributions and ideas from Thomas Keller:
137 - Now have two constructors new_from_db() and new_from_ws(). The
138 first is aliased to new() and does what the old constructor did.
139 The second constructor uses the details from the specified
140 workspace.
141 - The databases are checked to see if they are Monotone SQLite v3
142 databases before they are opened by the mtn subprocess.
143 - The get_ws_path() method has been added.
144 - The mtn subprocess is either started inside the root directory (if
145 no workspace is being used) or in the top level directory inside
146 the specified/current workspace. This helps avoid all sorts of
147 confusion and weirdness with the mtn subprocess.
148- Added the db_locked_condition_detected() method.
149- Now support the NULL key type in parse_kv_record to allow for cases
150 where there is a field key without a value.
151- Revamped all of the regexp string extraction code to be more
152 efficient.
153- The $io_stanza_re regular expression now also extras the key name.
154- Made an exception message more meaningful.
155- mtn-tester has been updated to test the new features and now
156 recreates the $mtn object after doing its initial tests so that any
157 error messages are cleared out prior to the actual tests.
158- Updated the documentation as a result of the new 0.42 features. I
159 have included a new EXAMPLES section, which details some of the less
160 obvious features, and an AUTHORS section. I have also revamped the
161 RETURN VALUE section to make it more readable).
1630.01 Sun Nov 9 12:48:46 2008 Anthony Cooper <>
164- original version; created by h2xs 1.23 with options
165-X -n Monotone::AutomateStdio

Archive Download this file



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