monotone

monotone Mtn Source Tree

Root/ChangeLog

12005-09-29 Richard Levitte <richard@levitte.org>
2
3* testsuite.at: Removed a spurious G...
4
52005-09-29 Matthew Gregan <kinetik@orcon.net.nz>
6
7* paths.cc, win32/fs.cc: Fixes to allow unit tests to pass on Win32.
8
92005-09-29 Marcel van der Boom <marcel@hsdev.com>
10
11* netsync.cc (rebuild_merkle_trees): only get matched branch
12certs, not all of them
13
142005-09-28 Nathaniel Smith <njs@pobox.com>
15
16* tests/t_rename_diff_names.at, testsuite.at: New test.
17
182005-09-27 Richard Levitte <richard@levitte.org>
19
20* monotone.texi (Tutorial): It seems like texi2pdf gets quite
21confused when a @chapter has a @subsection with a @section in
22between. The resulting PDF had a Tutorial that was a indexed as a
23subsection under Concepts/Branches instead of being indexed as the
24chapter it is, and most confusingly, it's last subsection
25(Branching and Merging) ended up as a a separate chapter of it's
26own...
27
282005-09-26 Benoît Dejean <benoit@placenet.org>
29
30* database.cc: Merged 3 strings.
31
322005-09-26 Matt Johnston <matt@ucc.asn.au>
33
34* commands.cc: add 'help' command
35* monotone.cc: add -h alias for --help
36
372005-09-25 Matt Johnston <matt@ucc.asn.au>
38
39* netsync.cc: use lexical_cast on port numbers to avoid
40strange-looking "port 5,253"
41
422005-09-25 Matthew Gregan <kinetik@orcon.net.nz>
43
44* sqlite/*: Update in-tree SQLite from 3.2.6 to 3.2.7.
45
462005-09-25 Benoît Dejean <benoit@placenet.org>
47
48* netsync.cc: 3 more i18n strings.
49
502005-09-25 Benoît Dejean <benoit@placenet.org>
51
52* cert.cc (cert_signable_text): F() vs. boost::format.
53* lua.cc (monotone_guess_binary_file_contents_for_lua),
54(monotone_include_for_lua), (monotone_includedir_for_lua):
55* rcs_import.cc (import_cvs_repo): Merged some strings.
56
572005-09-25 Benoît Dejean <benoit@placenet.org>
58
59* lua.cc (monotone_guess_binary_file_contents_for_lua):
60Fixed signednes warning and istream usage.
61
622005-09-25 Matt Johnston <matt@ucc.asn.au>
63
64* ui.cc: fallback to the default locale if locale("") fails.
65
662005-09-25 Matt Johnston <matt@ucc.asn.au>
67
68* botan/arc4.cpp: increase maximum keylength to 256 bytes.
69
702005-09-24 Benoît Dejean <benoit@placenet.org>
71
72* ChangeLog: Fixed.
73I don't understand how xxdiff works :/ Please help.
74
752005-09-24 Satoru SATOH <ss@gnome.gr.jp>
76
77* po/ja.po: Updated Japanese translation.
78
792005-09-23 Benoît Dejean <benoit@placenet.org>
80
81 * std_hooks.lua: More i18n strings.
82
83 I don't know how to handle lua
84 "multiline" ..
85 "strings" because gettext doesn't join them.
86
872005-09-22 Benoît Dejean <benoit@placenet.org>
88
89 * sanity.{cc,hh}: Uninlined F() and FP().
90 This happily saves ~100KB of .text on my ppc.
91
922005-09-22 Benoît Dejean <benoit@placenet.org>
93
94* netsync.cc: Reverted changes
95from f0a632bf14468b6e03a488d6f1a64ef18b61d04c
96to 4f7f638954c79c54460d04c3be111acad8b26dd3
97
982005-09-22 Benoît Dejean <benoit@placenet.org>
99
100* lua.cc (monotone_gettext_for_lua): New function.
101* po/POTFILES.in: Added std_hooks.lua.
102* std_hooks.lua: One more string for i18n.
103
1042005-09-22 Benoît Dejean <benoit@placenet.org>
105
106* ui.{cc,hh} (get_user_locale): Returns a const &.
107
1082005-09-21 Timothy Brownawell <tbrownaw@gmail.com>
109
110* contrib/usher.cc: better error checking
111
1122005-09-20 Timothy Brownawell <tbrownaw@gmail.com>
113
114* restrictions.cc: Make calculate_unrestricted_revision work
115with --exclude
116* tests/t_restriction_with_exclude_iprint.at: remove XFAIL
117
1182005-09-20 Patrick Mauritz <oxygene@studentenbude.ath.cx>
119
120* configure.ac: solaris needs librt for fdatasync
121* sqlite/parse.c: #line and #include interactions aren't defined
122
1232005-09-20 Matt Johnston <matt@ucc.asn.au>
124
125* database.cc (space_usage): workaround the issue that in sqlite
1263.2.6, SUM({empty set}) returns NULL. (this is part of the sql spec,
127see http://www.sqlite.org/cvstrac/tktview?tn=1413 and the comment for
128SUM() in sqlite docs).
129
1302005-09-20 Matt Johnston <matt@ucc.asn.au>
131
132* ui.cc, ui.hh, sanity.hh: replace ui.user_locale with
133get_user_locale(), so that we can guarantee that it will be
134initialised when the global_sanity object (and probably other things)
135are instantiated.
136
1372005-09-20 Matthew Gregan <kinetik@orcon.net.nz>
138
139* tests/t_restriction_with_exclude_iprint.at: New test, variant of
140t_restriction_exclude.at, but with inodeprints enabled. Mark as
141XFAILed.
142* testsuite.at: Add new test.
143* sqlite/*: Update in-tree SQLite from 3.2.2 to 3.2.6.
144* Makefile.am: Add sqlite/{analyze,vbdefifo,complete}.c to
145SQLITE_SOURCES
146* schema_migration.cc (calculate_schema_id): Explicitly exclude
147sqlite_stat1 table from schema ID calculation. This is a new
148magic table created by the 'analyze' command in SQLite >= 3.2.3.
149
1502005-09-18 Nathaniel Smith <njs@pobox.com>
151
152* po/ja.po: New translation from Satoru SATOH <ss@gnome.gr.jp>.
153* AUTHORS: Add Satoru SATOH.
154
1552005-09-18 Matthew Gregan <kinetik@orcon.net.nz>
156
157* testsuite.at: Tweak default 'eveything' netsync glob to
158something that works around the MinGW/Win32 globbing issues for
159now.
160* tests/t_log_brief.at: Canonicalise output on Win32.
161
1622005-09-17 Timothy Brownawell <tbrownaw@gmail.com>
163
164* contrib/usher.cc: Remove stray "new int[2];' statements from
165debugging. Remove connections from list when finished.
166
1672005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
168
169* Makefile.am (EXTRA_DIST): add contrib/monotone-cvs-ignore.lua,
170contrib/ciabot_monotone_hookversion.py, and contrib/usher.cc .
171also remove duplicate of contrib/monoprof.sh
172
1732005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
174
175* netsync.cc: finish renaming things, so it compiles again...
176
1772005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
178
179* contrib/usher.cc: A simple usher/proxy server. It asks connecting
180clients for their include pattern, and then forwards the connection
181to an appropriate (as given in a config file) monotone server. Note
182that all servers operating behind one usher need to have the same
183server key.
184
1852005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
186
187* netcmd.{cc,hh}, netsync.cc: new netcmd types: usher_cmd and
188usher_reply_cmd. They are not included in the HMAC, and do not
189occur during normal communication. Purpose: running multiple servers
190from the same port. This allows a special server to ask for the
191client's include pattern, and then forward the connection to a real
192monotone server.
193
1942005-09-16 Matt Johnston <matt@ucc.asn.au>
195
196* botan/pkcs8.cpp: re-add the monotone-specific code for guessing if
197a key is DER encoded or not.
198
1992005-09-16 Matt Johnston <matt@ucc.asn.au>
200
201* botan/*: update to Botan 1.4.6
202* Makefile.am: ditto
203
2042005-09-15 Timothy Brownawell <tbrownaw@gmail.com>
205
206* app_state.{cc,hh}: restrictions now understand --exclude
207* commands.cc: commit and revert now take OPT_EXCLUDE
208* monotone.cc: update description of --exclude
209* tests/t_restriction_with_exclude.at: new test
210* testsuite.at: add it
211
2122005-09-14 Timothy Brownawell <tbrownaw@gmail.com>
213
214* contrib/ciabot_monotone_hookversion.py: CIA bot client script
215meant to be called from the note_netsync_revision_received hook.
216* lua.{cc,hh}: hook_note_commit and hook_note_netsync_revision_received
217now take the text of the revision as an argument.
218* netsync.cc, commands.cc: Give hooks new argument.
219* monotone.texi: Update documentation for those hooks.
220
2212005-09-11 Benoît Dejean <benoit@placenet.org>
222
223* database.cc
224* database_check.cc
225* netsync.cc
226* po/POTFILES.in
227* po/POTFILES.skip
228* rcs_import.cc: More i18n strings.
229
2302005-09-07 Jim Meyering <jim@meyering.net>
231
232* tests/t_rename_dir_cross_level.at: When invoking mv to rename
233a directory, do not include a trailing slash on the target -- that
234is not portable.
235
236* Makefile.am (TESTS_ENVIRONMENT): Ensure that PATH starts with
237the current directory, so we test the just-built monotone binary,
238not some older version.
239
2402005-09-07 Benoît Dejean <benoit@placenet.org>
241
242* std_hooks.lua: Don't spawn emacs with '-no-init-file'.
243
2442005-09-09 Matthew Gregan <kinetik@orcon.net.nz>
245
246* paths.cc (save_initial_path): Default Boost's fs::path to
247fs::native grammar.
248* tests/t_unreadable_{db,MT}.at: Disable on Win32 for now.
249* paths.cc: Consistency--use WIN32 rather than _WIN32.
250* file_io.cc (walk_tree): Correct test for file existence.
251
2522005-09-08 Matthew Gregan <kinetik@orcon.net.nz>
253
254* Makefile.am: Add '-f' argument to 'mv'; avoids build waiting on
255 user confirmation in some cases.
256
2572005-09-08 Nathaniel Smith <njs@pobox.com>
258
259* monotone.texi (Certificates): Remove mention of fcerts and
260mcerts.
261
2622005-09-07 Benoît Dejean <benoit@placenet.org>
263
264* ui.{cc,hh}: Added user_inferface::user_locale.
265* sanity.hh: Made F() and FP() locale aware.
266
2672005-09-06 Benoît Dejean <benoit@placenet.org>
268
269* monotone.cc: One more i18n string.
270
2712005-09-06 Benoît Dejean <benoit@placenet.org>
272
273* po/fr.po: Updated French translation.
274
2752005-09-06 Benoît Dejean <benoit@placenet.org>
276
277* commands.cc: No i18n for cert_revision_changelog.
278
2792005-09-06 Matthew Gregan <kinetik@orcon.net.nz>
280
281* tests/t_netsync_read_permissions.at: Tweak tests so we aren't
282trying to serve a bare '*'; works around test hangs due to glob
283expansion sillyness on MinGW.
284* tests/t_netsync_globs.at: Ditto.
285* tests/t_netsync_exclude.at: Ditto.
286* std_hooks.lua (ignore_file): Add Mac OS X (.DS_Store) and
287Windows (desktop.ini) per-directory browser configuration files.
288
289
2902005-09-05 Benoît Dejean <benoit@placenet.org>
291
292* commands.cc: Fixed some strings (added ' around revisions).
293Removed some whitespaces.
294No i18n in diff output.
295
2962005-09-05 Benoît Dejean <benoit@placenet.org>
297
298* sanity.{cc,hh}: boost::format vs. F(). Merged boost::format
299and moved non-template code to sanity.cc.
300
3012005-09-05 Matthew Gregan <kinetik@orcon.net.nz>
302
303* win32/terminal.cc (have_smart_terminal): We were returning false
304in almost all circumstances; changed logic so that we at least
305work when running in a cmd.exe window.
306
3072005-09-05 Matt Johnston <matt@ucc.asn.au>
308
309* commands.cc (dump_diffs): don't use the terminal width to
310print ===== seperators.
311
3122005-09-05 Matthew Gregan <kinetik@orcon.net.nz>
313
314* paths.cc (find_and_go_to_working_copy): Create root and bookdir
315paths as fs::native.
316* main.cc: Tweak #ifdef to avoid exposing some unused SEH handling
317on MinGW.
318* configure.ac: Minor cleanup to Win32 configure test.
319
3202005-09-04 Nathaniel Smith <njs@pobox.com>
321
322* monotone.cc (options): Remove default from the help string for
323--count, since none of the options listed are actually the
324default.
325
3262005-09-04 Nathaniel Smith <njs@pobox.com>
327
328* tests/t_unreadable_db.at, testsuite.at: New test.
329
3302005-09-03 Nathaniel Smith <njs@pobox.com>
331
332* po/Makevars (XGETTEXT_OPTIONS): N_ != ngettext.
333Add c-format flags on F() and FP() calls (only partially
334successful on latter, because of bug in xgettext).
335
3362005-09-04 Grahame Bowland <grahame@angrygoats.net>
337
338* commands.cc: siplify the monotone cat command
339to "monotone cat [-r] FIELNAME" (as in bug #12597)
340* monotone.texi: update documentation of "monotone cat"
341* tests/t_add_edge.at, tests/t_cat_file_by_name.at,
342tests/t_change_empty_file.at, tests/t_cvsimport.at,
343tests/t_cvsimport_deleted_invar.at, tests/t_cvsimport_drepper.at,
344tests/t_cvsimport_drepper2.at, tests/t_cvsimport_manifest_cycle.at,
345tests/t_cvsimport_samelog.at, tests/t_database_check.at,
346tests/t_db_kill_rev_locally.at, tests/t_empty_id_completion.at,
347tests/t_epoch.at, tests/t_epoch_server.at, tests/t_erename.at,
348tests/t_i18n_file.at, tests/t_import.at, tests/t_merge_add_del.at,
349tests/t_movedel.at, tests/t_movepatch.at, tests/t_netsync.at,
350tests/t_netsync_exclude.at, tests/t_netsync_exclude_default.at,
351tests/t_netsync_globs.at, tests/t_netsync_nocerts.at,
352tests/t_netsync_permissions.at, tests/t_netsync_read_permissions.at,
353tests/t_netsync_single.at, tests/t_normalized_filenames.at,
354tests/t_persistent_server_revision.at, tests/t_remerge.at,
355tests/t_rename.at, tests/t_renamed.at, tests/t_scan.at,
356tests/t_set_default.at, tests/t_singlecvs.at,
357tests/t_update_with_pending_add.at, tests/t_update_with_pending_drop.at,
358tests/t_update_with_pending_rename.at, tests/t_versions.at:
359use automation interface rather than "monotone cat"
360
3612005-09-04 Grahame Bowland <grahame@angrygoats.net>
362
363* ChangeLog: fix up screwed up three-way merge
364
3652005-09-04 Grahame Bowland <grahame@angrygoats.net>
366
367* automate.cc, commands.cc: add "automate get_file",
368"automate get_revision" and "automate get_manifest" to
369automation interface.
370* monotone.texi: document new automation commands
371* tests/t_automate_get_file.at, tests/t_automate_get_revision_at,
372tests/t_automate_get_manifest.at: trivial testing of new
373automation commands for output as specified, make sure they
374do not complete IDs, make sure invalid IDs are caught.
375* testsuite.at: add new tests
376
3772005-09-03 Matthew Gregan <kinetik@orcon.net.nz>
378
379* tests/t_persistent_server_keys_2.at: 'commit' needs a commit
380message. Un-XFAIL.
381* tests/t_netsync_unrelated.at: Fix 'setup' syntax.
382* tests/t_add_vs_commit.at: BASE_REVISION needs to be in the root
383of a working copy to work. Un-XFAIL.
384* tests/t_add_stomp_file.at: 'add' does not take a --branch
385argument. BASE_REVISION needs to be in the root of a working copy
386to work.
387* annotate.cc (build_parent_lineage): Don't access uninitialized
388memory--use resize() rather than reserve().
389
3902005-09-02 Matthew Gregan <kinetik@orcon.net.nz>
391
392* monotone.cc: Use consistent case in option descriptions.
393
3942005-09-02 Nathaniel Smith <njs@pobox.com>
395
396* paths.{hh,cc}: Add split_path typedef. Use it.
397
3982005-09-02 Matt Johnston <matt@ucc.asn.au>
399
400* lua.cc (monotone_guess_binary_file_contents_for_lua): use a
401temporary char* buffer rather than &string[], extra copying seems
402to have negligible performance impact.
403* tests/perf-test.sh: change path from tests/ to contrib/, make
404executable.
405* tests/parse-accounting.pl: make executable.
406
4072005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
408
409* lua.cc, std_hooks.lua: use proper regexes for .mt-ignore
410taken from a patch from Martin Dvorak
411* contrib/monotone-cvs-ignore.lua: New file, from the same patch.
412supports .cvsignore files
413* tests/t_mt_ignore.at: check that a missing .mt-ignore
414doesn't cause problems
415
4162005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
417
418* tests/t_mt_ignore.at: use RAW_MONOTONE instead of ugly --rcfile
419Also actually do "mtn add" this time.
420
4212005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
422
423* tests/t_mt_ignore.at: new test, checks that .mt-ignore works
424* testsuite.at: add it
425
4262005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
427
428* std_hooks.lua: support .mt-ignore
429* monotone.texi: mention .mt-ignore and MT/wanted-testresults under
430"Existing control files"
431* .mt-ignore: ignore testsuite.dir
432
4332005-09-03 Benoît Dejean <benoit@placenet.org>
434
435* commands.cc (ls_certs):
436* netsync.cc (load_data): Merged strings.
437
4382005-09-01 Benoît Dejean <benoit@placenet.org>
439
440* commands.cc: Merged one more "no such revision '%s'" string.
441
4422005-09-01 Benoît Dejean <benoit@placenet.org>
443
444* commands.cc: Merged all "no such revision '%s'" strings.
445(string_to_datetime): Merged catch blocks in order to merge error
446messages.
447
4482005-09-01 Benoît Dejean <benoit@placenet.org>
449
450* ChangeLog: Fixed.
451
4522005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
453
454* ui.cc (user_interface): Avoid calling sync_with_stdio(false) on
455Win32 for now to work around a bug in MinGW where unsynchronized
456std::cin returns EOF earlier when reading a stream with DOS
457newlines. Resolves 'db load' failure reported by Howard Spindel.
458* database.cc (load): Don't bother executing an empty string.
459* commands.cc (ALIAS(import, setup)): Remove alias.
460
4612005-09-01 Matt Johnston <matt@ucc.asn.au>
462
463* schema.sql: add BEGIN, COMMIT to make it a single transaction,
464improves db init performance significantly on OS X (avoids many
465disk-cache flushes).
466
4672005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
468
469* testsuite.at: Increase entropy used to generate port numbers
470where we can and increase range of port numbers generated.
471* monotone.texi: Fix a couple of minor typos.
472
4732005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
474
475* monotone.texi: Update 'setup' documentation and tutorial to
476reflect new usage. Also update much of the monotone output in the
477tutorials to reflect the output of more modern versions of
478monotone. Correct some minor errors and typos while here.
479* commands.cc (CMD(setup)): Require database and branch arguments.
480(ALIAS(import,setup)): Add setup alias.
481* testsuite.at, tests/*.at: Update 'setup' usage.
482
4832005-08-31 Richard Levitte <richard@levitte.org>
484
485* lua.cc, std_hooks.lua: Rename
486monotone_guess_binary_filename_for_lua and guess_binary_filename
487to monotone_guess_binary_file_contents_for_lua and
488guess_binary_file_contents.
489
4902005-08-31 Benoît Dejean <benoit@placenet.org>
491
492* basic_io.cc (basic_io::input_source::err): Merged strings.
493
4942005-08-31 Nathaniel Smith <njs@pobox.com>
495
496* file_io.cc (set_char_is_binary, guess_binary): static_cast chars
497to uint8_t before using as array indices. Also replace some ints
498with size_t's to quiet g++ warnings.
499
5002005-08-30 Nathaniel Smith <njs@pobox.com>
501
502* file_io.cc (walk_tree_absolute): Implement.
503
5042005-08-30 Nathaniel Smith <njs@pobox.com>
505
506* commands.cc (cvs_import, git_import): Fixup after merge.
507* git.hh (import_git_repo): Port to paths.cc.
508* git.cc: Port to paths.cc generally.
509* file_io.hh (absolute_tree_walker, walk_tree_absolute): New
510interface (still needs implementing).
511
5122005-08-30 Benoît Dejean <benoit@placenet.org>
513
514In function void set_char_is_binary(char, bool)
515133: warning: array subscript has type char
516In function void init_char_is_binary()
517147: warning: comparison between signed and unsigned integer expressions
518In function bool guess_binary(const std::string&)
519160: warning: comparison between signed and unsigned integer expressions
520162: warning: array subscript has type char
521
5222005-08-30 Benoît Dejean <benoit@placenet.org>
523
524* file_io.cc (walk_tree): Fixed format.
525
5262005-08-31 Marcel van der Boom <marcel@hsdev.com>
527
528* std_hooks.lua (execute_confirm): New function.
529(merge2_opendiff_cmd, merge3_opendiff_cmd): Add.
530
5312005-08-31 Matthew Gregan <kinetik@orcon.net.nz>
532
533* paths.cc (test_bookkeeping_path, test_system_path): Second
534attempt at compile fixes; this time the unit tests actually pass
535too.
536
5372005-08-30 Matthew Gregan <kinetik@orcon.net.nz>
538
539* paths.cc (test_bookkeeping_path, test_system_path): Shift object
540instantiation around a little to work around what seems to be a
541bug in the gcc 3.3 parser.
542* win32/inodeprint.cc (inodeprint_file): Update to use new path
543handling code.
544* win32/fs.cc (tilde_expand): Compile fix.
545
5462005-08-30 Petr Baudis <pasky@suse.cz>
547
548* std_hooks.lua: Simple support for merging using merge(1) and vim.
549
5502005-08-30 Benoît Dejean <benoit@placenet.org>
551
552* po/fr.po: Updated French translation.
553
5542005-08-30 Benoît Dejean <benoit@placenet.org>
555
556* commands.cc: Merged some error messages.
557
5582005-08-30 Benoît Dejean <benoit@placenet.org>
559
560* commands.cc: Merged complete(..., file_id) and
561complete(..., manifest_id) into template complete(..., ID).
562
5632005-08-30 Benoît Dejean <benoit@placenet.org>
564
565* commands.cc (ls_certs): Reworked for i18n.
566(CMD(commit)): Merged 2 strings.
567
5682005-08-30 Matthew Gregan <kinetik@orcon.net.nz>
569
570* revision.cc (ensure_parents_loaded): Don't reuse an iterator
571after we've invalidated it. Fixes 'diff' crash reported by Howard
572Spindel.
573
5742005-08-30 Matt Johnston <matt@ucc.asn.au>
575
576* botan/allocate.cpp: avoid string comparison when looking up the
577default allocator
578* monotone.cc (cpp_main): set a default allocator
579
5802005-08-28 Nathaniel Smith <njs@pobox.com>
581
582* tests/t_attributes.at: Delete checkout dir in between
583checkouts.
584
5852005-08-28 Matt Johnston <matt@ucc.asn.au>
586
587* keys.cc (keys_match): new function to compare whether two keys
588match (ignoring whitespace as the database does, etc).
589* packet.cc, keys.cc: use it for existing-key-comparison.
590
5912005-08-27 Nathaniel Smith <njs@pobox.com>
592
593* commands.cc (checkout): Special-case "checkout ."
594* tests/t_checkout_dir.at: Test it.
595
5962005-08-26 Nathaniel Smith <njs@pobox.com>
597
598* file_io.hh: Remove comment describing old path types.
599* paths.hh: Add comment describing new path types.
600
6012005-08-26 Nathaniel Smith <njs@pobox.com>
602
603* app_state.cc (create_working_copy): Remove
604fs::filesystem_exception catching.
605* file_io.hh (mkdir_p): Remove comment noting app_state.cc's
606dependence on a boost-based implementation.
607
6082005-08-26 Nathaniel Smith <njs@pobox.com>
609
610* paths.cc: Include <string>. Helps build on g++ 3.3?
611
6122005-08-26 Nathaniel Smith <njs@pobox.com>
613
614* commands.cc (get_log_message): Make the log message commentary a
615little more descriptive for people who may not know what a log
616message is...
617(commit): When canceling a commit due to empty log message, say
618so.
619
6202005-08-26 Nathaniel Smith <njs@pobox.com>
621
622* std_hooks.lua: Check for both "vi" and "notepad.exe" as fallback
623editors. If no editor was found, print a helpful message instead
624of just running "vi" anyway. Print a message if the editor exited
625with error.
626
6272005-08-26 Nathaniel Smith <njs@pobox.com>
628
629* file_io.cc (mkdir_p, make_dir_for): Increase error checking.
630* commands.cc (checkout): Make sure that checkout target directory
631does not already exist. Also use system_path more uniformly.
632* tests/t_checkout_dir.at: Test.
633* tests/t_setup_existing_path.at: New test.
634
6352005-08-26 Nathaniel Smith <njs@pobox.com>
636
637* commands.cc (read): Optionally take files on command line.
638* tests/t_read_from_file.at, testsuite.at: New test.
639* monotone.texi (Network Service): Show Jim using this.
640(Packet I/O, Commands): Document.
641* monotone.1: Likewise.
642
6432005-08-26 Nathaniel Smith <njs@pobox.com>
644
645* change_set.cc (move_files_from_tmp_top_down): Typo again.
646
6472005-08-26 Nathaniel Smith <njs@pobox.com>
648
649* database.cc (open): Convert stray line to paths.cc.
650
6512005-08-26 Nathaniel Smith <njs@pobox.com>
652
653* change_set.cc (move_files_from_tmp_top_down): Typo.
654
655* file_io.cc (move_path): New function.
656(move_file, move_dir): Minor cleanup -- use
657require_path_is_nonexistent.
658
659* work.cc (build_deletions): Use delete_file, rather than unlink.
660If file is already non-existent, do nothing.
661(build_rename): Use move_path, rather than rename. If file
662already appears to have been renamed, do nothing.
663
6642005-08-26 Nathaniel Smith <njs@pobox.com>
665
666* app_state.cc (allow_working_copy): Make logging more sensible.
667
6682005-08-26 Nathaniel Smith <njs@pobox.com>
669
670* transforms.cc (length):
671* database.cc (sql, load, open):
672* commands.cc (rename, attr):
673* change_set.cc (move_files_to_tmp_bottom_up)
674(move_files_from_tmp_top_down): Merge fixups.
675
6762005-08-26 Nathaniel Smith <njs@pobox.com>
677
678* database_check.cc: Track and report on manifest and revision
679parseability.
680* tests/t_database_check_normalized.at: Update to expect "not
681parseable" messages rather than "not normalized" messages.
682All tests pass.
683
6842005-08-26 Nathaniel Smith <njs@pobox.com>
685
686* tests/t_unreadable_MT.at: This test was called "do not fail on
687unreadable MT/options". I do not know why we wanted such
688behavior. I am making it "fail cleanly on unreadable
689MT/options".
690
6912005-08-26 Nathaniel Smith <njs@pobox.com>
692
693* paths.cc (check_fp_normalizes_to, test_file_path_internal):
694Oops, there were more places testing for non-brokenness; break
695them too.
696
6972005-08-26 Nathaniel Smith <njs@pobox.com>
698
699* paths.cc (test_split_join): Test that you cannot create a path
700in MT by joining.
701(file_path): Implement it.
702(split): Break, to match broken behavior of old splitter (easier
703than fixing change_set.cc...)
704(file_path_internal): Test for brokenness accordingly.
705
7062005-08-26 Nathaniel Smith <njs@pobox.com>
707
708* commands.cc (cat): Hack so that 'cat file REV PATH' works
709correctly both inside and outside of working copy, interpreting
710path slightly differently in each case.
711
7122005-08-26 Nathaniel Smith <njs@pobox.com>
713
714* tests/t_normalized_filenames.at: Internal unnormalized pathnames
715are no longer silently normalized, but rather a hard error.
716Adjust test accordingly.
717
7182005-08-26 Nathaniel Smith <njs@pobox.com>
719
720* paths.hh (file_path_internal_from_user): New constructor.
721* paths.cc (test_file_path_internal): Test it.
722(file_path::file_path): Implement it.
723* commands.cc (cat): Use it to create/validate passed in
724filenames.
725
7262005-08-26 Nathaniel Smith <njs@pobox.com>
727
728* paths.cc (test_system_path): Require that system_path normalize
729out ..'s.
730(system_path): Do so.
731
7322005-08-26 Nathaniel Smith <njs@pobox.com>
733
734* work.cc (build_additions): Remove redundant (and now wrong)
735code.
736Test 53 now passes.
737
7382005-08-26 Nathaniel Smith <njs@pobox.com>
739
740* file_io.cc (make_dir_for): Oops, this doesn't need a
741fs::native.
742Test 37 now passes.
743
7442005-08-26 Nathaniel Smith <njs@pobox.com>
745
746* file_io.cc (mkdir): New function. Now with extra brain-eating
747power.
748(mkdir_p, make_dir_for, delete_file, delete_dir_recursive)
749(move_file, move_dir, write_data_impl): Use it, to make all
750fs::path's native and disable boost's random rejection of paths.
751
7522005-08-26 Nathaniel Smith <njs@pobox.com>
753
754* paths.cc (test_file_path_external_prefix_a_b)
755(test_file_path_external_no_prefix, test_file_path_internal): Test
756for validity of more strange characters (,+@*%#$=).
757
7582005-08-26 Nathaniel Smith <njs@pobox.com>
759
760* file_io.cc (ident_existing_file): Remove accidentally-left-in
761code. Test 26 now passes.
762* lua.cc (monotone_includedir_for_lua, load_rcfile): Add
763fs::native's.
764
7652005-08-25 Nathaniel Smith <njs@pobox.com>
766
767* paths.hh (system_path::system_path): Add new boolean argument
768controlling some access_tracker behavior.
769* app_state.cc (allow_working_copy): Use it.
770* paths.cc (system_path): Implement it.
771(test_system_path): Test it.
772
7732005-08-25 Nathaniel Smith <njs@pobox.com>
774
775* file_io.cc (walk_tree): Return properly.
776
7772005-08-25 Nathaniel Smith <njs@pobox.com>
778
779* paths.cc (test_file_path_internal): Add tests for
780file_path.empty().
781* file_io.cc (walk_tree_recursive): Add explicit fs::native.
782
7832005-08-25 Nathaniel Smith <njs@pobox.com>
784
785* paths.cc: Many small changes. Unit tests now pass. 72
786unexpected autotest failures.
787
7882005-08-25 Nathaniel Smith <njs@pobox.com>
789
790* paths.cc (file_path): Fix up error reporting in external path
791normalization.
792(test_file_path_external_no_prefix): "" is always an invalid
793path.
794
7952005-08-25 Nathaniel Smith <njs@pobox.com>
796
797* database.cc (sql): Only check schema version when db actually
798exists.
799
8002005-08-25 Nathaniel Smith <njs@pobox.com>
801
802* file_io.cc (read_data_for_command_line): We are given a
803system_path.
804
8052005-08-25 Nathaniel Smith <njs@pobox.com>
806
807* paths.cc: Fix all unit test failures, except for two mysterious
808boost::too_few_args exceptions.
809
8102005-08-25 Nathaniel Smith <njs@pobox.com>
811
812* paths.cc, unix/fs.cc: Many, many fixes and some new tests too.
813
8142005-08-25 Nathaniel Smith <njs@pobox.com>
815
816* paths.cc (struct access_tracker): Doh, initializer should set
817'initialized'...
818(test_file_path_internal): It's valid for a split file
819to have a null component if the file is "".
820
8212005-08-25 Nathaniel Smith <njs@pobox.com>
822
823* paths.cc (in_bookkeeping_dir): Last change didn't work out so
824well; let's remove some negatives and see if I can understand what
825the code does this way...
826
8272005-08-25 Nathaniel Smith <njs@pobox.com>
828
829* paths.cc (not_in_bookkeeping_dir): Handle "MT" case.
830Update tests to make sure it sticks...
831
8322005-08-25 Nathaniel Smith <njs@pobox.com>
833
834* unit_tests.{cc,hh} (init_unit_test_suite): Remove
835path_component_tests.
836* unix/fs.cc (tilde_expand): Another compile fix.
837
8382005-08-25 Nathaniel Smith <njs@pobox.com>
839
840* {unix,win32}/fs.cc: Misc. compile fixes.
841
8422005-08-25 Nathaniel Smith <njs@pobox.com>
843
844* Makefile.am (UNIX_PLATFORM_SOURCES): Add unix/fs.cc
845(WIN32_PLATFORM_SOURCES): Add win32/fs.cc
846* paths.hh (bookkeeping_path): Implement default constructor.
847
8482005-08-25 Nathaniel Smith <njs@pobox.com>
849
850* rcs_import.cc (import_cvs_repo):
851* lua.cc (default_rcfilename):
852* diff_patch.cc (get_version): Small compile fixes.
853
8542005-08-25 Nathaniel Smith <njs@pobox.com>
855
856* paths.{cc,hh} (is_bookkeeping_path): New static method.
857* file_io.cc (walk_tree_recursive): Use it. Now compiles.
858paths.cc and file_io.cc now compile.
859
8602005-08-25 Nathaniel Smith <njs@pobox.com>
861
862* file_io.cc (delete_dir_recursive): Implement.
863Misc. compile fixes.
864
8652005-08-25 Nathaniel Smith <njs@pobox.com>
866
867* file_io.cc (test_book_keeping_file): Remove.
868
8692005-08-25 Nathaniel Smith <njs@pobox.com>
870
871* file_io.cc (walk_tree_recursive, walk_tree): Implement.
872
8732005-08-25 Nathaniel Smith <njs@pobox.com>
874
875* paths.cc (const_system_path): Do tilde expansion.
876
8772005-08-25 Nathaniel Smith <njs@pobox.com>
878
879* file_io.cc (read_localized_data, read_data_for_command_line)
880(write_localized_data, write_data, write_data_impl): Implement.
881
8822005-08-25 Nathaniel Smith <njs@pobox.com>
883
884* file_io.cc (read_data): Implement. Remove the base64<gzip<>>
885versions.
886
8872005-08-25 Nathaniel Smith <njs@pobox.com>
888
889* file_io.cc (move_file, move_dir): Implement.
890
8912005-08-25 Nathaniel Smith <njs@pobox.com>
892
893* file_io.cc (assert_path_is_nonexistent, assert_path_is_file)
894(assert_path_is_directory, require_path_is_nonexistent)
895(require_path_is_file, require_path_is_directory)
896(ident_existing_file, mkdir_p, make_dir_for, delete_file)
897(delete_dir_recursive): Implement.
898
8992005-08-25 Nathaniel Smith <njs@pobox.com>
900
901* Audit uses of 'file_exists', because its semantics have changed;
902it now checks to see if a path exists and is a regular file,
903rather than that it simply exists. A fair amount of code already
904thought it meant that... other places now use 'path_exists'.
905
9062005-08-25 Nathaniel Smith <njs@pobox.com>
907
908* file_io.cc (path_exists, directory_exists, file_exists):
909Implement.
910
9112005-08-25 Nathaniel Smith <njs@pobox.com>
912
913* platform.hh (get_path_status): New function.
914* unix/fs.cc (get_path_status): Implement.
915* win32/fs.cc (get_path_status): Implement inefficiently (does
916win32 have stat?)
917
9182005-08-25 Nathaniel Smith <njs@pobox.com>
919
920* file_io.cc (get_homedir, tilde_expand, book_keeping_file)
921(book_keeping_dir): Remove.
922
9232005-08-25 Nathaniel Smith <njs@pobox.com>
924
925* platform.hh (get_homedir): New function.
926* {win32,unix}/fs.cc (get_homedir): Expose.
927
9282005-08-25 Nathaniel Smith <njs@pobox.com>
929
930* Minor compile fixes.
931
9322005-08-25 Nathaniel Smith <njs@pobox.com>
933
934* platform.hh (tilde_expand): New function.
935* win32/fs.cc, unix/fs.cc: Implement it.
936
9372005-08-25 Nathaniel Smith <njs@pobox.com>
938
939* paths.cc: Many more fixes. Now compiles with and without unit
940tests.
941
9422005-08-25 Nathaniel Smith <njs@pobox.com>
943
944* paths.cc: Lots of compile fixes for unit tests.
945Add a test for access_tracker.
946
9472005-08-25 Nathaniel Smith <njs@pobox.com>
948
949* paths.cc: Many fixes. Now compiles.
950
9512005-08-25 Nathaniel Smith <njs@pobox.com>
952
953* paths.cc (system_path): Implement.
954
9552005-08-24 Nathaniel Smith <njs@pobox.com>
956
957* paths.cc (fully_normalized_path): Use find_first_of.
958
9592005-08-24 Nathaniel Smith <njs@pobox.com>
960
961* paths.cc (find_and_go_to_working_copy, save_initial_path)
962(go_to_working_copy): Use new checked structure.
963(operator <<): Make sure we can log our access_tracked values
964without marking them as used.
965
9662005-08-24 Nathaniel Smith <njs@pobox.com>
967
968* paths.cc (struct access_tracker): Add invariant checking on
969lifetime usage of path roots.
970
9712005-08-24 Nathaniel Smith <njs@pobox.com>
972
973* paths.hh (any_path::operator =): return *this.
974
9752005-08-24 Nathaniel Smith <njs@pobox.com>
976
977* paths.{cc,hh}: More fixes.
978
9792005-08-24 Nathaniel Smith <njs@pobox.com>
980
981* paths.{cc,hh}: Reorganize a bit. Implement file_path and
982bookkeeping_path.
983
9842005-08-24 Nathaniel Smith <njs@pobox.com>
985
986* paths.cc (file_path): Implement basic constructor.
987Misc compile fixes.
988Add single-character names to tests.
989
9902005-08-24 Nathaniel Smith <njs@pobox.com>
991
992* paths.cc (go_to_working_copy): New function. Implement.
993* app_state.cc (create_working_copy): Adjust accordingly.
994
9952005-08-24 Nathaniel Smith <njs@pobox.com>
996
997* paths.cc (find_and_go_to_working_copy): Implement.
998* app_state.cc (allow_working_copy): Adjust accordingly.
999(relative_directory): Remove.
1000* file_io.cc (find_working_copy): Remove.
1001
10022005-08-24 Nathaniel Smith <njs@pobox.com>
1003
1004* paths.cc (save_initial_path): Update for previous changes.
1005
10062005-08-24 Nathaniel Smith <njs@pobox.com>
1007
1008* paths.cc (test_system_path): Add tests for the
1009from-any_path constructor. Add test for "~foo" handling.
1010Start cleaning up path roots.
1011* platform.hh: Note that get_current_working_dir() is
1012charset-broken (i.e., operations started inside non-utf8
1013directories are probably broken).
1014
10152005-08-24 Nathaniel Smith <njs@pobox.com>
1016
1017* app_state.cc (allow_working_copy):
1018* change_set.cc (print_insane_change_set): Two more small compile
1019fixes.
1020All remaining compile errors are localized to unimplemented
1021paths.cc/file_io.cc functionality.
1022
10232005-08-24 Nathaniel Smith <njs@pobox.com>
1024
1025* database.cc (initialize): Missing ;.
1026
10272005-08-24 Nathaniel Smith <njs@pobox.com>
1028
1029* monotone.cc (cpp_main): Handle message_file right.
1030
10312005-08-24 Nathaniel Smith <njs@pobox.com>
1032
1033* change_set.cc (print_insane_path_rearrangement):
1034* database.cc (initialize):
1035* monotone.cc (cpp_main): More small compile fixes.
1036
10372005-08-24 Nathaniel Smith <njs@pobox.com>
1038
1039* file_io.hh
1040({assert,require}_path_is_{nonexistent,file,directory}): New
1041functions.
1042Use them everywhere.
1043
10442005-08-24 Nathaniel Smith <njs@pobox.com>
1045
1046* basic_io.hh: #include "paths.hh".
1047* monotone.cc (add_rcfile): Remove obsolete absolutification, etc.
1048
10492005-08-24 Nathaniel Smith <njs@pobox.com>
1050
1051* paths.hh (system_path): Add a from-any_path constructor.
1052* Makefile.am (MOST_SOURCES): Remove path_component.{cc,hh}.
1053* basic_io.hh (push_file_pair): New method.
1054* change_set.cc (print_insane_change_set)
1055(print_insane_path_rearrangement): Use it.
1056
10572005-08-24 Nathaniel Smith <njs@pobox.com>
1058
1059* paths.hh (any_path::as_internal): On second thought, return a
1060std::string, not a utf8 -- utf8 would be better, but should wait
1061for some more general charset handling cleanup.
1062* Adjust other files accordingly.
1063
10642005-08-24 Nathaniel Smith <njs@pobox.com>
1065
1066* More compile fixes. All remaing compile errors are real
1067problems, yay.
1068
10692005-08-24 Nathaniel Smith <njs@pobox.com>
1070
1071* Lots and lots more compile fixes.
1072
10732005-08-24 Nathaniel Smith <njs@pobox.com>
1074
1075* paths.hh, monotone.cc, app_state.hh, app_state.cc:
1076* unix/inodeprint.cc: More compile fixes.
1077
10782005-08-24 Nathaniel Smith <njs@pobox.com>
1079
1080* manifest.hh: Include paths.hh.
1081* file_io.hh: Fix syntax errors, and fixup interface.
1082
10832005-08-24 Nathaniel Smith <njs@pobox.com>
1084
1085* paths.hh, sanity.hh: Compilation fixes.
1086
10872005-08-24 Nathaniel Smith <njs@pobox.com>
1088
1089* paths.cc: Update tests to use path_state_* and pass utf8
1090objects.
1091
10922005-08-24 Nathaniel Smith <njs@pobox.com>
1093
1094* paths.hh (file_path_external): Take a utf8() object, always.
1095
10962005-08-24 Nathaniel Smith <njs@pobox.com>
1097
1098* paths.hh (class file_path): Make "convenience functions"
1099required.
1100
11012005-08-24 Nathaniel Smith <njs@pobox.com>
1102
1103* Switch rest of instances to using convenience functions.
1104
11052005-08-24 Nathaniel Smith <njs@pobox.com>
1106
1107* Switch many instances to using convenience functions.
1108
11092005-08-24 Nathaniel Smith <njs@pobox.com>
1110
1111* paths.hh (file_path_internal, file_path_external): Define
1112convenience functions.
1113(file_path, bookkeeping_path, system_path): Add default
1114constructors.
1115
11162005-08-24 Nathaniel Smith <njs@pobox.com>
1117
1118* app_state.cc, change_set.cc, change_set.hh, commands.cc:
1119* inodeprint.cc, manifest.cc, rcs_import.cc, restrictions.cc:
1120* work.cc: Audit all calls to file_path() to add internal/external
1121notation.
1122
11232005-08-24 Nathaniel Smith <njs@pobox.com>
1124
1125* app_state.cc: More paths.hh conversion.
1126(app_state::prefix): Remove.
1127* commands.cc: Remove uses of app.prefix.
1128* automate.cc (automate_attributes): Likewise.
1129
11302005-08-23 Nathaniel Smith <njs@pobox.com>
1131
1132* paths.hh (any_path::as_internal): On second thought, return a
1133utf8 object.
1134* app_state.cc (set_database): Take a system_path.
1135(set_pidfile): Likewise.
1136* monotone.cc (cpp_main): Pass one.
1137
11382005-08-23 Nathaniel Smith <njs@pobox.com>
1139
1140* file_io.hh (get_homedir): Return a system_path.
1141* app_state.hh (app_state): Make pidfile a system_path.
1142* sanity.hh (sanity::filename): Make a system_path.
1143* monotone.cc (cpp_main): Adjust accordingly.
1144* paths.hh (any_path): Add as_internal() to interface.
1145* paths.cc: Add roundtripping tests.
1146
11472005-08-23 Nathaniel Smith <njs@pobox.com>
1148
1149* platform.hh, unix/fs.cc, win32/fs.cc
1150(change_current_working_dir): Take an any_path, not a string.
1151* rcs_import.{cc,hh}: Convert to paths.hh.
1152
11532005-08-23 Nathaniel Smith <njs@pobox.com>
1154
1155* commands.cc (pid_file): Remove fs::path.
1156
11572005-08-23 Nathaniel Smith <njs@pobox.com>
1158
1159* mkstemp.cc (monotone_mkstemp): Remove references to fs::path.
1160
11612005-08-23 Nathaniel Smith <njs@pobox.com>
1162
1163* change_set.cc (apply_rearrangement_to_filesystem): Oops, missed
1164some local_path's.
1165
11662005-08-23 Nathaniel Smith <njs@pobox.com>
1167
1168* path_component.{cc,hh}: Delete.
1169
11702005-08-23 Nathaniel Smith <njs@pobox.com>
1171
1172* change_set.cc (move_files_to_tmp_bottom_up)
1173(move_files_from_tmp_top_down): Convert to paths.hh.
1174Whole file: stop using path_component.hh.
1175
11762005-08-23 Nathaniel Smith <njs@pobox.com>
1177
1178* paths.cc (test_bookkeeping_path): Oops, "" is an invalid
1179bookkeeping_path.
1180
11812005-08-23 Nathaniel Smith <njs@pobox.com>
1182
1183* lua.cc, paths.cc: Few more tweaks for previous change.
1184
11852005-08-23 Nathaniel Smith <njs@pobox.com>
1186
1187* paths.{cc,hh}: Add / operators. Make that the usual way to use
1188bookkeeping_path's.
1189* work.cc: Adjust accordingly.
1190* lua.cc (working_copy_rcfilename): Likewise.
1191* commands.cc (update): Likewise.
1192
11932005-08-23 Nathaniel Smith <njs@pobox.com>
1194
1195* paths.{cc,hh} (operator <<): Implement for any_paths.
1196* paths.hh (class bookkeeping_path): Note that current design is
1197bogus to remind myself to fix it tomorrow...
1198
11992005-08-23 Nathaniel Smith <njs@pobox.com>
1200
1201* work.{hh,cc}: Convert to paths.hh.
1202
12032005-08-23 Nathaniel Smith <njs@pobox.com>
1204
1205* lua.{cc,hh}: Mostly convert to paths.hh. (Still uses boost::fs
1206internally for some directory iteration.)
1207* app_state.cc (load_rcfiles): Update accordingly.
1208* file_io.hh (path_state): De-templatify; take any_path instead of
1209a T.
1210
12112005-08-23 Nathaniel Smith <njs@pobox.com>
1212
1213* paths.cc (any_path): New base class.
1214(file_path, bookkeeping_path, system_path): Inherit from it.
1215* transforms.{hh,cc} (utf8_to_system): Actually, always take a
1216utf8 after all (but still have two return types).
1217
12182005-08-23 Nathaniel Smith <njs@pobox.com>
1219
1220* transforms.cc: Convert to paths.hh.
1221
12222005-08-23 Nathaniel Smith <njs@pobox.com>
1223
1224* transforms.{cc,hh} (localized, localized_as_string): Remove.
1225
12262005-08-23 Nathaniel Smith <njs@pobox.com>
1227
1228* transforms.cc (utf8_to_system): Make fast.
1229
12302005-08-23 Nathaniel Smith <njs@pobox.com>
1231
1232* transforms.hh (utf8_to_system): Add a string->string version.
1233* transforms.cc (utf8_to_system): Implement it.
1234
12352005-08-23 Nathaniel Smith <njs@pobox.com>
1236
1237* paths.cc (localized_path_str): New function.
1238Fix some tests.
1239
12402005-08-23 Nathaniel Smith <njs@pobox.com>
1241
1242* commands.cc: Convert to paths.hh.
1243* mkstemp.cc (monotone_mkstemp): Likewise.
1244
12452005-08-23 Nathaniel Smith <njs@pobox.com>
1246
1247* vocab_terms.hh, vocab.cc: Remove file_path, local_path.
1248* database.{hh,cc}, monotone.cc: Convert to paths.hh.
1249* file_io.{hh,cc}: Start to convert to paths.hh.
1250
12512005-08-23 Nathaniel Smith <njs@pobox.com>
1252
1253* paths.{cc,hh} (fully_normalized_path): Implement.
1254(external_path): Rename to system_path.
1255Misc. other updates.
1256
12572005-08-21 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
1258* file_io.cc, file_io.hh, lua.cc, std_hooks.lua: determine if a
1259file is binary by looking at it incrementally, rather than reading
1260it in entirely. Prepare for making it possible to control what
1261characters are considered "binary"
1262
12632005-08-20 Petr Baudis <pasky@suse.cz>
1264* git.cc: Support for incremental imports - when you pull new
1265stuff to your GIT repository, you can then re-run git_import
1266and it will import the new stuff to a Monotone branch.
1267
12682005-08-20 Petr Baudis <pasky@suse.cz>
1269* cert.hh, cert.cc: Publish put_simple_revision_cert() - that
1270hints that it is ok to do custom certificates and lets us easily
1271do so from the GIT importer.
1272* git.cc: Associate a gitcommit cert containing commit and author
1273information with each imported commit. This will be especially
1274important for incremental imports.
1275
12762005-08-20 Nathaniel Smith <njs@codesourcery.com>
1277
1278* paths.cc (is_absolute): New function.
1279(file_path::file_path(vector<path_component>))
1280(file_path::split): Implement.
1281
12822005-08-20 Nathaniel Smith <njs@pobox.com>
1283
1284* interner.hh (interner): Add a scary constructor that lets us
1285insert an initial value and assert that we already knew that the
1286value assigned to it would be. (This lets us make it an inlined
1287constant.)
1288
12892005-08-20 Nathaniel Smith <njs@pobox.com>
1290
1291* paths.cc: Yet more tests.
1292
12932005-08-20 Nathaniel Smith <njs@pobox.com>
1294
1295* paths.cc (save_initial_path): Implement.
1296Add more tests.
1297
12982005-08-20 Nathaniel Smith <njs@codesourcery.com>
1299
1300* paths.{cc,hh}: New files.
1301* Makefile.am (MOST_SOURCES): Add them.
1302* unit_tests.hh (add_paths_tests): Declare.
1303* unit_tests.cc (init_unit_test_suite): Add them.
1304* platform.hh (get_current_working_dir)
1305(change_current_working_dir): New functions.
1306* {unix,win32}/fs.cc: New files.
1307
13082005-08-19 Nathaniel Smith <njs@codesourcery.com>
1309
1310* monotone.texi (Tutorial): Tweak wording, use --db at more
1311appropriate places.
1312
13132005-08-26 Richard Levitte <richard@levitte.org>
1314
1315* database.cc (version): Revert the change done earlier, as it
1316aborted if the schema isn't the current one, rendering this method
1317useless.
1318
13192005-08-26 Matt Johnston <matt@ucc.asn.au>
1320
1321* change_set.cc (check_depth, confirm_proper_tree):
1322more efficient algorithm to check for no loops
1323* constants.hh: new constant max_path_depth to limit
1324recursion in check_depth.
1325
13262005-08-26 Benoît Dejean <benoit@placenet.org>
1327
1328* po/fr.po: Updated French translation.
1329
13302005-08-26 Richard Levitte <richard@levitte.org>
1331
1332* options.hh, monotone.cc: Add the '--execute' command-specific
1333option.
1334* monotone.cc (cpp_main): ... and process it.
1335* app_state.hh (class app_state): Add the 'execute' boolean.
1336* app_state.cc (app_state): Initialise it.
1337* commands.cc (CMD(drop)): Add '--execute' capability.
1338* commands.cc (CMD(rename)): Add '--execute' capability. Pass
1339'app' to build_rename.
1340* work.hh, work.cc (build_deletions, build_rename): Do the actual
1341work. This required the addition of an app_state parameter to
1342build_rename.
1343
1344* tests/t_drop_execute.at, tests/t_rename_execute.at: New tests.
1345* testsuite.at: Add them.
1346
13472005-08-26 Benoît Dejean <benoit@placenet.org>
1348
1349* mt_version.cc (print_full_version): Merged strings.
1350* change_set.cc: No i18n for unittests. Wow, this saves
135121 strings (total 781).
1352
13532005-08-25 Benoît Dejean <benoit@placenet.org>
1354
1355* commands.cc (safe_gettext): New function.
1356(explain_usage): Used there to avoid _("").
1357
13582005-08-25 Benoît Dejean <benoit@placenet.org>
1359
1360* sanity.{cc,hh} (sanity::do_format): Merged code from
1361sanity::{log, warning, progress} in order to merge
1362strings. Fixed exception rethrowing.
1363
13642005-08-25 Benoît Dejean <benoit@placenet.org>
1365
1366* commands.cc (CMD(lca)): One more string for i18n.
1367(CMD(trusted)): Merged all strings.
1368
13692005-08-25 Benoît Dejean <benoit@placenet.org>
1370
1371* po/fr.po: Updated French translation.
1372
13732005-08-25 Benoît Dejean <benoit@placenet.org>
1374
1375* database.cc (database::version): Marked string for i18n
1376and simplifed.
1377(database::info): Reworked to merge all strings for i18n.
1378
13792005-08-25 Benoît Dejean <benoit@placenet.org>
1380
1381* database.{cc,hh} (database::open, database::check_filename):
1382New functions to avoid error handling code and string duplicates.
1383
13842005-08-25 Matt Johnston <matt@ucc.asn.au>
1385
1386* transform.cc ({int,ext}ernalize_rsa_keypair_id): don't
1387convert the username portion of key ids to/from ACE.
1388* tests/t_genkey.at: check that foo+bar@example.com works
1389and foobar@exam+ple.com doesn't.
1390
13912005-08-24 Benoît Dejean <benoit@placenet.org>
1392
1393* database.cc (assert_sqlite3_ok): Somehow merged error messages.
1394
13952005-08-24 Benoît Dejean <benoit@placenet.org>
1396
1397* change_set.cc (move_files_to_tmp_bottom_up): Better strings.
1398* keys.cc (generate_key_pair): Merged 2 strings.
1399
14002005-08-24 Nathaniel Smith <njs@pobox.com>
1401
1402* database.cc (assert_sqlite3_ok): Remove accidentally-left-in
1403format string argument.
1404
14052005-08-24 Nathaniel Smith <njs@pobox.com>
1406
1407* revision.cc (check_sane_history): Add MM's for calculated
1408changesets.
1409
14102005-08-24 Nathaniel Smith <njs@pobox.com>
1411
1412* database.cc (assert_sqlite3_ok): Don't print the raw sqlite
1413error code. Do add some auxiliary information when sqlite errors
1414are confusing.
1415
14162005-08-24 Nathaniel Smith <njs@pobox.com>
1417
1418* Back out most changes since
1419b580c6ac5bf8eea1f442b8bddc60283b047ade1e. Handling charsets
1420properly by working in utf8 and then converting sucks. Problems
1421include
1422 - gettext hates you (wants to return stuff in local charset)
1423 - strerror hates you (same reason, but you can't turn it off)
1424 - can't report charset conversion errors
1425We thus return to our "sorta-correct, by accident" status quo.
1426Only change left in is signedness fix in
14275548868ab56d939c1fd8713aa2ac8caacd1184a1.
1428
14292005-08-23 Nathaniel Smith <njs@pobox.com>
1430
1431* ui.cc (sanitize): Fix signedness bug in comparison.
1432* unix/unix.{cc,hh}: New files.
1433* Makefile.am (UNIX_PLATFORM_SOURCES): Add them.
1434* unix/process.cc (is_executable, make_executable): Use new
1435function last_error.
1436
14372005-08-23 Nathaniel Smith <njs@pobox.com>
1438
1439* transforms.{cc,hh} (system_charset): Expose.
1440* monotone.cc (cpp_main): Use it to fiddle with gettext's charset
1441conversion and make --help output actually correct.
1442
14432005-08-23 Nathaniel Smith <njs@pobox.com>
1444
1445* transforms.cc (outprep): Don't sanitize all output; removes too
1446many valid characters (\r, \t, etc.).
1447* ui.cc: Call outprep on ticker output.
1448(inform): Do still sanitize ui.inform() output.
1449
14502005-08-23 Nathaniel Smith <njs@pobox.com>
1451
1452* transforms.cc (outprep): New function.
1453* ui.cc (inform): Use it.
1454* monotone.cc (cpp_main): Use it.
1455Everything that writes user-intended output directly (i.e., via
1456cout) must call outprep() on that data before printing it.
1457
14582005-08-23 Nathaniel Smith <njs@pobox.com>
1459
1460* monotone.cc (cpp_main): Trick popt into converting its generated
1461help messages into the current locale's charset.
1462
14632005-08-23 Nathaniel Smith <njs@pobox.com>
1464
1465* ui.cc (inform, sanitize): Convert all output from utf8 to
1466current locale's charset.
1467
14682005-08-23 Nathaniel Smith <njs@pobox.com>
1469
1470* monotone.cc (cpp_main): Use bind_textdomain_codeset to request
1471that all gettext'ed strings be returned in UTF-8.
1472
14732005-08-23 Nathaniel Smith <njs@pobox.com>
1474
1475* idna/nfkc.c (g_utf8_strlen): Expose.
1476* transforms.{cc,hh} (length): New function.
1477* ui.cc (write_ticks): Use length() instead of .size() to
1478calculate string widths; should support multibyte characters
1479better. (Still some problems relating to truncating strings to
1480avoid overflow -- calculate truncation by length, but perform
1481truncation by bytes...)
1482
14832005-08-24 Benoît Dejean <benoit@placenet.org>
1484
1485* po/fr.po: Updated French translation.
1486
14872005-08-24 Benoît Dejean <benoit@placenet.org>
1488
1489* monotone.cc:
1490* commands.cc: Two more i18n strings.
1491
14922005-08-23 Benoît Dejean <benoit@placenet.org>
1493
1494* lua.cc: boost::format vs. F.
1495
14962005-08-23 Nathaniel Smith <njs@pobox.com>
1497
1498* AUTHORS: Add Benoît Dejean <benoit@placenet.org>. Create new
1499section for translators. Add Benoît there too.
1500
15012005-08-23 Nathaniel Smith <njs@pobox.com>
1502
1503* commands.cc: N_("") -> "".
1504
15052005-08-23 Nathaniel Smith <njs@pobox.com>
1506
1507* commands.cc: Make all CMD() calls use N_() instead of _().
1508(commands): Insert _() everywhere usage strings are used. This is
1509icky.
1510
15112005-08-23 Nathaniel Smith <njs@pobox.com>
1512
1513* keys.cc (get_passphrase): Put back trailing ": " removed in
1514recent i18n changes.
1515
15162005-08-23 Benoît Dejean <benoit@placenet.org>
1517
1518* change_set.cc (dump_change_set): boost::format instead of F.
1519* commands.cc (get_log_message, notify_if_multiple_heads,
1520complete, CMD(attr)): Marked some strings for i18n. Replaced a
1521multiline string by prefix_lines_with(). Merged strings.
1522* diff_patch.cc (merge_provider::try_to_merge_files): Merged
1523strings.
1524* i18n.h: N_() stands for gettext_noop(), not plural.
1525* keys.cc (get_passphrase): Fixed string surgery.
1526* netsync.cc: i18nized tickers' labels. Added xgettext comment
1527as tickers do not play well with multibytes characters (like é).
1528(session::analyze_attachment): Fixed string surgery.
1529(session::process_hello_cmd): Merged many strings.
1530(session::process_data_cmd): Removed some leading/trailing
1531whitespaces.
1532* sanity.cc: Marked error prefixes for i18n.
1533* ui.cc (tick_write_count::write_ticks): Reworked and fixed
1534surgery. Merged some strings.
1535
15362005-08-23 Benoît Dejean <benoit@placenet.org>
1537
1538* commands.cc (CMD*): _("") -> "" as _("") returns the PO
1539header.
1540
15412005-08-23 Benoît Dejean <benoit@placenet.org>
1542
1543* transforms.cc (check_idna_encoding): No i18n for unittests.
1544
15452005-08-23 Benoît Dejean <benoit@placenet.org>
1546
1547* change_set.cc (dump_change_set): boost::format instead of F.
1548* commands.cc (get_log_message, notify_if_multiple_heads,
1549complete, CMD(attr)): Marked some strings for i18n. Replaced a
1550multiline string by prefix_lines_with(). Merged strings.
1551* diff_patch.cc (merge_provider::try_to_merge_files): Merged
1552strings.
1553* i18n.h: N_() stands for gettext_noop(), not plural.
1554* keys.cc (get_passphrase): Fixed string surgery.
1555* netsync.cc: i18nized tickers' labels. Added xgettext comment
1556as tickers do not play well with multibytes characters (like é).
1557(session::analyze_attachment): Fixed string surgery.
1558(session::process_hello_cmd): Merged many strings.
1559(session::process_data_cmd): Removed some leading/trailing
1560whitespaces.
1561* sanity.cc: Marked error prefixes for i18n.
1562* ui.cc (tick_write_count::write_ticks): Reworked and fixed
1563surgery. Merged some strings.
1564
15652005-08-23 Benoît Dejean <benoit@placenet.org>
1566
1567* netcmd.cc (test_netcmd_functions): Don't translate unittest
1568strings.
1569* rcs_import.cc (cvs_commit::cvs_commit):
1570* database.cc (version_cache::put):
1571* lua.cc (dump_stack): boost::format vs. F for strings that are
1572not messages.
1573
15742005-08-23 Benoît Dejean <benoit@placenet.org>
1575
1576* xdelta.cc: Don't translate unittest strings.
1577
15782005-08-23 Matthew Gregan <kinetik@orcon.net.nz>
1579
1580* monotone.texi: Bring 'update' syntax up to date.
1581
15822005-08-23 Nathaniel Smith <njs@pobox.com>
1583
1584* tests/t_diff_external.at: --diff-args without --external is an
1585error.
1586* commands.cc (diff): Likewise.
1587
15882005-08-22 Nathaniel Smith <njs@pobox.com>
1589
1590* contrib/ciabot_monotone.py (send_change_for): Handle author
1591names with spaces in.
1592
15932005-08-22 Matt Johnston <matt@ucc.asn.au>
1594
1595* HACKING: change the vim modeline to something that seems to work
1596better.
1597
15982005-08-23 Olivier Andrieu <oliv__a@users.sourceforge.net>
1599
1600* contrib/monotone.el: When running monotone commands, re-use
1601*monotone* buffers. Make the "status" command use the prefix
1602argument. Make the "tree"-restricted commands work in dired
1603buffers. Add the "--no-merges" option in the log command. Various
1604other innocuous changes.
1605
16062005-08-22 Nathaniel Smith <njs@pobox.com>
1607
1608* mt_version.cc (print_full_version): Typo.
1609
16102005-08-22 Nathaniel Smith <njs@pobox.com>
1611
1612* mt_version.cc: Include sanity.hh.
1613
16142005-08-22 Nathaniel Smith <njs@pobox.com>
1615
1616* netsync.cc (process_error_cmd, run_netsync_protocol): Remove
1617some newlines to avoid translation noise.
1618
16192005-08-22 Nathaniel Smith <njs@pobox.com>
1620
1621* po/LINGUAS, po/ja.po: Remove ja translation again, it seems to
1622be corrupt.
1623
16242005-08-22 Nathaniel Smith <njs@pobox.com>
1625
1626* commands.cc (update): Don't use F() to indent things.
1627
16282005-08-22 Nathaniel Smith <njs@pobox.com>
1629
1630* commands.cc (dump_diffs): Don't use F() to create diff headers.
1631(commands::process): Put '' in the log message to make Benoît
1632Dejean happy ;-).
1633
16342005-08-22 Nathaniel Smith <njs@pobox.com>
1635
1636* po/LINGUAS, po/ja.po: Add Japanese translation by Satoru SATOH.
1637
16382005-08-20 Benoît Dejean <benoit@placenet.org>
1639
1640* po/monotone.pot: Remove from version control.
1641* po/POTFILES.skip: New file.
1642* po/fr.po: French translation (initial version).
1643* po/LINGUAS: Add fr.
1644
16452005-08-22 Nathaniel Smith <njs@pobox.com>
1646
1647* commands.cc (read): Use FP (thanks to Benoît Dejean for
1648catch).
1649* mt_version.cc (print_version, print_full_version): Mark more
1650strings for i18n (also thanks to Benoît Dejean).
1651
16522005-08-22 Nathaniel Smith <njs@pobox.com>
1653
1654* commands.cc (commands): Revert previous changes, xgettext is
1655buggy.
1656Mark every CMD() string argument with _().
1657* i18n.h, Makefile.am: New file.
1658* sanity.hh: Include it.
1659* po/Makevars (XGETTEXT_OPTIONS): Learn about _() and N_() as
1660markers.
1661
16622005-08-22 Nathaniel Smith <njs@pobox.com>
1663
1664* commands.cc (commands): Oops, can't call gettext on a
1665std::string...
1666
16672005-08-22 Nathaniel Smith <njs@pobox.com>
1668
1669* monotone.cc (coptions, options): Use gettext_noop to mark usage
1670strings for i18n.
1671* commands.cc (commands): gettextify command descriptions
1672* po/Makevars (XGETTEXT_OPTIONS): Include the 2nd, 3rd, and 4th
1673arguments to CMD macro as translatedable strings.
1674
16752005-08-22 Nathaniel Smith <njs@pobox.com>
1676
1677* database.cc: Replace a bunch of F()'s by boost::format's,
1678because F is only for strings displayed to user.
1679
16802005-08-22 Nathaniel Smith <njs@pobox.com>
1681
1682* po/Makevars (XGETTEXT_OPTIONS): Extract FP'ed strings.
1683
16842005-08-22 Nathaniel Smith <njs@pobox.com>
1685
1686* sanity.hh (FP): New macro. Usage:
1687FP("frobbed %i bar", "frobbed %s bars", num_bars) % num_bars
1688
16892005-08-22 Richard Levitte <richard@levitte.org>
1690
1691* contrib/monotone-import.pl: When temporarly touching files that
1692have disappeared since last import, don't forget to create
1693intermediary directories as well (and to remove them later on).
1694Make sure all file arguments are quoted. Finally, pick up the
1695newly created revision by reading MT/revision instead of relying
1696on backquotes working.
1697Notofication and initial correction submitted by
1698BigFish <bigfische@gmail.com>.
1699
17002005-08-20 Matthew Gregan <kinetik@orcon.net.nz>
1701
1702* revision.hh: Delete doubled line of text in comment.
1703
17042005-08-20 Benoît Dejean <benoit@placenet.org>
1705
1706* monotone.cc (cpp_main): setlocale(LC_ALL).
1707* commands.cc (dropkey): Unify warning into a single string.
1708
17092005-08-20 Nathaniel Smith <njs@codesourcery.com>
1710
1711* contrib/monoprof.sh (test_commit): Kernel tarball unpacks to
1712linux-$KVER/, not $KVER/.
1713
17142005-08-19 Nathaniel Smith <njs@codesourcery.com>
1715
1716* contrib/monoprof.sh (SETUP): Put netsync hooks in the default
1717hook file.
1718
17192005-08-19 Nathaniel Smith <njs@codesourcery.com>
1720
1721* contrib/monoprof.sh: Give a sensible error message if $DATADIR
1722doesn't exist.
1723
17242005-08-20 Matt Johnston <matt@ucc.asn.au>
1725
1726* database.cc (put_revision): uncomment check_sane_history call
1727(was accidentally committed commented out)
1728
17292005-08-19 Nathaniel Smith <njs@codesourcery.com>
1730
1731* monotone.texi (Tutorial): Tweak wording, use --db at more
1732appropriate places.
1733
17342005-08-19 Matthew Gregan <kinetik@orcon.net.nz>
1735
1736* tests/t_crlf.at: Adjust expected line count to accomodate diff
1737output change.
1738* commands.cc (CMD(diff)): Include base revision ID in diff output
1739header when diffing against working copy. Useful to identify what
1740revision a patch was created against.
1741* std_hooks.lua (ignore_file): Ignore Visual SourceSafe junk.
1742
17432005-08-18 Petr Baudis <pasky@suse.cz>
1744* Makefile.am, git.hh, git.cc: Initial support for importing from
1745GIT repositories to Monotone. This is pretty basic yet, full of
1746TODOs, can't do tags nor incremental imports, does not record
1747executability of files, and does not attach git certs to the
1748imported commits. But it more-or-less successfully imports history
1749of the GIT project itself, although it takes its time.
1750* commands.cc: git_import command.
1751
17522005-08-18 Timothy Brownawell <tbrownaw@gmail.com>
1753
1754* std_hooks.lua: accept_testresult_change now only cares about
1755testresults listed in MT/wanted-testresults
1756
17572005-08-18 Matthew Gregan <kinetik@orcon.net.nz>
1758
1759* INSTALL: Remove outdated references to configure options and
1760Solaris build workarounds.
1761* configure.ac: Lower gettext requirement from 0.12.1 to 0.11.5.
1762
17632005-08-17 Timothy Brownawell <tbrownaw@gmail.com>
1764
1765* sanity.cc (gasp()): When catching an error from dumping a MM'd
1766variable, do not discard output generated prior to the error. This
1767way, at least the header line (function name, file, line no.) is
1768printed.
1769* change_set.cc: write_insane_change_set: new function to write a
1770change set without sanity checking it, now used by dump().
1771
17722005-08-17 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1773
1774* unix/process.cc: missing include
1775* m4/fexceptions.m4, configure.ac, Makefile.am: remove hardcoded
1776-fexceptions in CFLAGS and add it only if compiler doesn't freak
1777out.
1778
17792005-08-17 Nathaniel Smith <njs@pobox.com>
1780
1781* work.cc (build_additions): Tweak wording.
1782
17832005-08-17 Nathaniel Smith <njs@pobox.com>
1784
1785* netsync.cc: Add IANA port assignment to the todo list.
1786
17872005-08-17 Nathaniel Smith <njs@pobox.com>
1788
1789* unix/process.cc (make_executable): Open the fd read-only, avoids
1790problems with read-only files, and a writeable fd doesn't seem to
1791be necessary to change permission bits.
1792
17932005-08-17 Nathaniel Smith <njs@pobox.com>
1794
1795* unix/process.cc (is_executable, make_executable): When reporting
1796an error in a syscall, include the actual error message.
1797
17982005-08-17 Nathaniel Smith <njs@pobox.com>
1799
1800* lua.cc (dump_stack): New function.
1801(Lua::fail): New method; use above.
1802(get, get_fn, get_tab, get_str, get_num, get_bool, extract_str)
1803(extract_int, extract_double, extract_bool, begin, next, pop): Use
1804it, to give better logging.
1805
18062005-08-17 Nathaniel Smith <njs@pobox.com>
1807
1808* Makefile.am (lib3rdparty_a_CFLAGS): Build 3rd party C code with
1809-fexceptions.
1810
18112005-08-17 Matthew Gregan <kinetik@orcon.net.nz>
1812
1813* win32/process.cc: Slightly smarter argv->cmdline munging.
1814* std_hooks.lua: Merge hooks for TortoiseMerge (part of
1815TortoiseSVN).
1816
18172005-08-17 Nathaniel Smith <njs@pobox.com>
1818
1819* lua.cc (lua_hooks): Re-enable panic thrower, we no longer
1820support Lua 4.
1821
18222005-08-16 Nathaniel Smith <njs@pobox.com>
1823
1824* netsync.cc: Add more netsync todos.
1825
18262005-08-15 Nathaniel Smith <njs@pobox.com>
1827
1828* tests/t_explicit_merge_with_anc.at: New test.
1829* testsuite.at: Add it.
1830
18312005-08-15 Nathaniel Smith <njs@pobox.com>
1832
1833* tests/t_log_brief.at: New test.
1834* testsuite.at: Add it.
1835
18362005-08-15 Nathaniel Smith <njs@pobox.com>
1837
1838* commands.cc (fcommit): Remove. This command has never been
1839documented, tested, or maintained; it also doesn't avoid the use
1840of temporary files (which was supposed to be its purpose). Has it
1841ever actually been used...?
1842
18432005-08-15 Nathaniel Smith <njs@pobox.com>
1844
1845* lua.cc (hook_init_attributes): Do more logging; use begin()
1846instead of starting iteration by hand.
1847
18482005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1849
1850* testsuite.at, tests/*.at: make testsuite less demanding:
1851- QGREP() and QEGREP() provide a portable [e]grep -q
1852- export FOO=bar -> FOO=bar; export FOO
1853- tail -n $x -> TAIL($x) with appropriate macro
1854
18552005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1856
1857* m4/typeof.m4: new test, looks if compiler knows the typeof()
1858extension
1859* configure.ac: use it
1860* sanity.hh: use the test, and boost's abstraction over
1861__PRETTY_FUNCTION__ and similar pseudo-macros
1862
18632005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1864
1865* configure.ac (BOOST_FIX_VERSION): only apply that fix on gcc.
1866
18672005-08-14 Nathaniel Smith <njs@pobox.com>
1868
1869* configure.ac (BOOST_VERSION_CHECK, BOOST_FIX_VERSION): Fix for
1870cross-compilation. (Thanks to John Bowler <jbowler@acm.org>.)
1871
18722005-08-14 Matthew Gregan <kinetik@orcon.net.nz>
1873
1874* testsuite.at: Don't use agraph.
1875* Makefile.am: Minor cleanups.
1876
18772005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1878
1879* botan/gzip.cpp, botan/mutex.cpp: c functions via c* headers need
1880std:: prefix
1881
18822005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1883
1884* schema_migration.cc (lowercase): it's only used for processing sha1
1885values whos size we know: make array size constant
1886* transforms.cc (encode_hexenc, decode_hexenc): they have to work with
1887all kinds of string sizes, so at least make them nicer by using
1888boost::scoped_array
1889
18902005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1891
1892* revision.cc: make copy constructor of revision_set behave like
1893normal constructor in case it's copying a freshly created object
1894
18952005-08-13 Nathaniel Smith <njs@pobox.com>
1896
1897* testsuite.at: Use SEGV to kill netsync servers, in hopes it will
1898give better coverage information.
1899
19002005-08-13 Julio M. Merino Vidal <jmmv@menta.net>
1901
1902* configure.ac: Remove an obsolete check to see if SQLite was
1903bundled or not, because the bundled version has been used
1904exclusively for quite some time.
1905
19062005-08-13 Julio M. Merino Vidal <jmmv@menta.net>
1907
1908* database_check.cc: Remove trailing newline from error messages
1909when embedding them inside other strings, so that the trailing
1910closing parenthesis is printed correctly.
1911
19122005-08-13 Julio M. Merino Vidal <jmmv@menta.net>
1913
1914* configure.ac: Add '-mt' as another possible suffix to detect the
1915Boost libraries. It's very common when these libraries are built
1916with the "native naming layout".
1917
19182005-08-13 Nathaniel Smith <njs@pobox.com>
1919
1920* monotone.1, monotone.texi: Don't mention agraph.
1921* tests/t_netsync_repeated.at: Don't use agraph.
1922* tests/t_netsync_unrelated.at: Likewise.
1923
19242005-08-13 Nathaniel Smith <njs@pobox.com>
1925
1926* commands.cc (agraph): Remove.
1927
19282005-08-13 Nathaniel Smith <njs@pobox.com>
1929
1930* tests/t_commit_log_writeback.at: New test.
1931* testsuite.at: Add it.
1932
19332005-08-12 Nathaniel Smith <njs@pobox.com>
1934
1935* commands.cc (commit): When user uses --message or
1936--message-file, don't require non-empty logs, and don't write out
1937message to MT/log. (This makes re-running a 'commit -m foo'
1938command line until it works possible; otherwise the second try
1939will get a 'MT/log non-empty and -m supplied' error.)
1940
19412005-08-11 Nathaniel Smith <njs@pobox.com>
1942
1943* netsync.cc: Add a list of ideas for improvement that will break
1944network compatibility and thus perhaps should go together.
1945
19462005-08-11 Nathaniel Smith <njs@pobox.com>
1947
1948* tests/t_commit_message_file.at: Un-double file contents.
1949
19502005-08-11 Nathaniel Smith <njs@pobox.com>
1951
1952* lua.cc (ok, extract_str, extract_int, extract_double)
1953(extract_bool): Add more logging.
1954
19552005-08-11 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1956
1957* INSTALL: remove section about crypto++ on solaris
1958* config.rpath, mkinstalldirs, po/Makefile.in.in,
1959 various files in m4, ABOUT-NLS:
1960 remove as they're autogenerated
1961* hash_map.hh, m4/gnucxxhashmap.m4, m4/stlporthashmap.m4:
1962 new files, abstraction over hash_map differences in STL impls.
1963* m4/externtemplate.m4: new file, check if compiler is happy
1964 with "extern template"
1965* configure.ac: hook up the new autoconf tests
1966* Makefile.am: remove -Wall
1967* botan/gzip.cpp, botan/mutex.cpp: add includes
1968* constants.*: move values to .hh if used for array sizes
1969* interner.hh, xdelta.cc: use hash_map.hh
1970* merkle_tree.cc, unix/inodeprint.cc: make array size truly
1971 constant
1972* sanity.hh: work-around for missing typeof() and
1973 __PRETTY_FUNCTIONS on non-gcc compilers
1974* schema_migration.cc, transforms.cc: moved dynamically
1975 initialized array to heap
1976* transforms.hh, vocab.hh: use externtemplate autoconf test
1977
19782005-08-10 Matthew Gregan <kinetik@orcon.net.nz>
1979
1980* monotone.spec: include zlib-devel and texinfo as build
1981requirements, zlib as a runtime requirement.
1982
19832005-08-09 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
1984
1985* tests/perf-test.sh: A repeatable performance test harness
1986* tests/parse-accounting.pl: A script that parses the accounting
1987output into a nice tabular format
1988
19892005-08-09 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
1990
1991* Changes to significantly improve network pull performance
1992* string_queue.hh: created to store pending data and allow for
1993efficient removal from the front. The string queue automatically
1994reduces its buffer size if it is very empty.
1995* hmac.{cc,hh}: Add in a version of chained_hmac::process that can
1996operate on a string_queue for use during read.
1997* netcmd.{cc,hh}: update netcmd::read to use a string_queue rather
1998than a string, update all the regression tests also. This required
1999the somewhat ugly creation of a read_string function because the
2000netcmd read and write functions are no longer using the same type.
2001* netio.hh: introduce functions for operating on a string_queue. They
2002are identical to the equivalent string functions except for the type
2003of the argument.
2004* netsync.cc: Use a string_queue rather than a string for storing the
2005input and output buffers.
2006
2007* string_queue.cc: unit tests (Matt Johnston)
2008
20092005-08-09 Richard Li <richardl@redhat.com>
2010
2011* std_hooks.lua (merge2, merge3): explain a little better why
2012monotone can't find a merge command.
2013
20142005-08-09 Nathaniel Smith <njs@pobox.com>
2015
2016* commands.cc (update): Fix helpful error message to suggest
2017_current_ commandline syntax.
2018
20192005-08-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
2020
2021* contrib/monotone.el: a couple of fixes spotted by the compiler
2022* Changelog, contrib/colorize: utf8ize
2023
20242005-08-09 Nathaniel Smith <njs@pobox.com>
2025
2026* NEWS: Put a time in.
2027* po/monotone.pot: Regenerate.
2028
20292005-08-08 Nathaniel Smith <njs@pobox.com>
2030
2031* configure.ac, monotone.spec, debian/changelog:
2032* win32/monotone.iss: Bump version number.
2033
20342005-08-08 Nathaniel Smith <njs@pobox.com>
2035
2036* UPGRADE: Fix title.
2037* NEWS: Add --lca.
2038
20392005-08-08 Nathaniel Smith <njs@pobox.com>
2040
2041* commands.cc (merge, propagate): Take --lca.
2042* options.hh: Add OPT_LCA.
2043* monotone.cc (coptions, cpp_main): Support it it.
2044* app_state.{hh,cc} (app_state::usa_lca): New variable.
2045* revision.cc (find_common_ancestor_for_merge): Use LCA if user
2046passed --lca.
2047* tests/t_merge_lca.at: New test.
2048* testsuite.at: Add it.
2049* monotone.texi (Tree): Document --lca.
2050
20512005-08-08 Nathaniel Smith <njs@pobox.com>
2052
2053* NEWS: First-pass for 0.22 release.
2054* UPGRADE: Likewise.
2055
20562005-08-08 Nathaniel Smith <njs@pobox.com>
2057
2058* Makefile.am (BOTAN_SOURCES): Add botan headers.
2059* po/monotone.pot: Regenerate.
2060
20612005-08-07 Nathaniel Smith <njs@pobox.com>
2062
2063* netsync.cc (rebuild_merkle_trees, insert_with_parents): Make a
2064ticker for added revisions, since traversing the tree to pull in
2065ancestors causes a noticeable pause before the cert/key tickers
2066start up.
2067(insert_with_parents): Also simplify logic.
2068
20692005-08-07 Nathaniel Smith <njs@pobox.com>
2070
2071* commands.cc (pull): Clarify what the "doing anonymous pull"
2072message means and what you might do about it.
2073
20742005-08-07 Nathaniel Smith <njs@pobox.com>
2075
2076* monotone.texi (Network Service, Hooks): Document
2077get_netsync_read_permitted as getting a nil value on anonymous
2078connects.
2079* lua.{cc.hh} (hook_get_netsync_anonymous_read_permitted):
2080Remove. Replace with 1-argument version of
2081hook_get_netsync_write_permitted.
2082* netsync.cc (process_anonymous_cmd): Update.
2083* tests/t_netsync_permissions.at: Likewise.
2084
20852005-08-07 Matthew Gregan <kinetik@orcon.net.nz>
2086
2087* botan/{data_snk,es_file}.cpp: Open fstreams in binary mode.
2088These changes, plus the same change for data_src.cpp and
2089es_ftw.cpp, have been sent upstream.
2090
20912005-08-05 Nathaniel Smith <njs@pobox.com>
2092
2093* commands.cc (commit): Write out the log message to MT/log
2094_after_ making sure it's non-empty.
2095* tests/t_commit_cancelled.at: New test.
2096* testsuite.at: Add it.
2097
20982005-08-04 Nathaniel Smith <njs@pobox.com>
2099
2100* netsync.cc (rebuild_merkle_trees): Typo.
2101
21022005-08-04 Nathaniel Smith <njs@pobox.com>
2103
2104* netsync.cc (rebuild_merkle_trees): Tweak message ("rebuilding
2105merkle trees" does not mean anything to J. Random User...)
2106
21072005-08-04 Nathaniel Smith <njs@pobox.com>
2108
2109* manifest.cc (build_restricted_manifest_map): In 'missing files'
2110error message, explain how to recover.
2111
21122005-08-03 Nathaniel Smith <njs@pobox.com>
2113
2114* testsuite.at (NETSYNC_ADDRESS): New macro.
2115(NETSYNC_SERVE_N_START, NETSYNC_SERVE_START)
2116(NETSYNC_CLIENT_N_RUN): Use it.
2117
2118* tests/t_netsync_checks_server_key.at: Make sure can unset the
2119known-servers entry.
2120
21212005-08-03 Matthew A. Nicholson <matt@matt-land.com>
2122
2123* std_hooks.lua (get_preferred_merge2_command)
2124(get_preferred_merge3_command): Provide more information on how to
2125use vim as merge tool.
2126
21272005-08-03 graydon hoare <graydon@pobox.com>
2128
2129* unix/process.cc (make_executable): Fix race, set user/group/other.
2130
21312005-08-03 Matthew Gregan <kinetik@orcon.net.nz>
2132
2133* botan/data_src.cpp (DataSource_Stream::DataSourceStream): Open
2134fstream as binary file.
2135
21362005-08-03 Matthew Gregan <kinetik@orcon.net.nz>
2137
2138* win32/inodeprint.cc: Botan changes. Also, hash individual
2139FileTime structure members rather than the entire structure.
2140* keys.cc: Add explicit 'using' for Botan::byte.
2141* botan/es_win32.{cpp,h}: Add missing files.
2142* Makefile.am: Enable entropy collection via CryptoAPI and Win32
2143API.
2144
21452005-08-02 Matt Johnston <matt@ucc.asn.au>
2146
2147* botan/gzip.cpp: forgot to commit some semicolons
2148
21492005-08-02 Matt Johnston <matt@ucc.asn.au>
2150
2151* botan/gzip.{cpp,h}: rearranged the code to be clearer.
2152
21532005-08-01 Nathaniel Smith <njs@pobox.com>
2154
2155* netsync.cc (get_branches): Remove warning when there are no
2156branches.
2157
21582005-07-29 Nathaniel Smith <njs@pobox.com>
2159
2160* globish.cc (matcher::operator()): Log what's happening.
2161(checked_globish_to_regex_test): Fix previously added test.
2162
21632005-07-29 Nathaniel Smith <njs@pobox.com>
2164
2165* globish.cc (checked_globish_to_regex_test): Add another test for
2166quoted characters.
2167
21682005-07-28 Nathaniel Smith <njs@pobox.com>
2169
2170* update.cc (calculate_update_set): Only include current rev in
2171update set if it is an acceptable candidate.
2172* commands.cc (update): Clarify error message in this case.
2173* tests/t_update_branch.at: Update accordingly.
2174
21752005-07-28 Matthew Gregan <kinetik@orcon.net.nz>
2176
2177* monotone.spec: Require boost >= 1.32.
2178
21792005-07-27 Matthew Gregan <kinetik@orcon.net.nz>
2180
2181* tests/t_merge_add_del.at: 'drop' does not take a branch (test
2182now fails in expected place).
2183* tests/t_merge_add_rename_add.at: New test.
2184* testsuite.at: Add it.
2185
21862005-07-27 Nathaniel Smith <njs@pobox.com>
2187
2188* tests/t_update_branch.at: New test.
2189* testsuite.at: Add it.
2190(REVERT_TO): Do not preserve MT/options file (can setup invalid
2191branch).
2192* app_state.cc (make_branch_sticky): Call write_options when
2193already have a working copy.
2194* commands.cc (update): Call make_branch_sticky at appropriate
2195time.
2196
21972005-07-27 Nathaniel Smith <njs@pobox.com>
2198
2199* commands.cc: ALIAS(mv, rename). ALIAS(rm, drop).
2200
22012005-07-26 Nathaniel Smith <njs@pobox.com>
2202
2203* change_set.cc (dump): Add state_renumbering dumper.
2204(merge_disjoint_analyses): Add MM().
2205
22062005-07-26 Nathaniel Smith <njs@pobox.com>
2207
2208* change_set.cc (dump): Add path_analysis dumper.
2209(merge_change_sets): Add more MM()s.
2210
22112005-07-26 Nathaniel Smith <njs@pobox.com>
2212
2213* change_set.cc (dump): Add path_state dumper.
2214(sanity_check_path_state): Add MM().
2215
22162005-07-26 Richard Levitte <richard@levitte.org>
2217
2218* revision.cc (check_sane_history): Convert tabs to the
2219appropriate amount of spaces.
2220
22212005-07-26 Richard Levitte <richard@levitte.org>
2222
2223* sanity.hh, revision.cc (check_sane_history),
2224change_set.cc (concatenate_change_sets, merge_change_sets,
2225invert_change_set): Because boost currently uses the symbol M, we
2226have a clash. Therefore, let's rename M to MM, for now.
2227
22282005-07-26 Richard Levitte <richard@levitte.org>
2229
2230* commands.cc (CMD(privkey)): Change so both the public and
2231private key are printed.
2232
2233* tests/t_dropkey_2.at, tests/t_lua_privkey.at: Adapt to the new
2234private key format.
2235
22362005-07-24 Nathaniel Smith <njs@pobox.com>
2237
2238* sanity.cc (MusingI, ~MusingI): No-op when already in the middle
2239of dumping.
2240
22412005-07-25 Matthew Gregan <kinetik@orcon.net.nz>
2242
2243* Makefile.am, configure.ac: Remove BUNDLED_{LUA,SQLITE} tests and
2244clarify the comment for popt. Using external versions of these
2245tools didn't work anyway, so there's no point giving the
2246impression that it might.
2247
22482005-07-24 Nathaniel Smith <njs@pobox.com>
2249
2250* sanity.cc (gasp): Handle the possibility of multiple valid calls
2251to gasp(), 'db check' can trigger multiple invariants without
2252dying.
2253
22542005-07-24 Nathaniel Smith <njs@pobox.com>
2255
2256* sanity.{hh,cc} (sanity::already_dumping, gasp): Don't let gasp
2257be called recursively, in case a dump triggers an invariant.
2258
22592005-07-24 Nathaniel Smith <njs@pobox.com>
2260
2261* sanity.cc (gasp): Make more robust against new errors triggered
2262during error unwind. (write_change_set in particular likes to
2263blow up when handling in invalid change_set.)
2264
22652005-07-24 Nathaniel Smith <njs@pobox.com>
2266
2267* change_set.cc (merge_change_sets, check_sane)
2268(concatenate_change_sets, invert_change_set): Add M()s.
2269
22702005-07-24 Nathaniel Smith <njs@pobox.com>
2271
2272* sanity.{hh,cc} (dump): Remove templated version, add std::string
2273version.
2274* vocab.{hh,cc} (dump): Add ATOMIC/DECORATE/ENCODING dumpers.
2275* change_set.{hh,cc} (dump): Add change_set dumper.
2276* manifest.{hh,cc} (dump): Add manifest_map dumper.
2277* revision.cc (check_sane_history): Add some M()s.
2278
22792005-07-24 Nathaniel Smith <njs@pobox.com>
2280
2281* sanity.hh (class Musing, gasp, dump): Actually, take a
2282std::string instead of a std::ostream; fits our idioms better.
2283
22842005-07-24 Nathaniel Smith <njs@pobox.com>
2285
2286* sanity.cc (log, progress, warning): Append '\n' to strings when
2287necessary.
2288(gasp): Save string properly.
2289(M): Apply black magic. Now works correctly.
2290(dump): Write newline.
2291
22922005-07-24 Nathaniel Smith <njs@pobox.com>
2293
2294* sanity.hh (dump): Add a default 'dump' implementation for all
2295<<able objects.
2296
22972005-07-24 Nathaniel Smith <njs@pobox.com>
2298
2299* constants.{cc,hh} (default_terminal_width): New constant.
2300* ui.cc (guess_terminal_width): Use it.
2301
23022005-07-24 Nathaniel Smith <njs@pobox.com>
2303
2304* diff_patch.cc (unidiff_append_test): Fix typo.
2305
23062005-07-24 Nathaniel Smith <njs@pobox.com>
2307
2308* tests/t_annotate_no_rev.at: New test.
2309* testsuite.at: Add it.
2310
23112005-07-24 Nathaniel Smith <njs@pobox.com>
2312
2313* sanity.{hh,cc} (sanity, dump_buffer, invariant_failure)
2314(index_failure,MusingI, Musing, M): Implement macro M(), for
2315'musing', which marks data that monotone was musing over when an
2316invariant tripped.
2317* Makefile.am (MOST_SOURCES): Fix spacing.
2318
23192005-07-23 Nathaniel Smith <njs@pobox.com>
2320
2321* ui.{hh,cc} (guess_terminal_width): New function.
2322(tick_write_dot::chars_on_line): Make unsigned to quiet gcc warning.
2323(tick_write_dot::write_ticks): Use guess_terminal_width.
2324* commands.cc (dump_diffs): Take full responsibility for printing
2325=== lines, and use guess_terminal_width.
2326* diff_patch.cc (make_diff): Don't print === lines.
2327(unidiff_append_test): Adjust accordingly.
2328
23292005-07-23 Matthew Gregan <kinetik@orcon.net.nz>
2330
2331* commands.cc (CMD(annotate)): Check for a valid revision before
2332trying to fetch it from the database.
2333* lua/lundump.[ch], lua/ldump.c: Rename VERSION and VERSION0 to
2334LUA_DUMP_VERSION and LUA_DUMP_VERSION0 to avoid clashes with
2335VERSION from config.h.
2336
23372005-07-22 Nathaniel Smith <njs@pobox.com>
2338
2339* monotone.texi (Committing Work): Remove discussion of manifests.
2340
23412005-07-20 Nathaniel Smith <njs@pobox.com>
2342
2343* netsync.cc (rebuild_merkle_trees): Make 'including branch'
2344message L() instead of P(); it's nice information, but too much to
2345be useful with large databases.
2346
23472005-07-22 Matt Johnston <matt@ucc.asn.au>
2348
2349* database_check.cc: check that revisions and manifests
2350are normalised to the same for that they would be written as.
2351* tests/t_database_check_normalized.at: a test for it.
2352* testsuite.at: add it.
2353
23542005-07-21 Richard Levitte <richard@levitte.org>
2355
2356* contrib/monotone-import.pl: Now uses the given tag.
2357
23582005-07-20 Marcel van der Boom <marcel@hsdev.com>
2359
2360* database.{cc,hh} (get_branches): New method.
2361* commands.cc (ls_branches): Use it.
2362* netsync.cc (get_branches): Likewise.
2363* tests/t_ls_branches.at: New test.
2364* testsuite.at: Add it.
2365
23662005-07-20 Nathaniel Smith <njs@pobox.com>
2367
2368* commands.cc (db): Rename kill_branch_locally to
2369kill_branch_certs_locally.
2370* tests/t_db_kill_branch_locally.at: Rename to...
2371* tests/t_db_kill_branch_certs_locally.at: ...this. Update.
2372* testsuite.at: Update.
2373* monotone.texi (Database): Update.
2374
23752005-07-19 Nathaniel Smith <njs@pobox.com>
2376
2377* schema_migration.cc (migrator::migrate): Add a check for schemas
2378that are just... wrong.
2379* tests/t_migrate_broken_schema.at: New test.
2380
23812005-07-19 Nathaniel Smith <njs@pobox.com>
2382
2383* netcmd.cc (read): Make the bad HMAC error message clearer.
2384
23852005-07-19 Matthew Gregan <kinetik@orcon.net.nz>
2386
2387* tests/t_diff_external.at: Canonicalise output for Win32.
2388
23892005-07-18 Nathaniel Smith <njs@pobox.com>
2390
2391* keys.cc (get_passphrase): Do still error out if they keep typing
2392empty passphrases.
2393
23942005-07-18 Richard Levitte <richard@levitte.org>
2395
2396* database.cc: Move the inclusion of stdarg.h...
2397* database.hh: ... here.
2398
23992005-07-18 Matt Johnston <matt@ucc.asn.au>
2400
2401* keys.cc (get_passphrase): don't bomb out if they type an empty passphrase.
2402
24032005-07-18 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2404
2405* work.cc, manifest.cc: Remove 'using namespace boost'.
2406
24072005-07-18 Nathaniel Smith <njs@pobox.com>
2408
2409* netsync.cc (received_items): New instance variable.
2410(session::session): Initialize it.
2411(note_item_arrived): Maintain it.
2412(item_request_outstanding): Rename it to...
2413(item_already_received): ...this, and have it check both
2414outstanding and fulfilled requests.
2415(queue_send_data_cmd, queue_send_delta_cmd): Call it via new
2416name.
2417
2418Hopefully this will eliminate cases where "revs in" is larger than
2419"revs written".
2420
24212005-07-17 Nathaniel Smith <njs@pobox.com>
2422
2423* constants.cc (legal_key_name_bytes): Allow + and _ to appear in
2424key names.
2425
24262005-07-17 Nathaniel Smith <njs@pobox.com>
2427
2428* ui.{cc,hh} (tick_write_dot::write_ticks): Start a new line when
2429too many dots have been written.
2430* netsync.cc (process_refine_cmd): Add comment noting a possible
2431optimization regarding subtree refinement.
2432
24332005-07-17 Nathaniel Smith <njs@pobox.com>
2434
2435* configure.ac, win32/monotone.iss, monotone.spec:
2436* debian/changelog: Bump version numbers to 0.21.
2437* NEWS: Commit to a timestamp.
2438
24392005-07-17 Nathaniel Smith <njs@pobox.com>
2440
2441* NEWS: Add diff changes, more tweaking.
2442* UPGRADE: Update for 0.21.
2443* AUTHORS: Add Vladimir Vukicevic.
2444
24452005-07-18 Matt Johnston <matt@ucc.asn.au>
2446
2447* netsync.cc: merge fixup
2448* botan/pipe_rw.cpp (read_all_as_string): make it smarter and faster
2449
24502005-07-18 Matt Johnston <matt@ucc.asn.au>
2451
2452* botan/sha160.{cpp,h}: new faster sha160 implementation from Jack Lloyd
2453and Kaushik Veeraraghavan.
2454
24552005-07-17 Nathaniel Smith <njs@pobox.com>
2456
2457* tests/t_diff_external.at: New test.
2458* testsuite.at: Add it.
2459
24602005-07-17 Nathaniel Smith <njs@pobox.com>
2461
2462* monotone.texi (Restrictions): diff -r -r does accept
2463restrictions now.
2464(CVS Phrasebook): Clarify diff section.
2465(Informative): Document diff [--unified|--context|--external],
2466--diff-args.
2467
24682005-07-17 Nathaniel Smith <njs@pobox.com>
2469
2470* app_state.{cc,hh}: Record whether --diff-args was passed, not
2471just a string value.
2472* lua.{cc,hh} (hook_external_diff): Take a diff_args_provided
2473variable.
2474* commands.cc (do_external_diff): Pass it.
2475
24762005-07-17 Nathaniel Smith <njs@pobox.com>
2477
2478* std_hooks.lua (external_diff_default_args): New variable.
2479(external_diff): Use it as a default, and use user-provided
2480diff_args otherwise.
2481* monotone.texi (Hooks): Document this.
2482
24832005-07-16 Vladimir Vukicevic <vladimirv@gmail.com>
2484
2485* lua.{cc,hh} (hook_external_diff): New hook.
2486* std_hooks.lua (external_diff): Add default definition.
2487* monotone.texi (Hooks): Document external_diff hook.
2488* app_state.{cc,hh}, options.hh, monotone.cc: Add --context,
2489--external, --unified, --diff-args options.
2490* commands.cc (do_external_diff): New function.
2491(dump_diffs): Put a == line between each file's diffs.
2492Pass file_ids of pre- and post-states to make_diff.
2493(diff): Take new options.
2494(cdiff): Remove.
2495* diff_patch.{cc,hh} (make_diff): Print file ids in diff file
2496headers.
2497(unidiff_append_test): Update.
2498(enum diff_type): Move to...
2499* vocab.hh: ...here.
2500* tests/t_restrictions.at, tests/t_crlf.at: Update.
2501
25022005-07-16 Nathaniel Smith <njs@pobox.com>
2503
2504* manifest.cc (build_restricted_manifest_map): Remove doubled
2505comment.
2506
25072005-07-16 Nathaniel Smith <njs@pobox.com>
2508
2509* NEWS: Mention need for 'db migrate'.
2510
25112005-07-17 Matthew Gregan <kinetik@orcon.net.nz>
2512
2513* lua/*: Import Lua 5.0.2 from upstream.
2514* lua/*: Fix up CVS $Id$ tags, which appear to have been trashed
2515since monotone existed in CVS.
2516
25172005-07-16 Nathaniel Smith <njs@pobox.com>
2518
2519* NEWS: Update for 0.21.
2520
25212005-07-16 Nathaniel Smith <njs@pobox.com>
2522
2523* database.cc (assert_sqlite3_ok): Remove dead function.
2524
25252005-07-16 Nathaniel Smith <njs@pobox.com>
2526
2527* app_state.cc (require_working_copy): Oops, make it compile.
2528
25292005-07-16 Nathaniel Smith <njs@pobox.com>
2530
2531* app_state.{cc,hh} (require_working_copy): Take an optional
2532argument to give more details about why a working copy was
2533required.
2534* commands.cc (log): Give said details.
2535
25362005-07-16 Nathaniel Smith <njs@pobox.com>
2537
2538* monotone.texi (CVS Phrasebook): Include 'log'.
2539
25402005-07-16 Nathaniel Smith <njs@pobox.com>
2541
2542* monotone.texi (Selectors): Document use of globs.
2543* tests/t_selector_globbing.at: New test.
2544* testsuite.at: Add it.
2545
25462005-07-16 Jordan Breeding <jordan.breeding@mac.com>
2547
2548* database.cc (selector_to_certname): Make 't:' selector match
2549exactly by default as well.
2550
25512005-06-25 Brian Downing <bdowning@lavos.net>
2552
2553* database.cc (selector_to_certname, complete): Makes 'b:'
2554selector be interpreted as a glob instead of as a partial string
2555match.
2556
25572005-07-16 Nathaniel Smith <njs@pobox.com>
2558
2559* netsync.cc: Revert accidentally committed changes.
2560
25612005-07-16 Nathaniel Smith <njs@pobox.com>
2562
2563* ChangeLog: Fix formatting.
2564
25652005-07-15 Matt Johnston <matt@ucc.asn.au>
2566
2567* netsync.cc (rebuild_merkle_trees): bad_branch_certs is a set of cert
2568hashes, not of revision idents.
2569
25702005-07-14 Nathaniel Smith <njs@pobox.com>
2571
2572* database.cc (get_revision_cert_index): "reserve" and "resize"
2573are different.
2574
25752005-07-14 Nathaniel Smith <njs@pobox.com>
2576
2577* netsync.cc (process_delta_cmd): Remove meaningless comment.
2578
25792005-07-14 Nathaniel Smith <njs@pobox.com>
2580
2581* database.hh: Pre-declare sqlite3_stmt, instead of including
2582sqlite3.h.
2583
25842005-07-14 Derek Scherger <derek@echologic.com>
2585
2586* commands.cc (lca,lcad,try_one_merge): call describe_revision for
2587logging common ancestors
2588(propagate): log final merged line after propagate completes
2589to indicate that it actually worked and to be consistent with merge
2590
25912005-07-13 Derek Scherger <derek@echologic.com>
2592
2593* ChangeLog: merge fixup
2594
25952005-07-13 Derek Scherger <derek@echologic.com>
2596
2597* database.cc (debug): delete stale comment
2598(delete_branch_named):
2599(delete_tag_named):
2600(clear): replace vprintf stuff with query parameters
2601
26022005-07-13 Nathaniel Smith <njs@pobox.com>
2603
2604* contrib/ciabot_monotone.py (main): Optimistically run 'db
2605migrate' before using database.
2606
26072005-07-13 Nathaniel Smith <njs@pobox.com>
2608
2609* schema_migration.cc (migrate_monotone_schema)
2610(migrator::migrate): Move the "nothing happened" check, and don't
2611vacuum unless a migration occurred.
2612
26132005-07-13 Nathaniel Smith <njs@pobox.com>
2614
2615* tests/t_restricted_diff_unchanged.at: New test.
2616* testsuite.at: Add it.
2617
26182005-07-13 graydon hoare <graydon@pobox.com>
2619
2620* rcs_import.cc (cvs_branch::cvs_branch): Initialize bools to false.
2621
26222005-07-13 Nathaniel Smith <njs@pobox.com>
2623
2624* monotone.texi (Database): Document kill_tag_locally.
2625
26262005-07-13 Nathaniel Smith <njs@pobox.com>
2627
2628* tests/t_kill_tag_locally.at, tests/t_ambiguous_tags.at: New
2629tests.
2630* testsuite.at: Add them.
2631
26322005-07-11 graydon hoare <graydon@pobox.com>
2633
2634* AUTHORS: Add Jordan.
2635* commands.cc (ls_tags): Do not uniquify tags.
2636* constants.{cc,hh} (cvs_window): Change to time_t, tighten to 5 minutes.
2637* rcs_import.cc (window): Remove.
2638(note_type): Remove dead code.
2639(is_sbr): Add test for synthetic branch roots.
2640(cvs_commit::is_synthetic_branch_root): New test.
2641(process_branch): Skip synthetic branch roots, push new branch
2642before picking branch to mark, rather than after.
2643(cvs_history::index_branchpoint_symbols): Handle vendor branches.
2644(cvs_history::push_branch): Do not duplicate root on private branches.
2645(import_branch): Fix up cluster inference.
2646(cluster_consumer::consume_cluster): New invariant.
2647* tests/t_cvsimport_drepper2.at: Modify to reflect fixes.
2648
26492005-07-11 Jordan Breeding <jordan.breeding@mac.com>
2650
2651* commands.cc (db): New subcommand "kill_tag_locally"
2652* database.{cc,hh} (delete_tag_named): New function.
2653
26542005-07-12 Nathaniel Smith <njs@pobox.com>
2655
2656* schema_migration.cc (migrator::migrate): When there is nothing
2657to be done, do nothing.
2658
26592005-07-12 Nathaniel Smith <njs@pobox.com>
2660
2661* netsync.cc (rebuild_merkle_trees): Reduce memory usage a bit,
2662and don't insert branch certs that the other side will just end up
2663throwing away (reduces network traffic).
2664
26652005-07-12 Nathaniel Smith <njs@pobox.com>
2666
2667* testsuite.at (NETSYNC_SERVE_START, NETSYNC_SERVE_N_START):
2668Really, really really fix up quoting. Really.
2669I hope.
2670
26712005-07-12 Nathaniel Smith <njs@pobox.com>
2672
2673* contrib/ciabot_monotone.py (config.project_for_branch): Clarify
2674comment text for non-Python programmers.
2675
26762005-07-12 Nathaniel Smith <njs@pobox.com>
2677
2678* testsuite.at (NETSYNC_SERVE_START, NETSYNC_SERVE_N_START): Fixup
2679quoting.
2680
26812005-07-11 Nathaniel Smith <njs@pobox.com>
2682
2683* crypto_tests.cc: New SHA1 correctness tests from Kaushik Veeraraghavan.
2684* unit_tests.cc (init_unit_test_suite):
2685* unit_tests.hh (add_crypto_tests):
2686* Makefile.am (unit_tests_SOURCES): Call them.
2687* AUTHORS: Add Kaushik Veeraraghavan.
2688
26892005-07-11 Nathaniel Smith <njs@pobox.com>
2690
2691* tests/t_netsync_exclude_default.at: New test.
2692* testsuite.at: Add it.
2693(NETSYNC_SERVE_N_START, NETSYNC_SERVE_START): Use '*' as pattern
2694when none is passed.
2695
26962005-07-11 Nathaniel Smith <njs@pobox.com>
2697
2698* monotone.texi (Network): Tweak documentation for netsync
2699commands.
2700
27012005-07-11 Nathaniel Smith <njs@pobox.com>
2702
2703* app_state.{hh,cc} (exclude_patterns, add_exclude):
2704* options.hh (OPT_EXCLUDE):
2705* monotone.cc (coptions, cpp_main): New option --exclude.
2706* commands.cc (pull, push, sync, serve): Accept it.
2707(process_netsync_args): Implement it.
2708* tests/t_netsync_exclude.at: New test.
2709* testsuite.at: Add it.
2710
27112005-07-11 Timothy Brownawell <tbrownaw@gmail.com>
2712
2713* options.hh, app_state.{hh,cc}, monotone.cc: New command specific
2714option, "--exclude=x", puts arg into a vector app.excludes .
2715Used by the netsync commands.
2716* commands.cc (netsync commands): accept said option
2717(process_netsync_args): Handle excludes.
2718* monotone.texi: document it
2719
27202005-07-11 Timothy Brownawell <tbrownaw@gmail.com>
2721
2722* interner.hh: make slightly faster
2723
27242005-07-11 Matt Johnston <matt@ucc.asn.au>
2725
2726* hmac.cc: <string> not <string.h>
2727
27282005-07-11 Matt Johnston <matt@ucc.asn.au>
2729
2730* keys.cc (encrypt_rsa): fix typo
2731* hmac.{cc,hh}: store key as SymmetricKey, pass correctly to
2732MAC_Filter
2733
27342005-07-10 Nathaniel Smith <njs@pobox.com>
2735
2736* ChangeLog, configure.ac: Re-remove mysteriously revived
2737jibberish.
2738
27392005-07-10 Nathaniel Smith <njs@pobox.com>
2740
2741* tests/t_netsync_read_permissions.at: New test.
2742* testsuite.at: Run it.
2743* netsync.cc (set_session_key, dispatch_payload)
2744(respond_to_auth_cmd): Refactor to key HMAC earlier, so error
2745packets will get the right HMAC.
2746
27472005-07-10 Richard Levitte <richard@levitte.org>
2748
2749* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS): Re-remove
2750previously removed stuff.
2751
2752* ChangeLog, configure.ac: Revert accidentally-recommitted changes.
2753
27542005-07-10 Richard Levitte <richard@levitte.org>
2755
2756* monotone.texi (Network), monotone.1: Mention the default port
2757number.
2758
27592005-07-10 Matthew Gregan <kinetik@orcon.net.nz>
2760
2761* configure.ac: Check for boost >= 1.32.
2762
27632005-07-09 Nathaniel Smith <njs@pobox.com>
2764
2765* schema.sql (revision_ancestry__child, revision_certs__id,
2766revision_certs__name_value): New indexes.
2767* database.cc (dump, dump_table_cb, dump_index_cb): Include
2768indexes in dumps.
2769(database::database):
2770* schema_migration.cc (migrate_monotone_schema)
2771(migrate_client_to_add_indexes):
2772* tests/t_migrate_schema.at: Corresponding migration gunk.
2773
27742005-07-09 Jordan Breeding <jordan.breeding@mac.com>
2775
2776* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS):
2777* configure.ac (BOOST_FIX_VERSION): Restrict boost compile kluges
2778to boost 1.32.
2779
27802005-07-09 Nathaniel Smith <njs@pobox.com>
2781
2782* schema_migration.cc (calculate_schema_id): Include indexes in
2783the schema id.
2784
27852005-07-09 Nathaniel Smith <njs@pobox.com>
2786
2787* ChangeLog, configure.ac: Revert accidentally-committed changes.
2788
27892005-07-09 Nathaniel Smith <njs@pobox.com>
2790
2791* monotone.texi (Generating Keys): Make it a little clearer that
2792we aren't necessarily recommending people store their passphrase
2793in plaintext.
2794
27952005-07-08 Matt Johnston <matt@ucc.asn.au>
2796
2797* propagate mainline to botan branch
2798
2799* constants.{cc,hh}: add sha1_digest_length as botan
2800doesn't provide a convenient definition.
2801* hmac.{cc,hh}: convert to use botan
2802* keys.cc (encrypt_rsa, decrypt_rsa): use botan
2803* transforms.{cc,hh}: use botan
2804
28052005-07-08 Matt Johnston <matt@ucc.asn.au>
2806
2807* tests/t_normalized_filenames.at: expect exit code of 1 not 3 for
2808"cat manifest" with a directory in MT/work
2809* file_io.cc, netcmd.cc, transforms.cc, vocab.hh: revert changes which
2810used swap() for strings and atomic types since strings are
2811copy-on-write.
2812
28132005-07-08 Matt Johnston <matt@ucc.asn.au>
2814
2815* file_io.cc (ident_existing_file): new function to calculate
2816the ident of a file failing gracefully if it doesn't exist
2817or is a directory.
2818* file_io.hh (classify_manifest_paths,
2819build_restricted_manifest_map): use ident_existing_file
2820* ui.cc: cast to avoid compiler warnings
2821
28222005-07-07 Nathaniel Smith <njs@pobox.com>
2823
2824* contrib/ciabot_monotone.py (Monotone.log): Fix to work with
28250.20.
2826
28272005-07-07 Nathaniel Smith <njs@pobox.com>
2828
2829* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS): Add
2830-DBOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP to work around g++
28314.0/boost 1.32.0 lossage.
2832
28332005-07-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
2834
2835* Makefile.am: Compile fix for FreeBSD.
2836
28372005-07-07 Nathaniel Smith <njs@pobox.com>
2838
2839* netsync.cc (process_hello_cmd, process_anonymous_cmd)
2840(process_auth_cmd): Change permission checking -- always build
2841merkle tree (even when a pure sink), send permission denied and
2842abort whenever client tries to read/write a branch they don't have
2843access to.
2844
28452005-07-07 Nathaniel Smith <njs@pobox.com>
2846
2847* ChangeLog: fixup formatting.
2848
28492005-07-06 Matt Johnston <matt@ucc.asn.au>
2850
2851* database.cc (assert_sqlite3_ok): database corruption and similar
2852problems are errors, not invariants.
2853
28542005-07-06 Nathaniel Smith <njs@pobox.com>
2855
2856* commands.cc (push, pull, sync): Fix --help description.
2857
28582005-07-06 Nathaniel Smith <njs@pobox.com>
2859
2860* options.hh (OPT_SET_DEFAULT):
2861* app_state.{hh,cc} (app_state::set_default):
2862* monotone.cc (coptions, cpp_main): New option.
2863* commands.cc (pull, push, sync): Accept it.
2864(process_netsync_args): Use it.
2865* tests/t_set_default.at, testsuite.at: New test.
2866
28672005-07-07 Matthew Gregan <kinetik@orcon.net.nz>
2868
2869* win32/monotone.iss: Bump version number.
2870
28712005-07-05 Nathaniel Smith <njs@pobox.com>
2872
2873* debian/rules (config.status): Use bundled sqlite.
2874* debian/control (Build-Depends): Remove popt and sqlite.
2875
28762005-07-05 Nathaniel Smith <njs@pobox.com>
2877
2878* NEWS: Add timestamp. Barring unforeseen issues, this is 0.20.
2879
28802005-07-05 Nathaniel Smith <njs@pobox.com>
2881
2882* Makefile.am (EXTRA_DIST): Include some missed contrib/ stuff.
2883
28842005-07-05 Nathaniel Smith <njs@pobox.com>
2885
2886* po/monotone.pot: Regenerate for release.
2887
28882005-07-05 Nathaniel Smith <njs@pobox.com>
2889
2890* configure.ac, debian/changelog, monotone.spec: Bump version
2891number.
2892* UPGRADE: Update for 0.20 release.
2893
28942005-07-05 Nathaniel Smith <njs@pobox.com>
2895
2896* ChangeLog, NEWS, AUTHORS: Fixup Eric Anderson's email address.
2897
28982005-07-05 Nathaniel Smith <njs@pobox.com>
2899
2900* monotone.texi (Database): Note that db kill_rev_locally also
2901will trigger "unreferenced manifest" warnings from db check.
2902
29032005-07-05 Nathaniel Smith <njs@pobox.com>
2904
2905* NEWS: Oops, 'automate select' was in 0.19 after all.
2906
29072005-07-05 Nathaniel Smith <njs@pobox.com>
2908
2909* contrib/ciabot_monotone.py: Fix multiple collection support.
2910
29112005-07-05 Richard Levitte <richard@levitte.org>
2912
2913* monotone.texi (Hooks): Add space after periods where there's
2914a lack of space.
2915
2916* NEWS: Correct the blurb about
2917get_netsync_{read,anonymous_read,write}_permitted
2918
29192005-07-05 Nathaniel Smith <njs@codesourcery.com>
2920
2921* NEWS: Add more explicit note on how to upgrade.
2922
29232005-07-05 Nathaniel Smith <njs@codesourcery.com>
2924
2925* NEWS: First cut at 0.20 release notes.
2926
29272005-07-03 Matthew Gregan <kinetik@orcon.net.nz>
2928
2929* sqlite/*, Makefile.am: Import SQLite 3.2.2 from upstream.
2930* sqlite/main.c: Compile fix.
2931* sqlite/{callback.c,prepare.c}: Add new files.
2932
29332005-07-03 Matthew Gregan <kinetik@orcon.net.nz>
2934
2935* sqlite/{sqlite3.h,tokenize.c} (sqlite3_complete_last): New
2936function to find the last valid SQL statement in a string; based
2937on sqlite3_complete. This change should be offered upstream, but
2938probably not before sqlite3_complete_last16 is implemented.
2939* database.cc (database::load): Load and execute dump in chunks,
2940fixes bug 13570.
2941
29422005-07-01 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
2943
2944* file_io.cc: Pre-allocate space for the file read so that the
2945string doesn't have to be incrementally expanded during the read.
2946
29472005-07-01 Matthew Gregan <kinetik@orcon.net.nz>
2948
2949* tests/t_cvsimport_drepper2.at: Canonicalise monotone output so
2950that the test passes on Win32.
2951
29522005-06-30 Eric Kidd <eric.kidd@dartmouth.edu>
2953
2954* contrib/monotone-import.pl: Changed $branch to
2955$user_branch. This script may need more work, but at least Perl
2956compiles it now.
2957
29582005-06-30 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2959
2960* automate.cc, basic_io.hh, cert.cc, change_set.cc,
2961cryptopp/config.h, cryptopp/integer.cpp, main.cc, merkle_tree.cc,
2962merkle_tree.hh, monotone.cc, netcmd.cc, netsync.cc,
2963netxx/osutil.h, packet.cc: Namespace and include file cleanup.
2964
29652005-06-29 graydon hoare <graydon@pobox.com>
2966
2967* tests/t_cvsimport_drepper2.at: New test.
2968* testsuite.at: Call it.
2969
29702005-06-23 graydon hoare <graydon@pobox.com>
2971
2972* rcs_import.cc (import_cvs_repo): Put branch imports inside
2973transaction blocks, add a couple tickers.
2974
29752005-06-22 graydon hoare <graydon@pobox.com>
2976
2977* rcs_file.cc: Track file:line numbers, accept files which violate
2978some lies in rcs file format.
2979* rcs_import.cc (cvs_tree_walker):
2980Warn rather than crash on parse errors.
2981(cvs_history)
2982(cvs_commit)
2983(cvs_cluster)
2984(prepared_revision)
2985(import_branch)
2986(import_cvs_repo): Support non-branch tags.
2987
29882005-06-21 graydon hoare <graydon@pobox.com>
2989
2990* rcs_import.{cc,hh} (import_rcs_file): Rename to test_parse_rcs_file.
2991* commands.cc (rcs_import): rename call.
2992
29932005-06-19 graydon hoare <graydon@pobox.com>
2994
2995* rcs_import.cc: Rewrite change set inference logic.
2996
29972005-06-28 Roland Illig <roland.illig@gmx.de>
2998
2999* app_state.cc: #include <unistd.h>, needed on NetBSD.
3000
30012005-06-28 Nathaniel Smith <njs@codesourcery.com>
3002
3003* std_hooks.lua (ignore_file): Ignore vim swap files and emacs
3004temp files.
3005
30062005-06-27 Nathaniel Smith <njs@codesourcery.com>
3007
3008* INSTALL: Bump required version of Boost to 1.32.
3009
30102005-06-26 Matthew Gregan <kinetik@orcon.net.nz>
3011
3012* app_state.cc (app_state::app_state()): Initialise no_merges to
3013false so that 'log' will show merges by default (the recently
3014added --no-merges option provides a means to disable the merge
3015entries).
3016
30172005-06-26 Matthew Gregan <kinetik@orcon.net>
3018
3019* tests/t_automate_stdio.at, tests/t_cvsimport_drepper.at,
3020tests/t_selector_later_earlier.at: Further canonicalisation of
3021monotone output to resolve test failures on Win32.
3022
30232005-06-25 Brian Campbell <brian.p.campbell@dartmouth.edu>
3024
3025* commands.cc (CMD(db)): Added db kill_branch_locally command.
3026* database.cc, database.hh (delete_branch_named): New function to
3027delete all branch certs with a given branch name.
3028* monotone.texi (Database): Added documentation for db
3029kill_branch_locally.
3030* tests/t_db_kill_branch_locally.at: New test for db
3031kill_branch_locally.
3032* testsuite.at: Add the test.
3033* AUTHORS: Add myself.
3034* ChangeLog: Change my email address on an old contribution to
3035match my pubkey.
3036
30372005-06-24 Nathaniel Smith <njs@codesourcery.com>
3038
3039* tests/t_db_kill_rev_locally.at: Clean up style.
3040
30412005-06-24 Nathaniel Smith <njs@codesourcery.com>
3042
3043* unix/process.cc (process_spawn): Format log output correctly.
3044
30452005-06-24 Nathaniel Smith <njs@codesourcery.com>
3046
3047* unix/process.cc (existsonpath): Reindent. Add logging, and use
3048'command -v' instead of 'which' (as per Matt Johnston's discovery
3049that it is more portable).
3050(process_spawn): Handle exec failure more properly.
3051* tests/t_existsonpath.at: New test.
3052* testsuite.at: Add it.
3053
30542005-06-25 Matthew Gregan <kinetik@orcon.net.nz>
3055
3056* monotone.cc: Log correct locale set for LC_MESSAGES.
3057
30582005-06-24 Nathaniel Smith <njs@codesourcery.com>
3059
3060* unix/process.cc: Remove tabs.
3061
30622005-06-24 Nathaniel Smith <njs@codesourcery.com>
3063
3064* std_hooks.lua (get_preferred_merge2_command)
3065(get_preferred_merge3_command): Move meld to the bottom of the
3066default merge tool search order. Also, use xemacs if it appears
3067in $EDITOR, otherwise use emacs.
3068* revision.cc (check_sane_history): Remove stale comment.
3069
30702005-07-05 Nathaniel Smith <njs@codesourcery.com>
3071
3072* globish.cc (combine_and_check_globish): Don't add unnecessary
3073{}'s.
3074* tests/t_netsync_globs.at, testsuite.at: New test.
3075
30762005-07-04 Nathaniel Smith <njs@codesourcery.com>
3077
3078* netcmd.cc (do_netcmd_roundtrip, test_netcmd_mac): Update for new
3079chained_hmac object.
3080* constants.hh (netsync_key_initializer): Update comment.
3081* hmac.hh (hmac_length): Expose length of MACs.
3082* hmac.cc: I() that it matches what CryptoPP wants to give.
3083* netcmd.cc: I() that it matches the length hard-coded into the
3084netsync protocol.
3085* vocab.cc (verify(netsync_hmac_value)): Fix error message.
3086
30872005-07-04 Nathaniel Smith <njs@codesourcery.com>
3088
3089* tests/t_netsync_defaults.at: Update for new var names. All
3090tests now pass.
3091
30922005-07-04 Nathaniel Smith <njs@codesourcery.com>
3093
3094* lua.cc (hook_get_netsync_write_permitted): Fix typo.
3095
30962005-07-04 Nathaniel Smith <njs@codesourcery.com>
3097
3098* globish.cc (globish_matcher_test): Add check for {foo} (no
3099commas).
3100
31012005-07-04 Nathaniel Smith <njs@codesourcery.com>
3102
3103* globish.cc (checked_globish_to_regex): Make the special case for
3104the empty pattern, actually work. Unit tests now pass.
3105
31062005-07-04 Nathaniel Smith <njs@codesourcery.com>
3107
3108* netcmd.cc (test_netcmd_functions): Update for new anonymous/auth
3109packet formats.
3110
31112005-07-04 Nathaniel Smith <njs@codesourcery.com>
3112
3113* monotone.texi, monotone.1: Update for new glob stuff.
3114* commands.cc (process_netsync_args, push, pull, sync, serve):
3115'serve' always requires arguments, rather than falling back on db
3116defaults.
3117
31182005-07-04 Nathaniel Smith <njs@codesourcery.com>
3119
3120* commands.cc (process_netsync_args, push, pull, sync, serve):
3121Adapt for patterns instead of regexen; slight refactoring too.
3122
31232005-07-03 Nathaniel Smith <njs@codesourcery.com>
3124
3125* netsync.cc: Finally self-consistent.
3126
31272005-07-03 Nathaniel Smith <njs@codesourcery.com>
3128
3129* netsync.hh (run_netsync_protocol): Fix prototype.
3130
31312005-07-03 Nathaniel Smith <njs@codesourcery.com>
3132
3133* globish.hh: Document the empty pattern as never matching.
3134* globish.cc (checked_globish_to_regex): Implement it.
3135(globish_matcher_test): Check it.
3136
31372005-07-03 Nathaniel Smith <njs@codesourcery.com>
3138
3139* monotone.texi (Network Service, Hooks):
3140* testsuite.at:
3141* tests/t_netsync_permissions.at:
3142* tests/t_netsync_single.at: Update to match new
3143get_netsync_write_permitted definition.
3144
31452005-07-03 Nathaniel Smith <njs@codesourcery.com>
3146
3147* lua.{cc,hh} (hook_get_netsync_write_permitted): Don't take a
3148branch argument; write permission is now all or none. (It really
3149was before anyway...)
3150* netsync.cc: Update accordingly.
3151
31522005-07-03 Nathaniel Smith <njs@codesourcery.com>
3153
3154* netsync.cc: More updating for pattern stuff; getting there...
3155
31562005-06-28 Nathaniel Smith <njs@codesourcery.com>
3157
3158* netsync.cc: Update low-level functions to use include_pattern
3159and exclude_pattern.
3160
31612005-06-28 Nathaniel Smith <njs@codesourcery.com>
3162
3163* netcmd.{cc,hh} (read_anonymous_cmd, write_anonymous_cmd)
3164(read_auth_cmd, write_auth_cmd): Take include_pattern and
3165exclude_pattern arguments.
3166
31672005-06-28 Nathaniel Smith <njs@codesourcery.com>
3168
3169* globish.{cc,hh}: New files.
3170* Makefile.am (MOST_SOURCES): Add them.
3171* transforms.{cc,hh}: Remove glob-related stuff.
3172* unit_tests.{cc,hh}: Call globish unit tests.
3173
31742005-06-27 Nathaniel Smith <njs@codesourcery.com>
3175
3176* transforms.cc (glob_to_regex, globs_to_regex, regexes_to_regex):
3177Choose "regex" as standard spelling. Clean up code, add code for
3178handling sets, start improving tests (don't currently pass).
3179* transforms.hh (glob_to_regex, globs_to_regex, regexes_to_regex):
3180Prototype.
3181
31822005-06-28 Matt Johnston <matt@ucc.asn.au>
3183
3184* constants.cc: increase db_version_cache_sz to 7 MB
3185* netsync.cc: use a deque<string> rather than a single
3186string buffer for outbuf.
3187* netsync.cc (arm): only queue data when there is
3188available space
3189* AUTHORS: added Eric Anderson
3190
31912005-06-26 Matt Johnston <matt@ucc.asn.au>
3192
3193* transforms.hh: remove extraneous #ifdef
3194* hmac.cc, hmac.hh: actually add them
3195
31962005-06-26 Matt Johnston <matt@ucc.asn.au>
3197
3198* netcmd.cc (netcmd::read, netcmd::write): change to using a HMACs
3199chained by including the previous HMAC in the input data, rather
3200than altering the key each time.
3201* netcmd.cc ({read,write}_{data,delta}_cmd): use encode_gzip/decode_gzip
3202 rather than raw xform.
3203* hmac.{cc,hh}: new chained_hmac abstraction
3204* Makefile.in: add them
3205* netsync.cc: each session keeps a chained_hmac for read/write
3206* transforms.hh: add a string variant for encode_gzip
3207
32082005-06-25 Nathaniel Smith <njs@codesourcery.com>
3209
3210* netsync.cc: Tweak comment.
3211
32122005-06-25 Nathaniel Smith <njs@codesourcery.com>
3213
3214* AUTHORS: Add Ethan Blanton <elb@elitists.net>.
3215
32162005-06-22 Nathaniel Smith <njs@codesourcery.com>
3217
3218* netcmd.hh (netcmd::read, netcmd::write): Don't have defaults for
3219key/hmac arguments.
3220* netcmd.cc (do_netcmd_roundtrip): New function.
3221(test_netcmd_functions): Use it. Also, make work with hmac
3222changes.
3223(test_netcmd_mac): New test.
3224(add_netcmd_tests): Call it.
3225
32262005-06-22 Nathaniel Smith <njs@codesourcery.com>
3227
3228* netcmd.cc (read): Remove unused variable.
3229* netsync.cc (call_server, process)
3230(arm_sessions_and_calculate_probe, handle_read_available): Give
3231better error message on bad_decode exceptions.
3232
32332005-06-22 Nathaniel Smith <njs@codesourcery.com>
3234
3235* netcmd.cc, netsync.cc: Revert backwards compatibility code; 0.19
3236and 0.20 can't be usefully compatible, and the code as it existed
3237would cause real version mismatch error reporting to not work
3238right. (Old client with new server would give a generic "server
3239disconnected" error message instead of something useful.)
3240
32412005-06-21 Nathaniel Smith <njs@codesourcery.com>
3242
3243* netsync.cc (rebuild_merkle_trees): Fix FIXME comments to match
3244reality.
3245* tests/t_netsync_diffbranch.at: No longer a bug, remove
3246priority.
3247
32482005-06-20 Nathaniel Smith <njs@codesourcery.com>
3249
3250* monotone.texi (Hook Reference): Oops, missed a @ref.
3251
32522005-06-20 Nathaniel Smith <njs@codesourcery.com>
3253
3254* monotone.texi (Default monotonerc): Rename section to...
3255(Default hooks): ...this, to emphasize is still read even when a
3256monotonerc exists.
3257
32582005-06-19 Richard Levitte <richard@levitte.org>
3259
3260* Makefile.am: There's no reason for monotone.pdf or .dvi to
3261depend on monotone.info, since they are built from the .texi
3262files. Also, make the monotone.html and html targets depend
3263on version.texi and std_hooks.lua as well.
3264
32652005-06-18 Matt Johnston <matt@ucc.asn.au>
3266
3267* INSTALL: fix typo, should be -Iboost_1_31_0 not -Iboost_1_31_2
3268
32692005-06-18 Riccardo Ghetta <birrachiara@tin.it>
3270* monotone.texi: include std_hooks.lua as an appendix and remove long
3271lua excerpts from hook reference.
3272* Makefile.am : make monotone.pdf/eps depend on monotone.info
3273
32742005-06-24 Matt Johnston <matt@ucc.asn.au>
3275
3276* transforms.{cc,hh}: combine gzip and base64 in one
3277pipe for pack()/unpack() to save memory
3278* vocab.hh: add swap() to encodings/atomics
3279* file_io.cc: use swap() to avoid copying
3280
32812005-06-21 Nathaniel Smith <njs@codesourcery.com>
3282
3283* commands.cc (do_diff): Use calculate_arbitrary_change_set,
3284instead of reimplementing it.
3285
32862005-06-21 Nathaniel Smith <njs@codesourcery.com>
3287
3288* revision.cc (find_least_common_ancestor): Handle left == right
3289case.
3290* tests/t_diff_currev.at: Un-XFAIL.
3291
32922005-06-21 Nathaniel Smith <njs@codesourcery.com>
3293
3294* netsync.cc (rebuild_merkle_trees): Fix FIXME comments to match
3295reality.
3296* tests/t_netsync_diffbranch.at: No longer a bug, remove
3297priority.
3298
32992005-06-20 Nathaniel Smith <njs@codesourcery.com>
3300
3301* monotone.texi (Hook Reference): Oops, missed a @ref.
3302
33032005-06-20 Nathaniel Smith <njs@codesourcery.com>
3304
3305* monotone.texi (Default monotonerc): Rename section to...
3306(Default hooks): ...this, to emphasize is still read even when a
3307monotonerc exists.
3308
33092005-06-19 Richard Levitte <richard@levitte.org>
3310
3311* Makefile.am: There's no reason for monotone.pdf or .dvi to
3312depend on monotone.info, since they are built from the .texi
3313files. Also, make the monotone.html and html targets depend
3314on version.texi and std_hooks.lua as well.
3315
33162005-06-18 Matt Johnston <matt@ucc.asn.au>
3317
3318* INSTALL: fix typo, should be -Iboost_1_31_0 not -Iboost_1_31_2
3319
33202005-06-18 Riccardo Ghetta <birrachiara@tin.it>
3321* monotone.texi: include std_hooks.lua as an appendix and remove long
3322lua excerpts from hook reference.
3323* Makefile.am : make monotone.pdf/eps depend on monotone.info
3324
33252005-06-17 Matt Johnston <matt@ucc.asn.au>
3326
3327* database.cc (database::execute()): truncate long query log messages
3328before copying, saving memory.
3329Patch from Eric Anderson <anderse-monotone@cello.hpl.hp.com>
3330
33312005-06-17 Riccardo Ghetta <birrachiara@tin.it>
3332Adds include()/includedir() to lua hooks and extend --rcfile
3333* lua.cc: handle --rcfile with directories, implement
3334include() and includedir()
3335* testsuite.at, t_lua_includedir.at, t_rcfile_dir.at:
3336test new functionality
3337* monotone.texi: document all functions available to hook
3338writers, including the new include() and includedir()
3339
33402005-06-16 Nathaniel Smith <njs@codesourcery.com>
3341
3342* diff_patch.cc (merge_extents): Typo caught by anonymous reader.
3343
33442005-06-16 Nathaniel Smith <njs@codesourcery.com>
3345
3346* commands.cc (cat): Account for being in a subdir in 'cat file
3347REV PATH'.
3348* tests/t_cat_file_by_name.at: Test.
3349
33502005-06-17 Richard Levitte <richard@levitte.org>
3351
3352* app_state.cc (app_state::app_state()): Avoid a gcc warning by
3353having the class members initialised in the same order they are
3354defined in the class.
3355
33562005-06-16 Nathaniel Smith <njs@pobox.com>
3357
3358* std_hooks.lua (ignore_file): Add Cons/SCons cache files to
3359default ignore list.
3360
33612005-06-16 Matt Johnston <matt@ucc.asn.au>
3362
3363* ui.cc: increase the divisor as required so that we don't get spurious
3364screen updates when we're using the kilobyte/megabyte tickers
3365
33662005-06-15 Matt Johnston <matt@ucc.asn.au>
3367
3368* monotone.texi: clarify some netsync parts of the tutorial
3369
33702005-06-15 Richard Levitte <richard@levitte.org>
3371
3372* netsync.cc (struct session): Add a pattern regex cache.
3373(analyze_ancestry_graph): Use the regex cache instead of the
3374pattern string itself. This is especially important when the
3375pattern is used as an old-style collection.
3376(process_hello_cmd): Recreate the pattern regex cache with the
3377conversion of the pattern to a regex when it's used as an
3378old-style collection.
3379(process_auth_cmd): When the pattern changes, change the regex
3380cache as well.
3381
33822005-06-14 Richard Levitte <richard@levitte.org>
3383
3384* std_hooks.lua (get_preferred_merge2_command,
3385get_preferred_merge3_command): EDITOR may be undefined. In that
3386case, os.getenv() returns nil, on which string.lower() chokes.
3387It's much better to check for that and default to an empty
3388string.
3389
33902005-06-11 Derek Scherger <derek@echologic.com>
3391
3392* commands.cc (complete_command): log command expansion messages
3393with L instead of P to reduce chatter
3394(status): add --brief option and corresponding output
3395(identify): add trailing space to comment gcc complains about
3396* monotone.cc: fix comment typo and add additional details for
3397command specific options
3398* monotone.texi (Automation): list inventory status code
3399combinations and descriptions
3400* tests/t_status.at: new test of status command and --brief option
3401* testsuite.at: add it
3402
34032005-06-11 Matt Johnston <matt@ucc.asn.au>
3404
3405* commands.cc: revert should ignore the ignore hooks, otherwise bad
3406things happen (revert a single ignored file, resultant empty ignore list
3407reverts the whole working copy).
3408* app_state.cc, app_state.hh: give set_restriction a flag to disregard
3409file-ignore hooks.
3410* tests/t_revert_restrict.at, testsuite.at: a test
3411
34122005-06-09 Riccardo Ghetta <birrachiara@tin.it>
3413
3414* std_hooks.lua: make binary_file return nil on unreadable/empty files
3415
34162005-06-10 Joel Reed <joelwreed@comcast.com>
3417
3418* commands.cc (CMD(cdiff)): Add OPT_DEPTH to command options.
3419* t_restrictions.at: Add to testcase.
3420
34212005-06-09 Joel Reed <joelwreed@comcast.com>
3422
3423* commands.cc (CMD(diff)): Add OPT_DEPTH back in, as it is used.
3424* t_restrictions.at: Add to testcase to increase likelihood of
3425keeping it around :)
3426
34272005-06-10 Richard Levitte <richard@levitte.org>
3428
3429* commands.cc (CMD(diff)): Remove OPT_DEPTH, as it was never
3430used.
3431
34322005-06-09 Richard Levitte <richard@levitte.org>
3433
3434* monotone.texi (Merging): I assume that "apposite" was supposed
3435to be "appropriate".
3436
34372005-06-09 Riccardo Ghetta <birrachiara@tin.it>
3438
3439* diff_patch.cc/hh: honor the new manual_merge attribute
3440* file_io.cc/hh: move here the guess_binary function
3441* lua.cc: let guess_binary available to lua
3442* std_hooks.lua: handle manual_merge as an add-time attribute and
3443initialize by default make it true if the file appears to be binary.
3444Make read_contents_of_file able to read "binary" files.
3445* tests/t_merge_manual.at: tests new behaviour, superceding the
3446old XFAIL t_merge_binary.at test.
3447* monotone.texi: document changes, adding a small section on merging.
3448
34492005-06-07 Nathaniel Smith <njs@codesourcery.com>
3450
3451* ChangeLog: Fixup.
3452
34532005-06-07 Nathaniel Smith <njs@codesourcery.com>
3454
3455* monotone.texi (Storage and workflow): Attempt to thwart some
3456common misconceptions.
3457
34582005-06-07 Nathaniel Smith <njs@codesourcery.com>
3459
3460* netsync.cc (rebuild_merkle_trees): Add a comment describing how
3461this code should work (and why it currently doesn't quite).
3462
34632005-06-05 Nathaniel Smith <njs@codesourcery.com>
3464
3465* tests/t_bad_packets.at: Expect certs on a non-existent rev to
3466fail. Run db check instead.
3467* commands.cc (complete): Let callers specify they're okay with
3468non-existent revisions.
3469(CMD(trusted)): So specify.
3470
34712005-06-05 Nathaniel Smith <njs@codesourcery.com>
3472
3473* tests/t_tags.at: 'tag' on a non-existent revid should fail.
3474* commands.cc (complete): Fail on non-existent revids.
3475
34762005-05-29 Nathaniel Smith <njs@codesourcery.com>
3477
3478* tests/t_epoch.at: Typo.
3479* tests/t_automate_certs.at, tests/t_selector_later_earlier.at:
3480Throw in some calls to CANONICALISE, maybe this will help on
3481Win32...
3482
34832005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
3484
3485* netsync.cc, netcmd.cc: Style cleanups (mostly whitespace).
3486
34872005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
3488
3489* netsync.cc (process_hello_cmd): Warn about collection/regex
3490usage when talking to an old server.
3491
34922005-06-04 Derek Scherger <derek@echologic.com>
3493
3494* commands.cc (update): update MT/work based on the changes
3495between the chosen revision and the new merge revision
3496* tests/t_update_with_pending_drop.at:
3497* tests/t_update_with_pending_add.at:
3498* tests/t_update_with_pending_rename.at: un-XFAIL and clean up now
3499that things work
3500
35012005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
3502
3503* netcmd.{cc,hh}, netsync.cc: Move {read,write}_*_cmd_payload
3504to netcmd::{read,write}_*_cmd .
3505* netcmd.cc, netsync.cc: Compatibility infrastructure.
3506* netsync.cc: Interoperate with v4 servers.
3507
35082005-06-03 Timothy Brownawell <tbrownaw@gmail.com>
3509
3510* automate.cc (print_some_output): Fix compiler warning.
3511
35122005-06-04 Derek Scherger <derek@echologic.com>
3513
3514* app_state.cc (app_state): initialize diffs to false; it seemed
3515to be defaulting to true for me
3516
35172005-06-04 Derek Scherger <derek@echologic.com>
3518
3519* tests/t_update_with_pending_drop.at:
3520* tests/t_update_with_pending_add.at:
3521* tests/t_update_with_pending_rename.at:
3522* tests/t_restricted_commit_with_inodeprints.at: new bug reports
3523* testsuite.at: call them
3524
35252005-06-04 graydon hoare <graydon@pobox.com>
3526
3527* rcs_import.cc
3528(note_state_at_branch_beginning): Move time back when
3529there are known commits on a branch.
3530
35312005-06-03 Joel Reed <joelwreed@comcast.com>
3532
3533* commands.cc, monotone.texi: provide --verbose option for
3534monotone complete revision which adds date and author
3535completion output
3536* contrib/monotone.zsh_completion: use verbose output when
3537completing revisions
3538
35392005-06-02 graydon hoare <graydon@pobox.com>
3540
3541* rcs_import.cc
3542(cvs_key::is_synthetic_branch_founding_commit): New field.
3543(cvs_key::operator==): Handle synthetic case specially.
3544(cvs_key::operator<): Likewise.
3545(note_state_at_branch_beginning): Likewise.
3546* tests/t_cvsimport_drepper.at: Converted bug testcase.
3547* testsuite.at: Call it.
3548
3549* monotone.cc, commands.cc, options.hh
3550(OPT_NO_MERGES, OPT_DIFFS): New options.
3551* app_state.cc (app_state::no_merges, app_state::diffs): Likewise.
3552* commands.cc (log): Honor no_merges, diffs.
3553* contrib/color_logs.{sh,conf}: Helpers for reviewing work in a
3554nice colorized, easy-to-read fashion.
3555* contrib/colorize: A colorization script found on the net.
3556
3557* HACKING, ROADMAP: Expand a bit.
3558* commands.cc (changes_summary::print): Change macro to helper fn.
3559* contrib/monotone.el (monotone-cmd): Handle nil exit code.
3560
35612005-06-02 Joel Reed <joelwreed@comcast.com>
3562
3563* commands.cc, database.cc, database.hh, vocab.hh, vocab_terms.hh:
3564add complete key subcommand and provide --brief option of zsh/bash
3565completion. See http://lists.gnu.org/archive/html/monotone-devel/2005-05/msg00461.html
3566* tests/t_rebuild.at: add tests for complete key subcommand
3567* monotone.texi: document new subcommand
3568* contrib/monotone.zsh_completion: update for new complete key
3569command, improve _monotone_existing_entries using new --depth=0
3570option,add revision completion for cert command, and abugfix
3571for cat command
3572
35732005-06-01 Matt Johnston <matt@ucc.asn.au>
3574
3575* tests/t_i18n_changelog.at: capitalise UTF-8 CHARSET to keep
3576solaris happy.
3577
35782005-06-01 Timothy Brownawell <tbrownaw@gmail.com>
3579
3580* netsync.cc (analyze_ancestry_graph): Try to fix segfault.
3581Always accept tags.
3582
35832005-06-01 Timothy Brownawell <tbrownaw@gmail.com>
3584
3585* netsync.cc (process_auth_cmd, analyze_ancestry_graph): Move
3586write-permission checking to where it belongs, *after* we know
3587exactly what we're checking permissions about. Drop things we
3588don't want.
3589
35902005-06-01 Matt Johnston <matt@ucc.asn.au>
3591
3592* tests/t_cvsimport_deleted_invar.at: don't use -C with tar
3593* tests/t_i18n_file.at: capitalise CHARSET=UTF-8, seems more standard.
3594* tests/t_merge_normalization_edge_case.at: use known-good output
3595rather than using diff3 --merge
3596
35972005-05-31 Timothy Brownawell <tbrownaw@gmail.com>
3598
3599* tests/t_epoch_server.at: fix typo
3600* netsync.cc (session::process_auth_cmd): If no branches are allowed
3601for writing, also check for write permissions to branch "" (needed
3602for serving empty dbs). For sync, don't refuse connection if there
3603are no readable branches (only do this for pull).
3604
36052005-05-31 Timothy Brownawell <tbrownaw@gmail.com>
3606
3607* monotone.texi: Update documentation for get_netsync_*_permitted
3608hooks to reflect that they now get individual branch names.
3609
36102005-05-31 Timothy Brownawell <tbrownaw@gmail.com>
3611
3612* netsync.cc: session::rebuild_merkle_trees now takes a set of
3613branches to include as an argument. On the server, calculate
3614this set at the same time the get_netsync_*_permitted hooks are
3615called; call said hooks on each branch individually.
3616
36172005-05-31 Timothy Brownawell <tbrownaw@gmail.com>
3618
3619Remove old collection support in favor of using regexes exclusively.
3620* netsync.cc (convert_pattern): Remove function.
3621* (14 files): collections are unexist; do not mention (potential
3622for confusion)
3623* constants.cc: Increase netsync protocol version.
3624* monotone.texi: Update documentation.
3625* tests/t_epoch_unidirectional.at: Fix to sync subbranches.
3626* commands.cc (CMD update): Fix usage check.
3627* tests/t_select_cert.at: Fix to use --revision.
3628
36292005-05-30 Timothy Brownawell <tbrownaw@gmail.com>
3630
3631* netsync.cc: Call note_netsync_*_received hooks in the order they're
3632written to the db (for revisions, gives topological order).
3633
36342005-05-30 Timothy Brownawell <tbrownaw@gmail.com>
3635
3636* lua.{cc,hh}: Replace note_netsync_commit with
3637note_netsync_{revision,cert,pubkey}_received
3638* packet.{cc,hh}: Callbacks for cert or key written to the database.
3639* netsync.cc: Use said callbacks, call note_netsync_*_received hooks.
3640* monotone.texi: Update documentation.
3641
36422005-05-30 Timothy Brownawell <tbrownaw@gmail.com>
3643
3644* packet.{cc,hh}, netsync.cc: on_revision_written callback now takes
3645the revision_id as an argument.
3646* lua.{cc,hh}: New Lua hook, note_netsync_commit.
3647* netsync.cc: At end of netsync session, call new hook for each
3648revision received.
3649monotone.texi: Document new hook.
3650
36512005-05-30 Richard Levitte <richard@levitte.org>
3652
3653* commands.cc (CMD(checkout), CMD(cdiff), CMD(diff), CMD(log)):
3654Remove '[--revision=REVISION]' from command argument synopsis,
3655and add more text to the help to explain what happens when
3656--revision options are used.
3657(CMD(update)): Instead of the optional revision argument, use
3658the --revision option. Add information on what happens when the
3659--revision option is used, and when it's not.
3660
3661* tests/t_add_stomp_file.at, tests/t_add_vs_commit.at,
3662tests/t_annotate.at, tests/t_lf_crlf.at,
3663tests/t_update_nonexistent.at, tests/t_update_off_branch.at,
3664tests/t_update_to_revision.at: Update to use --revision with
3665'monotone update'.
3666
36672005-05-30 Matt Johnston <matt@ucc.asn.au>
3668
3669* netsync.cc: cosmetic linebreak tidying for "double-check the
3670fingerprint" message.
3671* main.cc: make it clearer that "unknown type" refers to an exception
3672* monotone.cc: catch early informative_failures (due to charset
3673problems etc)
3674
36752005-05-30 Matt Johnston <matt@ucc.asn.au>
3676
3677* tests/t_fmerge.at: scrap all the diff3/ed, just compare it with
3678known-good output.
3679
36802005-05-30 Timothy Brownawell <tbrownaw@gmail.com>
3681
3682* revision.cc (toposort): Better algorithm.
3683
36842005-05-30 Matt Johnston <matt@ucc.asn.au>
3685
3686* tests/t_fmerge.at: make sure we write the file with the ed script.
3687
36882005-05-30 Matt Johnston <matt@ucc.asn.au>
3689
3690* testsuite.at: use "command -v" rather than "which", since
3691Solaris doesn't give useful exit codes for "which".
3692* tests/t_fmerge.at: don't use --merge with diff3, pipe to ed instead
3693so we don't rely on gnu diff3.
3694
36952005-05-29 Timothy Brownawell <tbrownaw@gmail.com>
3696
3697* contrib/monoprof.sh: Add support for using valgrind for
3698heap profiling.
3699
37002005-05-28 Joel Reed <joelwreed@comcast.com>
3701
3702* app_state.cc, app_state.hh, commands.cc, monotone.cc, options.h:
3703add new --depth command, and rename log's --depth to --last
3704* monotone.texi: update documentation
3705* tests/t_log_depth.at, tests/t_log_depth_single.at: update
3706log tests to use --last instead of --depth
3707* tests/t_options.at, tests/t_restrictions.at: test usage of
3708--depth for commands using restrictions
3709* contrib/ciabot_monotone.py, contrib/monotone-notify.pl,
3710contrib/monotone.el, contrib/monotone.zsh_completion,
3711contrib/mtbrowse.sh: change all occurences of "depth" to "last"
3712
37132005-05-28 Timothy Brownawell <tbrownaw@gmail.com>
3714
3715* netcmd.cc (read_netcmd): Reserve space in the buffer if needed,
3716swap buffers instead of copying (memory savings for sync
3717large files)
3718* netsync.cc (session::arm): Don't clear the buffer (now done
3719by read_netcmd).
3720
37212005-05-27 Timothy Brownawell <tbrownaw@gmail.com>
3722
3723* netsync.cc: Allow REGEXes as well as collections.
3724Fix out-of-branch ancestor handling.
3725* tests/t_netsync_diffbranch.at: Remove bug report and XFAIL (fixed).
3726* commands.cc: Update description fields for netsync commands.
3727* monotone.texi: Update documentation.
3728
37292005-05-25 Timothy Brownawell <tbrownaw@gmail.com>
3730
3731* tests/t_automate_stdio.at: Make it self-contained.
3732
37332005-05-25 Timothy Brownawell <tbrownaw@gmail.com>
3734
3735* contrib/get_stdio.pl (new file): Perl script to parse the output from
3736"mtn automate stdio". Used by...
3737* tests/t_automate_stdio.at (new file): Test for "mtn automate stdio".
3738* testsuite.at: Add it.
3739
37402005-05-25 Timothy Brownawell <tbrownaw@gmail.com>
3741
3742* automate.cc ("automate stdio"): Fix block size limiting.
3743Honor "output.flush()" in commands.
3744
37452005-05-24 Timothy Brownawell <tbrownaw@gmail.com>
3746
3747* automate.cc: Fix buffering for "automate stdio"
3748
37492005-05-24 Timothy Brownawell <tbrownaw@gmail.com>
3750
3751* automate.cc: Put back lost "automate certs".
3752
37532005-05-24 Matt Johnston <matt@ucc.asn.au>
3754
3755* commands.cc (try_one_merge, CMD(merge), CMD(explicit_merge),
3756CMD(propagate): allow --author flag.
3757
37582005-05-24 Timothy Brownawell <tbrownaw@gmail.com>
3759
3760* automate.cc: Fix comment for automate stdio to match the code.
3761* monotone.texi: Document ignored locations in automate stdio
3762input as reserved.
3763
37642005-05-24 Riccardo Ghetta <birrachiara@tin.it>
3765
3766* tests/t_merge_binary.at: new XFAIL test to cover monotone
3767inclination to algorithmically merge binary files.
3768
37692005-05-24 Richard Levitte <richard@levitte.org>
3770
3771* commands.cc (try_one_merge): Change 'rid' to 'merged_id'.
3772
37732005-05-23 Timothy Brownawell <tbrownaw@gmail.com>
3774
3775Fix "automate stdio" input/output format according to ML discussion
3776* automate.cc: changed: automate_stdio
3777added: print_some_output, class my_stringbuf
3778* constants.{cc,hh}: add constant for automate stdio block size
3779* monotone.texi: update documentation
3780
37812005-05-23 Nathaniel Smith <njs@codesourcery.com>
3782
3783* win32/terminal.cc (have_smart_terminal): Call _isatty on stderr,
3784not stdout.
3785
37862005-05-23 Richard Levitte <richard@levitte.org>
3787
3788* commands.cc (try_one_merge): Use the value of --date and
3789--author if there are any.
3790(CMD(merge), CMD(propagate), CMD(explicit_merge)): Change to
3791accept --date and --author.
3792
37932005-05-23 Riccardo Ghetta <birrachiara@tin.it>
3794
3795* selectors.cc/.hh, database.cc: add two new selectors:
3796"earlier or equal than" and "later than".
3797* lua.cc/.hh, std-hooks.lua: create a new "expand_date" hook
3798* monotone.texi: document the changes
3799* testsuite.at, tests/t_selector_later_earlier.at: add specific tests
3800for the new selectors
3801
38022005-05-21 Richard Levitte <richard@levitte.org>
3803
3804* Makefile.am: Make monotone.pdf and monotone.dvi depend on
3805version.texi.
3806
38072005-05-21 Richard Levitte <richard@levitte.org>
3808
3809* monotone.texi: Add a note about the --brief option with
3810'monotone log', and restructure the synopsis since it was getting
3811a bit silly with all possible variants.
3812
38132005-05-21 Richard Levitte <richard@levitte.org>
3814
3815* commands.cc (log_certs): Add two arguments; a separator string
3816to be used in front of the second to last cert for multi-valued
3817cert types, a bool to say if each cert should be ended with a
3818newline. Overload with shortcuts.
3819(CMD(log)): Use the --brief option and implement it using the
3820shortcut variants of log_certs.
3821* monotone.cc, options.hh: Add the --brief option (OPT_BRIEF
3822internally).
3823* sanity.cc, sanity.hh (struct sanity): Add the member variable
3824and function to hold and set the brief flag.
3825
38262005-05-21 Matt Johnston <matt@ucc.asn.au>
3827
3828* tests/t_short_opts.at: remove the saved MT/log message
3829from the failed commit.
3830* Makefile.am: MAKEINFOFALGS to MAKEINFOFLAGS
3831
38322005-05-21 Matt Johnston <matt@ucc.asn.au>
3833
3834* commands.cc (commit): write the log message to MT/log
3835during the commit, so it will be available later if the commit
3836fails.
3837* work.{cc,hh} (write_user_log): new function
3838
38392005-05-20 Nathaniel Smith <njs@codesourcery.com>
3840
3841* contrib/mtbrowse.sh: New file.
3842* contrib/README: Document it. Also, document some missed files,
3843and re-order listing.
3844* Makefile.am (EXTRA_DIST): Add several missing contrib/ files.
3845
38462005-05-21 Grahame Bowland <grahame@angrygoats.net>
3847
3848* automate.cc: (automate_certs) change "status" field
3849to "signature". Check whether each cert is trusted, and
3850output in the "trusted" field.
3851* testsuite.at: add t_automate_certs.at
3852* tests/t_automate_certs.at: Test that the output of
3853"automate certs" is consistent, and that we exit with
3854error when rev is incomplete or missing.
3855* monotone.texi: update output documentation for
3856"automate certs"
3857
38582005-05-20 Emile Snyder <emile@alumni.reed.edu>
3859
3860* annotate.{hh,cc}: Rework to handle lineage dependent line
3861mappings and lines which split from a single line in a parent
3862revision into multiple lines in some descendent. Fixes bug where
3863some lines remained unannotated. Fixes wrong assignment of lines
3864bug.
3865* tests/t_annotate.at: Check no-changes since addition of file
3866case.
3867* tests/t_annotate_lineage_dependent.at
3868* tests/t_annotate_split_lines.at: New tests.
3869* testsuite.at: Add them.
3870
38712005-05-20 Nathaniel Smith <njs@codesourcery.com>
3872
3873* monotone.texi (Network): Clarify that ports can be specified on
3874the command line to serve/pull/push/sync.
3875
38762005-05-21 Matt Johnston <matt@ucc.asn.au>
3877
3878* packet.cc (db_packet_writer::~impl, prerequisite.cleanup):
3879add code to remove up circular dependencies between prerequisite
3880and delayed_packet shared_ptrs upon destruction, so that unsatisified
3881dependency warnings are printed.
3882
38832005-05-19 Matt Johnston <matt@ucc.asn.au>
3884
3885* change_set.cc (merge_disjoint_analyses): handle the case where
3886a file is dropped on both sides but re-added on one.
3887* tests/t_drop_vs_dropadd.at: a test for it
3888* testsuite.at
3889
38902005-05-19 Derek Scherger <derek@echologic.com>
3891
3892* commands.cc (checkout): rearrange to use --revision option
3893* monotone.1:
3894* monotone.texi: document checkout --revision option
3895* tests/t_attr.at:
3896* tests/t_attributes.at:
3897* tests/t_checkout_id_sets_branch.at:
3898* tests/t_checkout_noop_on_fail.at:
3899* tests/t_checkout_options.at:
3900* tests/t_cwork.at:
3901* tests/t_delete_dir.at:
3902* tests/t_delete_dir_patch.at:
3903* tests/t_empty_path.at:
3904* tests/t_i18n_file_data.at:
3905* tests/t_inodeprints_hook.at:
3906* tests/t_inodeprints_update.at:
3907* tests/t_largish_file.at:
3908* tests/t_lf_crlf.at:
3909* tests/t_monotone_up.at:
3910* tests/t_netsync_defaults.at:
3911* tests/t_netsync_set_defaults.at:
3912* tests/t_persistent_server_revision.at:
3913* tests/t_rename_added_in_rename.at:
3914* tests/t_rename_dir_cross_level.at:
3915* tests/t_rename_dir_patch.at:
3916* tests/t_single_char_filenames.at:
3917* tests/t_subdir_add.at:
3918* tests/t_subdir_attr.at:
3919* tests/t_subdir_drop.at:
3920* tests/t_subdir_rename.at:
3921* tests/t_subdir_revert.at:
3922* tests/t_tags.at:
3923* tests/t_update_off_branch.at:
3924* tests/t_versions.at:
3925* testsuite.at: add --revision option to checkout
3926
39272005-05-18 Richard Levitte <richard@levitte.org>
3928
3929* ui.cc: Move the copyright and license section to the top of the
3930file, and add an emacs mode specifier.
3931* ui.cc (write_ticks): Change the counter ticker so the trailer
3932comes at the end of the counter line instead of the title line.
3933This is especially important for code that changes the trailer
3934a little now and then.
3935
39362005-05-17 Grahame Bowland <grahame@angrygoats.net>
3937
3938* commands.cc: add "automate certs ID" to the help string
3939for the automate command
3940* automate.cc: implement "automate certs". Add to the list
3941of commands available through "automate stdio".
3942* monotone.texi: document "automate certs"
3943
39442005-05-17 Nathaniel Smith <njs@codesourcery.com>
3945
3946* monotone.texi (Network): Document 'serve' as taking more than
3947one collection argument.
3948
39492005-05-15 graydon hoare <graydon@pobox.com>
3950
3951* rcs_import.cc (note_state_at_branch_beginning): collect
3952branch beginning states into a single synthetic commit.
3953
39542005-05-15 graydon hoare <graydon@pobox.com>
3955
3956* rcs_import.cc: rewrite most of the branch logic to
3957address issues raised in bugs 13032 and 13063.
3958* tests/t_cvsimport_deleted_invar.at: un-XFAIL.
3959
39602005-05-16 Matt Johnston <matt@ucc.asn.au>
3961
3962* commands.cc (commit): change scope of the transaction guard so that
3963the transaction will fail before MT/revision is written (which could
3964leave a non-committed revision/bad working dir).
3965
39662005-05-16 Grahame Bowland <grahame@angrygoats.net>
3967
3968* monotone.texi: update "monotone log" documentation
3969* commands.cc: fix "monotone log" when run with no --revision args
3970
39712005-05-15 Derek Scherger <derek@echologic.com>
3972
3973* tests/t_update_with_blocked_rename.at: new test
3974* testsuite.at: call it
3975
39762005-05-15 Derek Scherger <derek@echologic.com>
3977
3978* netsync.cc (process_anonymous_cmd, process_auth_cmd): log
3979details of permissions allowed/denied
3980* tests/t_netsync_permissions.at: new test
3981* testsuite.at: call it
3982
39832005-05-15 Richard Levitte <richard@levitte.org>
3984
3985* contrib/monotone-notify.pl (revision_is_in_branch): Another
3986place where --revision was missing.
3987
39882005-05-14 Timothy Brownawell <tbrownaw@gmail.com>
3989
3990* contrib/monoprof.sh: Clean up variable definitions some.
3991- Add option --datadir, should now be usable without editing
3992variables to match system paths
3993- Add option --setup, generates most of the needed files
3994
39952005-05-13 Timothy Brownawell <tbrownaw@gmail.com>
3996
3997Add "monotone automate stdio", to let the automation interface
3998take commands on standard input.
3999* automate.cc: (automate_stdio) New function.
4000(automate_command) Add it.
4001* commands.cc: Add to description for "automate".
4002* monotone.texi: Add to documentation.
4003
40042005-05-13 Joel Reed <joelwreed@comcast.com>
4005
4006* tests/t_unidiff3.at: opps. forgot to add this file which
4007should have been included as fix for bug 13072.
4008
40092005-05-13 Joel Reed <joelwreed@comcast.com>
4010
4011* diff_patch.cc, transforms.cc, testsuite.at: Patch from
4012drepper@redhat.com, who writes: "The attached patch should fix bug
401313072. I have no idea why the code in transform.cc insists on
4014adding an empty line in case the file is empty. Removing the code
4015didn't cause any regressions in the test suite and the
4016diff_patch.cc change corrects the output format. A new test case
4017is included as well."
4018
40192005-05-13 Joel Reed <joelwreed@comcast.com>
4020
4021* automate.cc: add automate attributes command
4022* commands.cc: add attributes subcommand helptext
4023* contrib/monotone.zsh_completion: use automate attributes
4024for completion of monotone attr and cleanup ignore files code
4025* tests/t_automate_attributes.at: add testcase
4026* testsuite.at: include new testcaes
4027
40282005-05-13 Jon Bright <jon@siliconcircus.com>
4029* testsuite.at (UNGZ): Change the way the ungzipping works on
4030Win32, in the hope that test 206 will no longer be given invalid
4031files.
4032
40332005-05-12 Derek Scherger <derek@echologic.com>
4034
4035* automate.cc: bump version number to 1.0
4036(struct inventory_item): add pre/post states
4037(inventory_paths): remove obsolete function
4038(inventory_pre_state, inventory_post_state, inventory_file_state,
4039inventory_renames): add fancy new functions
4040(automate_inventory): rework for new output format
4041* manifest.{cc,hh} (classify_paths): rename to ...
4042(classify_manifest_paths): ... this and work solely from manifest
4043* monotone.texi: (Automation): update inventory docs
4044* tests/t_automate_inventory.at: update for new format and add
4045some more tests
4046
40472005-05-13 Matthew Gregan <kinetik@orcon.net.nz>
4048
4049* HACKING: New file. First pass at a brief document to help
4050newcomers hack on monotone.
4051
40522005-05-12 Riccardo Ghetta <birrachiara@tin.it>
4053
4054* options.hh (OPT_MSGFILE): New option.
4055* monotone.cc (message-file): New option.
4056(cpp_main): Handle it.
4057* app_state.{cc,hh} (set_message_file): New function.
4058* commands.cc (commit): Accept and handle new option.
4059* monotone.1, monotone.texi: Document it.
4060* tests/t_commit_message_file.at: New test.
4061* testsuite.at: Add it.
4062
40632005-05-12 Timothy Brownawell <tbrownaw@gmail.com>
4064
4065* (20 files): Do not indent with both tabs and spaces in the same file.
4066
40672005-05-13 Ulrich Drepper <drepper@redhat.com>
4068
4069* rcs_import.cc (process_one_hunk): Improve handling of corrupt
4070RCS files.
4071
40722005-05-13 Matthew Gregan <kinetik@orcon.net.nz>
4073
4074* testsuite.at: Fix typo error in Win32 kill logic that was
4075causing the testsuites to hang on Win32 machines that don't have
4076pskill installed.
4077
40782005-05-12 Matthew Gregan <kinetik@orcon.net.nz>
4079
4080* file_io.cc (write_data_impl): Use portable boost::filesystem
4081calls in place of unlink(2)/remove(2).
4082
40832005-05-12 Grahame Bowland <grahame@angrygoats.net>
4084
4085* commands.cc: Modify the "log" command to accept multiple
4086revisions on command line, and display the log for all
4087of those revisions.
4088
40892005-05-11 Nathaniel Smith <njs@codesourcery.com>
4090
4091* std_hooks.lua (ignore_file): Organize a bit more, add
4092patterns for autotools cache files, and darcs, codeville, git
4093metadata directories.
4094
40952005-05-11 Timothy Brownawell <tbrownaw@gmail.com>
4096
4097* revision.cc (expand_dominators): Fix bitmap size-matching.
4098(find_common_ancestor_for_merge): Do not wait for ancestors
4099to be expanded to the beginning of time before expanding
4100dominators. Requires above fix for correct behavior.
4101* ChangeLog: Fix date on previous entry.
4102
41032005-05-11 Timothy Brownawell <tbrownaw@gmail.com>
4104
4105* contrib/monoprof.sh: Add profiling test for "netsync large file".
4106Add options to only run specific profile tests.
4107
41082005-05-11 Stanislav Karchebny <stanislav.karchebny@skype.net>
4109
4110* contrib/monotone-notify.pl: 'monotone log' takes a revision
4111through the --revision= option.
4112
41132005-05-11 Richard Levitte <richard@levitte.org>
4114
4115* contrib/monotone-notify.pl: Change all occurences of $symbol' to
4116${symbol}' to avoid a confusing Perl warning.
4117
41182005-05-11 Joel Reed <joelwreed@comcast.com>
4119
4120* contrib/monotone.zsh_completion: add zsh completion contrib.
4121
41222005-05-11 Matt Johnston <matt@ucc.asn.au>
4123
4124* tests/t_add_intermediate_MT_path.at: remove the drop dir part
4125* tests/t_delete_dir.at: add a note about re-enabling the above test
4126* tests/t_cvsimport3.at: ignore stderr
4127
41282005-05-11 Matt Johnston <matt@ucc.asn.au>
4129
4130* rcs_import.cc (find_branchpoint): if a branch is derived from two
4131differing parent branches, take the one closest to the trunk.
4132* tests/t_cvsimport3.at: add a test for cvs_importing where branches
4133come off a vendor import.
4134* testsuite.at: add it
4135
41362005-05-11 Nathaniel Smith <njs@codesourcery.com>
4137
4138* work.cc (build_deletions): Disable delete_dir.
4139
41402005-05-11 Matthew Gregan <kinetik@orcon.net.nz>
4141
4142* constants.cc (constants::bufsz): Increase buffer size. Reduces
4143the runtime to tests/t_netsync_largish_file.at by four to seven
4144times on my test machines.
4145
41462005-05-10 Timothy Brownawell <tbrownaw@gmail.com>
4147
4148* revision.cc: Make expand_{ancestors,dominators} twice as fast.
4149Loop over revisions in the other direction so that changes at the
4150frontier propogate fully in 1 pass, instead of one level at a time.
4151
41522005-05-10 Timothy Brownawell <tbrownaw@gmail.com>
4153
4154* packet.{cc,hh}: Give packet_consumer and children a callback to call
4155after writing out a revision.
4156* netsync.cc: Use this callback to add a "revisions written" ticker,
4157to provide user feedback while sanity checking.
4158
41592005-05-10 Timothy Brownawell <tbrownaw@gmail.com>
4160
4161* ui.cc: Make tick_write_count take less horizontal space
4162
41632005-05-09 Nathaniel Smith <njs@codesourcery.com>
4164
4165* AUTHORS: Give Riccardo his real name.
4166* ChangeLog: Likewise.
4167
41682005-05-09 Riccardo Ghetta <birrachiara@tin.it>
4169
4170* std_hooks.lua: Support kdiff3.
4171
41722005-05-09 Matthew Gregan <kinetik@orcon.net.nz>
4173
4174* lua.cc (loadstring, run_string): New parameter to identify the
4175source of the Lua string being loaded.
4176(add_{std,test}_hooks, load_rcfile): Pass an identity through.
4177
41782005-05-09 Matthew Gregan <kinetik@orcon.net.nz>
4179
4180* monotone.cc: Absolutify and tilde expand pid file.
4181
41822005-05-09 Matthew Gregan <kinetik@orcon.net.nz>
4183
4184* testsuite.at: Revert bogus changes committed in revision 9d478.
4185
41862005-05-09 Matt Johnston <matt@ucc.asn.au>
4187
4188* commands.cc (pid_file): use fs::path .empty() rather than ==, since
4189boost 1.31 doesn't seem to have the latter.
4190
41912005-05-08 Matthew Gregan <kinetik@orcon.net.nz>
4192
4193* lua.cc (report_error, load{file,string}): New member functions.
4194Error handling in call moved into report_error.
4195(call): Call report_error.
4196(run_{file,string}): Call load{file,string} member functions to
4197load Lua code into the VM. Allows us to report syntax errors when
4198loading rc files.
4199* testsuite.at: test_hooks.lua was calling nonexistent (obsolete)
4200strfind function and failing silently. The improved error
4201reporting from Lua caught this and cause testsuite failures.
4202
42032005-05-08 Matthew Gregan <kinetik@orcon.net.nz>
4204
4205* monotone.1: Document --pid-file option. Also make some minor
4206spelling and punctuation fixes.
4207
42082005-05-08 Timothy Brownawell <tbrownaw@gmail.com>
4209* app_state.cc: {read,write}_options now print a warning instead of
4210failing on unreadable/unwritable MT/options .
4211* tests/t_unreadable_MT.at: add matching test
4212* testsuite.at: add test
4213* tests/README: Mention that new tests must be added to testsuite.at
4214* work.cc: (get_revision_id) Friendlier error message for
4215unreadable MT/revision .
4216
42172005-05-08 Matthew Gregan <kinetik@orcon.net.nz>
4218
4219* monotone.texi: Right words, wrong order.
4220* testsuite.at: Drop pid mapping trickery, it doesn't work
4221consistently. We now try and use SysInternal's pskill to kill the
4222process. If pskill is not available, we fall back to the old
4223'kill all monotone processes' method. These changes affect
4224Win32/MingW only.
4225
42262005-05-07 Matthew Gregan <kinetik@orcon.net.nz>
4227
4228* commands.cc (pid_file): Remove leftover debugging output.
4229* configure.ac: Correct typos in TYPE_PID_T test.
4230* testsuite.at: Use some trickery on MingW/Cygwin to map the
4231Windows pid to the Cygwin pid.
4232* win32/process.cc (process_wait): Correct return type.
4233(process_spawn): Replace dropped cast on return.
4234
42352005-05-07 Matt Johnston <matt@ucc.asn.au>
4236
4237* change_set.cc: fix the code which skips deltas on deleted files,
4238 it was looking at the merged filename not the ancestor
4239 filename.
4240* tests/t_drop_vs_patch_rename.at: a test for the above fix
4241* testsuite.at: add it
4242
42432005-05-06 Timothy Brownawell <tbrownaw@gmail.com>
4244
4245* contrib/monoprof.sh: Add lcad test.
4246Add options to pull/rebuild before profiling.
4247
42482005-05-06 Nathaniel Smith <njs@codesourcery.com>
4249
4250* INSTALL: s/g++ 3.2 or 3.3/g++ 3.2 or later/.
4251
42522005-05-06 Nathaniel Smith <njs@codesourcery.com>
4253
4254* monotone.1:
4255* monotone.texi (Commands, Importing from CVS, RCS): Clarify
4256cvs_import documentation on cvsroot vs. module issues.
4257
42582005-05-05 Richard Levitte <richard@levitte.org>
4259
4260* AUTHORS: Add rghetta.
4261
42622005-05-05 Matthew Gregan <kinetik@orcon.net.nz>
4263
4264* monotone.texi: Document --pid-file option for serve command.
4265* app_state.{cc,hh} (set_pidfile, pidfile): New function, new
4266member.
4267* commands.cc (pid_file): New class.
4268(CMD(serve)): Use pid_file.
4269* monotone.cc (coptions, cppmain): Add command-specific option
4270--pid-file.
4271* options.hh (OPT_PIDFILE): New option.
4272* {unix,win32}/process.cc (get_process_id): New function.
4273(process_{spawn,wait,kill}): Use pid_t.
4274* platform.hh (process_{spawn,wait,kill}): Use pid_t.
4275(get_process_id): New function
4276* configure.ac: Test for pid_t.
4277* lua.cc (monotone_{spawn,wait,kill}_for_lua): Use pid_t.
4278* testsuite.at: Update netsync kill functions to use pid file.
4279* tests/t_netsync_sigpipe.at: Update to use pid file.
4280* tests/t_netsync_single.at: Update to use pid file.
4281
42822005-05-04 Nathaniel Smith <njs@codesourcery.com>
4283
4284* tests/t_monotone_up.at: New test.
4285* testsuite.at: Add it.
4286
42872005-05-05 Matthew Gregan <kinetik@orcon.net.nz>
4288
4289* work.cc: Use attr_file_name rather than hardcoded strings.
4290
42912005-05-04 Brian Campbell <brian.p.campbell@dartmouth.edu>
4292
4293* contrib/monotone.el (monotone-vc-register): Fix arguments to
4294monotone-cmd-buf, to make work.
4295
42962005-05-03 Nathaniel Smith <njs@codesourcery.com>
4297
4298* file_io.cc (read_data_for_command_line): Check that file exists,
4299if reading a file.
4300
43012005-05-04 Matthew Gregan <kinetik@orcon.net.nz>
4302
4303* configure.ac: Add TYPE_SOCKLEN_T function from the Autoconf
4304archive.
4305* cryptopp/cryptlib.h (NameValuePairs): Change GetVoidValue from a
4306pure virtual to an implemented (but never called) member function
4307to work around build problem with GCC 4 on OS X 10.4
4308* netxx/osutil.h: Include config.h, use new HAVE_SOCKLEN_T define
4309to determine socklen_t type.
4310
43112005-05-03 Nathaniel Smith <njs@codesourcery.com>
4312
4313* lua.cc (load_rcfile): Make a version that takes utf8 strings,
4314and understands -.
4315* app_state.cc (load_rcfiles): Use it.
4316* file_io.{cc,hh} (absolutify_for_command_line): New function.
4317* monotone.cc (cpp_main): Use it.
4318* tests/t_rcfile_stdin.at: New test.
4319* testsuite.at: Include it.
4320
43212005-05-03 Nathaniel Smith <njs@codesourcery.com>
4322
4323* netsync.cc (load_epoch): Remove unused function.
4324
43252005-05-03 Matthew Gregan <kinetik@orcon.net.nz>
4326
4327* tests/t_cvsimport_manifest_cycle.at: Add missing symbols.
4328* tests/t_cvsimport_deleted_invar.at: Add new test.
4329* testsuite.at: New test.
4330
43312005-05-03 Nathaniel Smith <njs@codesourcery.com>
4332
4333* netsync.cc (run_netsync_protocol): Don't use the word
4334"exception" in error messages.
4335
43362005-05-03 Nathaniel Smith <njs@codesourcery.com>
4337
4338* UPGRADE: Fix version number.
4339
43402005-05-03 Nathaniel Smith <njs@codesourcery.com>
4341
4342* debian/compat: New file.
4343
43442005-05-03 Nathaniel Smith <njs@codesourcery.com>
4345
4346* UPGRADE: Mention upgrading from 0.18.
4347* debian/copyright: Re-sync with AUTHORS.
4348* win32/monotone.iss, monotone.spec, debian/changelog: Bump
4349version numbers to 0.19.
4350* NEWS: Finish updating for 0.19.
4351
43522005-05-03 Jon Bright <jon@siliconcircus.com>
4353* win32/monotone.iss: Bump version to 0.19
4354
43552005-05-03 Jon Bright <jon@siliconcircus.com>
4356* tests/t_automate_select.at: Use arithmetic comparison for
4357checking output of wc, since wc pads its results with initial
4358spaces on MinGW.
4359
43602005-05-03 Nathaniel Smith <njs@codesourcery.com>
4361
4362* tests/t_cvsimport2.at: Pass correct module directory.
4363
43642005-05-02 Nathaniel Smith <njs@codesourcery.com>
4365
4366* configure.ac: Bump version to 0.19.
4367* NEWS: Tweaks.
4368* Makefile.am (MOST_SOURCES): Add options.hh.
4369(%.eps): Fix ps2eps calling convention.
4370* po/monotone.pot: Regenerate.
4371* testsuite.at (CHECK_SAME_CANONICALISED_STDOUT): New macro.
4372
43732005-05-02 Nathaniel Smith <njs@codesourcery.com>
4374
4375* NEWS: More updates.
4376* rcs_import.cc (store_manifest_edge): Fix some edge cases.
4377* tests/t_cvsimport_manifest_cycle.at: Make work. Un-XFAIL.
4378
43792005-05-01 Matt Johnston <matt@ucc.asn.au>
4380
4381* diff_patch.cc (normalize_extents): broaden the condition when
4382changes can be normalised.
4383* tests/t_merge_6.at: now passes.
4384
43852005-05-01 Emile Snyder <emile@alumni.reed.edu>
4386
4387* annotate.cc: Fix bug that njs pointed out when a merge has one
4388side with no changes. Be smarter about how we get parent
4389file_id's to do file diffs; give another big speedup.
4390* tests/t_annotate_copy_all.at: New test for the bug that is fixed.
4391* testsuite.at: Add the new test.
4392
43932005-05-02 Richard Levitte <richard@levitte.org>
4394
4395* tests/t_override_author_date.at: Adapt to the new way to give
4396revision IDs to 'monotone log'.
4397
43982005-05-01 Richard Levitte <richard@levitte.org>
4399
4400* monotone.texi: Document the change in 'monotone log'.
4401
44022005-05-01 Riccardo Ghetta <birrachiara@tin.it>
4403
4404* commands.cc (CMD(log)): Use --revision.
4405
44062005-05-02 Matt Johnston <matt@ucc.asn.au>
4407
4408* netsync.cc (process_auth_cmd): make it clearer what the "unknown
4409key hash" refers to.
4410
44112005-05-01 Richard Levitte <richard@levitte.org>
4412
4413* commands.hh: Expose complete_commands().
4414* commands.cc (explain_usage, command_options, process): Don't
4415call complete_command(). Except the caller to have done that
4416already.
4417* monotone.cc (cpp_main): Start with completing the command after
4418processing the options. Use the result everywhere the command is
4419required. This avoids giving the user duplicate (or in some case,
4420triplicate) messages about command expansion.
4421
44222005-04-30 Derek Scherger <derek@echologic.com>
4423
4424* app_state.{cc,hh}: remove --all-files option
4425* automate.cc: move inventory command and associated stuff here from ...
4426* commands.cc: ... here, where it has been removed
4427* monotone.1: relocate inventory command, remove --all-files option
4428* monotone.cc: remove --all-files option
4429* monotone.texi: relocate inventory documentation to automation
4430section, remove --all-files option
4431* tests/t_automate_inventory.at: renamed and updated for move to automate
4432* testsuite.at: adjust for rename
4433
44342005-04-30 Derek Scherger <derek@echologic.com>
4435
4436* Makefile.am (MOST_SOURCES): add restrictions.{cc,hh}
4437* commands.cc (extract_rearranged_paths):
4438(extract_delta_paths):
4439(extract_changed_paths):
4440(add_intermediate_paths):
4441(restrict_path_set):
4442(restrict_rename_set):
4443(restrict_path_rearrangement):
4444(restrict_delta_map):
4445(calculate_restricted_rearrangement):
4446(calculate_restricted_revision):
4447(calculate_current_revision):
4448(calculate_restricted_change_set): move to restrictions.{cc,hh}
4449(maybe_update_inodeprints):
4450(cat):
4451(dodiff):
4452(update): rename calculate_current_revision to
4453calculate_unrestricted_revision
4454* database_check.hh: update header guard #define
4455* restrictions.{cc,hh}: add new files
4456
44572005-04-30 Nathaniel Smith <njs@codesourcery.com>
4458
4459* commands.cc: Add a placeholder OPT_NONE for commands that don't
4460take any command-specific options; use it everywhere. Now the
4461last argument to CMD never starts with %, and the last argument is
4462always required to be present.
4463
44642005-04-30 Richard Levitte <richard@levitte.org>
4465
4466* contrib/monotone-nav.el (mnav-rev-make): Move it so it's defined
4467after the definition of the macro mnav-rev-id. Otherwise, the
4468byte compiler complains there is no setf method for mnav-rev-id.
4469
44702005-04-30 Nathaniel Smith <njs@codesourcery.com>
4471
4472* monotone.texi (Database): Minor correction.
4473
44742005-04-30 Nathaniel Smith <njs@codesourcery.com>
4475
4476* vocab.cc (trivially_safe_file_path): New function.
4477(verify): Use it.
4478(test_file_path_verification, test_file_path_normalization): Add a
4479few more checks.
4480
4481* transforms.{cc,hh} (localized_as_string): New function.
4482* {win32,unix}/inodeprint.cc (inodeprint_file): Use it, to avoid
4483mkpath().
4484
4485* commands.cc (add_intermediate_paths): Hand-code intermediate
4486path generator, taking advantage of normalization of file_path's,
4487to avoid mkpath().
4488
44892005-04-29 Joel Rosdahl <joel@rosdahl.net>
4490
4491* monotone.texi: Minor corrections.
4492
44932005-04-29 Nathaniel Smith <njs@codesourcery.com>
4494
4495* commands.cc (ls_tags): Sort output.
4496* tests/t_tags.at: Test that output is sorted.
4497
44982005-04-29 Derek Scherger <derek@echologic.com>
4499
4500* commands.cc (struct file_itemizer): move to ...
4501* work.hh (file_itemizer} ... here
4502* work.cc (file_itemizer::visit_file} ... and here
4503
45042005-04-29 Emile Snyder <emile@alumni.reed.edu>
4505
4506* annotate.cc (do_annotate_node): Stop doing expensive
4507calculate_arbitrary_change_set when we already know we have parent
4508and child revisions. Cuts annotate run time in half.
4509
45102005-04-29 Nathaniel Smith <njs@codesourcery.com>
4511
4512* commands.cc (update_inodeprints): Rename to...
4513(refresh_inodeprints): ...this, so 'monotone up' continues to mean
4514update.
4515
4516* monotone.texi (Inodeprints): Mention refresh_inodeprints in the
4517Inodeprints section.
4518
4519* testsuite.at:
4520* tests/t_update_inodeprints.at:
4521* tests/t_refresh_inodeprints.at:
4522* monotone.texi (Working Copy, Commands):
4523* monotone.1: Update accordingly.
4524
45252005-04-29 Nathaniel Smith <njs@codesourcery.com>
4526
4527* change_set.cc (dump_change_set): Don't truncate output.
4528(invert_change_test): New unit test.
4529(invert_change_set): Make it pass. This fixes (some?)
4530isect.empty() invariant failures.
4531
4532* NEWS: Start updating for 0.19.
4533
4534* revision.cc (check_sane_history): Make comment more
4535informative.
4536
45372005-04-29 Grahame Bowland <grahame@angrygoats.net>
4538
4539* netxx/types.h: Add new NetworkException type network
4540issue not caused by calling program
4541* netsync.cc: Catch Netxx::NetworkException and display
4542as informative_error.
4543* netxx/address.cxx: NetworkException for unparsable URIs.
4544* netxx/datagram.cxx: NetworkException for connection failure.
4545* netxx/resolve_getaddrinfo.cxx, resolve_gethostbyname.cxx:
4546NetworkException when DNS resolution fails.
4547* netxx/serverbase.cxx: NetworkException if unable to bind
4548to server port.
4549* netxx/streambase.cxx: NetworkException if unable to
4550connect.
4551
45522005-04-28 Nathaniel Smith <njs@codesourcery.com>
4553
4554* tests/t_netsync_error.at: New test.
4555* testsuite.at: Add it.
4556
45572005-04-28 Nathaniel Smith <njs@codesourcery.com>
4558
4559* tests/t_rename_attr.at: Fix a bit; also test that rename refuses
4560to move a file to a name that already has attrs.
4561* work.cc (build_rename): Cleanup a bit; refuse to move a file to
4562a name that already has attrs.
4563
4564* monotone.texi (Working Copy): Document explicitly that "drop"
4565and "rename" do not modify the filesystem directly, and do affect
4566attributes.
4567
45682005-04-28 Derek Scherger <derek@echologic.com>
4569
4570* commands.cc (get_work_path):
4571(get_revision_path):
4572(get_revision_id):
4573(put_revision_id):
4574(get_path_rearrangement):
4575(remove_path_rearrangement):
4576(put_path_rearrangement):
4577(update_any_attrs):
4578(get_base_revision):
4579(get_base_manifest): move to work.{cc,hh}
4580(update): indicate optional revision with [ and ]
4581(explicit_merge): indicate optional ancestor with [ and ]
4582
4583* manifest.{cc,hh} (extract_path_set): move here from work.{cc,hh}
4584* revision.{cc,hh} (revision_file_name): move to work.{cc,hh}
4585
4586* work.{cc,hh} (extract_path_set): move to manifest.{cc,hh}
4587(get_work_path):
4588(get_path_rearrangement):
4589(remove_path_rearrangement):
4590(put_path_rearrangement):
4591(get_revision_path):
4592(get_revision_id):
4593(put_revision_id):
4594(get_base_revision):
4595(get_base_manifest):
4596(update_any_attrs): move here from commands.cc
4597
45982005-04-28 Derek Scherger <derek@echologic.com>
4599
4600* ChangeLog:
4601* Makefile.am
4602* tests/t_automate_select.at: merge fixups
4603
46042005-04-28 Emile Snyder <emile@alumni.reed.edu>
4605
4606* annotate.cc: Fix broken build after propagate from .annotate
4607branch to mainline. The lcs stuff was changed to use
4608quick_allocator, so our use of it had to change as well.
4609
46102005-04-28 Emile Snyder <emile@alumni.reed.edu>
4611
4612* commands.cc: New command "annotate"
4613* annotate.{cc,hh}: New files implement it.
4614* Makefile.am: Build it.
4615* monotone.texi: Document it.
4616* tests/t_annotate.at:
4617* tests/t_annotate_add_collision.at:
4618* tests/t_annotate_branch_collision.at:
4619* testsuite.at: Test it.
4620
46212005-04-28 Matt Johnston <matt@ucc.asn.au>
4622
4623* tests/t_merge_6.at: narrow the testcase down considerably.
4624
46252005-04-28 Matt Johnston <matt@ucc.asn.au>
4626
4627* tests/t_merge_6.at, testsuite.at: add a new test for the case where
4628duplicate lines appear in a file during a merge. This testcase can
4629be correctly handled by merge(1).
4630
46312005-04-28 Matt Johnston <matt@ucc.asn.au>
4632
4633* tests/t_i18n_file.at, transforms.cc: OS X expects all paths to be
4634utf-8, don't try to use other encodings in the test.
4635
46362005-04-28 Richard Levitte <richard@levitte.org>
4637
4638* tests/t_automate_select.at: silly ignores not needed any more.
4639
46402005-04-28 Richard Levitte <richard@levitte.org>
4641
4642* commands.cc (complete): Don't talk of there really was no
4643expansion.
4644
46452005-04-28 Richard Levitte <richard@levitte.org>
4646
4647* commands.cc, commands.hh: Selector functions and type are moved
4648to...
4649* selectors.cc, selectors.hh: ... these files.
4650* database.cc, database.hh: Adapt to this change.
4651* automate.cc (automate_select): New function, implements
4652'automate select'.
4653(automate_command): Use it.
4654* monotone.texi (Automation): Document it.
4655
4656* tests/t_automate_select.at: New test.
4657* testsuite.at: Use it.
4658
4659* Makefile.am (MOST_SOURCES): reorganise. Add selectors.{cc,hh}.
4660
46612005-04-27 Derek Scherger <derek@echologic.com>
4662
4663* commands.cc (ls_unknown): remove unneeded braces
4664(struct inventory_item): new struct for tracking inventories
4665(print_inventory): removed old output functions
4666(inventory_paths): new functions for paths, data and renames
4667(inventory): rework to display two column status codes
4668* monotone.texi (Informative): update for new status codes
4669* tests/t_inventory.at: update for two column status codes
4670
46712005-04-27 Richard Levitte <richard@levitte.org><