<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/monotone</link><counters><counter name="thisWeek" lastEventTime="1329171570" firstEventTime="1329109850">3</counter><counter name="forever" lastEventTime="1329171570" firstEventTime="1112585728">14939</counter><counter name="lastWeek" lastEventTime="1329021226" firstEventTime="1329021226">1</counter><counter name="yesterday" lastEventTime="1329171570" firstEventTime="1329109850">3</counter><counter name="thisMonth" lastEventTime="1329171570" firstEventTime="1329021226">4</counter></counters><metadata><item name="subtitle"><value type="text/plain">reliable, distributed version control</value></item><item name="description"><value type="text/plain">monotone is a free distributed version control system. it provides a simple, single-file transactional version store, with fully disconnected operation and an efficient peer-to-peer synchronization protocol. it understands history-sensitive merging, lightweight branches, integrated code review and 3rd party testing. it uses cryptographic version naming and client-side RSA certificates. it has good internationalization support, has no external dependencies, runs on linux, solaris, OSX, windows, and other unixes, and is licensed under the GNU GPL.</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">Monotone</value></item><item name="url"><value type="text/plain">http://www.monotone.ca</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.not-selector</branch>     </source>     <body>         <commit>             <revision>6990661f53ecd711e409b6cb2a0e173fb7defbb2</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">doc/monotone.texi</file></files>             <log>Add documentation for 'not' extended selector</log>             <url>http://code.monotone.ca/p/monotone/source/commit/6990661f53ecd711e409b6cb2a0e173fb7defbb2</url>         </commit>     </body> <timestamp>1329171570</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.not-selector</branch>     </source>     <body>         <commit>             <revision>e56619f398f32fdca6068d369cde95e1d3add396</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">test/func/extended-selectors/__driver__.lua</file></files>             <log>Add more logic tests for 'not' extended selector</log>             <url>http://code.monotone.ca/p/monotone/source/commit/e56619f398f32fdca6068d369cde95e1d3add396</url>         </commit>     </body> <timestamp>1329171569</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.not-selector</branch>     </source>     <body>         <commit>             <revision>cbbe6a548dd5d565dfd0601ba1df320a613d3dc6</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">src/selectors.cc</file> <file action="modify">test/func/extended-selectors/__driver__.lua</file></files>             <log>Implement 'not' selector function and corresponding tests

Example:
Show all revisions which have not been tested yet
mtn log -r not(c:testresult)</log>             <url>http://code.monotone.ca/p/monotone/source/commit/cbbe6a548dd5d565dfd0601ba1df320a613d3dc6</url>         </commit>     </body> <timestamp>1329109850</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>377d75d780a12a552941539f2e6a6e8d609fadb7</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">src/cmd_diff_log.cc</file></files>             <log>Print old + new revision IDs in diff header when both are explicitly specified</log>             <url>http://code.monotone.ca/p/monotone/source/commit/377d75d780a12a552941539f2e6a6e8d609fadb7</url>         </commit>     </body> <timestamp>1329021226</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>1d7f0b547697172f9806535e1479911aed3ad783</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">contrib/colortone.pl</file></files>             <log>Use 'require' + 'import' instead of 'use' for Win32::Console::ANSI

'use' results in a compile error if the module isn't found, such as on
non-windows systems.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/1d7f0b547697172f9806535e1479911aed3ad783</url>         </commit>     </body> <timestamp>1322093126</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>14cf20bd261593dbe98b0d5c64bc5690892f03f2</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="add">contrib/colortone.pl</file></files>             <log>Add colortone.pl which colors monotone output using ANSI escape codes

Windows users should probably create the '.bat' file as mentioned in the
file comments; makes using it much easier.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/14cf20bd261593dbe98b0d5c64bc5690892f03f2</url>         </commit>     </body> <timestamp>1322058449</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>d69b6671da387f29b2acafba5ade90aaa190d0da</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="add">test/func/disapprove_root_revision/</file> <file action="add">test/func/disapprove_root_revision/__driver__.lua</file> <file action="modify">src/cmd_ws_commit.cc</file></files>             <log>Produce meaningful error message when trying to disapprove a root

