Below is the file 'ChangeLog' from this revision. You can also download the file.
2005-09-20 Matt Johnston <matt@ucc.asn.au>
* database.cc (space_usage): workaround the issue that in sqlite
3.2.6, SUM({empty set}) returns NULL. (this is part of the sql spec,
see http://www.sqlite.org/cvstrac/tktview?tn=1413 and the comment for
SUM() in sqlite docs).
2005-09-20 Matt Johnston <matt@ucc.asn.au>
* ui.cc, ui.hh, sanity.hh: replace ui.user_locale with
get_user_locale(), so that we can guarantee that it will be
initialised when the global_sanity object (and probably other things)
are instantiated.
2005-09-20 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_restriction_with_exclude_iprint.at: New test, variant of
t_restriction_exclude.at, but with inodeprints enabled. Mark as
XFAILed.
* testsuite.at: Add new test.
* sqlite/*: Update in-tree SQLite from 3.2.2 to 3.2.6.
* Makefile.am: Add sqlite/{analyze,vbdefifo,complete}.c to
SQLITE_SOURCES
* schema_migration.cc (calculate_schema_id): Explicitly exclude
sqlite_stat1 table from schema ID calculation. This is a new
magic table created by the 'analyze' command in SQLite >= 3.2.3.
2005-09-18 Nathaniel Smith <njs@pobox.com>
* po/ja.po: New translation from Satoru SATOH <ss@gnome.gr.jp>.
* AUTHORS: Add Satoru SATOH.
2005-09-18 Matthew Gregan <kinetik@orcon.net.nz>
* testsuite.at: Tweak default 'eveything' netsync glob to
something that works around the MinGW/Win32 globbing issues for
now.
* tests/t_log_brief.at: Canonicalise output on Win32.
2005-09-17 Timothy Brownawell <tbrownaw@gmail.com>
* contrib/usher.cc: Remove stray "new int[2];' statements from
debugging. Remove connections from list when finished.
2005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
* Makefile.am (EXTRA_DIST): add contrib/monotone-cvs-ignore.lua,
contrib/ciabot_monotone_hookversion.py, and contrib/usher.cc .
also remove duplicate of contrib/monoprof.sh
2005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
* netsync.cc: finish renaming things, so it compiles again...
2005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
* contrib/usher.cc: A simple usher/proxy server. It asks connecting
clients for their include pattern, and then forwards the connection
to an appropriate (as given in a config file) monotone server. Note
that all servers operating behind one usher need to have the same
server key.
2005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
* netcmd.{cc,hh}, netsync.cc: new netcmd types: usher_cmd and
usher_reply_cmd. They are not included in the HMAC, and do not
occur during normal communication. Purpose: running multiple servers
from the same port. This allows a special server to ask for the
client's include pattern, and then forward the connection to a real
monotone server.
2005-09-16 Matt Johnston <matt@ucc.asn.au>
* botan/pkcs8.cpp: re-add the monotone-specific code for guessing if
a key is DER encoded or not.
2005-09-16 Matt Johnston <matt@ucc.asn.au>
* botan/*: update to Botan 1.4.6
* Makefile.am: ditto
2005-09-15 Timothy Brownawell <tbrownaw@gmail.com>
* app_state.{cc,hh}: restrictions now understand --exclude
* commands.cc: commit and revert now take OPT_EXCLUDE
* monotone.cc: update description of --exclude
* tests/t_restriction_with_exclude.at: new test
* testsuite.at: add it
2005-09-14 Timothy Brownawell <tbrownaw@gmail.com>
* contrib/ciabot_monotone_hookversion.py: CIA bot client script
meant to be called from the note_netsync_revision_received hook.
* lua.{cc,hh}: hook_note_commit and hook_note_netsync_revision_received
now take the text of the revision as an argument.
* netsync.cc, commands.cc: Give hooks new argument.
* monotone.texi: Update documentation for those hooks.
2005-09-11 Benoît Dejean <benoit@placenet.org>
* database.cc
* database_check.cc
* netsync.cc
* po/POTFILES.in
* po/POTFILES.skip
* rcs_import.cc: More i18n strings.
2005-09-07 Jim Meyering <jim@meyering.net>
* tests/t_rename_dir_cross_level.at: When invoking mv to rename
a directory, do not include a trailing slash on the target -- that
is not portable.
* Makefile.am (TESTS_ENVIRONMENT): Ensure that PATH starts with
the current directory, so we test the just-built monotone binary,
not some older version.
2005-09-07 Benoît Dejean <benoit@placenet.org>
* std_hooks.lua: Don't spawn emacs with '-no-init-file'.
2005-09-09 Matthew Gregan <kinetik@orcon.net.nz>
* paths.cc (save_initial_path): Default Boost's fs::path to
fs::native grammar.
* tests/t_unreadable_{db,MT}.at: Disable on Win32 for now.
* paths.cc: Consistency--use WIN32 rather than _WIN32.
* file_io.cc (walk_tree): Correct test for file existence.
2005-09-08 Matthew Gregan <kinetik@orcon.net.nz>
* Makefile.am: Add '-f' argument to 'mv'; avoids build waiting on
user confirmation in some cases.
2005-09-08 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Certificates): Remove mention of fcerts and
mcerts.
2005-09-07 Benoît Dejean <benoit@placenet.org>
* ui.{cc,hh}: Added user_inferface::user_locale.
* sanity.hh: Made F() and FP() locale aware.
2005-09-06 Benoît Dejean <benoit@placenet.org>
* monotone.cc: One more i18n string.
2005-09-06 Benoît Dejean <benoit@placenet.org>
* po/fr.po: Updated French translation.
2005-09-06 Benoît Dejean <benoit@placenet.org>
* commands.cc: No i18n for cert_revision_changelog.
2005-09-06 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_netsync_read_permissions.at: Tweak tests so we aren't
trying to serve a bare '*'; works around test hangs due to glob
expansion sillyness on MinGW.
* tests/t_netsync_globs.at: Ditto.
* tests/t_netsync_exclude.at: Ditto.
* std_hooks.lua (ignore_file): Add Mac OS X (.DS_Store) and
Windows (desktop.ini) per-directory browser configuration files.
2005-09-05 Benoît Dejean <benoit@placenet.org>
* commands.cc: Fixed some strings (added ' around revisions).
Removed some whitespaces.
No i18n in diff output.
2005-09-05 Benoît Dejean <benoit@placenet.org>
* sanity.{cc,hh}: boost::format vs. F(). Merged boost::format
and moved non-template code to sanity.cc.
2005-09-05 Matthew Gregan <kinetik@orcon.net.nz>
* win32/terminal.cc (have_smart_terminal): We were returning false
in almost all circumstances; changed logic so that we at least
work when running in a cmd.exe window.
2005-09-05 Matt Johnston <matt@ucc.asn.au>
* commands.cc (dump_diffs): don't use the terminal width to
print ===== seperators.
2005-09-05 Matthew Gregan <kinetik@orcon.net.nz>
* paths.cc (find_and_go_to_working_copy): Create root and bookdir
paths as fs::native.
* main.cc: Tweak #ifdef to avoid exposing some unused SEH handling
on MinGW.
* configure.ac: Minor cleanup to Win32 configure test.
2005-09-04 Nathaniel Smith <njs@pobox.com>
* monotone.cc (options): Remove default from the help string for
--count, since none of the options listed are actually the
default.
2005-09-04 Nathaniel Smith <njs@pobox.com>
* tests/t_unreadable_db.at, testsuite.at: New test.
2005-09-03 Nathaniel Smith <njs@pobox.com>
* po/Makevars (XGETTEXT_OPTIONS): N_ != ngettext.
Add c-format flags on F() and FP() calls (only partially
successful on latter, because of bug in xgettext).
2005-09-04 Grahame Bowland <grahame@angrygoats.net>
* commands.cc: siplify the monotone cat command
to "monotone cat [-r] FIELNAME" (as in bug #12597)
* monotone.texi: update documentation of "monotone cat"
* tests/t_add_edge.at, tests/t_cat_file_by_name.at,
tests/t_change_empty_file.at, tests/t_cvsimport.at,
tests/t_cvsimport_deleted_invar.at, tests/t_cvsimport_drepper.at,
tests/t_cvsimport_drepper2.at, tests/t_cvsimport_manifest_cycle.at,
tests/t_cvsimport_samelog.at, tests/t_database_check.at,
tests/t_db_kill_rev_locally.at, tests/t_empty_id_completion.at,
tests/t_epoch.at, tests/t_epoch_server.at, tests/t_erename.at,
tests/t_i18n_file.at, tests/t_import.at, tests/t_merge_add_del.at,
tests/t_movedel.at, tests/t_movepatch.at, tests/t_netsync.at,
tests/t_netsync_exclude.at, tests/t_netsync_exclude_default.at,
tests/t_netsync_globs.at, tests/t_netsync_nocerts.at,
tests/t_netsync_permissions.at, tests/t_netsync_read_permissions.at,
tests/t_netsync_single.at, tests/t_normalized_filenames.at,
tests/t_persistent_server_revision.at, tests/t_remerge.at,
tests/t_rename.at, tests/t_renamed.at, tests/t_scan.at,
tests/t_set_default.at, tests/t_singlecvs.at,
tests/t_update_with_pending_add.at, tests/t_update_with_pending_drop.at,
tests/t_update_with_pending_rename.at, tests/t_versions.at:
use automation interface rather than "monotone cat"
2005-09-04 Grahame Bowland <grahame@angrygoats.net>
* ChangeLog: fix up screwed up three-way merge
2005-09-04 Grahame Bowland <grahame@angrygoats.net>
* automate.cc, commands.cc: add "automate get_file",
"automate get_revision" and "automate get_manifest" to
automation interface.
* monotone.texi: document new automation commands
* tests/t_automate_get_file.at, tests/t_automate_get_revision_at,
tests/t_automate_get_manifest.at: trivial testing of new
automation commands for output as specified, make sure they
do not complete IDs, make sure invalid IDs are caught.
* testsuite.at: add new tests
2005-09-03 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_persistent_server_keys_2.at: 'commit' needs a commit
message. Un-XFAIL.
* tests/t_netsync_unrelated.at: Fix 'setup' syntax.
* tests/t_add_vs_commit.at: BASE_REVISION needs to be in the root
of a working copy to work. Un-XFAIL.
* tests/t_add_stomp_file.at: 'add' does not take a --branch
argument. BASE_REVISION needs to be in the root of a working copy
to work.
* annotate.cc (build_parent_lineage): Don't access uninitialized
memory--use resize() rather than reserve().
2005-09-02 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.cc: Use consistent case in option descriptions.
2005-09-02 Nathaniel Smith <njs@pobox.com>
* paths.{hh,cc}: Add split_path typedef. Use it.
2005-09-02 Matt Johnston <matt@ucc.asn.au>
* lua.cc (monotone_guess_binary_file_contents_for_lua): use a
temporary char* buffer rather than &string[], extra copying seems
to have negligible performance impact.
* tests/perf-test.sh: change path from tests/ to contrib/, make
executable.
* tests/parse-accounting.pl: make executable.
2005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
* lua.cc, std_hooks.lua: use proper regexes for .mt-ignore
taken from a patch from Martin Dvorak
* contrib/monotone-cvs-ignore.lua: New file, from the same patch.
supports .cvsignore files
* tests/t_mt_ignore.at: check that a missing .mt-ignore
doesn't cause problems
2005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
* tests/t_mt_ignore.at: use RAW_MONOTONE instead of ugly --rcfile
Also actually do "mtn add" this time.
2005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
* tests/t_mt_ignore.at: new test, checks that .mt-ignore works
* testsuite.at: add it
2005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
* std_hooks.lua: support .mt-ignore
* monotone.texi: mention .mt-ignore and MT/wanted-testresults under
"Existing control files"
* .mt-ignore: ignore testsuite.dir
2005-09-03 Benoît Dejean <benoit@placenet.org>
* commands.cc (ls_certs):
* netsync.cc (load_data): Merged strings.
2005-09-01 Benoît Dejean <benoit@placenet.org>
* commands.cc: Merged one more "no such revision '%s'" string.
2005-09-01 Benoît Dejean <benoit@placenet.org>
* commands.cc: Merged all "no such revision '%s'" strings.
(string_to_datetime): Merged catch blocks in order to merge error
messages.
2005-09-01 Benoît Dejean <benoit@placenet.org>
* ChangeLog: Fixed.
2005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
* ui.cc (user_interface): Avoid calling sync_with_stdio(false) on
Win32 for now to work around a bug in MinGW where unsynchronized
std::cin returns EOF earlier when reading a stream with DOS
newlines. Resolves 'db load' failure reported by Howard Spindel.
* database.cc (load): Don't bother executing an empty string.
* commands.cc (ALIAS(import, setup)): Remove alias.
2005-09-01 Matt Johnston <matt@ucc.asn.au>
* schema.sql: add BEGIN, COMMIT to make it a single transaction,
improves db init performance significantly on OS X (avoids many
disk-cache flushes).
2005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
* testsuite.at: Increase entropy used to generate port numbers
where we can and increase range of port numbers generated.
* monotone.texi: Fix a couple of minor typos.
2005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.texi: Update 'setup' documentation and tutorial to
reflect new usage. Also update much of the monotone output in the
tutorials to reflect the output of more modern versions of
monotone. Correct some minor errors and typos while here.
* commands.cc (CMD(setup)): Require database and branch arguments.
(ALIAS(import,setup)): Add setup alias.
* testsuite.at, tests/*.at: Update 'setup' usage.
2005-08-31 Richard Levitte <richard@levitte.org>
* lua.cc, std_hooks.lua: Rename
monotone_guess_binary_filename_for_lua and guess_binary_filename
to monotone_guess_binary_file_contents_for_lua and
guess_binary_file_contents.
2005-08-31 Benoît Dejean <benoit@placenet.org>
* basic_io.cc (basic_io::input_source::err): Merged strings.
2005-08-31 Nathaniel Smith <njs@pobox.com>
* file_io.cc (set_char_is_binary, guess_binary): static_cast chars
to uint8_t before using as array indices. Also replace some ints
with size_t's to quiet g++ warnings.
2005-08-30 Benoît Dejean <benoit@placenet.org>
In function void set_char_is_binary(char, bool)
133: warning: array subscript has type char
In function void init_char_is_binary()
147: warning: comparison between signed and unsigned integer expressions
In function bool guess_binary(const std::string&)
160: warning: comparison between signed and unsigned integer expressions
162: warning: array subscript has type char
2005-08-30 Benoît Dejean <benoit@placenet.org>
* file_io.cc (walk_tree): Fixed format.
2005-08-31 Marcel van der Boom <marcel@hsdev.com>
* std_hooks.lua (execute_confirm): New function.
(merge2_opendiff_cmd, merge3_opendiff_cmd): Add.
2005-08-31 Matthew Gregan <kinetik@orcon.net.nz>
* paths.cc (test_bookkeeping_path, test_system_path): Second
attempt at compile fixes; this time the unit tests actually pass
too.
2005-08-30 Matthew Gregan <kinetik@orcon.net.nz>
* paths.cc (test_bookkeeping_path, test_system_path): Shift object
instantiation around a little to work around what seems to be a
bug in the gcc 3.3 parser.
* win32/inodeprint.cc (inodeprint_file): Update to use new path
handling code.
* win32/fs.cc (tilde_expand): Compile fix.
2005-08-30 Petr Baudis <pasky@suse.cz>
* std_hooks.lua: Simple support for merging using merge(1) and vim.
2005-08-30 Benoît Dejean <benoit@placenet.org>
* po/fr.po: Updated French translation.
2005-08-30 Benoît Dejean <benoit@placenet.org>
* commands.cc: Merged some error messages.
2005-08-30 Benoît Dejean <benoit@placenet.org>
* commands.cc: Merged complete(..., file_id) and
complete(..., manifest_id) into template complete(..., ID).
2005-08-30 Benoît Dejean <benoit@placenet.org>
* commands.cc (ls_certs): Reworked for i18n.
(CMD(commit)): Merged 2 strings.
2005-08-30 Matthew Gregan <kinetik@orcon.net.nz>
* revision.cc (ensure_parents_loaded): Don't reuse an iterator
after we've invalidated it. Fixes 'diff' crash reported by Howard
Spindel.
2005-08-30 Matt Johnston <matt@ucc.asn.au>
* botan/allocate.cpp: avoid string comparison when looking up the
default allocator
* monotone.cc (cpp_main): set a default allocator
2005-08-28 Nathaniel Smith <njs@pobox.com>
* tests/t_attributes.at: Delete checkout dir in between
checkouts.
2005-08-28 Matt Johnston <matt@ucc.asn.au>
* keys.cc (keys_match): new function to compare whether two keys
match (ignoring whitespace as the database does, etc).
* packet.cc, keys.cc: use it for existing-key-comparison.
2005-08-27 Nathaniel Smith <njs@pobox.com>
* commands.cc (checkout): Special-case "checkout ."
* tests/t_checkout_dir.at: Test it.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* file_io.hh: Remove comment describing old path types.
* paths.hh: Add comment describing new path types.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* app_state.cc (create_working_copy): Remove
fs::filesystem_exception catching.
* file_io.hh (mkdir_p): Remove comment noting app_state.cc's
dependence on a boost-based implementation.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* paths.cc: Include <string>. Helps build on g++ 3.3?
2005-08-26 Nathaniel Smith <njs@pobox.com>
* commands.cc (get_log_message): Make the log message commentary a
little more descriptive for people who may not know what a log
message is...
(commit): When canceling a commit due to empty log message, say
so.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* std_hooks.lua: Check for both "vi" and "notepad.exe" as fallback
editors. If no editor was found, print a helpful message instead
of just running "vi" anyway. Print a message if the editor exited
with error.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* file_io.cc (mkdir_p, make_dir_for): Increase error checking.
* commands.cc (checkout): Make sure that checkout target directory
does not already exist. Also use system_path more uniformly.
* tests/t_checkout_dir.at: Test.
* tests/t_setup_existing_path.at: New test.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* commands.cc (read): Optionally take files on command line.
* tests/t_read_from_file.at, testsuite.at: New test.
* monotone.texi (Network Service): Show Jim using this.
(Packet I/O, Commands): Document.
* monotone.1: Likewise.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* change_set.cc (move_files_from_tmp_top_down): Typo again.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* database.cc (open): Convert stray line to paths.cc.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* change_set.cc (move_files_from_tmp_top_down): Typo.
* file_io.cc (move_path): New function.
(move_file, move_dir): Minor cleanup -- use
require_path_is_nonexistent.
* work.cc (build_deletions): Use delete_file, rather than unlink.
If file is already non-existent, do nothing.
(build_rename): Use move_path, rather than rename. If file
already appears to have been renamed, do nothing.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* app_state.cc (allow_working_copy): Make logging more sensible.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* transforms.cc (length):
* database.cc (sql, load, open):
* commands.cc (rename, attr):
* change_set.cc (move_files_to_tmp_bottom_up)
(move_files_from_tmp_top_down): Merge fixups.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* database_check.cc: Track and report on manifest and revision
parseability.
* tests/t_database_check_normalized.at: Update to expect "not
parseable" messages rather than "not normalized" messages.
All tests pass.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* tests/t_unreadable_MT.at: This test was called "do not fail on
unreadable MT/options". I do not know why we wanted such
behavior. I am making it "fail cleanly on unreadable
MT/options".
2005-08-26 Nathaniel Smith <njs@pobox.com>
* paths.cc (check_fp_normalizes_to, test_file_path_internal):
Oops, there were more places testing for non-brokenness; break
them too.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* paths.cc (test_split_join): Test that you cannot create a path
in MT by joining.
(file_path): Implement it.
(split): Break, to match broken behavior of old splitter (easier
than fixing change_set.cc...)
(file_path_internal): Test for brokenness accordingly.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* commands.cc (cat): Hack so that 'cat file REV PATH' works
correctly both inside and outside of working copy, interpreting
path slightly differently in each case.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* tests/t_normalized_filenames.at: Internal unnormalized pathnames
are no longer silently normalized, but rather a hard error.
Adjust test accordingly.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* paths.hh (file_path_internal_from_user): New constructor.
* paths.cc (test_file_path_internal): Test it.
(file_path::file_path): Implement it.
* commands.cc (cat): Use it to create/validate passed in
filenames.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* paths.cc (test_system_path): Require that system_path normalize
out ..'s.
(system_path): Do so.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* work.cc (build_additions): Remove redundant (and now wrong)
code.
Test 53 now passes.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* file_io.cc (make_dir_for): Oops, this doesn't need a
fs::native.
Test 37 now passes.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* file_io.cc (mkdir): New function. Now with extra brain-eating
power.
(mkdir_p, make_dir_for, delete_file, delete_dir_recursive)
(move_file, move_dir, write_data_impl): Use it, to make all
fs::path's native and disable boost's random rejection of paths.
2005-08-26 Nathaniel Smith <njs@pobox.com>
* paths.cc (test_file_path_external_prefix_a_b)
(test_file_path_external_no_prefix, test_file_path_internal): Test
for validity of more strange characters (,+@*%#$=).
2005-08-26 Nathaniel Smith <njs@pobox.com>
* file_io.cc (ident_existing_file): Remove accidentally-left-in
code. Test 26 now passes.
* lua.cc (monotone_includedir_for_lua, load_rcfile): Add
fs::native's.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.hh (system_path::system_path): Add new boolean argument
controlling some access_tracker behavior.
* app_state.cc (allow_working_copy): Use it.
* paths.cc (system_path): Implement it.
(test_system_path): Test it.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (walk_tree): Return properly.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc (test_file_path_internal): Add tests for
file_path.empty().
* file_io.cc (walk_tree_recursive): Add explicit fs::native.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc: Many small changes. Unit tests now pass. 72
unexpected autotest failures.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc (file_path): Fix up error reporting in external path
normalization.
(test_file_path_external_no_prefix): "" is always an invalid
path.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* database.cc (sql): Only check schema version when db actually
exists.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (read_data_for_command_line): We are given a
system_path.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc: Fix all unit test failures, except for two mysterious
boost::too_few_args exceptions.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc, unix/fs.cc: Many, many fixes and some new tests too.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc (struct access_tracker): Doh, initializer should set
'initialized'...
(test_file_path_internal): It's valid for a split file
to have a null component if the file is "".
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc (in_bookkeeping_dir): Last change didn't work out so
well; let's remove some negatives and see if I can understand what
the code does this way...
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc (not_in_bookkeeping_dir): Handle "MT" case.
Update tests to make sure it sticks...
2005-08-25 Nathaniel Smith <njs@pobox.com>
* unit_tests.{cc,hh} (init_unit_test_suite): Remove
path_component_tests.
* unix/fs.cc (tilde_expand): Another compile fix.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* {unix,win32}/fs.cc: Misc. compile fixes.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* Makefile.am (UNIX_PLATFORM_SOURCES): Add unix/fs.cc
(WIN32_PLATFORM_SOURCES): Add win32/fs.cc
* paths.hh (bookkeeping_path): Implement default constructor.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* rcs_import.cc (import_cvs_repo):
* lua.cc (default_rcfilename):
* diff_patch.cc (get_version): Small compile fixes.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.{cc,hh} (is_bookkeeping_path): New static method.
* file_io.cc (walk_tree_recursive): Use it. Now compiles.
paths.cc and file_io.cc now compile.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (delete_dir_recursive): Implement.
Misc. compile fixes.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (test_book_keeping_file): Remove.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (walk_tree_recursive, walk_tree): Implement.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc (const_system_path): Do tilde expansion.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (read_localized_data, read_data_for_command_line)
(write_localized_data, write_data, write_data_impl): Implement.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (read_data): Implement. Remove the base64<gzip<>>
versions.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (move_file, move_dir): Implement.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (assert_path_is_nonexistent, assert_path_is_file)
(assert_path_is_directory, require_path_is_nonexistent)
(require_path_is_file, require_path_is_directory)
(ident_existing_file, mkdir_p, make_dir_for, delete_file)
(delete_dir_recursive): Implement.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* Audit uses of 'file_exists', because its semantics have changed;
it now checks to see if a path exists and is a regular file,
rather than that it simply exists. A fair amount of code already
thought it meant that... other places now use 'path_exists'.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (path_exists, directory_exists, file_exists):
Implement.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* platform.hh (get_path_status): New function.
* unix/fs.cc (get_path_status): Implement.
* win32/fs.cc (get_path_status): Implement inefficiently (does
win32 have stat?)
2005-08-25 Nathaniel Smith <njs@pobox.com>
* file_io.cc (get_homedir, tilde_expand, book_keeping_file)
(book_keeping_dir): Remove.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* platform.hh (get_homedir): New function.
* {win32,unix}/fs.cc (get_homedir): Expose.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* Minor compile fixes.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* platform.hh (tilde_expand): New function.
* win32/fs.cc, unix/fs.cc: Implement it.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc: Many more fixes. Now compiles with and without unit
tests.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc: Lots of compile fixes for unit tests.
Add a test for access_tracker.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc: Many fixes. Now compiles.
2005-08-25 Nathaniel Smith <njs@pobox.com>
* paths.cc (system_path): Implement.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc (fully_normalized_path): Use find_first_of.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc (find_and_go_to_working_copy, save_initial_path)
(go_to_working_copy): Use new checked structure.
(operator <<): Make sure we can log our access_tracked values
without marking them as used.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc (struct access_tracker): Add invariant checking on
lifetime usage of path roots.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.hh (any_path::operator =): return *this.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.{cc,hh}: More fixes.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.{cc,hh}: Reorganize a bit. Implement file_path and
bookkeeping_path.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc (file_path): Implement basic constructor.
Misc compile fixes.
Add single-character names to tests.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc (go_to_working_copy): New function. Implement.
* app_state.cc (create_working_copy): Adjust accordingly.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc (find_and_go_to_working_copy): Implement.
* app_state.cc (allow_working_copy): Adjust accordingly.
(relative_directory): Remove.
* file_io.cc (find_working_copy): Remove.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc (save_initial_path): Update for previous changes.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc (test_system_path): Add tests for the
from-any_path constructor. Add test for "~foo" handling.
Start cleaning up path roots.
* platform.hh: Note that get_current_working_dir() is
charset-broken (i.e., operations started inside non-utf8
directories are probably broken).
2005-08-24 Nathaniel Smith <njs@pobox.com>
* app_state.cc (allow_working_copy):
* change_set.cc (print_insane_change_set): Two more small compile
fixes.
All remaining compile errors are localized to unimplemented
paths.cc/file_io.cc functionality.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* database.cc (initialize): Missing ;.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* monotone.cc (cpp_main): Handle message_file right.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* change_set.cc (print_insane_path_rearrangement):
* database.cc (initialize):
* monotone.cc (cpp_main): More small compile fixes.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* file_io.hh
({assert,require}_path_is_{nonexistent,file,directory}): New
functions.
Use them everywhere.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* basic_io.hh: #include "paths.hh".
* monotone.cc (add_rcfile): Remove obsolete absolutification, etc.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.hh (system_path): Add a from-any_path constructor.
* Makefile.am (MOST_SOURCES): Remove path_component.{cc,hh}.
* basic_io.hh (push_file_pair): New method.
* change_set.cc (print_insane_change_set)
(print_insane_path_rearrangement): Use it.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.hh (any_path::as_internal): On second thought, return a
std::string, not a utf8 -- utf8 would be better, but should wait
for some more general charset handling cleanup.
* Adjust other files accordingly.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* More compile fixes. All remaing compile errors are real
problems, yay.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* Lots and lots more compile fixes.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.hh, monotone.cc, app_state.hh, app_state.cc:
* unix/inodeprint.cc: More compile fixes.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* manifest.hh: Include paths.hh.
* file_io.hh: Fix syntax errors, and fixup interface.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.hh, sanity.hh: Compilation fixes.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.cc: Update tests to use path_state_* and pass utf8
objects.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.hh (file_path_external): Take a utf8() object, always.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.hh (class file_path): Make "convenience functions"
required.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* Switch rest of instances to using convenience functions.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* Switch many instances to using convenience functions.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* paths.hh (file_path_internal, file_path_external): Define
convenience functions.
(file_path, bookkeeping_path, system_path): Add default
constructors.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* app_state.cc, change_set.cc, change_set.hh, commands.cc:
* inodeprint.cc, manifest.cc, rcs_import.cc, restrictions.cc:
* work.cc: Audit all calls to file_path() to add internal/external
notation.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* app_state.cc: More paths.hh conversion.
(app_state::prefix): Remove.
* commands.cc: Remove uses of app.prefix.
* automate.cc (automate_attributes): Likewise.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* paths.hh (any_path::as_internal): On second thought, return a
utf8 object.
* app_state.cc (set_database): Take a system_path.
(set_pidfile): Likewise.
* monotone.cc (cpp_main): Pass one.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* file_io.hh (get_homedir): Return a system_path.
* app_state.hh (app_state): Make pidfile a system_path.
* sanity.hh (sanity::filename): Make a system_path.
* monotone.cc (cpp_main): Adjust accordingly.
* paths.hh (any_path): Add as_internal() to interface.
* paths.cc: Add roundtripping tests.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* platform.hh, unix/fs.cc, win32/fs.cc
(change_current_working_dir): Take an any_path, not a string.
* rcs_import.{cc,hh}: Convert to paths.hh.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* commands.cc (pid_file): Remove fs::path.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* mkstemp.cc (monotone_mkstemp): Remove references to fs::path.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* change_set.cc (apply_rearrangement_to_filesystem): Oops, missed
some local_path's.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* path_component.{cc,hh}: Delete.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* change_set.cc (move_files_to_tmp_bottom_up)
(move_files_from_tmp_top_down): Convert to paths.hh.
Whole file: stop using path_component.hh.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* paths.cc (test_bookkeeping_path): Oops, "" is an invalid
bookkeeping_path.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* lua.cc, paths.cc: Few more tweaks for previous change.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* paths.{cc,hh}: Add / operators. Make that the usual way to use
bookkeeping_path's.
* work.cc: Adjust accordingly.
* lua.cc (working_copy_rcfilename): Likewise.
* commands.cc (update): Likewise.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* paths.{cc,hh} (operator <<): Implement for any_paths.
* paths.hh (class bookkeeping_path): Note that current design is
bogus to remind myself to fix it tomorrow...
2005-08-23 Nathaniel Smith <njs@pobox.com>
* work.{hh,cc}: Convert to paths.hh.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* lua.{cc,hh}: Mostly convert to paths.hh. (Still uses boost::fs
internally for some directory iteration.)
* app_state.cc (load_rcfiles): Update accordingly.
* file_io.hh (path_state): De-templatify; take any_path instead of
a T.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* paths.cc (any_path): New base class.
(file_path, bookkeeping_path, system_path): Inherit from it.
* transforms.{hh,cc} (utf8_to_system): Actually, always take a
utf8 after all (but still have two return types).
2005-08-23 Nathaniel Smith <njs@pobox.com>
* transforms.cc: Convert to paths.hh.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* transforms.{cc,hh} (localized, localized_as_string): Remove.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* transforms.cc (utf8_to_system): Make fast.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* transforms.hh (utf8_to_system): Add a string->string version.
* transforms.cc (utf8_to_system): Implement it.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* paths.cc (localized_path_str): New function.
Fix some tests.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* commands.cc: Convert to paths.hh.
* mkstemp.cc (monotone_mkstemp): Likewise.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* vocab_terms.hh, vocab.cc: Remove file_path, local_path.
* database.{hh,cc}, monotone.cc: Convert to paths.hh.
* file_io.{hh,cc}: Start to convert to paths.hh.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* paths.{cc,hh} (fully_normalized_path): Implement.
(external_path): Rename to system_path.
Misc. other updates.
2005-08-21 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
* file_io.cc, file_io.hh, lua.cc, std_hooks.lua: determine if a
file is binary by looking at it incrementally, rather than reading
it in entirely. Prepare for making it possible to control what
characters are considered "binary"
2005-08-20 Nathaniel Smith <njs@codesourcery.com>
* paths.cc (is_absolute): New function.
(file_path::file_path(vector<path_component>))
(file_path::split): Implement.
2005-08-20 Nathaniel Smith <njs@pobox.com>
* interner.hh (interner): Add a scary constructor that lets us
insert an initial value and assert that we already knew that the
value assigned to it would be. (This lets us make it an inlined
constant.)
2005-08-20 Nathaniel Smith <njs@pobox.com>
* paths.cc: Yet more tests.
2005-08-20 Nathaniel Smith <njs@pobox.com>
* paths.cc (save_initial_path): Implement.
Add more tests.
2005-08-20 Nathaniel Smith <njs@codesourcery.com>
* paths.{cc,hh}: New files.
* Makefile.am (MOST_SOURCES): Add them.
* unit_tests.hh (add_paths_tests): Declare.
* unit_tests.cc (init_unit_test_suite): Add them.
* platform.hh (get_current_working_dir)
(change_current_working_dir): New functions.
* {unix,win32}/fs.cc: New files.
2005-08-19 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Tutorial): Tweak wording, use --db at more
appropriate places.
2005-08-26 Richard Levitte <richard@levitte.org>
* database.cc (version): Revert the change done earlier, as it
aborted if the schema isn't the current one, rendering this method
useless.
2005-08-26 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (check_depth, confirm_proper_tree):
more efficient algorithm to check for no loops
* constants.hh: new constant max_path_depth to limit
recursion in check_depth.
2005-08-26 Benoît Dejean <benoit@placenet.org>
* po/fr.po: Updated French translation.
2005-08-26 Richard Levitte <richard@levitte.org>
* options.hh, monotone.cc: Add the '--execute' command-specific
option.
* monotone.cc (cpp_main): ... and process it.
* app_state.hh (class app_state): Add the 'execute' boolean.
* app_state.cc (app_state): Initialise it.
* commands.cc (CMD(drop)): Add '--execute' capability.
* commands.cc (CMD(rename)): Add '--execute' capability. Pass
'app' to build_rename.
* work.hh, work.cc (build_deletions, build_rename): Do the actual
work. This required the addition of an app_state parameter to
build_rename.
* tests/t_drop_execute.at, tests/t_rename_execute.at: New tests.
* testsuite.at: Add them.
2005-08-26 Benoît Dejean <benoit@placenet.org>
* mt_version.cc (print_full_version): Merged strings.
* change_set.cc: No i18n for unittests. Wow, this saves
21 strings (total 781).
2005-08-25 Benoît Dejean <benoit@placenet.org>
* commands.cc (safe_gettext): New function.
(explain_usage): Used there to avoid _("").
2005-08-25 Benoît Dejean <benoit@placenet.org>
* sanity.{cc,hh} (sanity::do_format): Merged code from
sanity::{log, warning, progress} in order to merge
strings. Fixed exception rethrowing.
2005-08-25 Benoît Dejean <benoit@placenet.org>
* commands.cc (CMD(lca)): One more string for i18n.
(CMD(trusted)): Merged all strings.
2005-08-25 Benoît Dejean <benoit@placenet.org>
* po/fr.po: Updated French translation.
2005-08-25 Benoît Dejean <benoit@placenet.org>
* database.cc (database::version): Marked string for i18n
and simplifed.
(database::info): Reworked to merge all strings for i18n.
2005-08-25 Benoît Dejean <benoit@placenet.org>
* database.{cc,hh} (database::open, database::check_filename):
New functions to avoid error handling code and string duplicates.
2005-08-25 Matt Johnston <matt@ucc.asn.au>
* transform.cc ({int,ext}ernalize_rsa_keypair_id): don't
convert the username portion of key ids to/from ACE.
* tests/t_genkey.at: check that foo+bar@example.com works
and foobar@exam+ple.com doesn't.
2005-08-24 Benoît Dejean <benoit@placenet.org>
* database.cc (assert_sqlite3_ok): Somehow merged error messages.
2005-08-24 Benoît Dejean <benoit@placenet.org>
* change_set.cc (move_files_to_tmp_bottom_up): Better strings.
* keys.cc (generate_key_pair): Merged 2 strings.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* database.cc (assert_sqlite3_ok): Remove accidentally-left-in
format string argument.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* revision.cc (check_sane_history): Add MM's for calculated
changesets.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* database.cc (assert_sqlite3_ok): Don't print the raw sqlite
error code. Do add some auxiliary information when sqlite errors
are confusing.
2005-08-24 Nathaniel Smith <njs@pobox.com>
* Back out most changes since
b580c6ac5bf8eea1f442b8bddc60283b047ade1e. Handling charsets
properly by working in utf8 and then converting sucks. Problems
include
- gettext hates you (wants to return stuff in local charset)
- strerror hates you (same reason, but you can't turn it off)
- can't report charset conversion errors
We thus return to our "sorta-correct, by accident" status quo.
Only change left in is signedness fix in
5548868ab56d939c1fd8713aa2ac8caacd1184a1.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* ui.cc (sanitize): Fix signedness bug in comparison.
* unix/unix.{cc,hh}: New files.
* Makefile.am (UNIX_PLATFORM_SOURCES): Add them.
* unix/process.cc (is_executable, make_executable): Use new
function last_error.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* transforms.{cc,hh} (system_charset): Expose.
* monotone.cc (cpp_main): Use it to fiddle with gettext's charset
conversion and make --help output actually correct.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* transforms.cc (outprep): Don't sanitize all output; removes too
many valid characters (\r, \t, etc.).
* ui.cc: Call outprep on ticker output.
(inform): Do still sanitize ui.inform() output.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* transforms.cc (outprep): New function.
* ui.cc (inform): Use it.
* monotone.cc (cpp_main): Use it.
Everything that writes user-intended output directly (i.e., via
cout) must call outprep() on that data before printing it.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* monotone.cc (cpp_main): Trick popt into converting its generated
help messages into the current locale's charset.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* ui.cc (inform, sanitize): Convert all output from utf8 to
current locale's charset.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* monotone.cc (cpp_main): Use bind_textdomain_codeset to request
that all gettext'ed strings be returned in UTF-8.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* idna/nfkc.c (g_utf8_strlen): Expose.
* transforms.{cc,hh} (length): New function.
* ui.cc (write_ticks): Use length() instead of .size() to
calculate string widths; should support multibyte characters
better. (Still some problems relating to truncating strings to
avoid overflow -- calculate truncation by length, but perform
truncation by bytes...)
2005-08-24 Benoît Dejean <benoit@placenet.org>
* po/fr.po: Updated French translation.
2005-08-24 Benoît Dejean <benoit@placenet.org>
* monotone.cc:
* commands.cc: Two more i18n strings.
2005-08-23 Benoît Dejean <benoit@placenet.org>
* lua.cc: boost::format vs. F.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* AUTHORS: Add Benoît Dejean <benoit@placenet.org>. Create new
section for translators. Add Benoît there too.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* commands.cc: N_("") -> "".
2005-08-23 Nathaniel Smith <njs@pobox.com>
* commands.cc: Make all CMD() calls use N_() instead of _().
(commands): Insert _() everywhere usage strings are used. This is
icky.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* keys.cc (get_passphrase): Put back trailing ": " removed in
recent i18n changes.
2005-08-23 Benoît Dejean <benoit@placenet.org>
* change_set.cc (dump_change_set): boost::format instead of F.
* commands.cc (get_log_message, notify_if_multiple_heads,
complete, CMD(attr)): Marked some strings for i18n. Replaced a
multiline string by prefix_lines_with(). Merged strings.
* diff_patch.cc (merge_provider::try_to_merge_files): Merged
strings.
* i18n.h: N_() stands for gettext_noop(), not plural.
* keys.cc (get_passphrase): Fixed string surgery.
* netsync.cc: i18nized tickers' labels. Added xgettext comment
as tickers do not play well with multibytes characters (like é).
(session::analyze_attachment): Fixed string surgery.
(session::process_hello_cmd): Merged many strings.
(session::process_data_cmd): Removed some leading/trailing
whitespaces.
* sanity.cc: Marked error prefixes for i18n.
* ui.cc (tick_write_count::write_ticks): Reworked and fixed
surgery. Merged some strings.
2005-08-23 Benoît Dejean <benoit@placenet.org>
* commands.cc (CMD*): _("") -> "" as _("") returns the PO
header.
2005-08-23 Benoît Dejean <benoit@placenet.org>
* transforms.cc (check_idna_encoding): No i18n for unittests.
2005-08-23 Benoît Dejean <benoit@placenet.org>
* change_set.cc (dump_change_set): boost::format instead of F.
* commands.cc (get_log_message, notify_if_multiple_heads,
complete, CMD(attr)): Marked some strings for i18n. Replaced a
multiline string by prefix_lines_with(). Merged strings.
* diff_patch.cc (merge_provider::try_to_merge_files): Merged
strings.
* i18n.h: N_() stands for gettext_noop(), not plural.
* keys.cc (get_passphrase): Fixed string surgery.
* netsync.cc: i18nized tickers' labels. Added xgettext comment
as tickers do not play well with multibytes characters (like é).
(session::analyze_attachment): Fixed string surgery.
(session::process_hello_cmd): Merged many strings.
(session::process_data_cmd): Removed some leading/trailing
whitespaces.
* sanity.cc: Marked error prefixes for i18n.
* ui.cc (tick_write_count::write_ticks): Reworked and fixed
surgery. Merged some strings.
2005-08-23 Benoît Dejean <benoit@placenet.org>
* netcmd.cc (test_netcmd_functions): Don't translate unittest
strings.
* rcs_import.cc (cvs_commit::cvs_commit):
* database.cc (version_cache::put):
* lua.cc (dump_stack): boost::format vs. F for strings that are
not messages.
2005-08-23 Benoît Dejean <benoit@placenet.org>
* xdelta.cc: Don't translate unittest strings.
2005-08-23 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.texi: Bring 'update' syntax up to date.
2005-08-23 Nathaniel Smith <njs@pobox.com>
* tests/t_diff_external.at: --diff-args without --external is an
error.
* commands.cc (diff): Likewise.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* contrib/ciabot_monotone.py (send_change_for): Handle author
names with spaces in.
2005-08-22 Matt Johnston <matt@ucc.asn.au>
* HACKING: change the vim modeline to something that seems to work
better.
2005-08-23 Olivier Andrieu <oliv__a@users.sourceforge.net>
* contrib/monotone.el: When running monotone commands, re-use
*monotone* buffers. Make the "status" command use the prefix
argument. Make the "tree"-restricted commands work in dired
buffers. Add the "--no-merges" option in the log command. Various
other innocuous changes.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* mt_version.cc (print_full_version): Typo.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* mt_version.cc: Include sanity.hh.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* netsync.cc (process_error_cmd, run_netsync_protocol): Remove
some newlines to avoid translation noise.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* po/LINGUAS, po/ja.po: Remove ja translation again, it seems to
be corrupt.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* commands.cc (update): Don't use F() to indent things.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* commands.cc (dump_diffs): Don't use F() to create diff headers.
(commands::process): Put '' in the log message to make Benoît
Dejean happy ;-).
2005-08-22 Nathaniel Smith <njs@pobox.com>
* po/LINGUAS, po/ja.po: Add Japanese translation by Satoru SATOH.
2005-08-20 Benoît Dejean <benoit@placenet.org>
* po/monotone.pot: Remove from version control.
* po/POTFILES.skip: New file.
* po/fr.po: French translation (initial version).
* po/LINGUAS: Add fr.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* commands.cc (read): Use FP (thanks to Benoît Dejean for
catch).
* mt_version.cc (print_version, print_full_version): Mark more
strings for i18n (also thanks to Benoît Dejean).
2005-08-22 Nathaniel Smith <njs@pobox.com>
* commands.cc (commands): Revert previous changes, xgettext is
buggy.
Mark every CMD() string argument with _().
* i18n.h, Makefile.am: New file.
* sanity.hh: Include it.
* po/Makevars (XGETTEXT_OPTIONS): Learn about _() and N_() as
markers.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* commands.cc (commands): Oops, can't call gettext on a
std::string...
2005-08-22 Nathaniel Smith <njs@pobox.com>
* monotone.cc (coptions, options): Use gettext_noop to mark usage
strings for i18n.
* commands.cc (commands): gettextify command descriptions
* po/Makevars (XGETTEXT_OPTIONS): Include the 2nd, 3rd, and 4th
arguments to CMD macro as translatedable strings.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* database.cc: Replace a bunch of F()'s by boost::format's,
because F is only for strings displayed to user.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* po/Makevars (XGETTEXT_OPTIONS): Extract FP'ed strings.
2005-08-22 Nathaniel Smith <njs@pobox.com>
* sanity.hh (FP): New macro. Usage:
FP("frobbed %i bar", "frobbed %s bars", num_bars) % num_bars
2005-08-22 Richard Levitte <richard@levitte.org>
* contrib/monotone-import.pl: When temporarly touching files that
have disappeared since last import, don't forget to create
intermediary directories as well (and to remove them later on).
Make sure all file arguments are quoted. Finally, pick up the
newly created revision by reading MT/revision instead of relying
on backquotes working.
Notofication and initial correction submitted by
BigFish <bigfische@gmail.com>.
2005-08-20 Matthew Gregan <kinetik@orcon.net.nz>
* revision.hh: Delete doubled line of text in comment.
2005-08-20 Benoît Dejean <benoit@placenet.org>
* monotone.cc (cpp_main): setlocale(LC_ALL).
* commands.cc (dropkey): Unify warning into a single string.
2005-08-20 Nathaniel Smith <njs@codesourcery.com>
* contrib/monoprof.sh (test_commit): Kernel tarball unpacks to
linux-$KVER/, not $KVER/.
2005-08-19 Nathaniel Smith <njs@codesourcery.com>
* contrib/monoprof.sh (SETUP): Put netsync hooks in the default
hook file.
2005-08-19 Nathaniel Smith <njs@codesourcery.com>
* contrib/monoprof.sh: Give a sensible error message if $DATADIR
doesn't exist.
2005-08-20 Matt Johnston <matt@ucc.asn.au>
* database.cc (put_revision): uncomment check_sane_history call
(was accidentally committed commented out)
2005-08-19 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Tutorial): Tweak wording, use --db at more
appropriate places.
2005-08-19 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_crlf.at: Adjust expected line count to accomodate diff
output change.
* commands.cc (CMD(diff)): Include base revision ID in diff output
header when diffing against working copy. Useful to identify what
revision a patch was created against.
* std_hooks.lua (ignore_file): Ignore Visual SourceSafe junk.
2005-08-18 Timothy Brownawell <tbrownaw@gmail.com>
* std_hooks.lua: accept_testresult_change now only cares about
testresults listed in MT/wanted-testresults
2005-08-18 Matthew Gregan <kinetik@orcon.net.nz>
* INSTALL: Remove outdated references to configure options and
Solaris build workarounds.
* configure.ac: Lower gettext requirement from 0.12.1 to 0.11.5.
2005-08-17 Timothy Brownawell <tbrownaw@gmail.com>
* sanity.cc (gasp()): When catching an error from dumping a MM'd
variable, do not discard output generated prior to the error. This
way, at least the header line (function name, file, line no.) is
printed.
* change_set.cc: write_insane_change_set: new function to write a
change set without sanity checking it, now used by dump().
2005-08-17 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* unix/process.cc: missing include
* m4/fexceptions.m4, configure.ac, Makefile.am: remove hardcoded
-fexceptions in CFLAGS and add it only if compiler doesn't freak
out.
2005-08-17 Nathaniel Smith <njs@pobox.com>
* work.cc (build_additions): Tweak wording.
2005-08-17 Nathaniel Smith <njs@pobox.com>
* netsync.cc: Add IANA port assignment to the todo list.
2005-08-17 Nathaniel Smith <njs@pobox.com>
* unix/process.cc (make_executable): Open the fd read-only, avoids
problems with read-only files, and a writeable fd doesn't seem to
be necessary to change permission bits.
2005-08-17 Nathaniel Smith <njs@pobox.com>
* unix/process.cc (is_executable, make_executable): When reporting
an error in a syscall, include the actual error message.
2005-08-17 Nathaniel Smith <njs@pobox.com>
* lua.cc (dump_stack): New function.
(Lua::fail): New method; use above.
(get, get_fn, get_tab, get_str, get_num, get_bool, extract_str)
(extract_int, extract_double, extract_bool, begin, next, pop): Use
it, to give better logging.
2005-08-17 Nathaniel Smith <njs@pobox.com>
* Makefile.am (lib3rdparty_a_CFLAGS): Build 3rd party C code with
-fexceptions.
2005-08-17 Matthew Gregan <kinetik@orcon.net.nz>
* win32/process.cc: Slightly smarter argv->cmdline munging.
* std_hooks.lua: Merge hooks for TortoiseMerge (part of
TortoiseSVN).
2005-08-17 Nathaniel Smith <njs@pobox.com>
* lua.cc (lua_hooks): Re-enable panic thrower, we no longer
support Lua 4.
2005-08-16 Nathaniel Smith <njs@pobox.com>
* netsync.cc: Add more netsync todos.
2005-08-15 Nathaniel Smith <njs@pobox.com>
* tests/t_explicit_merge_with_anc.at: New test.
* testsuite.at: Add it.
2005-08-15 Nathaniel Smith <njs@pobox.com>
* tests/t_log_brief.at: New test.
* testsuite.at: Add it.
2005-08-15 Nathaniel Smith <njs@pobox.com>
* commands.cc (fcommit): Remove. This command has never been
documented, tested, or maintained; it also doesn't avoid the use
of temporary files (which was supposed to be its purpose). Has it
ever actually been used...?
2005-08-15 Nathaniel Smith <njs@pobox.com>
* lua.cc (hook_init_attributes): Do more logging; use begin()
instead of starting iteration by hand.
2005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* testsuite.at, tests/*.at: make testsuite less demanding:
- QGREP() and QEGREP() provide a portable [e]grep -q
- export FOO=bar -> FOO=bar; export FOO
- tail -n $x -> TAIL($x) with appropriate macro
2005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* m4/typeof.m4: new test, looks if compiler knows the typeof()
extension
* configure.ac: use it
* sanity.hh: use the test, and boost's abstraction over
__PRETTY_FUNCTION__ and similar pseudo-macros
2005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* configure.ac (BOOST_FIX_VERSION): only apply that fix on gcc.
2005-08-14 Nathaniel Smith <njs@pobox.com>
* configure.ac (BOOST_VERSION_CHECK, BOOST_FIX_VERSION): Fix for
cross-compilation. (Thanks to John Bowler <jbowler@acm.org>.)
2005-08-14 Matthew Gregan <kinetik@orcon.net.nz>
* testsuite.at: Don't use agraph.
* Makefile.am: Minor cleanups.
2005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* botan/gzip.cpp, botan/mutex.cpp: c functions via c* headers need
std:: prefix
2005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* schema_migration.cc (lowercase): it's only used for processing sha1
values whos size we know: make array size constant
* transforms.cc (encode_hexenc, decode_hexenc): they have to work with
all kinds of string sizes, so at least make them nicer by using
boost::scoped_array
2005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* revision.cc: make copy constructor of revision_set behave like
normal constructor in case it's copying a freshly created object
2005-08-13 Nathaniel Smith <njs@pobox.com>
* testsuite.at: Use SEGV to kill netsync servers, in hopes it will
give better coverage information.
2005-08-13 Julio M. Merino Vidal <jmmv@menta.net>
* configure.ac: Remove an obsolete check to see if SQLite was
bundled or not, because the bundled version has been used
exclusively for quite some time.
2005-08-13 Julio M. Merino Vidal <jmmv@menta.net>
* database_check.cc: Remove trailing newline from error messages
when embedding them inside other strings, so that the trailing
closing parenthesis is printed correctly.
2005-08-13 Julio M. Merino Vidal <jmmv@menta.net>
* configure.ac: Add '-mt' as another possible suffix to detect the
Boost libraries. It's very common when these libraries are built
with the "native naming layout".
2005-08-13 Nathaniel Smith <njs@pobox.com>
* monotone.1, monotone.texi: Don't mention agraph.
* tests/t_netsync_repeated.at: Don't use agraph.
* tests/t_netsync_unrelated.at: Likewise.
2005-08-13 Nathaniel Smith <njs@pobox.com>
* commands.cc (agraph): Remove.
2005-08-13 Nathaniel Smith <njs@pobox.com>
* tests/t_commit_log_writeback.at: New test.
* testsuite.at: Add it.
2005-08-12 Nathaniel Smith <njs@pobox.com>
* commands.cc (commit): When user uses --message or
--message-file, don't require non-empty logs, and don't write out
message to MT/log. (This makes re-running a 'commit -m foo'
command line until it works possible; otherwise the second try
will get a 'MT/log non-empty and -m supplied' error.)
2005-08-11 Nathaniel Smith <njs@pobox.com>
* netsync.cc: Add a list of ideas for improvement that will break
network compatibility and thus perhaps should go together.
2005-08-11 Nathaniel Smith <njs@pobox.com>
* tests/t_commit_message_file.at: Un-double file contents.
2005-08-11 Nathaniel Smith <njs@pobox.com>
* lua.cc (ok, extract_str, extract_int, extract_double)
(extract_bool): Add more logging.
2005-08-11 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* INSTALL: remove section about crypto++ on solaris
* config.rpath, mkinstalldirs, po/Makefile.in.in,
various files in m4, ABOUT-NLS:
remove as they're autogenerated
* hash_map.hh, m4/gnucxxhashmap.m4, m4/stlporthashmap.m4:
new files, abstraction over hash_map differences in STL impls.
* m4/externtemplate.m4: new file, check if compiler is happy
with "extern template"
* configure.ac: hook up the new autoconf tests
* Makefile.am: remove -Wall
* botan/gzip.cpp, botan/mutex.cpp: add includes
* constants.*: move values to .hh if used for array sizes
* interner.hh, xdelta.cc: use hash_map.hh
* merkle_tree.cc, unix/inodeprint.cc: make array size truly
constant
* sanity.hh: work-around for missing typeof() and
__PRETTY_FUNCTIONS on non-gcc compilers
* schema_migration.cc, transforms.cc: moved dynamically
initialized array to heap
* transforms.hh, vocab.hh: use externtemplate autoconf test
2005-08-10 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.spec: include zlib-devel and texinfo as build
requirements, zlib as a runtime requirement.
2005-08-09 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
* tests/perf-test.sh: A repeatable performance test harness
* tests/parse-accounting.pl: A script that parses the accounting
output into a nice tabular format
2005-08-09 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
* Changes to significantly improve network pull performance
* string_queue.hh: created to store pending data and allow for
efficient removal from the front. The string queue automatically
reduces its buffer size if it is very empty.
* hmac.{cc,hh}: Add in a version of chained_hmac::process that can
operate on a string_queue for use during read.
* netcmd.{cc,hh}: update netcmd::read to use a string_queue rather
than a string, update all the regression tests also. This required
the somewhat ugly creation of a read_string function because the
netcmd read and write functions are no longer using the same type.
* netio.hh: introduce functions for operating on a string_queue. They
are identical to the equivalent string functions except for the type
of the argument.
* netsync.cc: Use a string_queue rather than a string for storing the
input and output buffers.
* string_queue.cc: unit tests (Matt Johnston)
2005-08-09 Richard Li <richardl@redhat.com>
* std_hooks.lua (merge2, merge3): explain a little better why
monotone can't find a merge command.
2005-08-09 Nathaniel Smith <njs@pobox.com>
* commands.cc (update): Fix helpful error message to suggest
_current_ commandline syntax.
2005-08-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
* contrib/monotone.el: a couple of fixes spotted by the compiler
* Changelog, contrib/colorize: utf8ize
2005-08-09 Nathaniel Smith <njs@pobox.com>
* NEWS: Put a time in.
* po/monotone.pot: Regenerate.
2005-08-08 Nathaniel Smith <njs@pobox.com>
* configure.ac, monotone.spec, debian/changelog:
* win32/monotone.iss: Bump version number.
2005-08-08 Nathaniel Smith <njs@pobox.com>
* UPGRADE: Fix title.
* NEWS: Add --lca.
2005-08-08 Nathaniel Smith <njs@pobox.com>
* commands.cc (merge, propagate): Take --lca.
* options.hh: Add OPT_LCA.
* monotone.cc (coptions, cpp_main): Support it it.
* app_state.{hh,cc} (app_state::usa_lca): New variable.
* revision.cc (find_common_ancestor_for_merge): Use LCA if user
passed --lca.
* tests/t_merge_lca.at: New test.
* testsuite.at: Add it.
* monotone.texi (Tree): Document --lca.
2005-08-08 Nathaniel Smith <njs@pobox.com>
* NEWS: First-pass for 0.22 release.
* UPGRADE: Likewise.
2005-08-08 Nathaniel Smith <njs@pobox.com>
* Makefile.am (BOTAN_SOURCES): Add botan headers.
* po/monotone.pot: Regenerate.
2005-08-07 Nathaniel Smith <njs@pobox.com>
* netsync.cc (rebuild_merkle_trees, insert_with_parents): Make a
ticker for added revisions, since traversing the tree to pull in
ancestors causes a noticeable pause before the cert/key tickers
start up.
(insert_with_parents): Also simplify logic.
2005-08-07 Nathaniel Smith <njs@pobox.com>
* commands.cc (pull): Clarify what the "doing anonymous pull"
message means and what you might do about it.
2005-08-07 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Network Service, Hooks): Document
get_netsync_read_permitted as getting a nil value on anonymous
connects.
* lua.{cc.hh} (hook_get_netsync_anonymous_read_permitted):
Remove. Replace with 1-argument version of
hook_get_netsync_write_permitted.
* netsync.cc (process_anonymous_cmd): Update.
* tests/t_netsync_permissions.at: Likewise.
2005-08-07 Matthew Gregan <kinetik@orcon.net.nz>
* botan/{data_snk,es_file}.cpp: Open fstreams in binary mode.
These changes, plus the same change for data_src.cpp and
es_ftw.cpp, have been sent upstream.
2005-08-05 Nathaniel Smith <njs@pobox.com>
* commands.cc (commit): Write out the log message to MT/log
_after_ making sure it's non-empty.
* tests/t_commit_cancelled.at: New test.
* testsuite.at: Add it.
2005-08-04 Nathaniel Smith <njs@pobox.com>
* netsync.cc (rebuild_merkle_trees): Typo.
2005-08-04 Nathaniel Smith <njs@pobox.com>
* netsync.cc (rebuild_merkle_trees): Tweak message ("rebuilding
merkle trees" does not mean anything to J. Random User...)
2005-08-04 Nathaniel Smith <njs@pobox.com>
* manifest.cc (build_restricted_manifest_map): In 'missing files'
error message, explain how to recover.
2005-08-03 Nathaniel Smith <njs@pobox.com>
* testsuite.at (NETSYNC_ADDRESS): New macro.
(NETSYNC_SERVE_N_START, NETSYNC_SERVE_START)
(NETSYNC_CLIENT_N_RUN): Use it.
* tests/t_netsync_checks_server_key.at: Make sure can unset the
known-servers entry.
2005-08-03 Matthew A. Nicholson <matt@matt-land.com>
* std_hooks.lua (get_preferred_merge2_command)
(get_preferred_merge3_command): Provide more information on how to
use vim as merge tool.
2005-08-03 graydon hoare <graydon@pobox.com>
* unix/process.cc (make_executable): Fix race, set user/group/other.
2005-08-03 Matthew Gregan <kinetik@orcon.net.nz>
* botan/data_src.cpp (DataSource_Stream::DataSourceStream): Open
fstream as binary file.
2005-08-03 Matthew Gregan <kinetik@orcon.net.nz>
* win32/inodeprint.cc: Botan changes. Also, hash individual
FileTime structure members rather than the entire structure.
* keys.cc: Add explicit 'using' for Botan::byte.
* botan/es_win32.{cpp,h}: Add missing files.
* Makefile.am: Enable entropy collection via CryptoAPI and Win32
API.
2005-08-02 Matt Johnston <matt@ucc.asn.au>
* botan/gzip.cpp: forgot to commit some semicolons
2005-08-02 Matt Johnston <matt@ucc.asn.au>
* botan/gzip.{cpp,h}: rearranged the code to be clearer.
2005-08-01 Nathaniel Smith <njs@pobox.com>
* netsync.cc (get_branches): Remove warning when there are no
branches.
2005-07-29 Nathaniel Smith <njs@pobox.com>
* globish.cc (matcher::operator()): Log what's happening.
(checked_globish_to_regex_test): Fix previously added test.
2005-07-29 Nathaniel Smith <njs@pobox.com>
* globish.cc (checked_globish_to_regex_test): Add another test for
quoted characters.
2005-07-28 Nathaniel Smith <njs@pobox.com>
* update.cc (calculate_update_set): Only include current rev in
update set if it is an acceptable candidate.
* commands.cc (update): Clarify error message in this case.
* tests/t_update_branch.at: Update accordingly.
2005-07-28 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.spec: Require boost >= 1.32.
2005-07-27 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_merge_add_del.at: 'drop' does not take a branch (test
now fails in expected place).
* tests/t_merge_add_rename_add.at: New test.
* testsuite.at: Add it.
2005-07-27 Nathaniel Smith <njs@pobox.com>
* tests/t_update_branch.at: New test.
* testsuite.at: Add it.
(REVERT_TO): Do not preserve MT/options file (can setup invalid
branch).
* app_state.cc (make_branch_sticky): Call write_options when
already have a working copy.
* commands.cc (update): Call make_branch_sticky at appropriate
time.
2005-07-27 Nathaniel Smith <njs@pobox.com>
* commands.cc: ALIAS(mv, rename). ALIAS(rm, drop).
2005-07-26 Nathaniel Smith <njs@pobox.com>
* change_set.cc (dump): Add state_renumbering dumper.
(merge_disjoint_analyses): Add MM().
2005-07-26 Nathaniel Smith <njs@pobox.com>
* change_set.cc (dump): Add path_analysis dumper.
(merge_change_sets): Add more MM()s.
2005-07-26 Nathaniel Smith <njs@pobox.com>
* change_set.cc (dump): Add path_state dumper.
(sanity_check_path_state): Add MM().
2005-07-26 Richard Levitte <richard@levitte.org>
* revision.cc (check_sane_history): Convert tabs to the
appropriate amount of spaces.
2005-07-26 Richard Levitte <richard@levitte.org>
* sanity.hh, revision.cc (check_sane_history),
change_set.cc (concatenate_change_sets, merge_change_sets,
invert_change_set): Because boost currently uses the symbol M, we
have a clash. Therefore, let's rename M to MM, for now.
2005-07-26 Richard Levitte <richard@levitte.org>
* commands.cc (CMD(privkey)): Change so both the public and
private key are printed.
* tests/t_dropkey_2.at, tests/t_lua_privkey.at: Adapt to the new
private key format.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.cc (MusingI, ~MusingI): No-op when already in the middle
of dumping.
2005-07-25 Matthew Gregan <kinetik@orcon.net.nz>
* Makefile.am, configure.ac: Remove BUNDLED_{LUA,SQLITE} tests and
clarify the comment for popt. Using external versions of these
tools didn't work anyway, so there's no point giving the
impression that it might.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.cc (gasp): Handle the possibility of multiple valid calls
to gasp(), 'db check' can trigger multiple invariants without
dying.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.{hh,cc} (sanity::already_dumping, gasp): Don't let gasp
be called recursively, in case a dump triggers an invariant.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.cc (gasp): Make more robust against new errors triggered
during error unwind. (write_change_set in particular likes to
blow up when handling in invalid change_set.)
2005-07-24 Nathaniel Smith <njs@pobox.com>
* change_set.cc (merge_change_sets, check_sane)
(concatenate_change_sets, invert_change_set): Add M()s.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.{hh,cc} (dump): Remove templated version, add std::string
version.
* vocab.{hh,cc} (dump): Add ATOMIC/DECORATE/ENCODING dumpers.
* change_set.{hh,cc} (dump): Add change_set dumper.
* manifest.{hh,cc} (dump): Add manifest_map dumper.
* revision.cc (check_sane_history): Add some M()s.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.hh (class Musing, gasp, dump): Actually, take a
std::string instead of a std::ostream; fits our idioms better.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.cc (log, progress, warning): Append '\n' to strings when
necessary.
(gasp): Save string properly.
(M): Apply black magic. Now works correctly.
(dump): Write newline.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.hh (dump): Add a default 'dump' implementation for all
<<able objects.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* constants.{cc,hh} (default_terminal_width): New constant.
* ui.cc (guess_terminal_width): Use it.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* diff_patch.cc (unidiff_append_test): Fix typo.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* tests/t_annotate_no_rev.at: New test.
* testsuite.at: Add it.
2005-07-24 Nathaniel Smith <njs@pobox.com>
* sanity.{hh,cc} (sanity, dump_buffer, invariant_failure)
(index_failure, MusingI, Musing, M): Implement macro M(), for
'musing', which marks data that monotone was musing over when an
invariant tripped.
* Makefile.am (MOST_SOURCES): Fix spacing.
2005-07-23 Nathaniel Smith <njs@pobox.com>
* ui.{hh,cc} (guess_terminal_width): New function.
(tick_write_dot::chars_on_line): Make unsigned to quiet gcc warning.
(tick_write_dot::write_ticks): Use guess_terminal_width.
* commands.cc (dump_diffs): Take full responsibility for printing
=== lines, and use guess_terminal_width.
* diff_patch.cc (make_diff): Don't print === lines.
(unidiff_append_test): Adjust accordingly.
2005-07-23 Matthew Gregan <kinetik@orcon.net.nz>
* commands.cc (CMD(annotate)): Check for a valid revision before
trying to fetch it from the database.
* lua/lundump.[ch], lua/ldump.c: Rename VERSION and VERSION0 to
LUA_DUMP_VERSION and LUA_DUMP_VERSION0 to avoid clashes with
VERSION from config.h.
2005-07-22 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Committing Work): Remove discussion of manifests.
2005-07-20 Nathaniel Smith <njs@pobox.com>
* netsync.cc (rebuild_merkle_trees): Make 'including branch'
message L() instead of P(); it's nice information, but too much to
be useful with large databases.
2005-07-22 Matt Johnston <matt@ucc.asn.au>
* database_check.cc: check that revisions and manifests
are normalised to the same for that they would be written as.
* tests/t_database_check_normalized.at: a test for it.
* testsuite.at: add it.
2005-07-21 Richard Levitte <richard@levitte.org>
* contrib/monotone-import.pl: Now uses the given tag.
2005-07-20 Marcel van der Boom <marcel@hsdev.com>
* database.{cc,hh} (get_branches): New method.
* commands.cc (ls_branches): Use it.
* netsync.cc (get_branches): Likewise.
* tests/t_ls_branches.at: New test.
* testsuite.at: Add it.
2005-07-20 Nathaniel Smith <njs@pobox.com>
* commands.cc (db): Rename kill_branch_locally to
kill_branch_certs_locally.
* tests/t_db_kill_branch_locally.at: Rename to...
* tests/t_db_kill_branch_certs_locally.at: ...this. Update.
* testsuite.at: Update.
* monotone.texi (Database): Update.
2005-07-19 Nathaniel Smith <njs@pobox.com>
* schema_migration.cc (migrator::migrate): Add a check for schemas
that are just... wrong.
* tests/t_migrate_broken_schema.at: New test.
2005-07-19 Nathaniel Smith <njs@pobox.com>
* netcmd.cc (read): Make the bad HMAC error message clearer.
2005-07-19 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_diff_external.at: Canonicalise output for Win32.
2005-07-18 Nathaniel Smith <njs@pobox.com>
* keys.cc (get_passphrase): Do still error out if they keep typing
empty passphrases.
2005-07-18 Richard Levitte <richard@levitte.org>
* database.cc: Move the inclusion of stdarg.h...
* database.hh: ... here.
2005-07-18 Matt Johnston <matt@ucc.asn.au>
* keys.cc (get_passphrase): don't bomb out if they type an empty passphrase.
2005-07-18 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* work.cc, manifest.cc: Remove 'using namespace boost'.
2005-07-18 Nathaniel Smith <njs@pobox.com>
* netsync.cc (received_items): New instance variable.
(session::session): Initialize it.
(note_item_arrived): Maintain it.
(item_request_outstanding): Rename it to...
(item_already_received): ...this, and have it check both
outstanding and fulfilled requests.
(queue_send_data_cmd, queue_send_delta_cmd): Call it via new
name.
Hopefully this will eliminate cases where "revs in" is larger than
"revs written".
2005-07-17 Nathaniel Smith <njs@pobox.com>
* constants.cc (legal_key_name_bytes): Allow + and _ to appear in
key names.
2005-07-17 Nathaniel Smith <njs@pobox.com>
* ui.{cc,hh} (tick_write_dot::write_ticks): Start a new line when
too many dots have been written.
* netsync.cc (process_refine_cmd): Add comment noting a possible
optimization regarding subtree refinement.
2005-07-17 Nathaniel Smith <njs@pobox.com>
* configure.ac, win32/monotone.iss, monotone.spec:
* debian/changelog: Bump version numbers to 0.21.
* NEWS: Commit to a timestamp.
2005-07-17 Nathaniel Smith <njs@pobox.com>
* NEWS: Add diff changes, more tweaking.
* UPGRADE: Update for 0.21.
* AUTHORS: Add Vladimir Vukicevic.
2005-07-18 Matt Johnston <matt@ucc.asn.au>
* netsync.cc: merge fixup
* botan/pipe_rw.cpp (read_all_as_string): make it smarter and faster
2005-07-18 Matt Johnston <matt@ucc.asn.au>
* botan/sha160.{cpp,h}: new faster sha160 implementation from Jack Lloyd
and Kaushik Veeraraghavan.
2005-07-17 Nathaniel Smith <njs@pobox.com>
* tests/t_diff_external.at: New test.
* testsuite.at: Add it.
2005-07-17 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Restrictions): diff -r -r does accept
restrictions now.
(CVS Phrasebook): Clarify diff section.
(Informative): Document diff [--unified|--context|--external],
--diff-args.
2005-07-17 Nathaniel Smith <njs@pobox.com>
* app_state.{cc,hh}: Record whether --diff-args was passed, not
just a string value.
* lua.{cc,hh} (hook_external_diff): Take a diff_args_provided
variable.
* commands.cc (do_external_diff): Pass it.
2005-07-17 Nathaniel Smith <njs@pobox.com>
* std_hooks.lua (external_diff_default_args): New variable.
(external_diff): Use it as a default, and use user-provided
diff_args otherwise.
* monotone.texi (Hooks): Document this.
2005-07-16 Vladimir Vukicevic <vladimirv@gmail.com>
* lua.{cc,hh} (hook_external_diff): New hook.
* std_hooks.lua (external_diff): Add default definition.
* monotone.texi (Hooks): Document external_diff hook.
* app_state.{cc,hh}, options.hh, monotone.cc: Add --context,
--external, --unified, --diff-args options.
* commands.cc (do_external_diff): New function.
(dump_diffs): Put a == line between each file's diffs.
Pass file_ids of pre- and post-states to make_diff.
(diff): Take new options.
(cdiff): Remove.
* diff_patch.{cc,hh} (make_diff): Print file ids in diff file
headers.
(unidiff_append_test): Update.
(enum diff_type): Move to...
* vocab.hh: ...here.
* tests/t_restrictions.at, tests/t_crlf.at: Update.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* manifest.cc (build_restricted_manifest_map): Remove doubled
comment.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* NEWS: Mention need for 'db migrate'.
2005-07-17 Matthew Gregan <kinetik@orcon.net.nz>
* lua/*: Import Lua 5.0.2 from upstream.
* lua/*: Fix up CVS $Id$ tags, which appear to have been trashed
since monotone existed in CVS.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* NEWS: Update for 0.21.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* database.cc (assert_sqlite3_ok): Remove dead function.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* app_state.cc (require_working_copy): Oops, make it compile.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* app_state.{cc,hh} (require_working_copy): Take an optional
argument to give more details about why a working copy was
required.
* commands.cc (log): Give said details.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* monotone.texi (CVS Phrasebook): Include 'log'.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Selectors): Document use of globs.
* tests/t_selector_globbing.at: New test.
* testsuite.at: Add it.
2005-07-16 Jordan Breeding <jordan.breeding@mac.com>
* database.cc (selector_to_certname): Make 't:' selector match
exactly by default as well.
2005-06-25 Brian Downing <bdowning@lavos.net>
* database.cc (selector_to_certname, complete): Makes 'b:'
selector be interpreted as a glob instead of as a partial string
match.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* netsync.cc: Revert accidentally committed changes.
2005-07-16 Nathaniel Smith <njs@pobox.com>
* ChangeLog: Fix formatting.
2005-07-15 Matt Johnston <matt@ucc.asn.au>
* netsync.cc (rebuild_merkle_trees): bad_branch_certs is a set of cert
hashes, not of revision idents.
2005-07-14 Nathaniel Smith <njs@pobox.com>
* database.cc (get_revision_cert_index): "reserve" and "resize"
are different.
2005-07-14 Nathaniel Smith <njs@pobox.com>
* netsync.cc (process_delta_cmd): Remove meaningless comment.
2005-07-14 Nathaniel Smith <njs@pobox.com>
* database.hh: Pre-declare sqlite3_stmt, instead of including
sqlite3.h.
2005-07-14 Derek Scherger <derek@echologic.com>
* commands.cc (lca,lcad,try_one_merge): call describe_revision for
logging common ancestors
(propagate): log final merged line after propagate completes
to indicate that it actually worked and to be consistent with merge
2005-07-13 Derek Scherger <derek@echologic.com>
* ChangeLog: merge fixup
2005-07-13 Derek Scherger <derek@echologic.com>
* database.cc (debug): delete stale comment
(delete_branch_named):
(delete_tag_named):
(clear): replace vprintf stuff with query parameters
2005-07-13 Nathaniel Smith <njs@pobox.com>
* contrib/ciabot_monotone.py (main): Optimistically run 'db
migrate' before using database.
2005-07-13 Nathaniel Smith <njs@pobox.com>
* schema_migration.cc (migrate_monotone_schema)
(migrator::migrate): Move the "nothing happened" check, and don't
vacuum unless a migration occurred.
2005-07-13 Nathaniel Smith <njs@pobox.com>
* tests/t_restricted_diff_unchanged.at: New test.
* testsuite.at: Add it.
2005-07-13 graydon hoare <graydon@pobox.com>
* rcs_import.cc (cvs_branch::cvs_branch): Initialize bools to false.
2005-07-13 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Database): Document kill_tag_locally.
2005-07-13 Nathaniel Smith <njs@pobox.com>
* tests/t_kill_tag_locally.at, tests/t_ambiguous_tags.at: New
tests.
* testsuite.at: Add them.
2005-07-11 graydon hoare <graydon@pobox.com>
* AUTHORS: Add Jordan.
* commands.cc (ls_tags): Do not uniquify tags.
* constants.{cc,hh} (cvs_window): Change to time_t, tighten to 5 minutes.
* rcs_import.cc (window): Remove.
(note_type): Remove dead code.
(is_sbr): Add test for synthetic branch roots.
(cvs_commit::is_synthetic_branch_root): New test.
(process_branch): Skip synthetic branch roots, push new branch
before picking branch to mark, rather than after.
(cvs_history::index_branchpoint_symbols): Handle vendor branches.
(cvs_history::push_branch): Do not duplicate root on private branches.
(import_branch): Fix up cluster inference.
(cluster_consumer::consume_cluster): New invariant.
* tests/t_cvsimport_drepper2.at: Modify to reflect fixes.
2005-07-11 Jordan Breeding <jordan.breeding@mac.com>
* commands.cc (db): New subcommand "kill_tag_locally"
* database.{cc,hh} (delete_tag_named): New function.
2005-07-12 Nathaniel Smith <njs@pobox.com>
* schema_migration.cc (migrator::migrate): When there is nothing
to be done, do nothing.
2005-07-12 Nathaniel Smith <njs@pobox.com>
* netsync.cc (rebuild_merkle_trees): Reduce memory usage a bit,
and don't insert branch certs that the other side will just end up
throwing away (reduces network traffic).
2005-07-12 Nathaniel Smith <njs@pobox.com>
* testsuite.at (NETSYNC_SERVE_START, NETSYNC_SERVE_N_START):
Really, really really fix up quoting. Really.
I hope.
2005-07-12 Nathaniel Smith <njs@pobox.com>
* contrib/ciabot_monotone.py (config.project_for_branch): Clarify
comment text for non-Python programmers.
2005-07-12 Nathaniel Smith <njs@pobox.com>
* testsuite.at (NETSYNC_SERVE_START, NETSYNC_SERVE_N_START): Fixup
quoting.
2005-07-11 Nathaniel Smith <njs@pobox.com>
* crypto_tests.cc: New SHA1 correctness tests from Kaushik Veeraraghavan.
* unit_tests.cc (init_unit_test_suite):
* unit_tests.hh (add_crypto_tests):
* Makefile.am (unit_tests_SOURCES): Call them.
* AUTHORS: Add Kaushik Veeraraghavan.
2005-07-11 Nathaniel Smith <njs@pobox.com>
* tests/t_netsync_exclude_default.at: New test.
* testsuite.at: Add it.
(NETSYNC_SERVE_N_START, NETSYNC_SERVE_START): Use '*' as pattern
when none is passed.
2005-07-11 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Network): Tweak documentation for netsync
commands.
2005-07-11 Nathaniel Smith <njs@pobox.com>
* app_state.{hh,cc} (exclude_patterns, add_exclude):
* options.hh (OPT_EXCLUDE):
* monotone.cc (coptions, cpp_main): New option --exclude.
* commands.cc (pull, push, sync, serve): Accept it.
(process_netsync_args): Implement it.
* tests/t_netsync_exclude.at: New test.
* testsuite.at: Add it.
2005-07-11 Timothy Brownawell <tbrownaw@gmail.com>
* options.hh, app_state.{hh,cc}, monotone.cc: New command specific
option, "--exclude=x", puts arg into a vector app.excludes .
Used by the netsync commands.
* commands.cc (netsync commands): accept said option
(process_netsync_args): Handle excludes.
* monotone.texi: document it
2005-07-11 Timothy Brownawell <tbrownaw@gmail.com>
* interner.hh: make slightly faster
2005-07-11 Matt Johnston <matt@ucc.asn.au>
* hmac.cc: <string> not <string.h>
2005-07-11 Matt Johnston <matt@ucc.asn.au>
* keys.cc (encrypt_rsa): fix typo
* hmac.{cc,hh}: store key as SymmetricKey, pass correctly to
MAC_Filter
2005-07-10 Nathaniel Smith <njs@pobox.com>
* ChangeLog, configure.ac: Re-remove mysteriously revived
jibberish.
2005-07-10 Nathaniel Smith <njs@pobox.com>
* tests/t_netsync_read_permissions.at: New test.
* testsuite.at: Run it.
* netsync.cc (set_session_key, dispatch_payload)
(respond_to_auth_cmd): Refactor to key HMAC earlier, so error
packets will get the right HMAC.
2005-07-10 Richard Levitte <richard@levitte.org>
* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS): Re-remove
previously removed stuff.
* ChangeLog, configure.ac: Revert accidentally-recommitted changes.
2005-07-10 Richard Levitte <richard@levitte.org>
* monotone.texi (Network), monotone.1: Mention the default port
number.
2005-07-10 Matthew Gregan <kinetik@orcon.net.nz>
* configure.ac: Check for boost >= 1.32.
2005-07-09 Nathaniel Smith <njs@pobox.com>
* schema.sql (revision_ancestry__child, revision_certs__id,
revision_certs__name_value): New indexes.
* database.cc (dump, dump_table_cb, dump_index_cb): Include
indexes in dumps.
(database::database):
* schema_migration.cc (migrate_monotone_schema)
(migrate_client_to_add_indexes):
* tests/t_migrate_schema.at: Corresponding migration gunk.
2005-07-09 Jordan Breeding <jordan.breeding@mac.com>
* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS):
* configure.ac (BOOST_FIX_VERSION): Restrict boost compile kluges
to boost 1.32.
2005-07-09 Nathaniel Smith <njs@pobox.com>
* schema_migration.cc (calculate_schema_id): Include indexes in
the schema id.
2005-07-09 Nathaniel Smith <njs@pobox.com>
* ChangeLog, configure.ac: Revert accidentally-committed changes.
2005-07-09 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Generating Keys): Make it a little clearer that
we aren't necessarily recommending people store their passphrase
in plaintext.
2005-07-08 Matt Johnston <matt@ucc.asn.au>
* propagate mainline to botan branch
* constants.{cc,hh}: add sha1_digest_length as botan
doesn't provide a convenient definition.
* hmac.{cc,hh}: convert to use botan
* keys.cc (encrypt_rsa, decrypt_rsa): use botan
* transforms.{cc,hh}: use botan
2005-07-08 Matt Johnston <matt@ucc.asn.au>
* tests/t_normalized_filenames.at: expect exit code of 1 not 3 for
"cat manifest" with a directory in MT/work
* file_io.cc, netcmd.cc, transforms.cc, vocab.hh: revert changes which
used swap() for strings and atomic types since strings are
copy-on-write.
2005-07-08 Matt Johnston <matt@ucc.asn.au>
* file_io.cc (ident_existing_file): new function to calculate
the ident of a file failing gracefully if it doesn't exist
or is a directory.
* file_io.hh (classify_manifest_paths,
build_restricted_manifest_map): use ident_existing_file
* ui.cc: cast to avoid compiler warnings
2005-07-07 Nathaniel Smith <njs@pobox.com>
* contrib/ciabot_monotone.py (Monotone.log): Fix to work with
0.20.
2005-07-07 Nathaniel Smith <njs@pobox.com>
* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS): Add
-DBOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP to work around g++
4.0/boost 1.32.0 lossage.
2005-07-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
* Makefile.am: Compile fix for FreeBSD.
2005-07-07 Nathaniel Smith <njs@pobox.com>
* netsync.cc (process_hello_cmd, process_anonymous_cmd)
(process_auth_cmd): Change permission checking -- always build
merkle tree (even when a pure sink), send permission denied and
abort whenever client tries to read/write a branch they don't have
access to.
2005-07-07 Nathaniel Smith <njs@pobox.com>
* ChangeLog: fixup formatting.
2005-07-06 Matt Johnston <matt@ucc.asn.au>
* database.cc (assert_sqlite3_ok): database corruption and similar
problems are errors, not invariants.
2005-07-06 Nathaniel Smith <njs@pobox.com>
* commands.cc (push, pull, sync): Fix --help description.
2005-07-06 Nathaniel Smith <njs@pobox.com>
* options.hh (OPT_SET_DEFAULT):
* app_state.{hh,cc} (app_state::set_default):
* monotone.cc (coptions, cpp_main): New option.
* commands.cc (pull, push, sync): Accept it.
(process_netsync_args): Use it.
* tests/t_set_default.at, testsuite.at: New test.
2005-07-07 Matthew Gregan <kinetik@orcon.net.nz>
* win32/monotone.iss: Bump version number.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* debian/rules (config.status): Use bundled sqlite.
* debian/control (Build-Depends): Remove popt and sqlite.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* NEWS: Add timestamp. Barring unforeseen issues, this is 0.20.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* Makefile.am (EXTRA_DIST): Include some missed contrib/ stuff.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* po/monotone.pot: Regenerate for release.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* configure.ac, debian/changelog, monotone.spec: Bump version
number.
* UPGRADE: Update for 0.20 release.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* ChangeLog, NEWS, AUTHORS: Fixup Eric Anderson's email address.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* monotone.texi (Database): Note that db kill_rev_locally also
will trigger "unreferenced manifest" warnings from db check.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* NEWS: Oops, 'automate select' was in 0.19 after all.
2005-07-05 Nathaniel Smith <njs@pobox.com>
* contrib/ciabot_monotone.py: Fix multiple collection support.
2005-07-05 Richard Levitte <richard@levitte.org>
* monotone.texi (Hooks): Add space after periods where there's
a lack of space.
* NEWS: Correct the blurb about
get_netsync_{read,anonymous_read,write}_permitted
2005-07-05 Nathaniel Smith <njs@codesourcery.com>
* NEWS: Add more explicit note on how to upgrade.
2005-07-05 Nathaniel Smith <njs@codesourcery.com>
* NEWS: First cut at 0.20 release notes.
2005-07-03 Matthew Gregan <kinetik@orcon.net.nz>
* sqlite/*, Makefile.am: Import SQLite 3.2.2 from upstream.
* sqlite/main.c: Compile fix.
* sqlite/{callback.c,prepare.c}: Add new files.
2005-07-03 Matthew Gregan <kinetik@orcon.net.nz>
* sqlite/{sqlite3.h,tokenize.c} (sqlite3_complete_last): New
function to find the last valid SQL statement in a string; based
on sqlite3_complete. This change should be offered upstream, but
probably not before sqlite3_complete_last16 is implemented.
* database.cc (database::load): Load and execute dump in chunks,
fixes bug 13570.
2005-07-01 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
* file_io.cc: Pre-allocate space for the file read so that the
string doesn't have to be incrementally expanded during the read.
2005-07-01 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_cvsimport_drepper2.at: Canonicalise monotone output so
that the test passes on Win32.
2005-06-30 Eric Kidd <eric.kidd@dartmouth.edu>
* contrib/monotone-import.pl: Changed $branch to
$user_branch. This script may need more work, but at least Perl
compiles it now.
2005-06-30 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* automate.cc, basic_io.hh, cert.cc, change_set.cc,
cryptopp/config.h, cryptopp/integer.cpp, main.cc, merkle_tree.cc,
merkle_tree.hh, monotone.cc, netcmd.cc, netsync.cc,
netxx/osutil.h, packet.cc: Namespace and include file cleanup.
2005-06-29 graydon hoare <graydon@pobox.com>
* tests/t_cvsimport_drepper2.at: New test.
* testsuite.at: Call it.
2005-06-23 graydon hoare <graydon@pobox.com>
* rcs_import.cc (import_cvs_repo): Put branch imports inside
transaction blocks, add a couple tickers.
2005-06-22 graydon hoare <graydon@pobox.com>
* rcs_file.cc: Track file:line numbers, accept files which violate
some lies in rcs file format.
* rcs_import.cc (cvs_tree_walker):
Warn rather than crash on parse errors.
(cvs_history)
(cvs_commit)
(cvs_cluster)
(prepared_revision)
(import_branch)
(import_cvs_repo): Support non-branch tags.
2005-06-21 graydon hoare <graydon@pobox.com>
* rcs_import.{cc,hh} (import_rcs_file): Rename to test_parse_rcs_file.
* commands.cc (rcs_import): rename call.
2005-06-19 graydon hoare <graydon@pobox.com>
* rcs_import.cc: Rewrite change set inference logic.
2005-06-28 Roland Illig <roland.illig@gmx.de>
* app_state.cc: #include <unistd.h>, needed on NetBSD.
2005-06-28 Nathaniel Smith <njs@codesourcery.com>
* std_hooks.lua (ignore_file): Ignore vim swap files and emacs
temp files.
2005-06-27 Nathaniel Smith <njs@codesourcery.com>
* INSTALL: Bump required version of Boost to 1.32.
2005-06-26 Matthew Gregan <kinetik@orcon.net.nz>
* app_state.cc (app_state::app_state()): Initialise no_merges to
false so that 'log' will show merges by default (the recently
added --no-merges option provides a means to disable the merge
entries).
2005-06-26 Matthew Gregan <kinetik@orcon.net>
* tests/t_automate_stdio.at, tests/t_cvsimport_drepper.at,
tests/t_selector_later_earlier.at: Further canonicalisation of
monotone output to resolve test failures on Win32.
2005-06-25 Brian Campbell <brian.p.campbell@dartmouth.edu>
* commands.cc (CMD(db)): Added db kill_branch_locally command.
* database.cc, database.hh (delete_branch_named): New function to
delete all branch certs with a given branch name.
* monotone.texi (Database): Added documentation for db
kill_branch_locally.
* tests/t_db_kill_branch_locally.at: New test for db
kill_branch_locally.
* testsuite.at: Add the test.
* AUTHORS: Add myself.
* ChangeLog: Change my email address on an old contribution to
match my pubkey.
2005-06-24 Nathaniel Smith <njs@codesourcery.com>
* tests/t_db_kill_rev_locally.at: Clean up style.
2005-06-24 Nathaniel Smith <njs@codesourcery.com>
* unix/process.cc (process_spawn): Format log output correctly.
2005-06-24 Nathaniel Smith <njs@codesourcery.com>
* unix/process.cc (existsonpath): Reindent. Add logging, and use
'command -v' instead of 'which' (as per Matt Johnston's discovery
that it is more portable).
(process_spawn): Handle exec failure more properly.
* tests/t_existsonpath.at: New test.
* testsuite.at: Add it.
2005-06-25 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.cc: Log correct locale set for LC_MESSAGES.
2005-06-24 Nathaniel Smith <njs@codesourcery.com>
* unix/process.cc: Remove tabs.
2005-06-24 Nathaniel Smith <njs@codesourcery.com>
* std_hooks.lua (get_preferred_merge2_command)
(get_preferred_merge3_command): Move meld to the bottom of the
default merge tool search order. Also, use xemacs if it appears
in $EDITOR, otherwise use emacs.
* revision.cc (check_sane_history): Remove stale comment.
2005-07-05 Nathaniel Smith <njs@codesourcery.com>
* globish.cc (combine_and_check_globish): Don't add unnecessary
{}'s.
* tests/t_netsync_globs.at, testsuite.at: New test.
2005-07-04 Nathaniel Smith <njs@codesourcery.com>
* netcmd.cc (do_netcmd_roundtrip, test_netcmd_mac): Update for new
chained_hmac object.
* constants.hh (netsync_key_initializer): Update comment.
* hmac.hh (hmac_length): Expose length of MACs.
* hmac.cc: I() that it matches what CryptoPP wants to give.
* netcmd.cc: I() that it matches the length hard-coded into the
netsync protocol.
* vocab.cc (verify(netsync_hmac_value)): Fix error message.
2005-07-04 Nathaniel Smith <njs@codesourcery.com>
* tests/t_netsync_defaults.at: Update for new var names. All
tests now pass.
2005-07-04 Nathaniel Smith <njs@codesourcery.com>
* lua.cc (hook_get_netsync_write_permitted): Fix typo.
2005-07-04 Nathaniel Smith <njs@codesourcery.com>
* globish.cc (globish_matcher_test): Add check for {foo} (no
commas).
2005-07-04 Nathaniel Smith <njs@codesourcery.com>
* globish.cc (checked_globish_to_regex): Make the special case for
the empty pattern, actually work. Unit tests now pass.
2005-07-04 Nathaniel Smith <njs@codesourcery.com>
* netcmd.cc (test_netcmd_functions): Update for new anonymous/auth
packet formats.
2005-07-04 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi, monotone.1: Update for new glob stuff.
* commands.cc (process_netsync_args, push, pull, sync, serve):
'serve' always requires arguments, rather than falling back on db
defaults.
2005-07-04 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (process_netsync_args, push, pull, sync, serve):
Adapt for patterns instead of regexen; slight refactoring too.
2005-07-03 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc: Finally self-consistent.
2005-07-03 Nathaniel Smith <njs@codesourcery.com>
* netsync.hh (run_netsync_protocol): Fix prototype.
2005-07-03 Nathaniel Smith <njs@codesourcery.com>
* globish.hh: Document the empty pattern as never matching.
* globish.cc (checked_globish_to_regex): Implement it.
(globish_matcher_test): Check it.
2005-07-03 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Network Service, Hooks):
* testsuite.at:
* tests/t_netsync_permissions.at:
* tests/t_netsync_single.at: Update to match new
get_netsync_write_permitted definition.
2005-07-03 Nathaniel Smith <njs@codesourcery.com>
* lua.{cc,hh} (hook_get_netsync_write_permitted): Don't take a
branch argument; write permission is now all or none. (It really
was before anyway...)
* netsync.cc: Update accordingly.
2005-07-03 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc: More updating for pattern stuff; getting there...
2005-06-28 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc: Update low-level functions to use include_pattern
and exclude_pattern.
2005-06-28 Nathaniel Smith <njs@codesourcery.com>
* netcmd.{cc,hh} (read_anonymous_cmd, write_anonymous_cmd)
(read_auth_cmd, write_auth_cmd): Take include_pattern and
exclude_pattern arguments.
2005-06-28 Nathaniel Smith <njs@codesourcery.com>
* globish.{cc,hh}: New files.
* Makefile.am (MOST_SOURCES): Add them.
* transforms.{cc,hh}: Remove glob-related stuff.
* unit_tests.{cc,hh}: Call globish unit tests.
2005-06-27 Nathaniel Smith <njs@codesourcery.com>
* transforms.cc (glob_to_regex, globs_to_regex, regexes_to_regex):
Choose "regex" as standard spelling. Clean up code, add code for
handling sets, start improving tests (don't currently pass).
* transforms.hh (glob_to_regex, globs_to_regex, regexes_to_regex):
Prototype.
2005-06-28 Matt Johnston <matt@ucc.asn.au>
* constants.cc: increase db_version_cache_sz to 7 MB
* netsync.cc: use a deque<string> rather than a single
string buffer for outbuf.
* netsync.cc (arm): only queue data when there is
available space
* AUTHORS: added Eric Anderson
2005-06-26 Matt Johnston <matt@ucc.asn.au>
* transforms.hh: remove extraneous #ifdef
* hmac.cc, hmac.hh: actually add them
2005-06-26 Matt Johnston <matt@ucc.asn.au>
* netcmd.cc (netcmd::read, netcmd::write): change to using a HMACs
chained by including the previous HMAC in the input data, rather
than altering the key each time.
* netcmd.cc ({read,write}_{data,delta}_cmd): use encode_gzip/decode_gzip
rather than raw xform.
* hmac.{cc,hh}: new chained_hmac abstraction
* Makefile.in: add them
* netsync.cc: each session keeps a chained_hmac for read/write
* transforms.hh: add a string variant for encode_gzip
2005-06-25 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc: Tweak comment.
2005-06-25 Nathaniel Smith <njs@codesourcery.com>
* AUTHORS: Add Ethan Blanton <elb@elitists.net>.
2005-06-22 Nathaniel Smith <njs@codesourcery.com>
* netcmd.hh (netcmd::read, netcmd::write): Don't have defaults for
key/hmac arguments.
* netcmd.cc (do_netcmd_roundtrip): New function.
(test_netcmd_functions): Use it. Also, make work with hmac
changes.
(test_netcmd_mac): New test.
(add_netcmd_tests): Call it.
2005-06-22 Nathaniel Smith <njs@codesourcery.com>
* netcmd.cc (read): Remove unused variable.
* netsync.cc (call_server, process)
(arm_sessions_and_calculate_probe, handle_read_available): Give
better error message on bad_decode exceptions.
2005-06-22 Nathaniel Smith <njs@codesourcery.com>
* netcmd.cc, netsync.cc: Revert backwards compatibility code; 0.19
and 0.20 can't be usefully compatible, and the code as it existed
would cause real version mismatch error reporting to not work
right. (Old client with new server would give a generic "server
disconnected" error message instead of something useful.)
2005-06-21 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc (rebuild_merkle_trees): Fix FIXME comments to match
reality.
* tests/t_netsync_diffbranch.at: No longer a bug, remove
priority.
2005-06-20 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Hook Reference): Oops, missed a @ref.
2005-06-20 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Default monotonerc): Rename section to...
(Default hooks): ...this, to emphasize is still read even when a
monotonerc exists.
2005-06-19 Richard Levitte <richard@levitte.org>
* Makefile.am: There's no reason for monotone.pdf or .dvi to
depend on monotone.info, since they are built from the .texi
files. Also, make the monotone.html and html targets depend
on version.texi and std_hooks.lua as well.
2005-06-18 Matt Johnston <matt@ucc.asn.au>
* INSTALL: fix typo, should be -Iboost_1_31_0 not -Iboost_1_31_2
2005-06-18 Riccardo Ghetta <birrachiara@tin.it>
* monotone.texi: include std_hooks.lua as an appendix and remove long
lua excerpts from hook reference.
* Makefile.am : make monotone.pdf/eps depend on monotone.info
2005-06-24 Matt Johnston <matt@ucc.asn.au>
* transforms.{cc,hh}: combine gzip and base64 in one
pipe for pack()/unpack() to save memory
* vocab.hh: add swap() to encodings/atomics
* file_io.cc: use swap() to avoid copying
2005-06-21 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (do_diff): Use calculate_arbitrary_change_set,
instead of reimplementing it.
2005-06-21 Nathaniel Smith <njs@codesourcery.com>
* revision.cc (find_least_common_ancestor): Handle left == right
case.
* tests/t_diff_currev.at: Un-XFAIL.
2005-06-21 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc (rebuild_merkle_trees): Fix FIXME comments to match
reality.
* tests/t_netsync_diffbranch.at: No longer a bug, remove
priority.
2005-06-20 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Hook Reference): Oops, missed a @ref.
2005-06-20 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Default monotonerc): Rename section to...
(Default hooks): ...this, to emphasize is still read even when a
monotonerc exists.
2005-06-19 Richard Levitte <richard@levitte.org>
* Makefile.am: There's no reason for monotone.pdf or .dvi to
depend on monotone.info, since they are built from the .texi
files. Also, make the monotone.html and html targets depend
on version.texi and std_hooks.lua as well.
2005-06-18 Matt Johnston <matt@ucc.asn.au>
* INSTALL: fix typo, should be -Iboost_1_31_0 not -Iboost_1_31_2
2005-06-18 Riccardo Ghetta <birrachiara@tin.it>
* monotone.texi: include std_hooks.lua as an appendix and remove long
lua excerpts from hook reference.
* Makefile.am : make monotone.pdf/eps depend on monotone.info
2005-06-17 Matt Johnston <matt@ucc.asn.au>
* database.cc (database::execute()): truncate long query log messages
before copying, saving memory.
Patch from Eric Anderson <anderse-monotone@cello.hpl.hp.com>
2005-06-17 Riccardo Ghetta <birrachiara@tin.it>
Adds include()/includedir() to lua hooks and extend --rcfile
* lua.cc: handle --rcfile with directories, implement
include() and includedir()
* testsuite.at, t_lua_includedir.at, t_rcfile_dir.at:
test new functionality
* monotone.texi: document all functions available to hook
writers, including the new include() and includedir()
2005-06-16 Nathaniel Smith <njs@codesourcery.com>
* diff_patch.cc (merge_extents): Typo caught by anonymous reader.
2005-06-16 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (cat): Account for being in a subdir in 'cat file
REV PATH'.
* tests/t_cat_file_by_name.at: Test.
2005-06-17 Richard Levitte <richard@levitte.org>
* app_state.cc (app_state::app_state()): Avoid a gcc warning by
having the class members initialised in the same order they are
defined in the class.
2005-06-16 Nathaniel Smith <njs@pobox.com>
* std_hooks.lua (ignore_file): Add Cons/SCons cache files to
default ignore list.
2005-06-16 Matt Johnston <matt@ucc.asn.au>
* ui.cc: increase the divisor as required so that we don't get spurious
screen updates when we're using the kilobyte/megabyte tickers
2005-06-15 Matt Johnston <matt@ucc.asn.au>
* monotone.texi: clarify some netsync parts of the tutorial
2005-06-15 Richard Levitte <richard@levitte.org>
* netsync.cc (struct session): Add a pattern regex cache.
(analyze_ancestry_graph): Use the regex cache instead of the
pattern string itself. This is especially important when the
pattern is used as an old-style collection.
(process_hello_cmd): Recreate the pattern regex cache with the
conversion of the pattern to a regex when it's used as an
old-style collection.
(process_auth_cmd): When the pattern changes, change the regex
cache as well.
2005-06-14 Richard Levitte <richard@levitte.org>
* std_hooks.lua (get_preferred_merge2_command,
get_preferred_merge3_command): EDITOR may be undefined. In that
case, os.getenv() returns nil, on which string.lower() chokes.
It's much better to check for that and default to an empty
string.
2005-06-11 Derek Scherger <derek@echologic.com>
* commands.cc (complete_command): log command expansion messages
with L instead of P to reduce chatter
(status): add --brief option and corresponding output
(identify): add trailing space to comment gcc complains about
* monotone.cc: fix comment typo and add additional details for
command specific options
* monotone.texi (Automation): list inventory status code
combinations and descriptions
* tests/t_status.at: new test of status command and --brief option
* testsuite.at: add it
2005-06-11 Matt Johnston <matt@ucc.asn.au>
* commands.cc: revert should ignore the ignore hooks, otherwise bad
things happen (revert a single ignored file, resultant empty ignore list
reverts the whole working copy).
* app_state.cc, app_state.hh: give set_restriction a flag to disregard
file-ignore hooks.
* tests/t_revert_restrict.at, testsuite.at: a test
2005-06-09 Riccardo Ghetta <birrachiara@tin.it>
* std_hooks.lua: make binary_file return nil on unreadable/empty files
2005-06-10 Joel Reed <joelwreed@comcast.com>
* commands.cc (CMD(cdiff)): Add OPT_DEPTH to command options.
* t_restrictions.at: Add to testcase.
2005-06-09 Joel Reed <joelwreed@comcast.com>
* commands.cc (CMD(diff)): Add OPT_DEPTH back in, as it is used.
* t_restrictions.at: Add to testcase to increase likelihood of
keeping it around :)
2005-06-10 Richard Levitte <richard@levitte.org>
* commands.cc (CMD(diff)): Remove OPT_DEPTH, as it was never
used.
2005-06-09 Richard Levitte <richard@levitte.org>
* monotone.texi (Merging): I assume that "apposite" was supposed
to be "appropriate".
2005-06-09 Riccardo Ghetta <birrachiara@tin.it>
* diff_patch.cc/hh: honor the new manual_merge attribute
* file_io.cc/hh: move here the guess_binary function
* lua.cc: let guess_binary available to lua
* std_hooks.lua: handle manual_merge as an add-time attribute and
initialize by default make it true if the file appears to be binary.
Make read_contents_of_file able to read "binary" files.
* tests/t_merge_manual.at: tests new behaviour, superceding the
old XFAIL t_merge_binary.at test.
* monotone.texi: document changes, adding a small section on merging.
2005-06-07 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Fixup.
2005-06-07 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Storage and workflow): Attempt to thwart some
common misconceptions.
2005-06-07 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc (rebuild_merkle_trees): Add a comment describing how
this code should work (and why it currently doesn't quite).
2005-06-05 Nathaniel Smith <njs@codesourcery.com>
* tests/t_bad_packets.at: Expect certs on a non-existent rev to
fail. Run db check instead.
* commands.cc (complete): Let callers specify they're okay with
non-existent revisions.
(CMD(trusted)): So specify.
2005-06-05 Nathaniel Smith <njs@codesourcery.com>
* tests/t_tags.at: 'tag' on a non-existent revid should fail.
* commands.cc (complete): Fail on non-existent revids.
2005-05-29 Nathaniel Smith <njs@codesourcery.com>
* tests/t_epoch.at: Typo.
* tests/t_automate_certs.at, tests/t_selector_later_earlier.at:
Throw in some calls to CANONICALISE, maybe this will help on
Win32...
2005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
* netsync.cc, netcmd.cc: Style cleanups (mostly whitespace).
2005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
* netsync.cc (process_hello_cmd): Warn about collection/regex
usage when talking to an old server.
2005-06-04 Derek Scherger <derek@echologic.com>
* commands.cc (update): update MT/work based on the changes
between the chosen revision and the new merge revision
* tests/t_update_with_pending_drop.at:
* tests/t_update_with_pending_add.at:
* tests/t_update_with_pending_rename.at: un-XFAIL and clean up now
that things work
2005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
* netcmd.{cc,hh}, netsync.cc: Move {read,write}_*_cmd_payload
to netcmd::{read,write}_*_cmd .
* netcmd.cc, netsync.cc: Compatibility infrastructure.
* netsync.cc: Interoperate with v4 servers.
2005-06-03 Timothy Brownawell <tbrownaw@gmail.com>
* automate.cc (print_some_output): Fix compiler warning.
2005-06-04 Derek Scherger <derek@echologic.com>
* app_state.cc (app_state): initialize diffs to false; it seemed
to be defaulting to true for me
2005-06-04 Derek Scherger <derek@echologic.com>
* tests/t_update_with_pending_drop.at:
* tests/t_update_with_pending_add.at:
* tests/t_update_with_pending_rename.at:
* tests/t_restricted_commit_with_inodeprints.at: new bug reports
* testsuite.at: call them
2005-06-04 graydon hoare <graydon@pobox.com>
* rcs_import.cc
(note_state_at_branch_beginning): Move time back when
there are known commits on a branch.
2005-06-03 Joel Reed <joelwreed@comcast.com>
* commands.cc, monotone.texi: provide --verbose option for
monotone complete revision which adds date and author
completion output
* contrib/monotone.zsh_completion: use verbose output when
completing revisions
2005-06-02 graydon hoare <graydon@pobox.com>
* rcs_import.cc
(cvs_key::is_synthetic_branch_founding_commit): New field.
(cvs_key::operator==): Handle synthetic case specially.
(cvs_key::operator<): Likewise.
(note_state_at_branch_beginning): Likewise.
* tests/t_cvsimport_drepper.at: Converted bug testcase.
* testsuite.at: Call it.
* monotone.cc, commands.cc, options.hh
(OPT_NO_MERGES, OPT_DIFFS): New options.
* app_state.cc (app_state::no_merges, app_state::diffs): Likewise.
* commands.cc (log): Honor no_merges, diffs.
* contrib/color_logs.{sh,conf}: Helpers for reviewing work in a
nice colorized, easy-to-read fashion.
* contrib/colorize: A colorization script found on the net.
* HACKING, ROADMAP: Expand a bit.
* commands.cc (changes_summary::print): Change macro to helper fn.
* contrib/monotone.el (monotone-cmd): Handle nil exit code.
2005-06-02 Joel Reed <joelwreed@comcast.com>
* commands.cc, database.cc, database.hh, vocab.hh, vocab_terms.hh:
add complete key subcommand and provide --brief option of zsh/bash
completion. See http://lists.gnu.org/archive/html/monotone-devel/2005-05/msg00461.html
* tests/t_rebuild.at: add tests for complete key subcommand
* monotone.texi: document new subcommand
* contrib/monotone.zsh_completion: update for new complete key
command, improve _monotone_existing_entries using new --depth=0
option, add revision completion for cert command, and a bugfix
for cat command
2005-06-01 Matt Johnston <matt@ucc.asn.au>
* tests/t_i18n_changelog.at: capitalise UTF-8 CHARSET to keep
solaris happy.
2005-06-01 Timothy Brownawell <tbrownaw@gmail.com>
* netsync.cc (analyze_ancestry_graph): Try to fix segfault.
Always accept tags.
2005-06-01 Timothy Brownawell <tbrownaw@gmail.com>
* netsync.cc (process_auth_cmd, analyze_ancestry_graph): Move
write-permission checking to where it belongs, *after* we know
exactly what we're checking permissions about. Drop things we
don't want.
2005-06-01 Matt Johnston <matt@ucc.asn.au>
* tests/t_cvsimport_deleted_invar.at: don't use -C with tar
* tests/t_i18n_file.at: capitalise CHARSET=UTF-8, seems more standard.
* tests/t_merge_normalization_edge_case.at: use known-good output
rather than using diff3 --merge
2005-05-31 Timothy Brownawell <tbrownaw@gmail.com>
* tests/t_epoch_server.at: fix typo
* netsync.cc (session::process_auth_cmd): If no branches are allowed
for writing, also check for write permissions to branch "" (needed
for serving empty dbs). For sync, don't refuse connection if there
are no readable branches (only do this for pull).
2005-05-31 Timothy Brownawell <tbrownaw@gmail.com>
* monotone.texi: Update documentation for get_netsync_*_permitted
hooks to reflect that they now get individual branch names.
2005-05-31 Timothy Brownawell <tbrownaw@gmail.com>
* netsync.cc: session::rebuild_merkle_trees now takes a set of
branches to include as an argument. On the server, calculate
this set at the same time the get_netsync_*_permitted hooks are
called; call said hooks on each branch individually.
2005-05-31 Timothy Brownawell <tbrownaw@gmail.com>
Remove old collection support in favor of using regexes exclusively.
* netsync.cc (convert_pattern): Remove function.
* (14 files): collections are unexist; do not mention (potential
for confusion)
* constants.cc: Increase netsync protocol version.
* monotone.texi: Update documentation.
* tests/t_epoch_unidirectional.at: Fix to sync subbranches.
* commands.cc (CMD update): Fix usage check.
* tests/t_select_cert.at: Fix to use --revision.
2005-05-30 Timothy Brownawell <tbrownaw@gmail.com>
* netsync.cc: Call note_netsync_*_received hooks in the order they're
written to the db (for revisions, gives topological order).
2005-05-30 Timothy Brownawell <tbrownaw@gmail.com>
* lua.{cc,hh}: Replace note_netsync_commit with
note_netsync_{revision,cert,pubkey}_received
* packet.{cc,hh}: Callbacks for cert or key written to the database.
* netsync.cc: Use said callbacks, call note_netsync_*_received hooks.
* monotone.texi: Update documentation.
2005-05-30 Timothy Brownawell <tbrownaw@gmail.com>
* packet.{cc,hh}, netsync.cc: on_revision_written callback now takes
the revision_id as an argument.
* lua.{cc,hh}: New Lua hook, note_netsync_commit.
* netsync.cc: At end of netsync session, call new hook for each
revision received.
monotone.texi: Document new hook.
2005-05-30 Richard Levitte <richard@levitte.org>
* commands.cc (CMD(checkout), CMD(cdiff), CMD(diff), CMD(log)):
Remove '[--revision=REVISION]' from command argument synopsis,
and add more text to the help to explain what happens when
--revision options are used.
(CMD(update)): Instead of the optional revision argument, use
the --revision option. Add information on what happens when the
--revision option is used, and when it's not.
* tests/t_add_stomp_file.at, tests/t_add_vs_commit.at,
tests/t_annotate.at, tests/t_lf_crlf.at,
tests/t_update_nonexistent.at, tests/t_update_off_branch.at,
tests/t_update_to_revision.at: Update to use --revision with
'monotone update'.
2005-05-30 Matt Johnston <matt@ucc.asn.au>
* netsync.cc: cosmetic linebreak tidying for "double-check the
fingerprint" message.
* main.cc: make it clearer that "unknown type" refers to an exception
* monotone.cc: catch early informative_failures (due to charset
problems etc)
2005-05-30 Matt Johnston <matt@ucc.asn.au>
* tests/t_fmerge.at: scrap all the diff3/ed, just compare it with
known-good output.
2005-05-30 Timothy Brownawell <tbrownaw@gmail.com>
* revision.cc (toposort): Better algorithm.
2005-05-30 Matt Johnston <matt@ucc.asn.au>
* tests/t_fmerge.at: make sure we write the file with the ed script.
2005-05-30 Matt Johnston <matt@ucc.asn.au>
* testsuite.at: use "command -v" rather than "which", since
Solaris doesn't give useful exit codes for "which".
* tests/t_fmerge.at: don't use --merge with diff3, pipe to ed instead
so we don't rely on gnu diff3.
2005-05-29 Timothy Brownawell <tbrownaw@gmail.com>
* contrib/monoprof.sh: Add support for using valgrind for
heap profiling.
2005-05-28 Joel Reed <joelwreed@comcast.com>
* app_state.cc, app_state.hh, commands.cc, monotone.cc, options.h:
add new --depth command, and rename log's --depth to --last
* monotone.texi: update documentation
* tests/t_log_depth.at, tests/t_log_depth_single.at: update
log tests to use --last instead of --depth
* tests/t_options.at, tests/t_restrictions.at: test usage of
--depth for commands using restrictions
* contrib/ciabot_monotone.py, contrib/monotone-notify.pl,
contrib/monotone.el, contrib/monotone.zsh_completion,
contrib/mtbrowse.sh: change all occurences of "depth" to "last"
2005-05-28 Timothy Brownawell <tbrownaw@gmail.com>
* netcmd.cc (read_netcmd): Reserve space in the buffer if needed,
swap buffers instead of copying (memory savings for sync
large files)
* netsync.cc (session::arm): Don't clear the buffer (now done
by read_netcmd).
2005-05-27 Timothy Brownawell <tbrownaw@gmail.com>
* netsync.cc: Allow REGEXes as well as collections.
Fix out-of-branch ancestor handling.
* tests/t_netsync_diffbranch.at: Remove bug report and XFAIL (fixed).
* commands.cc: Update description fields for netsync commands.
* monotone.texi: Update documentation.
2005-05-25 Timothy Brownawell <tbrownaw@gmail.com>
* tests/t_automate_stdio.at: Make it self-contained.
2005-05-25 Timothy Brownawell <tbrownaw@gmail.com>
* contrib/get_stdio.pl (new file): Perl script to parse the output from
"mtn automate stdio". Used by...
* tests/t_automate_stdio.at (new file): Test for "mtn automate stdio".
* testsuite.at: Add it.
2005-05-25 Timothy Brownawell <tbrownaw@gmail.com>
* automate.cc ("automate stdio"): Fix block size limiting.
Honor "output.flush()" in commands.
2005-05-24 Timothy Brownawell <tbrownaw@gmail.com>
* automate.cc: Fix buffering for "automate stdio"
2005-05-24 Timothy Brownawell <tbrownaw@gmail.com>
* automate.cc: Put back lost "automate certs".
2005-05-24 Matt Johnston <matt@ucc.asn.au>
* commands.cc (try_one_merge, CMD(merge), CMD(explicit_merge),
CMD(propagate): allow --author flag.
2005-05-24 Timothy Brownawell <tbrownaw@gmail.com>
* automate.cc: Fix comment for automate stdio to match the code.
* monotone.texi: Document ignored locations in automate stdio
input as reserved.
2005-05-24 Riccardo Ghetta <birrachiara@tin.it>
* tests/t_merge_binary.at: new XFAIL test to cover monotone
inclination to algorithmically merge binary files.
2005-05-24 Richard Levitte <richard@levitte.org>
* commands.cc (try_one_merge): Change 'rid' to 'merged_id'.
2005-05-23 Timothy Brownawell <tbrownaw@gmail.com>
Fix "automate stdio" input/output format according to ML discussion
* automate.cc: changed: automate_stdio
added: print_some_output, class my_stringbuf
* constants.{cc,hh}: add constant for automate stdio block size
* monotone.texi: update documentation
2005-05-23 Nathaniel Smith <njs@codesourcery.com>
* win32/terminal.cc (have_smart_terminal): Call _isatty on stderr,
not stdout.
2005-05-23 Richard Levitte <richard@levitte.org>
* commands.cc (try_one_merge): Use the value of --date and
--author if there are any.
(CMD(merge), CMD(propagate), CMD(explicit_merge)): Change to
accept --date and --author.
2005-05-23 Riccardo Ghetta <birrachiara@tin.it>
* selectors.cc/.hh, database.cc: add two new selectors:
"earlier or equal than" and "later than".
* lua.cc/.hh, std-hooks.lua: create a new "expand_date" hook
* monotone.texi: document the changes
* testsuite.at, tests/t_selector_later_earlier.at: add specific tests
for the new selectors
2005-05-21 Richard Levitte <richard@levitte.org>
* Makefile.am: Make monotone.pdf and monotone.dvi depend on
version.texi.
2005-05-21 Richard Levitte <richard@levitte.org>
* monotone.texi: Add a note about the --brief option with
'monotone log', and restructure the synopsis since it was getting
a bit silly with all possible variants.
2005-05-21 Richard Levitte <richard@levitte.org>
* commands.cc (log_certs): Add two arguments; a separator string
to be used in front of the second to last cert for multi-valued
cert types, a bool to say if each cert should be ended with a
newline. Overload with shortcuts.
(CMD(log)): Use the --brief option and implement it using the
shortcut variants of log_certs.
* monotone.cc, options.hh: Add the --brief option (OPT_BRIEF
internally).
* sanity.cc, sanity.hh (struct sanity): Add the member variable
and function to hold and set the brief flag.
2005-05-21 Matt Johnston <matt@ucc.asn.au>
* tests/t_short_opts.at: remove the saved MT/log message
from the failed commit.
* Makefile.am: MAKEINFOFALGS to MAKEINFOFLAGS
2005-05-21 Matt Johnston <matt@ucc.asn.au>
* commands.cc (commit): write the log message to MT/log
during the commit, so it will be available later if the commit
fails.
* work.{cc,hh} (write_user_log): new function
2005-05-20 Nathaniel Smith <njs@codesourcery.com>
* contrib/mtbrowse.sh: New file.
* contrib/README: Document it. Also, document some missed files,
and re-order listing.
* Makefile.am (EXTRA_DIST): Add several missing contrib/ files.
2005-05-21 Grahame Bowland <grahame@angrygoats.net>
* automate.cc: (automate_certs) change "status" field
to "signature". Check whether each cert is trusted, and
output in the "trusted" field.
* testsuite.at: add t_automate_certs.at
* tests/t_automate_certs.at: Test that the output of
"automate certs" is consistent, and that we exit with
error when rev is incomplete or missing.
* monotone.texi: update output documentation for
"automate certs"
2005-05-20 Emile Snyder <emile@alumni.reed.edu>
* annotate.{hh,cc}: Rework to handle lineage dependent line
mappings and lines which split from a single line in a parent
revision into multiple lines in some descendent. Fixes bug where
some lines remained unannotated. Fixes wrong assignment of lines
bug.
* tests/t_annotate.at: Check no-changes since addition of fil