Below is the file 'ChangeLog' from this revision. You can also download the file.
2005-06-16 Matt Johnston <matt@ucc.asn.au>
* netcmd.{cc,hh}, netsync.cc: only read a single command packet
worth of data at a time, to avoid having to shuffle buffers about.
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 file
case.
* tests/t_annotate_lineage_dependent.at
* tests/t_annotate_split_lines.at: New tests.
* testsuite.at: Add them.
2005-05-20 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Network): Clarify that ports can be specified on
the command line to serve/pull/push/sync.
2005-05-21 Matt Johnston <matt@ucc.asn.au>
* packet.cc (db_packet_writer::~impl, prerequisite.cleanup):
add code to remove up circular dependencies between prerequisite
and delayed_packet shared_ptrs upon destruction, so that unsatisified
dependency warnings are printed.
2005-05-19 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (merge_disjoint_analyses): handle the case where
a file is dropped on both sides but re-added on one.
* tests/t_drop_vs_dropadd.at: a test for it
* testsuite.at
2005-05-19 Derek Scherger <derek@echologic.com>
* commands.cc (checkout): rearrange to use --revision option
* monotone.1:
* monotone.texi: document checkout --revision option
* tests/t_attr.at:
* tests/t_attributes.at:
* tests/t_checkout_id_sets_branch.at:
* tests/t_checkout_noop_on_fail.at:
* tests/t_checkout_options.at:
* tests/t_cwork.at:
* tests/t_delete_dir.at:
* tests/t_delete_dir_patch.at:
* tests/t_empty_path.at:
* tests/t_i18n_file_data.at:
* tests/t_inodeprints_hook.at:
* tests/t_inodeprints_update.at:
* tests/t_largish_file.at:
* tests/t_lf_crlf.at:
* tests/t_monotone_up.at:
* tests/t_netsync_defaults.at:
* tests/t_netsync_set_defaults.at:
* tests/t_persistent_server_revision.at:
* tests/t_rename_added_in_rename.at:
* tests/t_rename_dir_cross_level.at:
* tests/t_rename_dir_patch.at:
* tests/t_single_char_filenames.at:
* tests/t_subdir_add.at:
* tests/t_subdir_attr.at:
* tests/t_subdir_drop.at:
* tests/t_subdir_rename.at:
* tests/t_subdir_revert.at:
* tests/t_tags.at:
* tests/t_update_off_branch.at:
* tests/t_versions.at:
* testsuite.at: add --revision option to checkout
2005-05-18 Richard Levitte <richard@levitte.org>
* ui.cc: Move the copyright and license section to the top of the
file, and add an emacs mode specifier.
* ui.cc (write_ticks): Change the counter ticker so the trailer
comes at the end of the counter line instead of the title line.
This is especially important for code that changes the trailer
a little now and then.
2005-05-17 Grahame Bowland <grahame@angrygoats.net>
* commands.cc: add "automate certs ID" to the help string
for the automate command
* automate.cc: implement "automate certs". Add to the list
of commands available through "automate stdio".
* monotone.texi: document "automate certs"
2005-05-17 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Network): Document 'serve' as taking more than
one collection argument.
2005-05-15 graydon hoare <graydon@pobox.com>
* rcs_import.cc (note_state_at_branch_beginning): collect
branch beginning states into a single synthetic commit.
2005-05-15 graydon hoare <graydon@pobox.com>
* rcs_import.cc: rewrite most of the branch logic to
address issues raised in bugs 13032 and 13063.
* tests/t_cvsimport_deleted_invar.at: un-XFAIL.
2005-05-16 Matt Johnston <matt@ucc.asn.au>
* commands.cc (commit): change scope of the transaction guard so that
the transaction will fail before MT/revision is written (which could
leave a non-committed revision/bad working dir).
2005-05-16 Grahame Bowland <grahame@angrygoats.net>
* monotone.texi: update "monotone log" documentation
* commands.cc: fix "monotone log" when run with no --revision args
2005-05-15 Derek Scherger <derek@echologic.com>
* tests/t_update_with_blocked_rename.at: new test
* testsuite.at: call it
2005-05-15 Derek Scherger <derek@echologic.com>
* netsync.cc (process_anonymous_cmd, process_auth_cmd): log
details of permissions allowed/denied
* tests/t_netsync_permissions.at: new test
* testsuite.at: call it
2005-05-15 Richard Levitte <richard@levitte.org>
* contrib/monotone-notify.pl (revision_is_in_branch): Another
place where --revision was missing.
2005-05-14 Timothy Brownawell <tbrownaw@gmail.com>
* contrib/monoprof.sh: Clean up variable definitions some.
- Add option --datadir, should now be usable without editing
variables to match system paths
- Add option --setup, generates most of the needed files
2005-05-13 Timothy Brownawell <tbrownaw@gmail.com>
Add "monotone automate stdio", to let the automation interface
take commands on standard input.
* automate.cc: (automate_stdio) New function.
(automate_command) Add it.
* commands.cc: Add to description for "automate".
* monotone.texi: Add to documentation.
2005-05-13 Joel Reed <joelwreed@comcast.com>
* tests/t_unidiff3.at: opps. forgot to add this file which
should have been included as fix for bug 13072.
2005-05-13 Joel Reed <joelwreed@comcast.com>
* diff_patch.cc, transforms.cc, testsuite.at: Patch from
drepper@redhat.com, who writes: "The attached patch should fix bug
13072. I have no idea why the code in transform.cc insists on
adding an empty line in case the file is empty. Removing the code
didn't cause any regressions in the test suite and the
diff_patch.cc change corrects the output format. A new test case
is included as well."
2005-05-13 Joel Reed <joelwreed@comcast.com>
* automate.cc: add automate attributes command
* commands.cc: add attributes subcommand helptext
* contrib/monotone.zsh_completion: use automate attributes
for completion of monotone attr and cleanup ignore files code
* tests/t_automate_attributes.at: add testcase
* testsuite.at: include new testcaes
2005-05-13 Jon Bright <jon@siliconcircus.com>
* testsuite.at (UNGZ): Change the way the ungzipping works on
Win32, in the hope that test 206 will no longer be given invalid
files.
2005-05-12 Derek Scherger <derek@echologic.com>
* automate.cc: bump version number to 1.0
(struct inventory_item): add pre/post states
(inventory_paths): remove obsolete function
(inventory_pre_state, inventory_post_state, inventory_file_state,
inventory_renames): add fancy new functions
(automate_inventory): rework for new output format
* manifest.{cc,hh} (classify_paths): rename to ...
(classify_manifest_paths): ... this and work solely from manifest
* monotone.texi: (Automation): update inventory docs
* tests/t_automate_inventory.at: update for new format and add
some more tests
2005-05-13 Matthew Gregan <kinetik@orcon.net.nz>
* HACKING: New file. First pass at a brief document to help
newcomers hack on monotone.
2005-05-12 Riccardo Ghetta <birrachiara@tin.it>
* options.hh (OPT_MSGFILE): New option.
* monotone.cc (message-file): New option.
(cpp_main): Handle it.
* app_state.{cc,hh} (set_message_file): New function.
* commands.cc (commit): Accept and handle new option.
* monotone.1, monotone.texi: Document it.
* tests/t_commit_message_file.at: New test.
* testsuite.at: Add it.
2005-05-12 Timothy Brownawell <tbrownaw@gmail.com>
* (20 files): Do not indent with both tabs and spaces in the same file.
2005-05-13 Ulrich Drepper <drepper@redhat.com>
* rcs_import.cc (process_one_hunk): Improve handling of corrupt
RCS files.
2005-05-13 Matthew Gregan <kinetik@orcon.net.nz>
* testsuite.at: Fix typo error in Win32 kill logic that was
causing the testsuites to hang on Win32 machines that don't have
pskill installed.
2005-05-12 Matthew Gregan <kinetik@orcon.net.nz>
* file_io.cc (write_data_impl): Use portable boost::filesystem
calls in place of unlink(2)/remove(2).
2005-05-12 Grahame Bowland <grahame@angrygoats.net>
* commands.cc: Modify the "log" command to accept multiple
revisions on command line, and display the log for all
of those revisions.
2005-05-11 Nathaniel Smith <njs@codesourcery.com>
* std_hooks.lua (ignore_file): Organize a bit more, add
patterns for autotools cache files, and darcs, codeville, git
metadata directories.
2005-05-11 Timothy Brownawell <tbrownaw@gmail.com>
* revision.cc (expand_dominators): Fix bitmap size-matching.
(find_common_ancestor_for_merge): Do not wait for ancestors
to be expanded to the beginning of time before expanding
dominators. Requires above fix for correct behavior.
* ChangeLog: Fix date on previous entry.
2005-05-11 Timothy Brownawell <tbrownaw@gmail.com>
* contrib/monoprof.sh: Add profiling test for "netsync large file".
Add options to only run specific profile tests.
2005-05-11 Stanislav Karchebny <stanislav.karchebny@skype.net>
* contrib/monotone-notify.pl: 'monotone log' takes a revision
through the --revision= option.
2005-05-11 Richard Levitte <richard@levitte.org>
* contrib/monotone-notify.pl: Change all occurences of $symbol' to
${symbol}' to avoid a confusing Perl warning.
2005-05-11 Joel Reed <joelwreed@comcast.com>
* contrib/monotone.zsh_completion: add zsh completion contrib.
2005-05-11 Matt Johnston <matt@ucc.asn.au>
* tests/t_add_intermediate_MT_path.at: remove the drop dir part
* tests/t_delete_dir.at: add a note about re-enabling the above test
* tests/t_cvsimport3.at: ignore stderr
2005-05-11 Matt Johnston <matt@ucc.asn.au>
* rcs_import.cc (find_branchpoint): if a branch is derived from two
differing parent branches, take the one closest to the trunk.
* tests/t_cvsimport3.at: add a test for cvs_importing where branches
come off a vendor import.
* testsuite.at: add it
2005-05-11 Nathaniel Smith <njs@codesourcery.com>
* work.cc (build_deletions): Disable delete_dir.
2005-05-11 Matthew Gregan <kinetik@orcon.net.nz>
* constants.cc (constants::bufsz): Increase buffer size. Reduces
the runtime to tests/t_netsync_largish_file.at by four to seven
times on my test machines.
2005-05-10 Timothy Brownawell <tbrownaw@gmail.com>
* revision.cc: Make expand_{ancestors,dominators} twice as fast.
Loop over revisions in the other direction so that changes at the
frontier propogate fully in 1 pass, instead of one level at a time.
2005-05-10 Timothy Brownawell <tbrownaw@gmail.com>
* packet.{cc,hh}: Give packet_consumer and children a callback to call
after writing out a revision.
* netsync.cc: Use this callback to add a "revisions written" ticker,
to provide user feedback while sanity checking.
2005-05-10 Timothy Brownawell <tbrownaw@gmail.com>
* ui.cc: Make tick_write_count take less horizontal space
2005-05-09 Nathaniel Smith <njs@codesourcery.com>
* AUTHORS: Give Riccardo his real name.
* ChangeLog: Likewise.
2005-05-09 Riccardo Ghetta <birrachiara@tin.it>
* std_hooks.lua: Support kdiff3.
2005-05-09 Matthew Gregan <kinetik@orcon.net.nz>
* lua.cc (loadstring, run_string): New parameter to identify the
source of the Lua string being loaded.
(add_{std,test}_hooks, load_rcfile): Pass an identity through.
2005-05-09 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.cc: Absolutify and tilde expand pid file.
2005-05-09 Matthew Gregan <kinetik@orcon.net.nz>
* testsuite.at: Revert bogus changes committed in revision 9d478.
2005-05-09 Matt Johnston <matt@ucc.asn.au>
* commands.cc (pid_file): use fs::path .empty() rather than ==, since
boost 1.31 doesn't seem to have the latter.
2005-05-08 Matthew Gregan <kinetik@orcon.net.nz>
* lua.cc (report_error, load{file,string}): New member functions.
Error handling in call moved into report_error.
(call): Call report_error.
(run_{file,string}): Call load{file,string} member functions to
load Lua code into the VM. Allows us to report syntax errors when
loading rc files.
* testsuite.at: test_hooks.lua was calling nonexistent (obsolete)
strfind function and failing silently. The improved error
reporting from Lua caught this and cause testsuite failures.
2005-05-08 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.1: Document --pid-file option. Also make some minor
spelling and punctuation fixes.
2005-05-08 Timothy Brownawell <tbrownaw@gmail.com>
* app_state.cc: {read,write}_options now print a warning instead of
failing on unreadable/unwritable MT/options .
* tests/t_unreadable_MT.at: add matching test
* testsuite.at: add test
* tests/README: Mention that new tests must be added to testsuite.at
* work.cc: (get_revision_id) Friendlier error message for
unreadable MT/revision .
2005-05-08 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.texi: Right words, wrong order.
* testsuite.at: Drop pid mapping trickery, it doesn't work
consistently. We now try and use SysInternal's pskill to kill the
process. If pskill is not available, we fall back to the old
'kill all monotone processes' method. These changes affect
Win32/MingW only.
2005-05-07 Matthew Gregan <kinetik@orcon.net.nz>
* commands.cc (pid_file): Remove leftover debugging output.
* configure.ac: Correct typos in TYPE_PID_T test.
* testsuite.at: Use some trickery on MingW/Cygwin to map the
Windows pid to the Cygwin pid.
* win32/process.cc (process_wait): Correct return type.
(process_spawn): Replace dropped cast on return.
2005-05-07 Matt Johnston <matt@ucc.asn.au>
* change_set.cc: fix the code which skips deltas on deleted files,
it was looking at the merged filename not the ancestor
filename.
* tests/t_drop_vs_patch_rename.at: a test for the above fix
* testsuite.at: add it
2005-05-06 Timothy Brownawell <tbrownaw@gmail.com>
* contrib/monoprof.sh: Add lcad test.
Add options to pull/rebuild before profiling.
2005-05-06 Nathaniel Smith <njs@codesourcery.com>
* INSTALL: s/g++ 3.2 or 3.3/g++ 3.2 or later/.
2005-05-06 Nathaniel Smith <njs@codesourcery.com>
* monotone.1:
* monotone.texi (Commands, Importing from CVS, RCS): Clarify
cvs_import documentation on cvsroot vs. module issues.
2005-05-05 Richard Levitte <richard@levitte.org>
* AUTHORS: Add rghetta.
2005-05-05 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.texi: Document --pid-file option for serve command.
* app_state.{cc,hh} (set_pidfile, pidfile): New function, new
member.
* commands.cc (pid_file): New class.
(CMD(serve)): Use pid_file.
* monotone.cc (coptions, cppmain): Add command-specific option
--pid-file.
* options.hh (OPT_PIDFILE): New option.
* {unix,win32}/process.cc (get_process_id): New function.
(process_{spawn,wait,kill}): Use pid_t.
* platform.hh (process_{spawn,wait,kill}): Use pid_t.
(get_process_id): New function
* configure.ac: Test for pid_t.
* lua.cc (monotone_{spawn,wait,kill}_for_lua): Use pid_t.
* testsuite.at: Update netsync kill functions to use pid file.
* tests/t_netsync_sigpipe.at: Update to use pid file.
* tests/t_netsync_single.at: Update to use pid file.
2005-05-04 Nathaniel Smith <njs@codesourcery.com>
* tests/t_monotone_up.at: New test.
* testsuite.at: Add it.
2005-05-05 Matthew Gregan <kinetik@orcon.net.nz>
* work.cc: Use attr_file_name rather than hardcoded strings.
2005-05-04 Brian Campbell <ubergeek@dartmouth.edu>
* contrib/monotone.el (monotone-vc-register): Fix arguments to
monotone-cmd-buf, to make work.
2005-05-03 Nathaniel Smith <njs@codesourcery.com>
* file_io.cc (read_data_for_command_line): Check that file exists,
if reading a file.
2005-05-04 Matthew Gregan <kinetik@orcon.net.nz>
* configure.ac: Add TYPE_SOCKLEN_T function from the Autoconf
archive.
* cryptopp/cryptlib.h (NameValuePairs): Change GetVoidValue from a
pure virtual to an implemented (but never called) member function
to work around build problem with GCC 4 on OS X 10.4
* netxx/osutil.h: Include config.h, use new HAVE_SOCKLEN_T define
to determine socklen_t type.
2005-05-03 Nathaniel Smith <njs@codesourcery.com>
* lua.cc (load_rcfile): Make a version that takes utf8 strings,
and understands -.
* app_state.cc (load_rcfiles): Use it.
* file_io.{cc,hh} (absolutify_for_command_line): New function.
* monotone.cc (cpp_main): Use it.
* tests/t_rcfile_stdin.at: New test.
* testsuite.at: Include it.
2005-05-03 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc (load_epoch): Remove unused function.
2005-05-03 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_cvsimport_manifest_cycle.at: Add missing symbols.
* tests/t_cvsimport_deleted_invar.at: Add new test.
* testsuite.at: New test.
2005-05-03 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc (run_netsync_protocol): Don't use the word
"exception" in error messages.
2005-05-03 Nathaniel Smith <njs@codesourcery.com>
* UPGRADE: Fix version number.
2005-05-03 Nathaniel Smith <njs@codesourcery.com>
* debian/compat: New file.
2005-05-03 Nathaniel Smith <njs@codesourcery.com>
* UPGRADE: Mention upgrading from 0.18.
* debian/copyright: Re-sync with AUTHORS.
* win32/monotone.iss, monotone.spec, debian/changelog: Bump
version numbers to 0.19.
* NEWS: Finish updating for 0.19.
2005-05-03 Jon Bright <jon@siliconcircus.com>
* win32/monotone.iss: Bump version to 0.19
2005-05-03 Jon Bright <jon@siliconcircus.com>
* tests/t_automate_select.at: Use arithmetic comparison for
checking output of wc, since wc pads its results with initial
spaces on MinGW.
2005-05-03 Nathaniel Smith <njs@codesourcery.com>
* tests/t_cvsimport2.at: Pass correct module directory.
2005-05-02 Nathaniel Smith <njs@codesourcery.com>
* configure.ac: Bump version to 0.19.
* NEWS: Tweaks.
* Makefile.am (MOST_SOURCES): Add options.hh.
(%.eps): Fix ps2eps calling convention.
* po/monotone.pot: Regenerate.
* testsuite.at (CHECK_SAME_CANONICALISED_STDOUT): New macro.
2005-05-02 Nathaniel Smith <njs@codesourcery.com>
* NEWS: More updates.
* rcs_import.cc (store_manifest_edge): Fix some edge cases.
* tests/t_cvsimport_manifest_cycle.at: Make work. Un-XFAIL.
2005-05-01 Matt Johnston <matt@ucc.asn.au>
* diff_patch.cc (normalize_extents): broaden the condition when
changes can be normalised.
* tests/t_merge_6.at: now passes.
2005-05-01 Emile Snyder <emile@alumni.reed.edu>
* annotate.cc: Fix bug that njs pointed out when a merge has one
side with no changes. Be smarter about how we get parent
file_id's to do file diffs; give another big speedup.
* tests/t_annotate_copy_all.at: New test for the bug that is fixed.
* testsuite.at: Add the new test.
2005-05-02 Richard Levitte <richard@levitte.org>
* tests/t_override_author_date.at: Adapt to the new way to give
revision IDs to 'monotone log'.
2005-05-01 Richard Levitte <richard@levitte.org>
* monotone.texi: Document the change in 'monotone log'.
2005-05-01 Riccardo Ghetta <birrachiara@tin.it>
* commands.cc (CMD(log)): Use --revision.
2005-05-02 Matt Johnston <matt@ucc.asn.au>
* netsync.cc (process_auth_cmd): make it clearer what the "unknown
key hash" refers to.
2005-05-01 Richard Levitte <richard@levitte.org>
* commands.hh: Expose complete_commands().
* commands.cc (explain_usage, command_options, process): Don't
call complete_command(). Except the caller to have done that
already.
* monotone.cc (cpp_main): Start with completing the command after
processing the options. Use the result everywhere the command is
required. This avoids giving the user duplicate (or in some case,
triplicate) messages about command expansion.
2005-04-30 Derek Scherger <derek@echologic.com>
* app_state.{cc,hh}: remove --all-files option
* automate.cc: move inventory command and associated stuff here from ...
* commands.cc: ... here, where it has been removed
* monotone.1: relocate inventory command, remove --all-files option
* monotone.cc: remove --all-files option
* monotone.texi: relocate inventory documentation to automation
section, remove --all-files option
* tests/t_automate_inventory.at: renamed and updated for move to automate
* testsuite.at: adjust for rename
2005-04-30 Derek Scherger <derek@echologic.com>
* Makefile.am (MOST_SOURCES): add restrictions.{cc,hh}
* commands.cc (extract_rearranged_paths):
(extract_delta_paths):
(extract_changed_paths):
(add_intermediate_paths):
(restrict_path_set):
(restrict_rename_set):
(restrict_path_rearrangement):
(restrict_delta_map):
(calculate_restricted_rearrangement):
(calculate_restricted_revision):
(calculate_current_revision):
(calculate_restricted_change_set): move to restrictions.{cc,hh}
(maybe_update_inodeprints):
(cat):
(dodiff):
(update): rename calculate_current_revision to
calculate_unrestricted_revision
* database_check.hh: update header guard #define
* restrictions.{cc,hh}: add new files
2005-04-30 Nathaniel Smith <njs@codesourcery.com>
* commands.cc: Add a placeholder OPT_NONE for commands that don't
take any command-specific options; use it everywhere. Now the
last argument to CMD never starts with %, and the last argument is
always required to be present.
2005-04-30 Richard Levitte <richard@levitte.org>
* contrib/monotone-nav.el (mnav-rev-make): Move it so it's defined
after the definition of the macro mnav-rev-id. Otherwise, the
byte compiler complains there is no setf method for mnav-rev-id.
2005-04-30 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Database): Minor correction.
2005-04-30 Nathaniel Smith <njs@codesourcery.com>
* vocab.cc (trivially_safe_file_path): New function.
(verify): Use it.
(test_file_path_verification, test_file_path_normalization): Add a
few more checks.
* transforms.{cc,hh} (localized_as_string): New function.
* {win32,unix}/inodeprint.cc (inodeprint_file): Use it, to avoid
mkpath().
* commands.cc (add_intermediate_paths): Hand-code intermediate
path generator, taking advantage of normalization of file_path's,
to avoid mkpath().
2005-04-29 Joel Rosdahl <joel@rosdahl.net>
* monotone.texi: Minor corrections.
2005-04-29 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (ls_tags): Sort output.
* tests/t_tags.at: Test that output is sorted.
2005-04-29 Derek Scherger <derek@echologic.com>
* commands.cc (struct file_itemizer): move to ...
* work.hh (file_itemizer} ... here
* work.cc (file_itemizer::visit_file} ... and here
2005-04-29 Emile Snyder <emile@alumni.reed.edu>
* annotate.cc (do_annotate_node): Stop doing expensive
calculate_arbitrary_change_set when we already know we have parent
and child revisions. Cuts annotate run time in half.
2005-04-29 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (update_inodeprints): Rename to...
(refresh_inodeprints): ...this, so 'monotone up' continues to mean
update.
* monotone.texi (Inodeprints): Mention refresh_inodeprints in the
Inodeprints section.
* testsuite.at:
* tests/t_update_inodeprints.at:
* tests/t_refresh_inodeprints.at:
* monotone.texi (Working Copy, Commands):
* monotone.1: Update accordingly.
2005-04-29 Nathaniel Smith <njs@codesourcery.com>
* change_set.cc (dump_change_set): Don't truncate output.
(invert_change_test): New unit test.
(invert_change_set): Make it pass. This fixes (some?)
isect.empty() invariant failures.
* NEWS: Start updating for 0.19.
* revision.cc (check_sane_history): Make comment more
informative.
2005-04-29 Grahame Bowland <grahame@angrygoats.net>
* netxx/types.h: Add new NetworkException type network
issue not caused by calling program
* netsync.cc: Catch Netxx::NetworkException and display
as informative_error.
* netxx/address.cxx: NetworkException for unparsable URIs.
* netxx/datagram.cxx: NetworkException for connection failure.
* netxx/resolve_getaddrinfo.cxx, resolve_gethostbyname.cxx:
NetworkException when DNS resolution fails.
* netxx/serverbase.cxx: NetworkException if unable to bind
to server port.
* netxx/streambase.cxx: NetworkException if unable to
connect.
2005-04-28 Nathaniel Smith <njs@codesourcery.com>
* tests/t_netsync_error.at: New test.
* testsuite.at: Add it.
2005-04-28 Nathaniel Smith <njs@codesourcery.com>
* tests/t_rename_attr.at: Fix a bit; also test that rename refuses
to move a file to a name that already has attrs.
* work.cc (build_rename): Cleanup a bit; refuse to move a file to
a name that already has attrs.
* monotone.texi (Working Copy): Document explicitly that "drop"
and "rename" do not modify the filesystem directly, and do affect
attributes.
2005-04-28 Derek Scherger <derek@echologic.com>
* commands.cc (get_work_path):
(get_revision_path):
(get_revision_id):
(put_revision_id):
(get_path_rearrangement):
(remove_path_rearrangement):
(put_path_rearrangement):
(update_any_attrs):
(get_base_revision):
(get_base_manifest): move to work.{cc,hh}
(update): indicate optional revision with [ and ]
(explicit_merge): indicate optional ancestor with [ and ]
* manifest.{cc,hh} (extract_path_set): move here from work.{cc,hh}
* revision.{cc,hh} (revision_file_name): move to work.{cc,hh}
* work.{cc,hh} (extract_path_set): move to manifest.{cc,hh}
(get_work_path):
(get_path_rearrangement):
(remove_path_rearrangement):
(put_path_rearrangement):
(get_revision_path):
(get_revision_id):
(put_revision_id):
(get_base_revision):
(get_base_manifest):
(update_any_attrs): move here from commands.cc
2005-04-28 Derek Scherger <derek@echologic.com>
* ChangeLog:
* Makefile.am
* tests/t_automate_select.at: merge fixups
2005-04-28 Emile Snyder <emile@alumni.reed.edu>
* annotate.cc: Fix broken build after propagate from .annotate
branch to mainline. The lcs stuff was changed to use
quick_allocator, so our use of it had to change as well.
2005-04-28 Emile Snyder <emile@alumni.reed.edu>
* commands.cc: New command "annotate"
* annotate.{cc,hh}: New files implement it.
* Makefile.am: Build it.
* monotone.texi: Document it.
* tests/t_annotate.at:
* tests/t_annotate_add_collision.at:
* tests/t_annotate_branch_collision.at:
* testsuite.at: Test it.
2005-04-28 Matt Johnston <matt@ucc.asn.au>
* tests/t_merge_6.at: narrow the testcase down considerably.
2005-04-28 Matt Johnston <matt@ucc.asn.au>
* tests/t_merge_6.at, testsuite.at: add a new test for the case where
duplicate lines appear in a file during a merge. This testcase can
be correctly handled by merge(1).
2005-04-28 Matt Johnston <matt@ucc.asn.au>
* tests/t_i18n_file.at, transforms.cc: OS X expects all paths to be
utf-8, don't try to use other encodings in the test.
2005-04-28 Richard Levitte <richard@levitte.org>
* tests/t_automate_select.at: silly ignores not needed any more.
2005-04-28 Richard Levitte <richard@levitte.org>
* commands.cc (complete): Don't talk of there really was no
expansion.
2005-04-28 Richard Levitte <richard@levitte.org>
* commands.cc, commands.hh: Selector functions and type are moved
to...
* selectors.cc, selectors.hh: ... these files.
* database.cc, database.hh: Adapt to this change.
* automate.cc (automate_select): New function, implements
'automate select'.
(automate_command): Use it.
* monotone.texi (Automation): Document it.
* tests/t_automate_select.at: New test.
* testsuite.at: Use it.
* Makefile.am (MOST_SOURCES): reorganise. Add selectors.{cc,hh}.
2005-04-27 Derek Scherger <derek@echologic.com>
* commands.cc (ls_unknown): remove unneeded braces
(struct inventory_item): new struct for tracking inventories
(print_inventory): removed old output functions
(inventory_paths): new functions for paths, data and renames
(inventory): rework to display two column status codes
* monotone.texi (Informative): update for new status codes
* tests/t_inventory.at: update for two column status codes
2005-04-27 Richard Levitte <richard@levitte.org>
* quick_alloc.hh: Define QA_SUPPORTED when quick allocation is
supported.
* sanity.hh: Only defined the QA(T) variants of checked_index()
when QA_SUPPORTED is defined.
2005-04-27 Joel Reed <joelwreed@comcast.com>
* work.cc: on rename move attributes as well.
* tests/t_rename_attr.at: No longer a bug.
2005-04-27 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Working Copy, Commands): Document update_inodeprints.
* monotone.1: Likewise.
* tests/t_update_inodeprints.at: New test.
* testsuite.at: Add it.
2005-04-27 Richard Levitte <richard@levitte.org>
* database.cc (selector_to_certname): Add a case for
commands::sel_cert.
2005-04-27 Richard Levitte <richard@levitte.org>
* sanity.hh: Add a couple of variants of checked_index() to
accomodate for indexes over vector<T, QA(T)>.
* commands.hh: Add new selector to find arbitrary cert name and
value pairs. The syntax is 'c:{name}={value}'.
* commands.cc (decode_selector): Recognise it.
* database.cc (complete): Parse it.
* std_hooks.lua (expand_selector): Add an expansion for it.
* monotone.texi (Selectors): Document it.
* tests/t_select_cert.at: Add test.
* testsuite.at: Use it.
2005-04-27 Matt Johnston <matt@ucc.asn.au>
* vocab.cc (verify(file_path)): don't find() twice.
* change_set.cc (extend_state): remove commented out line
2005-04-27 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_cvsimport_manifest_cycle.at: New test.
* testsuite.at: Add test.
* AUTHORS: Add self.
2005-04-27 Nathaniel Smith <njs@codesourcery.com>
* AUTHORS: Add Timothy Brownawell.
2005-04-27 Timothy Brownawell <tbrownaw@gmail.com>
* ui.{cc,hh}: Delegate tick line blanking to tick_writers.
2005-04-27 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (extend_state): don't mix find() and insert() on
the path_state, to avoid hitting the smap's worst-case.
2005-04-27 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (confirm_proper_tree): move things out of the loops
for better performance.
2005-04-26 Nathaniel Smith <njs@codesourcery.com>
* work.cc: Don't include boost/regex.hpp.
2005-04-26 Nathaniel Smith <njs@codesourcery.com>
* manifest.cc, inodeprint.cc: Don't include boost/regex.hpp.
2005-04-26 Nathaniel Smith <njs@codesourcery.com>
* sqlite/vdbeaux.c (MAX_6BYTE): Apply patch from
http://www.sqlite.org/cvstrac/chngview?cn=2445. It shouldn't
affect monotone's usage, but just in case.
2005-04-26 Nathaniel Smith <njs@codesourcery.com>
* rcs_import.cc (struct cvs_key, process_branch): Fix
indentation.
(build_change_set): Handle the case where a file is "added dead".
* tests/t_cvsimport2.at: Un-XFAIL, improve description.
2005-04-26 Richard Levitte <richard@levitte.org>
* monotone.cc (cpp_main): Count the number of command specific
options exist. If there is any, add a title for them.
2005-04-26 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (analyze_rearrangement): get rid of damaged_in_first
since it is not used.
2005-04-26 Matt Johnston <matt@ucc.asn.au>
* monotone.texi: fix mashed up merge of docs for kill_rev_locally
and db check.
2005-04-26 Richard Levitte <richard@levitte.org>
* monotone.cc, commands.cc: Make some more options global.
2005-04-25 Nathaniel Smith <njs@codesourcery.com>
* tests/t_i18n_file_data.at: New test.
* testsuite.at: Add it.
2005-04-25 Nathaniel Smith <njs@codesourcery.com>
* automate.cc (automate_parents, automate_children)
(automate_graph): New automate commands.
(automate_command): Add them.
* commands.cc (automate): Synopsisfy them.
* monotone.texi (Automation): Document them.
* tests/t_automate_graph.at, test/t_parents_children.at: Test
them.
* testsuite.at: Add the tests.
* tests/t_automate_ancestors.at: Remove obsolete comment.
2005-04-24 Derek Scherger <derek@echologic.com>
* tests/t_rename_file_to_dir.at:
* tests/t_replace_file_with_dir.at:
* tests/t_replace_dir_with_file.at: new bug reports
* testsuite.at: include new tests
2005-04-24 Derek Scherger <derek@echologic.com>
* app_state.{cc,hh} (app_state): add all_files flag to the constructor
(set_all_files): new method for setting flag
* basic_io.{cc,hh} (escape): expose public method to quote and
escape file_paths
(push_str_pair): use it internally
* commands.cc (calculate_restricted_rearrangement): new function
factored out of calculate_restricted_revision
(calculate_restricted_revision): use new function
(struct unknown_itemizer): rename to ...
(struct file_itemizer): ... this; use a path_set rather than a
manifest map; build path sets of unknown and ignored files, rather
than simply printing them
(ls_unknown): adjust to compensate for itemizer changes
(print_inventory): new functions for printing inventory lines from
path sets and rename maps
(inventory): new command for printing inventory of working copy
files
* manifest.cc (inodeprint_unchanged): new function factored out
from build_restricted_manifest_map
(classify_paths): new function to split paths from an old manifest
into unchanged, changed or missing sets for inventory
(build_restricted_manifest_map): adjust to use
inodeprint_unchanged
* manifest.hh (classify_paths): new public function
* monotone.1: document new inventory command and associated
--all-files option
* monotone.cc: add new --all-files option which will be specific
to the inventory command asap
* monotone.texi (Informative): document new inventory command
(Commands): add manpage entry for inventory
(OPTIONS): add entries for --xargs, -@ and --all-files
* tests/t_status_missing.at: remove bug priority flag
* tests/t_inventory.at: new test
* testsuite.at: include new test
2005-04-24 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Database): Document 'db kill_rev_locally'.
2005-04-24 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Fixup after merge.
2005-04-24 Nathaniel Smith <njs@codesourcery.com>
* manifest.cc (build_restricted_manifest_map): Careful to only
stat things once on the inodeprints fast-path.
(read_manifest_map): Hand-code a parser, instead of using
boost::regex.
* inodeprint.cc (read_inodeprint_map): Likewise.
2005-04-23 Derek Scherger <derek@echologic.com>
* (calculate_restricted_revision): remove redundant variables,
avoiding path_rearrangement assignments and associated sanity
checks
(calculate_current_revision): rename empty to empty_args for
clarity
2005-04-23 Derek Scherger <derek@echologic.com>
* commands.cc (calculate_base_revision): rename to ...
(get_base_revision): ... this, since it's not calculating anything
(calculate_base_manifest): rename to ...
(get_base_manifest): ... this, and call get_base_revision
(calculate_restricted_revision): call get_base_revision and remove
missing files stuff
(add):
(drop):
(rename):
(attr): call get_base_manifest
(ls_missing):
(revert): call get_base_revision
* manifest.{cc,hh} (build_restricted_manifest_map): don't return
missing files and don't produce invalid manifests; do report on
all missing files before failing
2005-04-23 Derek Scherger <derek@echologic.com>
* app_state.cc:
* database.cc:
* file_io.{cc, hh}: fix bad merge
2005-04-23 Nathaniel Smith <njs@codesourcery.com>
* database.cc (put_key): Check for existence of keys with
conflicting key ids, give more informative message than former SQL
constraint error.
2005-04-23 Nathaniel Smith <njs@codesourcery.com>
* transforms.cc (filesystem_is_ascii_extension_impl): Add EUC to
the list of ascii-extending encodings.
* tests/t_multiple_heads_msg.at: Make more robust, add tests for
branching.
2005-04-23 Nathaniel Smith <njs@codesourcery.com>
* app_state.cc (restriction_includes): Remove some L()'s that were
taking 5-6% of time in large tree diff.
2005-04-23 Nathaniel Smith <njs@codesourcery.com>
* file_io.{cc,hh} (localized): Move from here...
* transforms.{cc,hh} (localized): ...to here. Add lots of gunk to
avoid calling iconv whenever possible.
2005-04-23 Richard Levitte <richard@levitte.org>
* monotone.cc, options.hh: Move the option numbers to options.hh,
so they can be easily retrieved by other modules.
* monotone.cc: split the options table in global options and
command specific options. The former are always understood, while
the latter are only understood by the commands that declare it
(see below).
(my_poptStuffArgFile): There's no need to keep a copy of the
stuffed argv. This was really never a problem.
(coption_string): New function to find the option string from an
option number.
(cpp_main): Keep track of which command-specific options were
given, and check that the given command really uses them. Make
sure that when the help is written, only the appropriate command-
specific options are shown. We do this by hacking the command-
specific options table.
Throw away sub_argvs, as it's not needed any more (and realy never
was).
* commands.cc: Include options.hh to get the option numbers.
(commands_ops): New structure to hold the option
numbers used by a command.
(commands): Use it.
(command_options): Function to get the set of command-specific
options for a specific command.
(CMD): Changed to take a new parameter describing which command-
specific options this command takes. Note that for commands that
do not take command-specific options, this new parameter must
still be given, just left empty.
Update all commands with this new parameter.
* commands.hh: Declare command_options.
* tests/t_automate_heads.at: 'automate heads' never used the value
of --branch.
* tests/t_sticky_branch.at: and neither did 'log'...
* tests/t_update_missing.at: nor did 'add'...
2005-04-23 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_diff_currev.at: Use CHECK_SAME_STDOUT.
2005-04-23 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_diff_currev.at: New test.
* testsuite.at: Add new test.
2005-04-22 Christof Petig <christof@petig-baender.de>
* sqlite/*: update to sqlite 3.2.1
2005-04-22 Nathaniel Smith <njs@codesourcery.com>
* manifest.cc (build_restricted_manifest_map): Fixup after merge
-- use file_exists instead of fs::exists.
2005-04-22 Derek Scherger <derek@echologic.com>
* manifest.{cc,hh} (build_restricted_manifest_map): keep and
return a set of missing files rather than failing on first missing
file
* commands.cc (calculate_restricted_revision): handle set of
missing files
* revision.hh: update comment on the format of a revision
* tests/t_status_missing.at: un-XFAIL and add a few tests
2005-04-22 Nathaniel Smith <njs@codesourcery.com>
* vocab.cc (verify(file_path), verify(local_path)): Normalize
paths on the way in.
* tests/t_normalized_filenames.at: Fix to match behavior
eventually declared "correct".
2005-04-22 Nathaniel Smith <njs@codesourcery.com>
* vocab.{cc,hh}: Make verify functions public, make ATOMIC(foo)'s
verify function a friend of foo, add ATOMIC_NOVERIFY macro, add
long comment explaining all this.
* vocab_terms.hh: Add _NOVERIFY to some types.
2005-04-22 Nathaniel Smith <njs@codesourcery.com>
* file_io.{cc,hh} (localized): Take file_path/local_path instead
of string; expose in public interface. Adjust rest of file to
match.
(walk_tree): Don't convert the (OS-supplied) current directory
from UTF-8 to current locale.
* transforms.{cc,hh} (charset_convert): Be more informative on
error.
(calculate_ident): Localize the filename, even on the fast-path.
Also assert file exists and is not a directory, since Crypto++
will happily hash directories. (They are like empty files,
apparently.)
* manifest.cc (build_restricted_manifest_map): Use file_exists
instead of fs::exists, to handle localized paths.
* {win32,unix}/inodeprint.cc (inodeprint_file): Use localized
filenames to stat.
* tests/t_i18n_file.at: Rewrite to work right.
* tests/t_normalized_filenames.at: New test.
* testsuite.at: Add it.
* vocab.cc (test_file_path_verification): MT/path is not a valid
file_path either.
(test_file_path_normalization): New unit-test.
2005-04-22 Joel Reed <joelwreed@comcast.net>
* work.cc (build_deletions) : on drop FILE also drop attributes.
* tests/t_drop_attr.at : test for success now, fixed bug.
2005-04-22 Jon Bright <jon@siliconcircus.com>
* monotone.texi: Changed all quoting of example command lines to
use " instead of ', since this works everywhere, but ' doesn't
work on Win32
2005-04-21 Jeremy Cowgar <jeremy@cowgar.com>
* tests/t_multiple_heads_msg.at: Now checks to ensure 'multiple head'
message does not occur on first commit (which creates a new head
but not multiple heads).
* commands.cc (CMD(commit)): renamed head_size to better described
old_head_size, now checks that old_head_size is larger than 0 as
well otherwise, on commit of a brand new project, a new head was
detected and a divergence message was displayed.
2005-04-21 Richard Levitte <richard@levitte.org>
* commands.cc (ALIAS): refactor so you don't have to repeat all
the strings given to the original command.
(ALIAS(ci)): added as a short form for CMD(commit).
* Makefile.am (%.eps): create .eps files directly from .ps files,
using ps2eps.
2005-04-21 Sebastian Spaeth <Sebastian@SSpaeth.de>
* monotone.texi: add command reference docs about kill_rev_locally
2005-04-21 Nathaniel Smith <njs@codesourcery.com>
* change_set.cc (apply_path_rearrangement_can_fastpath)
(apply_path_rearrangement_fastpath)
(apply_path_rearrangement_slowpath, apply_path_rearrangement):
Refactor into pieces, so all versions of apply_path_rearrangement
can take a fast-path when possible.
2005-04-21 Jeremy Cowgar <jeremy@cowgar.com>
* commands.cc: Renamed maybe_show_multiple_heads to
notify_if_multiple_heads, renamed headSize to head_size for
coding standards/consistency.
* tests/t_multiple_heads_msg.at: Added to monotone this time.
2005-04-20 Jeremy Cowgar <jeremy@cowgar.com>
* commands.cc: Added maybe_show_multiple_heads, update now notifies
user of multiple heads if they exist, commit now notifies user
if their commit created a divergence.
* tests/t_multiple_heads_msg.at: Added
* testsuite.at: Added above test
2005-04-20 Nathaniel Smith <njs@codesourcery.com>
* Makefile.am (EXTRA_DIST): Put $(wildcard) around "debian/*", so
it will actually work.
2005-04-20 Nathaniel Smith <njs@codesourcery.com>
* Makefile.am (EXTRA_DIST): Include tests, even when not building
packages out in the source directory.
2005-04-20 Matthew Gregan <kinetik@orcon.net.nz>
* commands.cc (kill_rev_locally): Move up with rest of non-CMD()
functions. Mark static. Minor whitespace cleanup.
* commands.hh (kill_rev_locally): Declaration not needed now.
2005-04-20 Sebastian Spaeth <Sebastian@SSpaeth.de>
* automate.cc: fix typo, add sanity check to avoid empty r_id's
bein passed in. The automate version was bumped to 0.2 due to
popular request of a single person.
* t_automate_ancestors.at: adapt test; it passes now
2005-04-20 Sebastian Spaeth <Sebastian@SSpaeth.de>
* testuite.at:
* t_automate_ancestors.at: new test; automate ancestors. This is still
_failing_ as a) it outputs empty newlines when no ancestor exists and
b) does not output all ancestors if multiple ids are supplied as input
2005-04-20 Sebastian Spaeth <Sebastian@SSpaeth.de>
* commands.cc:
* automate.cc: new command: automate ancestors
* monotone.texi: adapt documentation
2005-04-20 Nathaniel Smith <njs@codesourcery.com>
* tests/t_log_depth_single.at:
* tests/t_add_stomp_file.at:
* tests/t_log_depth.at: Shorten blurbs.
2005-04-20 Nathaniel Smith <njs@codesourcery.com>
* std_hooks.lua (ignore_file): Ignore compiled python files.
2005-04-20 Jon Bright <jon@siliconcircus.com>
* tests/t_sticky_branch.at: Really fix this test
2005-04-20 Jon Bright <jon@siliconcircus.com>
* tests/t_sticky_branch.at: Canonicalise stdout before comparison
* tests/t_setup_checkout_modify_new_dir.at: Ditto
* tests/t_netsync_largish_file.at: Check the file out rather
than catting it, so that canonicalisation is unneeded.
Canonicalisation is bad here, because the file is random
binary data, not text with line-ending conventions
2005-04-20 Richard Levitte <richard@levitte.org>
* contrib/monotone.el: define-after-key's KEY argument has to be a
vector with only one element. The code I used is taken directly
from the Emacs Lisp Reference Manual, section "Modifying Menus".
2005-04-20 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (mdelta, mdata, fdelta, fdata, rdata): Check for
existence of command line arguments.
* lua.{cc,hh} (hook_use_inodeprints): New hook.
* std_hooks.lua (use_inodeprints): Default definition.
* monotone.texi (Inodeprints): New section.
(Reserved Files): Document MT/inodeprints.
(Hook Reference): Document use_inodeprints.
* work.{cc,hh} (enable_inodeprints): New function.
* app_state.cc (create_working_copy): Maybe call
enable_inodeprints.
* tests/t_inodeprints_hook.at: New test.
* tests/t_bad_packets.at: New test.
* testsuite.at: Add them.
2005-04-20 Nathaniel Smith <njs@codesourcery.com>
* AUTHORS: Actually add Joel Reed (oops).
2005-04-20 Nathaniel Smith <njs@codesourcery.com>
Most of this patch from Joel Reed, with only small tweaks myself.
* AUTHORS: Add Joel Reed.
* platform.hh (is_executable): New function.
* {unix,win32}/process.cc: Define it.
* lua.cc (monotone_is_executable_for_lua): New function.
(lua_hooks): Register it.
(Lua::push_nil): New method.
(lua_hooks::hook_init_attributes): New hook.
* lua.hh: Declare it.
* monotone.texi (Hook Reference): Document it.
* work.cc (addition_builder): Call new hook, collect attributes
for added files.
(build_additions): Set attributes on new files.
* tests/t_attr_init.at: New test.
* tests/t_add_executable.at: New test.
* testsuite.at: Add them.
2005-04-19 Nathaniel Smith <njs@codesourcery.com>
* file_io.cc (read_localized_data, write_localized_data): Remove
logging of complete file contents.
* tests/t_lf_crlf.at: Remove --debugs, clean up, test more.
2005-04-19 Emile Snyder <emile@alumni.reed.edu>
* file_io.cc: Fix bugs with read/write_localized_data when using
CRLF line ending conversion.
* transforms.cc: Fix line_end_convert to add correct end of line
string if the split_into_lines() call causes us to lose one from
the end.
* tests/t_lf_crlf.at: Clean up and no longer XFAIL.
2005-04-19 Sebastian Spaeth <Sebastian@SSpaeth.de>
* monotone.texi: modified documentation to match changes due to
previous checking.
* AUTHORS: Adding myself
2005-04-19 Sebastian Spaeth <Sebastian@SSpaeth.de>
* automate.cc: make BRANCH optional in "automate heads BRANCH"
we use the default branch as given in MT/options if not specified
* commands.cc: BRANCH -> [BRANCH] in cmd description
2005-04-19 Richard Levitte <richard@levitte.org>
* contrib/monotone-import.pl (my_exit): As in monotone-notify.pl,
my_exit doesn't close any network connections.
* testsuite.at (REVERT_TO): Make it possible to revert to a
specific branch. This is useful to resolve ambiguities.
* tests/t_merge_add_del.at: Use it.
2005-04-19 Matthew Gregan <kinetik@orcon.net.nz>
* sanity.hh: Mark {naughty,error,invariant,index}_failure methods
as NORETURN.
* commands.cc (string_to_datetime): Drop earlier attempt at
warning fix, it did not work with Boost 1.31.0. Warning fixed by
change to sanity.hh.
2005-04-19 Matthew Gregan <kinetik@orcon.net.nz>
* lua.cc (default_rcfilename): Use ~/.monotone/monotonerc. This
change is to prepare for the upcoming support for storing user
keys outside of the database (in ~/.monotone/keys/).
* app_state.cc (load_rcfiles): Refer to new rc file location in
comments.
* monotone.cc (options): Refer to new rc file location.
* monotone.texi: Refer to new rc file location. Also change bare
references to the rc file from '.monotonerc' to 'monotonerc'.
2005-04-19 Matthew Gregan <kinetik@orcon.net.nz>
* commands.cc (log): 'depth' option did not handle the single file
case correctly. Also a couple of minor cleanups.
* tests/t_log_depth_single.at: New test.
* testsuite.at: Add test.
2005-04-18 Matthew Gregan <kinetik@orcon.net.nz>
* commands.cc (string_to_datetime): Fix warning.
2005-04-18 Richard Levitte <richard@levitte.org>
* Makefile.am (EXTRA_DIST): Add contrib/monotone-import.pl.
* contrib/monotone-import.pl: New script to mimic "cvs import".
* contrib/README: describe it.
* commands.cc (CMD(attr)): Make it possible to drop file
attributes.
* contrib/monotone-notify.pl (my_exit): The comment was incorrect,
there are no network connections to close gracefully.
Implement --ignore-merges, which is on by default, and changes the
behavior to not produce diffs on merges and propagates where the
ancestors hve already been shown.
* tests/t_attr_drop.at: New test to check that 'attr drop'
correctly drops the given entry.
* tests/t_drop_attr.at: New test, similar to t_rename_attr.at.
* testsuite.at: Add them.
2005-04-18 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Dealing with a Fork): Clarify (hopefully) what we
mean when we say that "update" is a dangerous command.
2005-04-17 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (confirm_proper_tree): remove incorrect code
setting confirmed nodes.
2005-04-17 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (confirm_proper_tree): use a std::set rather than
dynamic_bitset for the ancestor list, improving performance for
common tree structures.
* basic_io.cc: reserve() a string
2005-04-17 Matt Johnston <matt@ucc.asn.au>
* packet.cc: fix up unit test compilation.
* transforms.cc: fix up unit test compilation.
2005-04-17 Matt Johnston <matt@ucc.asn.au>
* vocab_terms.hh: remove commented out lines.
2005-04-17 Matt Johnston <matt@ucc.asn.au>
* Move base64<gzip> code as close to the database as possible,
to avoid unnecessary inflating and deflating.
2005-04-17 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Branching and Merging): A few small edits.
2005-04-17 Nathaniel Smith <njs@codesourcery.com>
* change_set.cc (path_item, sanity_check_path_item): Mark things
inline.
2005-04-17 Henrik Holmboe <henrik@holmboe.se>
* contrib/monotone-notify.pl: Add signal handlers. Correct some
typos.
(my_exit): New function that does a cleanup and exit.
2005-04-17 Olivier Andrieu <oliv__a@users.sourceforge.net>
* transforms.cc: fix glob_to_regexp assertions
2005-04-17 Sebastian Spaeth <Sebastian@sspaeth.de>
* tests/t_db_kill_rev_locally.at: new test;
make sure that db kill_rev_locally works as intended
2005-04-17 Sebastian Spaeth <Sebastian@sspaeth.de>
* commands.cc,database.cc: add 'db kill_rev_locally <id>' command
still missing: documentation and autotests. Otherwise seems ok.
2005-04-17 Richard Levitte <richard@levitte.org>
* transforms.cc: Remove tabs and make sure emacs doesn't add
them.
2005-04-17 Nathaniel Smith <njs@codesourcery.com>
* sanity.{hh,cc} (E, error_failure): New sort of invariant.
* netsync.cc (process_hello_cmd): Make initial pull message
more clear and friendly.
Also, if the key has changed, that is an error, not naughtiness.
* database_check.cc (check_db): Database problems are also errors,
not naughtiness. Revamp output in case of errors, to better
distinguish non-serious errors and serious errors.
* tests/t_database_check.at: Update accordingly.
* tests/t_database_check_minor.at: New test.
* testsuite.at: Add it.
2005-04-17 Richard Levitte <richard@levitte.org>
* transforms.cc (glob_to_regexp): New function that takes a glob
expression and transforms it into a regexp. This will be useful
for globbing branch expressions when collections are exchanged to
branch globs and regexps.
(glob_to_regexp_test): A unit test for glob_to_regexp().
2005-04-17 Matt Johnston <matt@ucc.asn.au>
* commands.cc: warn that dropkey won't truly erase the privkey
from the database
* monotone.texi: same
2005-04-17 Matt Johnston <matt@ucc.asn.au>
* database.cc: mention that it could be the filesystem that
is full in the SQLITE_FULL error message
2005-04-17 Matthew Gregan <kinetik@orcon.net.nz>
* monotone.cc: Fix warnings: add missing initializers.
* netsync.cc: Fix warnings: inline static vs static inline.
2005-04-16 Emile Snyder <emile@alumni.reed.edu>
* tests/t_add_stomp_file.at: New test for failing case.
If you have a file foo in your working dir (not monotone
controlled) and someone else adds a file foo and commits,
update should at least warn you before stomping your
non-recoverable foo file.
* testsuite.at: Add it.
2005-04-16 Derek Scherger <derek@echologic.com>
* work.cc (known_preimage_path): rename to...
(known_path): this, since it's image agnostic
(build_deletions): update for renamed function
(build_rename): ensure rename source exists in current revision
and rename target does not exist in current revision
* tests/t_no_rename_overwrite.at: un-XFAIL
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* app_state.{cc,hh} (set_author, set_date): New methods.
* cert.cc (cert_revision_date): Rename to...
(cert_revision_date_time): ...an overloaded version of this.
(cert_revision_author_default): Check app.date.
* cert.hh: Expose cert_revision_date_time.
* commands.cc (commit): Handle --date.
* main.cc: Parse --date and --author options.
* monotone.1: Document --date, --author.
* monotone.texi (Working Copy, OPTIONS): Likewise.
* tests/t_override_author_date.at: New test.
* testsuite.at: Add it.
This commit heavily based on a patch by Markus Schiltknecht
<markus@bluegap.ch>.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Fixup after merge.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* tests/t_update_nonexistent.at: New test.
* testsuite.at: Add it.
* commands.cc (update): Verify that user's requested revision
exists.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Fixup after merge.
2005-04-16 Emile Snyder <emile@alumni.reed.edu>
* tests/t_add_vs_commit.at: New test for failing case. If you
add a file in you working dir, someone else adds the same file
and commits, then you do an update it messes up your working
directory.
* testsuite.at: Add it.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (checkout): Move check for existence of revision
earlier.
* tests/t_netsync_defaults.at, tests/t_netsync_single.at:
Don't hard-code netsync port.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* testsuite.at: Use a random server port.
* .mt-attrs, contrib/README: Update for Notify.pl ->
monotone-notify.pl rename.
* monotone.1: Warn people off rcs_import.
* monotone.texi (Commands): Likewise.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* AUTHORS: Add Emile Snyder <emile@alumni.reed.edu>.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* tests/t_lf_crlf.at: New test from Emile Snyder
<emile@alumni.reed.edu>, with tweaks.
* testsuite.at: Add it.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Small fixups.
2005-04-16 Sebastian Spaeth <Sebastian@sspaeth.de>
* tests/t_cvsimport2.at: new test; CVS Attic files fail test
reported by: hjlipp@web.de 15.04.2005 02:45
2005-04-16 Sebastian Spaeth <Sebastian@sspaeth.de>
* tests/t_rcs_import.at: new test; problematic CVS import as
reported in the list. However it works just fine here, so it
really tests for a successful pass
2005-04-16 Sebastian Spaeth <Sebastian@sspaeth.de>
* tests/README: new file, on how to create/run tests
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* tests/t_rename_dir_add_dir_with_old_name.at: XFAIL.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* tests/t_diff_binary.at: Un-XFAIL.
2005-04-16 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Network Service): Rewrite to include former
Exchanging Keys section.
(Branching and Merging): New tutorial section, inspired by a patch
from Martin Kihlgren <zond@troja.ath.cx>.
(CVS Phrasebook): Add "Importing a New Project".
* AUTHORS: Add Martin Dvorak.
2005-04-16 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (compose_rearrangement): remove logging statements
that were using noticable CPU time.
2005-04-15 Martin Dvorak <jezek2@advel.cz>
* tests/t_rename_dir_add_dir_with_old_name.at: New test.
* testsuite.at: Add it.
2005-04-15 Olivier Andrieu <oliv__a@users.sourceforge.net>
* diff_patch.cc(guess_binary): do not use '\x00' as first
character of a C string ...
2005-04-15 Sebastian Spaeth <Sebastian@SSpaeth.de>
* ui.cc: print byte progress to one decimal place
in k or M.
* netsync.cc: update dot ticker every 1024 bytes.
2005-04-15 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (confirm_proper_tree): use bitsets rather than maps
for tracking set membership.
* smap.hh: return reverse iterators properly, iterate over the vector
rather than self in ensure_sort()
2005-04-14 Derek Scherger <derek@echologic.com>
* database_check.cc (check_db): fail with N(...) when problems are
detected to exit with a non-zero status
2005-04-14 Derek Scherger <derek@echologic.com>
* monotone.texi (Informative): update description of 'diff' with
two revision arguments
2005-04-14 Matthew Gregan <kinetik@orcon.net.nz>
* win32/process.cc: Fix build on MingW 3.2.0-rc[123] by adding
<sstream> include.
2005-04-14 Jon Bright <jon@siliconcircus.com>
* win32/process.cc (process_spawn): Add some extra debug info
* std_hooks.lua (execute): If pid is -1, don't try and wait on
the process
2005-04-14 Matt Johnston <matt@ucc.asn.au>
* change_set.cc (confirm_unique_entries_in_directories): use a
std::vector rather than std::map for better performance (only sort
once).
* smap.hh: an invariant
2005-04-14 Nathaniel Smith <njs@codesourcery.com>
* tests/t_vcheck.at: Update notes.
2005-04-14 Jeremy Cowgar <jeremy@cowgar.com>
* monotone.texi (Making Changes): Fixed duplicate paragraph
* NEWS: Corrected spelling error in my name.
2005-04-14 Olivier Andrieu <oliv__a@users.sourceforge.net>
* Makefile.am: silence cmp
2005-04-14 Matthew Gregan <kinetik@orcon.net.nz>
* win32/terminal.cc (have_smart_terminal): Implement for Win32.
2005-04-13 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Informative): 'diff' with two revision arguments
can now be filtered by file.
* constants.cc (netcmd_payload_limit): Bump to 256 megs.
2005-04-13 Matthew Gregan <kinetik@orcon.net.nz>
* tests/t_netsync_largish_file.at: Add test for netsyncing largish
(32MB) files. This test is failing at present.
* testsuite.at: Add new test.
2005-04-13 Nathaniel Smith <njs@codesourcery.com>
* tests/t_setup_checkout_modify_new_dir.at:
* tests/t_update_off_branch.at: New tests.
* testsuite.at: Add them.
* commands.cc (checkout): Tweak branch checking logic.
(update): Make user explicitly switch branches.
2005-04-13 Nathaniel Smith <njs@codesourcery.com>
* rcs_import.cc (import_cvs_repo): Check that user isn't trying to
import a whole CVS repo.
* tests/t_cvsimport.at: Test new check.
2005-04-13 Richard Levitte <richard@levitte.org>
* contrib/Notify.pl: Rename ...
* contrib/monotone-notify.pl: ... to this.
* Makefile.am (EXTRA_DIST): Take note of the change.
* debian/docs: Distribute the contributions as well.
* debian/compat, debian/files, debian/monotone.1: Remove, since
they are self-generated by debhelper. They were obviously added
by mistake.
2005-04-13 Nathaniel Smith <njs@codesourcery.com>
* cert.cc (guess_branch): Call app.set_branch.
* app_state.cc (create_working_copy): Call make_branch_sticky
here...
* commands.cc (checkout): ...instead of here.
(approve, disapprove, fcommit, commit): Don't call app.set_branch
on guess_branch's output.
(checkout): Call guess_branch.
* tests/t_sticky_branch.at:
* tests/t_checkout_id_sets_branch.at: New tests.
* testsuite.at: Add them.
2005-04-13 Matthew Gregan <kinetik@orcon.net.nz>
* cryptopp/integer.h: Fix detection of GCC version for SSE2
builds.
2005-04-12 Florian Weimer <fw@deneb.enyo.de>
* app_state.cc (app_state::allow_working_copy): Only update
branch_name from the options file if it has not yet been set. Log
the branch name.
(app_state::set_branch): No longer update the options map.
(app_state::make_branch_sticky): New function which copies the
stored branch name to the options map. Only commands which call
this function change the branch default stored in the working
copy.
* commands.cc (CMD(checkout)): Mark branch argument as sticky.
(CMD(commit)): Likewise.
(CMD(update)): Likewise.
* monotone.texi (Working Copy): Mention that the "commit" and
"update" commands update the stored default branch ("checkout"
does, too, but this one should be obvious).
2005-04-12 Jon Bright <jon@siliconcircus.com>
* rcs_import.cc (find_key_and_state): Fix stupid bug in storing the
list of files a cvs_key contains. CVS delta invariant failure now
really fixed. The rearrangement failure still exists, though.
2005-04-12 Jon Bright <jon@siliconcircus.com>
* tests/t_cvsimport_samelog.at: Add test for the deltas.find
cvs import problem as sent to the ML by Emile Snyder.
* testsuite.at: Call it
* rcs_import.cc (cvs_key): Add an ID for debug output purposes,
sprinkle a little more debug output about what's being compared to
what
* rcs_import.cc (cvs_key): Maintain a map of file paths and CVS
versions appearing in this CVS key.
(cvs_key::similar_enough): A key is only similar enough if it doesn't
include a different version of the same file path.
(cvs_history::find_key_and_state): Add files to cvs_keys as
appropriate
2005-04-12 Matthew Gregan <kinetik@orcon.net.nz>
* win32/terminal.cc (terminal_width): Use
GetConsoleScreenBufferInfo to request width information for
terminals.
2005-04-12 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Fixup after merge.
2005-04-12 Nathaniel Smith <njs@codesourcery.com>
* platform.hh (terminal_width): New function.
* {unix,win32}/have_smart_terminal.cc: Rename to...
* {unix,win32}/terminal.cc: ...these. Implement terminal_width.
* ui.cc (write_ticks): Call it.
* Makefile.am: Update for renames.
2005-04-11 Matt Johnston <matt@ucc.asn.au>
* ui.{cc,hh}, netsync.cc: netsync progress ticker in kilobytes to
avoid wrapping.
2005-04-11 Jon Bright <jon@siliconcircus.com>
* Makefile.am (EXTRA_DIST): Add debian/*
2005-04-11 Jon Bright <jon@siliconcircus.com>
* Makefile.am (EXTRA_DIST): Add win32/monotone.iss, PNG_FIGURES
(PNG_FIGURES): Add, constructing in same way as EPS_FIGURES
(monotone.html): Use .perlbak workaround so that this works on Win32
2005-04-11 Matthew Gregan <kinetik@orcon.net.nz>
* unix/inodeprint.cc, configure.ac: Use nanosecond time resolution for
inodeprints on BSDs and other platforms if available.
2005-04-10 Nathaniel Smith <njs@codesourcery.com>
* Makefile.am (BUILT_SOURCES_CLEAN): Add package_revision.txt.
This is the 0.18 release.
2005-04-10 Derek Scherger <derek@echologic.com>
* monotone.texi (Informative): fix typo in ls known docs
2005-04-10 Nathaniel Smith <njs@codesourcery.com>
* Makefile.am: Use pdftops instead of acroread.
(EXTRA_DIST): Include new contrib/ files, and fix wildcards.
* NEWS: Update for 0.18.
* configure.ac: Bump version number.
* debian/changelog: Mention new release.
* debian/copyright: Update from AUTHORS.
* monotone.spec: Mention new release.
* po/monotone.pot: Regenerate.
2005-04-10 Florian Weimer <fw@deneb.enyo.de>
* monotone.texi (Commands): Use "working copy" instead of "working
directory", to match the rest of the manual.
2005-04-10 Florian Weimer <fw@deneb.enyo.de>
* commands.cc (ls_known): New function which prints all known
files in the working copy.
(CMD(list)): Invoke ls_known for "list known". Update help
message.
(ALIAS(ls)): Update help message.
* monotone.texi: Document "list known".
* tests/t_ls_known.at: New file.
* testsuite.at: Include it.
2005-04-10 Richard Levitte <richard@levitte.org>
* contrib/Notify.pl: Count the number of messages sent, and
display the count at the end.
Version bumped to 1.0.
2005-04-10 Matt Johnston <matt@ucc.asn.au>
* unix/inodeprint.cc, configure.ac: don't use the nsec time
on non-Linux-style systems (quick compile fix for OS X and probably
others, can be made generic later).
2005-04-10 Olivier Andrieu <oliv__a@users.sourceforge.net>
* contrib/monotone.el: Some elisp code for running monotone from
inside Emacs. Supports diff, status, add, drop, revert and commit.
2005-04-09 Richard Levitte <richard@levitte.org>
* contrib/Notify.pl: Allow globbing branches. Make the revision
records branch specific. Show what records you would have updated
even with --noupdate. Add --before and --since, so users can
select datetime ranges to create logs for. Remove --to and add
--difflogs-to and --nodifflogs-to to send logs with diffs to one
address and logs without diffs to another (both can be given at
once). More and better documentation.
2005-04-08 Nathaniel Smith <njs@codesourcery.com>
* change_set.cc (basic_change_set): Remove problematic
rename_dir/add combination, until directory semantics are
fixed.
2005-04-08 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (revert): Call maybe_update_inodeprints.
* app_state.cc (set_restriction): Clear any old restrictions
first.
2005-04-08 Jon Bright <jon@siliconcircus.com>
* testsuite.at (NOT_ON_WIN32): Add a function to prevent tests from
running on Win32 (for cases where the functionality being tested
makes no sense on Win32. Not for cases where the functionality
just isn't there yet on Win32.)
* tests/t_final_space.at: Use NOT_ON_WIN32. The filenames "a b"
and "a b " refer to the same file on Win32, obviating this test
2005-04-08 Jon Bright <jon@siliconcircus.com>
* win32/inodeprint.cc (inodeprint_file): Still close the file if
getting its time failed.
* tests/t_netsync_sigpipe.at: Don't bother doing a kill -PIPE on
Win32. There is no real SIGPIPE on Win32 and sockets don't get this
signal if their pipe goes away. MinGW's kill seems to translate
-PIPE to some signal that *does* kill monotone, so it seems like the
easiest solution is just not to send the signal in the first place
here.
* tests/t_automate_ancestry_difference.at: Remove old
CHECK_SAME_STDOUT call which I'd left by accident.
* tests/t_automate_leaves.at: Canonicalise monotone output before
passing to CHECK_SAME_STDOUT
* tests/t_log_depth.at: Check line count with arithmetic comparison
rather than autotest's string comparison
2005-04-08 Nathaniel Smith <njs@codesourcery.com>
* inodeprint.cc (operator<<): Typo.
* inodeprint.{hh,cc} (build_inodeprint_map,
build_restricted_inodeprint_map): Remove unused functions.
2005-04-08 Nathaniel Smith <njs@codesourcery.com>
* work.cc: Remove doxygen comments. Comments are good; comments
that are longer than the function they document, and give less
information, are not so good...
2005-04-08 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Fixup after merge.
2005-04-08 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (calculate_current_revision): Defer to
calculate_restricted_revision instead of special casing.
(put_revision_id): constify argument.
(maybe_update_inodeprints): New function.
(commit, update, checkout): Call it.
* manifest.{cc,hh} (build_manifest_map): Remove, since only caller
was removed.
(build_restricted_manifest_map): Go faster if the user is using
inode signatures.
* tests/t_inodeprints.at:
* tests/t_inodeprints_update.at: Typoes.
* work.cc (read_inodeprints): Typo.
2005-04-08 Nathaniel Smith <njs@codesourcery.com>
* tests/t_inodeprints.at:
* tests/t_inodeprints_update.at: New tests.
* testsuite.at: Add them.
* UPGRADE: Document 0.17 -> 0.18 upgrade path.
2005-04-08 Jon Bright <jon@siliconcircus.com>
* tests/t_cat_file_by_name.at: CHECK_SAME_STDOUT can only be used
to check two 'cat' processes or two monotone processes on Win32,
not to check monotone and 'cat'. Change to go through an
intermediate stdout
* tests/t_automate_erase_ancestors.at: Ditto
* tests/t_automate_toposort.at: Ditto
* tests/t_automate_ancestry_difference.at: Ditto
* tests/t_vars.at: Call CANONICALISE for stdout output.
* tests/t_netsync_absorbs.at: Ditto.
* tests/t_empty_env.at: For Win32, copy libiconv-2.dll to the
current dir before the test, otherwise Win32 will search the
(empty) path for it and not find it.
* tests/t_automate_descendents.at: Ditto
* win32/inodeprint.cc: Implement inodeprint_file for Win32, based
on mode, device, size, create time and write time.
2005-04-08 Jon Bright <jon@siliconcircus.com>
* win32/inodeprint.cc: Change the function name to match the one
on Unix.
2005-04-08 Nathaniel Smith <njs@codesourcery.com>
* {win32,unix}/fingerprint.cc: Rename to...
* {win32,unix}/inodeprint.cc: ...this. Change function name and
calling conventions.
* platform.hh (inodeprint_file): Likewise.
* inodeprint.{cc,hh}: New files.
* Makefile.am (MOST_SOURCES, UNIX_PLATFORM_SOURCES,
WIN32_PLATFORM_SOURCES): Fixup accordingly.
* vocab_terms.hh (inodeprint): New ATOMIC.
* work.hh: Prototype inodeprint working copy functions.
* work.cc: Implement them.
* manifest.{hh,cc} (manifest_file_name): Remove unused variable.
2005-04-08 Jeremy Cowgar <jeremy@cowgar.com>
* doxygen.cfg: added
* Makefile.am: added apidocs target (builds doxygen docs)
2005-04-07 Nathaniel Smith <njs@codesourcery.com>
* manifest.{hh,cc}: Remove some commented out unused functions.
* win32/have_smart_terminal.cc: Include platform.hh.
* unix/fingerprint.cc: New file, with new function.
* win32/fingerprint.cc: New file, with stub function.
* Makefile.am (UNIX_PLATFORM_SOURCES, WIN32_PLATFORM_SOURCES): Add
them.
2005-04-07 Nathaniel Smith <njs@codesourcery.com>
* manifest.hh, manifest.cc: Remove tabs.
2005-04-07 Nathaniel Smith <njs@codesourcery.com>
* tests/t_final_space.at: New test.
* testsuite.at: Add it.
2005-04-07 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Dealing with a Fork): 'merge' has slightly
different output.
* NEWS: Summarize changes of last 2.5 weeks.
2005-04-07 Nathaniel Smith <njs@codesourcery.com>
* database.{cc,hh} (space_usage): New method.
* database.cc (info): Use it.
2005-04-07 Nathaniel Smith <njs@codesourcery.com>
* vocab.cc (verify): Cache known-good strings, to speed up
repeated processing of related changesets.
* change_set.cc (basic_change_set_test): Revert last change; the
old version _was_ valid.
2005-04-07 Nathaniel Smith <njs@codesourcery.com>
* smap.hh (insert): Fix stupid bug in assertion condition.
2005-04-07 Nathaniel Smith <njs@codesourcery.com>
* change_set.cc (basic_change_set_test): Test a _valid_
change_set.
(directory_node): Make a std::map, instead of an smap. Add a
comment explaining the bug that makes this temporarily necessary.
* smap.hh (smap): Don't check for duplicates at insert time,
unless we've decided not to mark things damaged; don't return
iterators from insert. Do check for duplicates at sort time, and
always sort, instead of sometimes doing linear search. This makes
insert O(1), while still preserving the invariant that keys must
be unique.
* commands.cc (commit): Explain why we're aborting, in the case
that we detect that a file has changed under us in the middle of a
commit.
2005-04-07 Richard Levitte <richard@levitte.org>
* cryptopp/config.h: typo...
2005-04-06 Nathaniel Smith <njs@codesourcery.com>
* work.cc (build_deletions): Issue warning when generating
delete_dir's; they're totally broken, but I don't want to disable
them, because then our tests won't see when they're fixed...
2005-04-05 Nathaniel Smith <njs@codesourcery.com>
* tests/t_db_execute.at (db execute): New test.
* testsuite.at: Add it.
* database.cc (debug): Don't printf-interpret %-signs in input.
2005-04-05 Matt Johnston <matt@ucc.asn.au>
* database.cc: remove dulicated block introduced
in rev 9ab3031f390769f1c455ec7764cc9c083f328a1b
(merge of 76f4291b9fa56a04feb2186074a731848cced81c and
c7917be7646df52363f39d2fc2f7d1198c9a8c27). Seems to be another
instance of the case tested in t_merge_5.at
2005-04-05 Matt Johnston <matt@ucc.asn.au>
* basic_io.hh: reserve() the string which we're appending to
frequently. Seems to give ~5% speedup in
diff -r t:revision-0.16 -r t:revision-0.17 - can't hurt.
2005-04-04 Nathaniel Smith <njs@codesourcery.com>
* monotone.spec, debian/control: We no longer need external popt.
* INSTALL: Ditto, plus some general updating.
2005-04-04 Nathaniel Smith <njs@codesourcery.com>
* tests/t_sql_unpack.at: New test.
* testsuite.at: Add it.
2005-04-04 Nathaniel Smith <njs@codesourcery.com>
* contrib/ciabot_monotone.py (config): Genericize again, so lazy
people using it won't start sending commits for monotone.
* .mt-attrs: Make it executable.
2005-04-04 Richard Levitte <richard@levitte.org>
* Makefile.am (EXTRA_DIST): Add the extra popt files.
* popt/popt.3, popt/popt.ps, popt/testit.sh: Include a few more
files from popt, mostly to have documentation on hand. post.ps
is mentioned in popt/README.
2005-04-03 Nathaniel Smith <njs@codesourcery.com>
* Makefile.am (EXTRA_DIST): Add contrib/ stuff to distributed
files list.
* contrib/ciabot_monotone.py (config.delivery): Turn on.
(send_change_for): Don't include "ChangeLog:" line when extracting
changelog.
2005-04-03 Nathaniel Smith <njs@codesourcery.com>
* contrib/ciabot_monotone.py: New file.
* contrib/README: Describe it.
2005-04-03 Richard Levitte <richard@levitte.org>
* AUTHORS: Add information about popt.
* monotone.cc (my_poptStuffArgFile): Include the bundled popt.h.
Since we now have a working popt, we can remove the restrictions
on the use of -@.
* tests/t_at_sign.at: Test that we can take more tha one -@.
* monotone.1: Document it.
* popt/poptint.h (struct poptContext_s): Add field to keep track
of the number of allocated leftovers elements.
* popt/popt.c (poptGetContext): Initialise it and use it.
(poptGetNextOpt): Use it and realloc leftovers when needed.
Also make sure that the added element is a dynamically allocated
copy of the original string, or we may end up with a dangling
pointer. These are huge bugs in popt 1.7, when using
poptStuffArgs().
(poptFreeContext): Free the leftovers elements when freeing
leftovers.
(poptSaveLong, poptSaveInt): Apply a small patch from Debian.
* popt/CHANGES, popt/COPYING, popt/README, popt/findme.c,
popt/findme.h, popt/popt.c, popt/poptconfig.c, popt/popt.h,
popt/popthelp.c, popt/poptint.h, popt/poptparse.c,
popt/system.h, popt/test1.c, popt/test2.c, popt/test3.c: Bundle
popt 1.7.
* configure.ac, Makefile.am: Adapt.
2005-04-01 Richard Levitte <richard@levitte.org>
* contrib/Notify.pl: Complete rewrite. Among other things, it
makes better use of some new monotone automate features. It's
also better organised and much more documented.
2005-04-01 Jeremy Cowgar <jeremy@cowgar.com>
* tests/t_dropkey_2.at: Updated to test dropkey instead of delkey
* tests/t_dropkey_1.at: Updated to test dropkey instead of delkey
* monotone.texi (Key and Cert): Changed references to delkey
to dropkey
(Commands): Changed references to delkey to dropkey
* testsuite.at: changed references from t_delkey* to t_dropkey*
* t_delkey_1.at: renamed to t_dropkey_1.at
* t_delkey_2.at: renamed to t_dropkey_2.at
* commands.cc (CMD(delkey)): renamed to dropkey to maintain
command consistency (with existing drop command)
2005-04-01 Richard Levitte <richard@levitte.org>
* monotone.cc (my_poptStuffArgFile): An argument file might be
empty, and therefore contain no arguments to be parsed. That's
OK.
* tests/t_at_sign.at: Test it.
2005-04-01 Nathaniel Smith <njs@codesourcery.com>
* monotone.cc: Fixup after merge.
2005-04-01 Nathaniel Smith <njs@codesourcery.com>
* file_io.cc (read_data_for_command_line): New function.
(read_data_stdin): New function.
* file_io.hh (read_data_for_command_line): Add prototype.
* monotone.cc (my_poptStuffArgFile): Clean up a little. Use
read_data_for_command_line. Don't free argv, but rather return
it.
(cpp_main): Keep a list of allocated argv's, and free them.
(options): Tweak wording of help text on -@.
2005-04-01 Nathaniel Smith <njs@codesourcery.com>
* file_io.hh: Remove tabs.
2005-04-01 Nathaniel Smith <njs@codesourcery.com>
* monotone.cc (cpp_main): Actually remove newline.
2005-04-01 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Fixup after merge.
* monotone.text (Making Changes): Fix typo.
2005-04-01 Nathaniel Smith <njs@codesourcery.com>
* monotone.cc (cpp_main): Remove now-unneccessary newline.
* commands.cc (commit): Fix typo.
* monotone.texi (Making Changes): Don't claim that writing to
MT/log prevents the editor from starting. Clarify later that
having written to MT/log still means the editor will pop up
later.
2005-04-01 Richard Levitte <richard@levitte.org>
* monotone.cc: Add the long name --xargs for -@.
* monotone.1: Document it.
* tests/t_at_sign.at: Remove extra empty line and test --xargs.
* monotone.texi (Making Changes): Cleanupy tweaks.
* monotone.cc (my_poptStuffArgFile): New function to parse a file
for more arguments and stuff them into the command line.
(cpp_main): Add the -@ option
* tests/t_at_sign.at, testsuite.at: Test it
* monotone.1: Document it.
2005-03-31 Nathaniel Smith <njs@codesourcery.com>
* tests/t_log_depth.at: Cleanupy tweaks.
2005-03-31 Jeremy Cowgar <jeremy@cowgar.com>
* monotone.texi: Tutorial updated to include example of
editing/committing with MT/log
* work.cc (has_contents_user_log) Added
* work.hh (has_contents_user_log) Added
* commands.cc (CMD(commit)): Checks to ensure both MT/log and the
--message option does not exist during commit.
* transforms.hh (prefix_lines_with): Added
* transforms.cc (prefix_lines_with): Added
* sanity.cc (naughty_failure): Made use of prefix_lines_with()
* ui.cc (inform): now handles messages w/embedded newlines
* tests/t_commit_log_3.at: Created to test new functionality
added to CMD(commit)
* testsuite.at: Added above test
2005-03-31 Richard Levitte <richard@levitte.org>
* monotone.cc: Add the --depth option...
* app_state.hh (class app_state),
app_state.cc (app_state::set_depth): ... and the field and
method to store and set it.
* commands.cc (CMD(log)): ... then handle it.
* tests/t_log_depth.at: Add a test for 'log --depth=n'
* testsuite.at: Add it.
* monotone.texi (Informative): Document it.
2005-03-31 Nathaniel Smith <njs@codesourcery.com>
* automate.cc (automate_erase_ancestors): Accept zero arguments,
and in such case print nothing. (Important for scripting.)
* commands.cc (automate):
* monotone.texi (Automation):
* tests/t_automate_erase_ancestors.at: Update accordingly.
2005-03-31 Nathaniel Smith <njs@codesourcery.com>
* automate.cc (automate_toposort): Accept zero arguments, and in
such case print nothing. (Important for scripting.)
* commands.cc (automate):
* monotone.texi (Automation):
* tests/t_automate_toposort.at: Update accordingly.
2005-03-30 Richard Levitte <richard@levitte.org>
* contrib/Notify.pl: A new Perl hack to send change logs by
email.
* contrib/README: Add a quick description.
2005-03-30 Nathaniel Smith <njs@codesourcery.com>
* automate.cc (automate_leaves): New function.
(automate_command): Add it.
* commands.cc (automate): Synopsify it.
* monotone.1: Add it.
* monotone.texi (Automation, Commands): Likewise.
* tests/t_automate_leaves.at: New test.
* testsuite.at: Add it.
2005-03-30 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Automation): Make newly added sample outputs
verbatim also.
2005-03-30 Nathaniel Smith <njs@codesourcery.com>
* tests/t_automate_toposort.at: New test.
* tests/t_automate_ancestry_difference.at: New test.
* tests/t_diff_first_rev.at: New test.
* testsuite.at: Add them.
* revision.cc (calculate_ancestors_from_graph): Do not keep an
"interesting" set and return only ancestors from this set;
instead, simply return all ancestors. Returning a limited set of
ancestors does not speed things up, nor reduce memory usage in
common cases. (The only time it would reduce memory usage is when
examining only a small ancestor set, which the important case,
'heads', does not; even then, erase_ancestors would need to intern
the interesting revisions first so they got low numbers, which it
doesn't.)
(erase_ancestors): Adjust accordingly.
(toposort, ancestry_difference): New functions.
* revision.hh (toposort, ancestry_difference): Declare.
* automate.cc (automate_toposort, automate_ancestry_difference):
New functions.
(automate_command): Add them.
All functions: clarify in description whether output is sorted
alphabetically or topologically.
* commands.cc (automate): Synopsify them.
* monotone.1: Add them.
* monotone.texi (Commands): Likewise.
(Automation): Likewise. Also, clarify for each command whether
its output is alphabetically or topologically sorted.
2005-03-29 Richard Levitte <richard@levitte.org>
* commands.cc (CMD(ls)): Update with the same information as
CMD(list)
* monotone.texi (Automation): Make the sample output verbatim
2005-03-26 Nathaniel Smith <njs@codesourcery.com>
* automate.cc (automate_erase_ancestors): New function.
(automate_command): Use it.
* commands.cc (automate): Document it.
* tests/t_automate_erase_ancestors.at: New test.
* testsuite.at: Add it.
* monotone.texi (Automation, Commands): Document automate
erase_ancestors.
* monotone.1: Document automate erase_ancestors.
2005-03-26 Nathaniel Smith <njs@codesourcery.com>
* automate.cc (interface_version): Bump to 0.1.
(automate_descendents): New function.
(automate_command): Call it.
* commands.cc (automate): Add it to help text.
* tests/t_automate_descendents.at: New test.
* testsuite.at: Add it.
* monotone.texi (Automation, Commands): Document automate
descendents.
* monotone.1: Document automate descendents, and vars stuff.
2005-03-26 Nathaniel Smith <njs@codesourcery.com>
* tests/t_attr.at: No longer a bug report.
* tests/t_rename_attr.at: New test.
* testsuite.at: Add it.
2005-03-26 Joel Crisp <jcrisp@s-r-s.co.uk>
* contrib/Log2Gxl.java: New file.
2005-03-26 Nathaniel Smith <njs@pobox.com>
* contrib/README: New file.
2005-03-25 Nathaniel Smith <njs@pobox.com>
* commands.cc (user_log_file_name): Remove unused variable
again. Hopefully it will take this time...
2005-03-25 Nathaniel Smith <njs@pobox.com>
* commands.cc (user_log_file_name): Remove unused variable.
2005-03-25 Jeremy Cowgar <jeremy@cowgar.com>
* monotone.texi: Added a bit more documentation about MT/log
Updated edit_comment hook and addded delkey docs
* commands.cc: Added delkey command
* t_delkey_1.at: Tests delkey command on public key
* t_delkey_2.at: Tests delkey command on public and private key
* testsuite.at: Added above tests
* std_hooks.lua: Transposed the MT: lines and user_log_contents,
user_log_contents now appears first.
2005-03-25 Jeremy Cowgar <jeremy@cowgar.com>
* t_setup_creates_log.at: Ensures that MT/log is created
on setup
* t_checkout_creates_log.at: Ensures that MT/log is created
on checkout
* t_commit_log_1.at: Ensures that:
1. Read and entered as the ChangeLog message
2. Is blanked after a successful commit
* t_commit_log_2.at: Ensures that commit works w/o MT/log being
present
* testsuite.at: Added the above tests.
2005-03-25 Matt Johnston <matt@ucc.asn.au>
* {unix,win32}/platform_netsync.cc, platform.hh, Makefile.am: new
functions to disable and enable sigpipe.
* netsync.cc, main.cc: call the functions from netsync rather than
globally, so that sigpipe still works for piping output of commands
such as 'log'.
* tests/t_netsync_sigpipe.at: test it.
* testsuite.at: add it.
2005-03-25 Matt Johnston <matt@ucc.asn.au>
* monotone.cc: add short options -r, -b, -k, and -m
for --revision, --branch, --key, and --message respectively.
* monotone.texi, monotone.1: document them
* tests/t_short_opts.at: test them
* testsuite.at: add it
2005-03-24 Nathaniel Smith <njs@codesourcery.com>
* tests/t_empty_env.at: New test.
* testsuite.at: Add it. Absolutify path to monotone so it will
work.
* unix/have_smart_terminal.cc (have_smart_terminal): Handle the
case where TERM is unset or empty.
2005-03-24 Nathaniel Smith <njs@codesourcery.com>
* ui.hh (tick_write_nothing): New class.
* monotone.cc (cpp_main): Enable it.
2005-03-24 Nathaniel Smith <njs@codesourcery.com>
* work.cc (build_deletions, build_additions): Fixup after merge.
2005-03-23 Nathaniel Smith <njs@codesourcery.com>
* tests/t_cat_file_by_name.at: Check for attempting to cat
non-existent files.
* tests/t_empty_id_completion.at: New test.
* tests/t_empty_path.at: New test.
* testsuite.at: Add them.
* database.cc (complete): Always generate some sort of limit term,
even a degenerate one.
* app_state.cc (create_working_copy): Check for null directory.
* work.cc (build_deletion, build_addition, build_rename): Check
for null paths.
2005-03-23 Derek Scherger <derek@echologic.com>
* Makefile.am UNIX_PLATFORM_SOURCES:
WIN32_PLATFORM_SOURCES: add have_smart_terminal.cc
* platform.hh (have_smart_terminal): prototype
* ui.cc (user_interface): set ticker to dot/count based on
have_smart_terminal
* unix/have_smart_terminal.cc:
* win32/have_smart_terminal.cc: new file
2005-03-23 Derek Scherger <derek@echologic.com>
* commands.cc (add): pass list of prefixed file_path's to
build_additions
(drop): pass list of prefixed file_path's to build_deletions
(attr): pass attr_path as a 1 element vector to build_additions
* work.{cc,hh} (build_addition): rename to...
(build_additions): this, and accept a vector of paths to be added
in a single path_rearrangement
(build_deletion): rename to ...
(build_deletions): this, and accept a vector of paths to be
dropped in a single path_rearrangement
(known_preimage_path): replace manifest and path_rearrangement
args with a path_set to avoid extracting paths for every file
(build_rename): adjust for change to known_preimage_path
2005-03-23 Nathaniel Smith <njs@codesourcery.com>
* monotone.cc (my_poptFreeContext, cpp_main): Apparently
poptFreeContext silently changed its return type at some unknown
time. Hack around this.
2005-03-23 Nathaniel Smith <njs@codesourcery.com>
* monotone.cc (cpp_main): Remove the special code to dump before
printing exception information, since we no longer dump to the
screen, so it's always better to have the little status message
saying what happened to the log buffer at the end of everything.
* sanity.cc (dump_buffer): Give a hint on how to get debug
information, when discarding it.
* work.{hh,cc} (get_local_dump_path): New function.
* app_state.cc (allow_working_copy): Use it for default
global_sanity dump path.
* monotone.texi (Reserved Files): Document MT/debug.
(Network): Capitalize Bob and Alice (sorry graydon).
Document new defaulting behavior.
2005-03-23 Nathaniel Smith <njs@codesourcery.com>
* work.cc, sanity.cc: Remove tabs.
2005-03-23 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Network Service): Mention that monotone remembers
your server/collection.
(Vars): New section.
* netsync.cc (process_hello_cmd): Touch more cleaning.
* tests/t_merge_5.at: More commentary.
2005-03-23 Matt Johnston <matt@ucc.asn.au>
* tests/t_merge_5.at: new test for a merge which ends up with
duplicate lines.
* testsuite.at: add it
2005-03-22 Jeremy Cowgar <jeremy@cowgar.com>
* AUTHORS: Added my name
* app_state.cc, commands.cc, lua.cc, lua.hh, monotone.texi,
std_hooks.lua, work.cc, work.hh: Added functionality to
read the MT/log file for commit logs. In this revision
tests are not yet complete nor is documenation complete
but the reading, blanking and creating of MT/log is.
2005-03-22 Nathaniel Smith <njs@codesourcery.com>
* vocab_terms.hh: Declare base64<var_name>.
* database.cc (clear_var, set_var, get_vars): base64-encode
var_names in the database.
* monotone.texi (Internationalization): Update description of
vars.
* transforms.{cc,hh} ({in,ex}ternalize_var_name): Remove.
* commands.cc (set, unset, ls_vars): Update accordingly.
(unset): Error out if the variable doesn't exist.
* tests/t_vars.at: Verify this works.
* netcmd.cc (test_netcmd_functions): Properly type arguments to
{read,write}_hello_cmd_payload.
(write_hello_cmd_payload): Properly type arguments.
* netcmd.hh (write_hello_cmd_payload):
* netsync.cc (queue_hello_cmd): Adjust accordingly.
(process_hello_cmd): More cleaning. Also, save new server keys to
a var, and check old server keys against the var.
* tests/t_netsync_checks_server_key.at: New test.
* testsuite.at: Add it. Better docs for some netsync macros,
while I'm here...
* tests/t_netsync_absorbs.at: Add 'netsync' keyword.
2005-03-22 Nathaniel Smith <njs@codesourcery.com>
* tests/t_netsync_absorbs.at: New test.
* testsuite.at: Add it.
* netcmd.{cc,hh} (read_hello_cmd_payload): Properly type
arguments.
* netsync.cc (dispatch_payload): Adjust accordingly. Move some
logic into process_hello_cmd.
(known_servers_domain): New constant.
(process_hello_cmd): Tweak arguments appropriately. Include logic
formerly in dispatch_payload. Cleanup.
No semantic changes.
2005-03-21 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (Starting a New Project): Tweak phrasing.
2005-03-21 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (process_netsync_client_args): If user specifies
server/collection and there is no default, set the default.
* tests/t_netsync_set_defaults.at: New test.
* testsuite.at: Add it.
2005-03-21 Nathaniel Smith <njs@codesourcery.com>
* vocab.hh (var_key): New typedef.
* database.{cc,hh}: Use it. Make most var commands take it.
* commands.cc (set, unset): Adjust accordingly.
(default_server_key, default_collection_key): New constants.
(process_netsync_client_args): New function.
(push, pull, sync): Use it.
* tests/t_netsync_defaults.at: New test.
* testsuite.at: Add it.
2005-03-21 Matt Johnston <matt@ucc.asn.au>
* change_set.cc: use std::map rather than smap for
confirm_unique_entries_in_directories() and confirm_proper_tree()
since they perform a lot of insert()s.
2005-03-21 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi (list tags, list vars, set, unset): Document.
(Internationalization): Document vars.
2005-03-21 Nathaniel Smith <njs@codesourcery.com>
* transforms.{hh,cc} ({in,ex}ternalize_var_{name,domain}): New
functions.
* vocab_terms.hh (base64<var_value>): Declare template.
* database.hh (get_vars): Simplify API.
* database.cc (get_vars, get_var, var_exists, set_var, clear_var):
Implement.
* commands.cc (set, unset): New commands.
(ls): New "vars" subcommand.
* tests/t_vars.at: Fix. Un-XFAIL.
2005-03-21 Nathaniel Smith <njs@codesourcery.com>
* transforms.{cc,hh}: Remove tabs.
2005-03-20 Nathaniel Smith <njs@codesourcery.com>
* tests/t_vars.at: New test.
* testsuite.at: Add it.
2005-03-20 Nathaniel Smith <njs@codesourcery.com>
* schema.sql (db_vars): New table.
* database.cc (database::database): Update schema id.
* schema_migration.cc (migrate_client_to_vars): New function.
(migrate_monotone_schema): Use it.
* tests/t_migrate_schema.at: Another schema, another test...
* vocab_terms.hh (var_domain, var_name, var_value): New types.
* database.hh (get_vars, get_var, var_exists, set_var, clear_var):
Prototype new functions.
2005-03-20 Derek Scherger <derek@echologic.com>
* file_io.cc (book_keeping_file): return true only if first
element of path is MT, allowing embedded MT elements
(walk_tree_recursive): check relative paths for ignoreable book
keeping files, rather than absolute paths
(test_book_keeping_file): add fs::path tests for book keeping
files
* tests/t_add_intermediate_MT_path.at: un-XFAIL, fix some problems
with commas, add tests for renames and deletes with embedded MT
path elements.
2005-03-20 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi: Add some missing @sc{}'s.
* cryptopp/config.h: Use "mt-stdint.h", not <stdint.h>, for
portability.
2005-03-19 Nathaniel Smith <njs@codesourcery.com>
* Makefile.am (EXTRA_DIST): Add UPGRADE and README.changesets.
* debian/files: Auto-updated by dpkg-buildpackage.
* This is the 0.17 release.
2005-03-18 Nathaniel Smith <njs@codesourcery.com>
* Makefile.am (MOST_SOURCES): Add package_{full_,}revision.h.
* NEWS: Fill in date.
* debian/copyright: Update from AUTHORS.
* configure.ac: Bump version number to 0.17.
* debian/changelog, monotone.spec: Update for release.
* po/monotone.pot: Auto-updated by distcheck.
2005-03-18 Christof Petig <christof@petig-baender.de>
* sqlite/*: Imported sqlite version 3.1.6 tree
2005-03-18 Nathaniel Smith <njs@codesourcery.com>
* monotone.1, commands.cc, Makefile.am: Fixup after merge.
2005-03-18 Nathaniel Smith <njs@codesourcery.com>
* path_component (split_path): Fix bug.
Also, add unit tests for file.
* unit_tests.{hh,cc}: Add path_component unit tests.
2005-03-18 Nathaniel Smith <njs@codesourcery.com>
* Makefile.am: Fixup after merge.
2005-03-18 Nathaniel Smith <njs@codesourcery.com>
* change_set.cc: Move path_component stuff to...
* path_component.{hh,cc}: ...these new files.
* Makefile.am: Add them.
2005-03-18 Matt Johnston <matt@ucc.asn.au>
* txt2c.cc: add --no-static option
* Makefile.am, package_revision.h, package_full_revision.h:
create revision info files as standalone .c files to speed
compilation (mt_version.cc doesn't need to recompile each time)
2005-03-17 Derek Scherger <derek@echologic.com>
* INSTALL: add note about creating a ./configure script
2005-03-16 Nathaniel Smith <njs@codesourcery.com>
* UPGRADE: Finish, hopefully.
* monotone.texi (db check): Be more clear about what is normally
checked, and when 'db check' is useful.
2005-03-16 Patrick Mauritz <oxygene@studentenbude.ath.cx>
* monotone.texi (Hook Reference): Typo.
2005-03-16 Nathaniel Smith <njs@codesourcery.com>
* monotone.texi: Add Derek Scherger to the copyright list.
Various tweaks.
(Starting a New Project): Rewrite to clarify that only Jim runs
"setup", and explain why.
(Network Service): Add a note that most people do use a central
server, since people on the mailing list seem to perhaps be
getting the wrong idea.
(Making Changes): Expand a little on what the "." in "checkout ."
means, since people seem to accidentally checkout stuff into real
directories.
(db check): Add much verbiage on the implications
of various problems, and how to fix them. Also clarify some
wording.
* NEWS: Small tweaks.
* UPGRADE: More instructions, not done yet...
2005-03-15 Matt Johnston <matt@ucc.asn.au>
* commands.cc, monotone.texi, monotone.1: mention that agraph
output is in VCG format.
2005-03-14 Nathaniel Smith <njs@codesourcery.com>
* commands.cc (cat): 'cat file REV PATH'.
* monotone.texi: Mention it.
* tests/t_cat_file_by_name.at: New test.
* testsuite.at: Add it.
2005-03-11 Nathaniel Smith <njs@codesourcery.com>
* automate.cc (automate_heads): Remove app.initialize call.
* revision.cc, revision.hh (calculate_arbitrary_change_set): New
function.
(calculate_composite_change_set): Touch more sanity checking.
* commands.cc (update): Use it.
2005-03-10 Derek Scherger <derek@echologic.com>
* app_state.cc (set_restriction): adjust bad path error message
* commands.cc (get_valid_paths): refactor into ...
(extract_rearranged_paths): ... this
(extract_delta_paths): ... this
(extract_changed_paths): ... this
(add_intermediate_paths): ... and this
(restrict_delta_map): new function
(calculate_restricted_change_set): new function
(calculate_restricted_revision):
(ls_missing):
(revert): rework using new valid path functions
(do_diff): adjust --revision variants to work with restrictions
* tests/t_diff_restrict.at: un-XFAIL
2005-03-09 Jon Bright <jon@siliconcircus.com>
* win32/monotone.iss: Install the many-files version of the
docs, install the figures, create a start-menu icon for the
docs.
* Makefile.am: Make docs generation work with MinGW
2005-03-09 Jon Bright <jon@siliconcircus.com>
* win32/monotone.iss: Monotone -> monotone
2005-03-09 Jon Bright <jon@siliconcircus.com>
* win32/monotone.iss: Added an Inno Setup script for
generating a Windows installer. Inno Setup is GPLed, see
http://www.jrsoftware.org for download
2005-03-09 Jon Bright <jon@siliconcircus.com>
* t_diff_binary.at: binary.bz.b64 -> binary.gz.b64
2005-03-08 Derek Scherger <derek@echologic.com>
* Makefile.am: adjust for fsck rename
* commands.cc (db fsck): rename to db check and add short help;
adjust for fsck file renames
* database.{cc,hh}: minor alignment adjustments
(get_statistic): remove redundant method
(info): use count in place of get_statistic
(count): return unsigned long instead of int
(get_keys): new method
(get_public_keys): new method
(get_private_keys): rewrite using get_keys
(get_certs): new method to get all certs in database from
specified table
(get_revision_certs): ditto
* fsck.{cc,hh}: rename to...
* database_check.{cc,hh}: ...this; add key, cert and sane revision
history checking
* monotone.1: document db dump/load/check commands
* monotone.texi: document db check command
* tests/t_fsck.at: rename to...
* tests/t_database_check.at: ...this; and add tests for key and
cert problems
* testsuite.at: account for new test name
2005-03-08 Nathaniel Smith <njs@codesourcery.com>
* ChangeLog: Insert some missing newlines.
* NEWS: Note file format changes.
* file_io.cc (tilde_expand): Clarify error message.
2005-03-08 Nathaniel Smith <njs@codesourcery.com>
* keys.{cc,hh} (require_password): Simplify interface, do more
work.
* rcs_import.cc (import_cvs_repo): Update accordingly.
* commands.cc (server): Likewise.
* revision.cc (build_changesets_from_existing_revs)
(build_changesets_from_manifest_ancestry): Require passphrase
early.
2005-03-08 Nathaniel Smith <njs@codesourcery.com>
* NEWS, INSTALL, README.changesets: Update in preparation for
0.17.
* UPGRADE: New file.
* tests/t_diff_restrict.at: Oops. XFAIL it.
2005-03-08 Jon Bright <jon@siliconcircus.com>
* win32/process.cc (process_spawn): Escape the parameters,
surround them with quotes before adding them to the consolidated
command line string
* mkstemp.cc (monotone_mkstemp): Now takes a std::string&, and
returns the *native* form of the path in this.
* mkstemp.hh: Now always use monotone_mkstemp
(monotone_mkstemp): Update prototype
* lua.cc (monotone_mkstemp_for_lua): Use new-style
monotone_mkstemp
2005-03-08 Jon Bright <jon@siliconcircus.com>
* win32/read_password.cc (read_password): Now correctly hides
password when run in a Windows console. Does at least enough in
a MinGW rxvt console to make sure that you can't see the password.
* win32/process.cc: Change indentation.
(process_spawn): Log commands executed, as for unix process.cc
2005-03-07 Nathaniel Smith <njs@codesourcery.com>
* tests/t_diff_restrict.at: New test.
* testsuite.at: Add it.
2005-03-05 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc (encountered_error, error): New variable and method.
(session::session): Initialize encountered_error.
(write_netcmd_and_try_flush, read_some, write_some): Check it.
(queue_error_cmd): Consider it like sending a goodbye.
(process_error_cmd): Throw an exception instead of considering it
a goodbye.
(process_data_cmd): Call error() if epochs don't match.
* tests/t_epoch.at, tests/t_epoch_server.at: More minor tweaks.
Expect failed pulls to exit with status 0. This isn't really
correct, but looks complicated to fix...
2005-03-05 Nathaniel Smith <njs@codesourcery.com>
* testsuite.at (NETSYNC_SERVE_N_START): New macro.
* tests/t_epoch_server.at: Misc. fixes.
* netsync.cc (session::session): Don't open valve yet.
(maybe_note_epochs_finished): New method to open
valve.
(process_done_cmd, process_data_cmd): Call it.
(rebuild_merkle_trees): Actually calculate hashes for epoch merkle
trees. Also, only include epochs that meet the branch mask.
(session): Remove unused id_to_epoch map.
2005-03-05 Nathaniel Smith <njs@codesourcery.com>
* netcmd.cc (read_netcmd_item_type): Handle epoch_item.
(test_netcmd_functions): Update for new confirm_cmd_payload
format.
* netsync.cc (process_confirm_cmd): Cut and paste error.
2005-03-05 Nathaniel Smith <njs@codesourcery.com>
* constants.{cc,hh}: Add new epochlen, epochlen_bytes constants.
* vocab_terms.hh, vocab.hh: Add new epoch_data type. Add predeclarations
for it.
* commands.cc (ls_epochs):
* revision.cc (
* database.hh:
* database.cc: Update for epoch_data. Add get_epoch, epoch_exists
methods.
* epoch.{cc,hh}: New files.
* netsync.cc: Actually implement epochs-via-merkle code.
2005-03-04 Nathaniel Smith <njs@codesourcery.com>
* schema.sql (branch_epochs): Add 'hash' field.
* schema_migration.cc: Fixup for.
* database.cc (database): Change schemas.
* tests/t_migrate_schema.at: Replace epoch db test case with one
with new schema.
2005-03-03 Nathaniel Smith <njs@codesourcery.com>
* netsync.cc (session::id_to_epoch): New variable.
(session::session): Create refinement and requested item tables
for epochs.
(rebuild_merkle_trees): Fill epoch merkle tree and id_to_epoch
table.
* netsync.cc (queue_confirm_cmd, process_confirm_cmd)
(dispatch_payload, rebuild_merkle_trees):
* netcmd.hh:
* netcmd.cc (read_confirm_cmd_payload, write_confirm_cmd_payload):
Remove epochs.
2005-02-27 Nathaniel Smith <njs@codesourcery.com>
* constants.cc:
* revision.cc:
* testsuite.at:
* commands.cc:
* ChangeLog: Fixup after merge.
2005-02-27 Nathaniel Smith <njs@codesourcery.com>
* merkle_tree.hh (netcmd_item_type): Add epoch_item.
* merkle_tree.cc (netcmd_item_type_to_string): Handle epoch_item.
* packet.hh, packet.cc (struct packet_db_valve): New class.
* netsync.cc (session): Use a valved writer.
2005-02-26 Nathaniel Smith <njs@codesourcery.com>
* merkle_tree.hh: Fix comment.
Remove prototypes for non-existing functions.
2005-02-26 Nathaniel Smith <njs@codesourcery.com>
* tests/t_epoch_unidirectional.at: New test.
* testsuite.at: Add it.
2005-02-26 Nathaniel Smith <njs@codesourcery.com>
* tests/t_epoch.at: Even more paranoid.
* tests/t_epoch_server.at: New test.
* testsuite.at: Add it.
2005-02-21 Nathaniel Smith <njs@codesourcery.com>
* tests/t_epoch.at: Check that netsync only sends relevant
epochs, and be a little more paranoid.
2005-02-19 Nathaniel Smith <njs@codesourcery.com>
* revision.cc (struct anc_graph): Fixup after merge.
2005-02-18 graydon hoare <graydon@pobox.com>
* database.cc (set_epoch): Fix SQL.
* monotone.texi (Rebuilding ancestry): Reword a bit.
* netcmd.{cc,hh}
({read,write}_hello_cmd_payload): Transfer server key with hello.
({read,write}_confirm_cmd_payload): Transfer epoch list with confirm.
* netsync.cc: Adapt to changes in netcmd.
(rebuild_merkle_trees): Set nonexistent epochs to zero before sync.
* revision.cc (anc_graph): Randomize epochs on rebuild.
* tests/t_epoch.at: Fix up to test slightly new semantics.
2005-02-07 Nathaniel Smith <njs@codesourcery.com>
* monotone.1: Add more db commands.
* monotone.texi: Document db rebuild. Add section on rebuilding
ancestry and epochs.
2005-02-06 graydon hoare <graydon@pobox.com>
* commands.cc (db): Add epoch commands.
(list): Likewise.
Also remove some unneeded transaction guards.
* database.{cc,hh} (get_epochs): New function.
(set_epoch): Likewise.
(clear_epoch): Likewise.
Also remove all persistent merkle trie stuff.
* schema.sql: Add epochs, remove tries.
* schema_migration.cc: Update.
* tests/t_epoch.at: New test.
* tests/t_migrate_schema.at: Update.
* testsuite.at: Add some new helpers, call t_epoch.at.
* vocab.hh (epoch_id): Define.
* vocab_terms.hh (epoch): Define.
2005-02-05 Nathaniel Smith <njs@codesourcery.com>
* merkle_tree.hh: Remove mcert_item and fcert_item, rename
rcert_item to cert_item, renumber to remove gaps left.
* merkle_tree.cc (netcmd_item_type_to_string):
* netcmd.cc (read_netcmd_item_type):
* netsync.cc: Adjust accordingly.
2005-02-05 Nathaniel Smith <njs@codesourcery.com>
* constants.cc (constants): Bump netsync protocol version.
2005-03-07 Nathaniel Smith <njs@codesourcery.com>
* lua.cc (monotone_spawn_for_lua): Minimal change to get arguments
in right order. Still needs hygienic cleanups...
* tests/t_can_execute.at: Run 'cp' instead of 'touch', because cp
will actually notice if we pass a