The old code used to generate an invariant failure in get_revision, called
from get_revision_manifest. This is because root revisions have no parents,
making the code trying to get the null_id revision.

Rather than let this happen, produce a friendlier message but still error
out as we don't handle disapproving of root revisions.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/d69b6671da387f29b2acafba5ade90aaa190d0da</url>         </commit>     </body> <timestamp>1321148246</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>b95f29a31b0bdfcefe0a168dfa6d8b125ff96e1e</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">src/work.hh</file> <file action="modify">src/pcrewrap.cc</file></files>             <log>merge of 'a9d1085eb0df7cc8a49d22fbf80d4209cbca564d'
     and 'ef60d096fde0204e1884af172d2b901513a106f0'</log>             <url>http://code.monotone.ca/p/monotone/source/commit/b95f29a31b0bdfcefe0a168dfa6d8b125ff96e1e</url>         </commit>     </body> <timestamp>1321050140</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>a9d1085eb0df7cc8a49d22fbf80d4209cbca564d</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">src/pcrewrap.cc</file></files>             <log>Use const_iterator instead of iterator for regex_cache

find() and end() are only used to see if an entry exists in the cache, and
have no need to modify the results.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/a9d1085eb0df7cc8a49d22fbf80d4209cbca564d</url>         </commit>     </body> <timestamp>1321050137</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>ef60d096fde0204e1884af172d2b901513a106f0</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">src/work.hh</file></files>             <log>Use 'struct i18n_format' instead of 'class i18n_format' in 'work.hh'

'sanity.hh' defines 'i18n_format' as a struct, and all other uses are
structs as well.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/ef60d096fde0204e1884af172d2b901513a106f0</url>         </commit>     </body> <timestamp>1320883060</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.regex-cache</branch>     </source>     <body>         <commit>             <revision>8ff9be8a9b6534d3c362b61258d724809d1e62e7</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">NEWS</file></files>             <log>Add notice to NEWS file about performance of regular expressions</log>             <url>http://code.monotone.ca/p/monotone/source/commit/8ff9be8a9b6534d3c362b61258d724809d1e62e7</url>         </commit>     </body> <timestamp>1320168139</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.regex-cache</branch>     </source>     <body>         <commit>             <revision>dbb5af793bce29645edde73368225c5259a06ecc</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">src/pcrewrap.cc</file></files>             <log>Create 'regex_cache_manager' to manage the regex cache and correctly free
the compiled data</log>             <url>http://code.monotone.ca/p/monotone/source/commit/dbb5af793bce29645edde73368225c5259a06ecc</url>         </commit>     </body> <timestamp>1320062690</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.regex-cache</branch>     </source>     <body>         <commit>             <revision>3f8f0d347ad197aafa02785464810636e5db07eb</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">src/pcrewrap.cc</file></files>             <log>Cache previously compiled regexs in pcrewrap.cc

The benefit of this is to improve the use of the &quot;.mtn-ignore&quot; file by
commands such as &quot;mtn ls unknown&quot;.

The timings obtained via &quot;time mtn ls unknown&quot; are shown below when
run on a Dell Inspiron 1501 with 894 MB RAM, OpenSUSE 11.4. The workspace
was a normal checkout of &quot;net.venge.monotone&quot; after the standard
&quot;./configure&quot;, &quot;make&quot; cycle and using the standard &quot;.mtn-ignore&quot; file as
part of the checkout.

Repeated execution obtains results consistent with those below showing the
cache improves execution time.

Normal monotone (no caching)

real: 0m0.365s
user: 0m0.312s
sys: 0m0.052s

With caching

real: 0m0.316s
user: 0m0.240s
sys: 0m0.072s

However, currently the cache will be leaked as I don't know where to call
the new function &quot;free_compiled&quot; which will free everything.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/3f8f0d347ad197aafa02785464810636e5db07eb</url>         </commit>     </body> <timestamp>1319990174</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>c954e1afd2121eff60933e93270d855a81d726ad</revision>             <author>Richard Levitte &lt;richard@levitte.org&gt;</author>             <files><file action="modify">Makefile.am</file></files>             <log>* Makefile.am: Correct typo, $(test_unit_tester_SOURCES) should be
  $(test_bin_unit_tester_SOURCES).  Closes issue 195</log>             <url>http://code.monotone.ca/p/monotone/source/commit/c954e1afd2121eff60933e93270d855a81d726ad</url>         </commit>     </body> <timestamp>1319536154</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>af378ab04141f724f5c49d599e96b0f61c3cf2df</revision>             <author>Richard Levitte &lt;richard@levitte.org&gt;</author>             <files><file action="modify">doc/pcrepattern.texi</file></files>             <log>* doc/pcrepattern.texi: Correct typo, &quot;@verbatim&quot; should be ended with
  &quot;@end verbatim&quot;.  Closes issue 196.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/af378ab04141f724f5c49d599e96b0f61c3cf2df</url>         </commit>     </body> <timestamp>1319535777</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>b364caeea5e26e19023b68a166f14ee4127996e5</revision>             <author>Richard Levitte &lt;richard@levitte.org&gt;</author>             <files><file action="modify">Attic/pcre/README</file></files>             <log>* Attic/pcre/README: Update version number to match pcre.h.  Closes issue 197.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/b364caeea5e26e19023b68a166f14ee4127996e5</url>         </commit>     </body> <timestamp>1319535547</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone</branch>     </source>     <body>         <commit>             <revision>e3bb68c53c351f411ea4505400c16c8d9f252013</revision>             <author>Richard Levitte &lt;richard@levitte.org&gt;</author>             <files><file action="modify">src/cmd.cc</file></files>             <log>* src/cmd.cc: Since the first string isn't a format string, let's not
  pretend it is.  Instead, use fputs(), that's more efficient.

The backgrond for this is Debian, where there are options to build
with the following settings:

CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security
CPPFLAGS=-D_FORTIFY_SOURCE=2
CXXFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security</log>             <url>http://code.monotone.ca/p/monotone/source/commit/e3bb68c53c351f411ea4505400c16c8d9f252013</url>         </commit>     </body> <timestamp>1319501069</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.log-with-certs</branch>     </source>     <body>         <commit>             <revision>485dbe5582f16e43a91d56590d402808d4837990</revision>             <author>Richard Hopkins &lt;richhguard-monotone@yahoo.co.uk&gt;</author>             <files><file action="modify">src/rev_output.cc</file></files>             <log>Output all custom certs under &quot;Other certs&quot; heading

NOTE: &quot;suspend&quot; and &quot;testresult&quot; certs, which are special to monotone, will
currently appear in the &quot;Other certs&quot; section. These will later get
promoted to their own section with their own special formatting.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/485dbe5582f16e43a91d56590d402808d4837990</url>         </commit>     </body> <timestamp>1315860392</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.issue-182</branch>     </source>     <body>         <commit>             <revision>0567ddefc130f03116a1b8a4e3a9a277a9da87af</revision>             <author>Martin.vGagern@gmx.net</author>             <files><file action="modify">src/monotone.cc</file></files>             <log>Adjust botan runtime version check to accept 1.10.x.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/0567ddefc130f03116a1b8a4e3a9a277a9da87af</url>         </commit>     </body> <timestamp>1315832905</timestamp></message><message>     <generator>         <name>Monotone CIA Bot client python script</name>         <version>0.9</version>     </generator>     <source>         <project>monotone</project>         <branch>net.venge.monotone.issue-182</branch>     </source>     <body>         <commit>             <revision>dc0bcdde415716d2a6cd751b2fb5315d0daec265</revision>             <author>Martin.vGagern@gmx.net</author>             <files><file action="modify">src/transforms.cc</file></files>             <log>Make transform failures recoverable even with botan 1.10.x.

We have to deal with the fact that Botan::Invalid_Argument no longer derives
from Botan::Exception.  So now we use std::exception as the common base
class which we handle in error_in_transform.</log>             <url>http://code.monotone.ca/p/monotone/source/commit/dc0bcdde415716d2a6cd751b2fb5315d0daec265</url>         </commit>     </body> <timestamp>1315832904</timestamp></message></recentMessages></statsTarget>
