monotone

monotone Mtn Source Tree

Root/ChangeLog

12005-04-01 Richard Levitte <richard@levitte.org>
2
3* contrib/Notify.pl: Complete rewrite. Among other things, it
4 makes better use of some new monotone automate features. It's
5 also better organised and much more documented.
6
72005-04-01 Jeremy Cowgar <jeremy@cowgar.com>
8
9* tests/t_dropkey_2.at: Updated to test dropkey instead of delkey
10* tests/t_dropkey_1.at: Updated to test dropkey instead of delkey
11* monotone.texi (Key and Cert): Changed references to delkey
12 to dropkey
13 (Commands): Changed references to delkey to dropkey
14* testsuite.at: changed references from t_delkey* to t_dropkey*
15* t_delkey_1.at: renamed to t_dropkey_1.at
16* t_delkey_2.at: renamed to t_dropkey_2.at
17* commands.cc (CMD(delkey)): renamed to dropkey to maintain
18 command consistency (with existing drop command)
19
202005-04-01 Richard Levitte <richard@levitte.org>
21
22* monotone.cc (my_poptStuffArgFile): An argument file might be
23empty, and therefore contain no arguments to be parsed. That's
24OK.
25* tests/t_at_sign.at: Test it.
26
272005-04-01 Nathaniel Smith <njs@codesourcery.com>
28
29* monotone.cc: Fixup after merge.
30
312005-04-01 Nathaniel Smith <njs@codesourcery.com>
32
33* file_io.cc (read_data_for_command_line): New function.
34(read_data_stdin): New function.
35* file_io.hh (read_data_for_command_line): Add prototype.
36
37* monotone.cc (my_poptStuffArgFile): Clean up a little. Use
38read_data_for_command_line. Don't free argv, but rather return
39it.
40(cpp_main): Keep a list of allocated argv's, and free them.
41(options): Tweak wording of help text on -@.
42
432005-04-01 Nathaniel Smith <njs@codesourcery.com>
44
45* file_io.hh: Remove tabs.
46
472005-04-01 Nathaniel Smith <njs@codesourcery.com>
48
49* monotone.cc (cpp_main): Actually remove newline.
50
512005-04-01 Nathaniel Smith <njs@codesourcery.com>
52
53* ChangeLog: Fixup after merge.
54* monotone.text (Making Changes): Fix typo.
55
562005-04-01 Nathaniel Smith <njs@codesourcery.com>
57
58* monotone.cc (cpp_main): Remove now-unneccessary newline.
59
60* commands.cc (commit): Fix typo.
61
62* monotone.texi (Making Changes): Don't claim that writing to
63MT/log prevents the editor from starting. Clarify later that
64having written to MT/log still means the editor will pop up
65later.
66
672005-04-01 Richard Levitte <richard@levitte.org>
68
69* monotone.cc: Add the long name --xargs for -@.
70* monotone.1: Document it.
71* tests/t_at_sign.at: Remove extra empty line and test --xargs.
72
73* monotone.texi (Making Changes): Cleanupy tweaks.
74
75* monotone.cc (my_poptStuffArgFile): New function to parse a file
76for more arguments and stuff them into the command line.
77(cpp_main): Add the -@ option
78* tests/t_at_sign.at, testsuite.at: Test it
79* monotone.1: Document it.
80
812005-03-31 Nathaniel Smith <njs@codesourcery.com>
82
83* tests/t_log_depth.at: Cleanupy tweaks.
84
852005-03-31 Jeremy Cowgar <jeremy@cowgar.com>
86
87* monotone.texi: Tutorial updated to include example of
88 editing/committing with MT/log
89* work.cc (has_contents_user_log) Added
90* work.hh (has_contents_user_log) Added
91* commands.cc (CMD(commit)): Checks to ensure both MT/log and the
92 --message option does not exist during commit.
93* transforms.hh (prefix_lines_with): Added
94* transforms.cc (prefix_lines_with): Added
95* sanity.cc (naughty_failure): Made use of prefix_lines_with()
96* ui.cc (inform): now handles messages w/embedded newlines
97* tests/t_commit_log_3.at: Created to test new functionality
98 added to CMD(commit)
99* testsuite.at: Added above test
100
1012005-03-31 Richard Levitte <richard@levitte.org>
102
103* monotone.cc: Add the --depth option...
104* app_state.hh (class app_state),
105 app_state.cc (app_state::set_depth): ... and the field and
106 method to store and set it.
107* commands.cc (CMD(log)): ... then handle it.
108
109* tests/t_log_depth.at: Add a test for 'log --depth=n'
110* testsuite.at: Add it.
111* monotone.texi (Informative): Document it.
112
1132005-03-31 Nathaniel Smith <njs@codesourcery.com>
114
115* automate.cc (automate_erase_ancestors): Accept zero arguments,
116and in such case print nothing. (Important for scripting.)
117* commands.cc (automate):
118* monotone.texi (Automation):
119* tests/t_automate_erase_ancestors.at: Update accordingly.
120
1212005-03-31 Nathaniel Smith <njs@codesourcery.com>
122
123* automate.cc (automate_toposort): Accept zero arguments, and in
124such case print nothing. (Important for scripting.)
125* commands.cc (automate):
126* monotone.texi (Automation):
127* tests/t_automate_toposort.at: Update accordingly.
128
1292005-03-30 Richard Levitte <richard@levitte.org>
130
131* contrib/Notify.pl: A new Perl hack to send change logs by
132email.
133
134* contrib/README: Add a quick description.
135
1362005-03-30 Nathaniel Smith <njs@codesourcery.com>
137
138* automate.cc (automate_leaves): New function.
139(automate_command): Add it.
140* commands.cc (automate): Synopsify it.
141* monotone.1: Add it.
142* monotone.texi (Automation, Commands): Likewise.
143
144* tests/t_automate_leaves.at: New test.
145* testsuite.at: Add it.
146
1472005-03-30 Nathaniel Smith <njs@codesourcery.com>
148
149* monotone.texi (Automation): Make newly added sample outputs
150verbatim also.
151
1522005-03-30 Nathaniel Smith <njs@codesourcery.com>
153
154* tests/t_automate_toposort.at: New test.
155* tests/t_automate_ancestry_difference.at: New test.
156* tests/t_diff_first_rev.at: New test.
157* testsuite.at: Add them.
158
159* revision.cc (calculate_ancestors_from_graph): Do not keep an
160"interesting" set and return only ancestors from this set;
161instead, simply return all ancestors. Returning a limited set of
162ancestors does not speed things up, nor reduce memory usage in
163common cases. (The only time it would reduce memory usage is when
164examining only a small ancestor set, which the important case,
165'heads', does not; even then, erase_ancestors would need to intern
166the interesting revisions first so they got low numbers, which it
167doesn't.)
168(erase_ancestors): Adjust accordingly.
169(toposort, ancestry_difference): New functions.
170* revision.hh (toposort, ancestry_difference): Declare.
171* automate.cc (automate_toposort, automate_ancestry_difference):
172New functions.
173(automate_command): Add them.
174All functions: clarify in description whether output is sorted
175alphabetically or topologically.
176* commands.cc (automate): Synopsify them.
177* monotone.1: Add them.
178* monotone.texi (Commands): Likewise.
179(Automation): Likewise. Also, clarify for each command whether
180its output is alphabetically or topologically sorted.
181
1822005-03-29 Richard Levitte <richard@levitte.org>
183
184* commands.cc (CMD(ls)): Update with the same information as
185CMD(list)
186
187* monotone.texi (Automation): Make the sample output verbatim
188
1892005-03-26 Nathaniel Smith <njs@codesourcery.com>
190
191* automate.cc (automate_erase_ancestors): New function.
192(automate_command): Use it.
193* commands.cc (automate): Document it.
194
195* tests/t_automate_erase_ancestors.at: New test.
196* testsuite.at: Add it.
197
198* monotone.texi (Automation, Commands): Document automate
199erase_ancestors.
200* monotone.1: Document automate erase_ancestors.
201
2022005-03-26 Nathaniel Smith <njs@codesourcery.com>
203
204* automate.cc (interface_version): Bump to 0.1.
205(automate_descendents): New function.
206(automate_command): Call it.
207* commands.cc (automate): Add it to help text.
208
209* tests/t_automate_descendents.at: New test.
210* testsuite.at: Add it.
211
212* monotone.texi (Automation, Commands): Document automate
213descendents.
214* monotone.1: Document automate descendents, and vars stuff.
215
2162005-03-26 Nathaniel Smith <njs@codesourcery.com>
217
218* tests/t_attr.at: No longer a bug report.
219* tests/t_rename_attr.at: New test.
220* testsuite.at: Add it.
221
2222005-03-26 Joel Crisp <jcrisp@s-r-s.co.uk>
223
224* contrib/Log2Gxl.java: New file.
225
2262005-03-26 Nathaniel Smith <njs@pobox.com>
227
228* contrib/README: New file.
229
2302005-03-25 Nathaniel Smith <njs@pobox.com>
231
232* commands.cc (user_log_file_name): Remove unused variable
233again. Hopefully it will take this time...
234
2352005-03-25 Nathaniel Smith <njs@pobox.com>
236
237* commands.cc (user_log_file_name): Remove unused variable.
238
2392005-03-25 Jeremy Cowgar <jeremy@cowgar.com>
240
241* monotone.texi: Added a bit more documentation about MT/log
242 Updated edit_comment hook and addded delkey docs
243* commands.cc: Added delkey command
244* t_delkey_1.at: Tests delkey command on public key
245* t_delkey_2.at: Tests delkey command on public and private key
246* testsuite.at: Added above tests
247* std_hooks.lua: Transposed the MT: lines and user_log_contents,
248 user_log_contents now appears first.
249
2502005-03-25 Jeremy Cowgar <jeremy@cowgar.com>
251
252* t_setup_creates_log.at: Ensures that MT/log is created
253 on setup
254* t_checkout_creates_log.at: Ensures that MT/log is created
255 on checkout
256* t_commit_log_1.at: Ensures that:
257 1. Read and entered as the ChangeLog message
258 2. Is blanked after a successful commit
259* t_commit_log_2.at: Ensures that commit works w/o MT/log being
260 present
261* testsuite.at: Added the above tests.
262
2632005-03-25 Matt Johnston <matt@ucc.asn.au>
264
265 * {unix,win32}/platform_netsync.cc, platform.hh, Makefile.am: new
266 functions to disable and enable sigpipe.
267 * netsync.cc, main.cc: call the functions from netsync rather than
268 globally, so that sigpipe still works for piping output of commands
269 such as 'log'.
270 * tests/t_netsync_sigpipe.at: test it.
271 * testsuite.at: add it.
272
2732005-03-25 Matt Johnston <matt@ucc.asn.au>
274
275* monotone.cc: add short options -r, -b, -k, and -m
276for --revision, --branch, --key, and --message respectively.
277* monotone.texi, monotone.1: document them
278* tests/t_short_opts.at: test them
279* testsuite.at: add it
280
2812005-03-24 Nathaniel Smith <njs@codesourcery.com>
282
283* tests/t_empty_env.at: New test.
284* testsuite.at: Add it. Absolutify path to monotone so it will
285work.
286
287* unix/have_smart_terminal.cc (have_smart_terminal): Handle the
288case where TERM is unset or empty.
289
2902005-03-24 Nathaniel Smith <njs@codesourcery.com>
291
292* ui.hh (tick_write_nothing): New class.
293* monotone.cc (cpp_main): Enable it.
294
2952005-03-24 Nathaniel Smith <njs@codesourcery.com>
296
297* work.cc (build_deletions, build_additions): Fixup after merge.
298
2992005-03-23 Nathaniel Smith <njs@codesourcery.com>
300
301* tests/t_cat_file_by_name.at: Check for attempting to cat
302non-existent files.
303* tests/t_empty_id_completion.at: New test.
304* tests/t_empty_path.at: New test.
305* testsuite.at: Add them.
306
307* database.cc (complete): Always generate some sort of limit term,
308even a degenerate one.
309
310* app_state.cc (create_working_copy): Check for null directory.
311
312* work.cc (build_deletion, build_addition, build_rename): Check
313for null paths.
314
3152005-03-23 Derek Scherger <derek@echologic.com>
316
317* Makefile.am UNIX_PLATFORM_SOURCES:
318WIN32_PLATFORM_SOURCES: add have_smart_terminal.cc
319* platform.hh (have_smart_terminal): prototype
320* ui.cc (user_interface): set ticker to dot/count based on
321have_smart_terminal
322* unix/have_smart_terminal.cc:
323* win32/have_smart_terminal.cc: new file
324
3252005-03-23 Derek Scherger <derek@echologic.com>
326
327* commands.cc (add): pass list of prefixed file_path's to
328build_additions
329(drop): pass list of prefixed file_path's to build_deletions
330(attr): pass attr_path as a 1 element vector to build_additions
331* work.{cc,hh} (build_addition): rename to...
332(build_additions): this, and accept a vector of paths to be added
333in a single path_rearrangement
334(build_deletion): rename to ...
335(build_deletions): this, and accept a vector of paths to be
336dropped in a single path_rearrangement
337(known_preimage_path): replace manifest and path_rearrangement
338args with a path_set to avoid extracting paths for every file
339(build_rename): adjust for change to known_preimage_path
340
3412005-03-23 Nathaniel Smith <njs@codesourcery.com>
342
343* monotone.cc (my_poptFreeContext, cpp_main): Apparently
344poptFreeContext silently changed its return type at some unknown
345time. Hack around this.
346
3472005-03-23 Nathaniel Smith <njs@codesourcery.com>
348
349* monotone.cc (cpp_main): Remove the special code to dump before
350printing exception information, since we no longer dump to the
351screen, so it's always better to have the little status message
352saying what happened to the log buffer at the end of everything.
353* sanity.cc (dump_buffer): Give a hint on how to get debug
354information, when discarding it.
355* work.{hh,cc} (get_local_dump_path): New function.
356* app_state.cc (allow_working_copy): Use it for default
357global_sanity dump path.
358* monotone.texi (Reserved Files): Document MT/debug.
359(Network): Capitalize Bob and Alice (sorry graydon).
360Document new defaulting behavior.
361
3622005-03-23 Nathaniel Smith <njs@codesourcery.com>
363
364* work.cc, sanity.cc: Remove tabs.
365
3662005-03-23 Nathaniel Smith <njs@codesourcery.com>
367
368* monotone.texi (Network Service): Mention that monotone remembers
369your server/collection.
370(Vars): New section.
371* netsync.cc (process_hello_cmd): Touch more cleaning.
372* tests/t_merge_5.at: More commentary.
373
3742005-03-23 Matt Johnston <matt@ucc.asn.au>
375
376* tests/t_merge_5.at: new test for a merge which ends up with
377duplicate lines.
378* testsuite.at: add it
379
3802005-03-22 Jeremy Cowgar <jeremy@cowgar.com>
381
382* AUTHORS: Added my name
383* app_state.cc, commands.cc, lua.cc, lua.hh, monotone.texi,
384 std_hooks.lua, work.cc, work.hh: Added functionality to
385 read the MT/log file for commit logs. In this revision
386 tests are not yet complete nor is documenation complete
387 but the reading, blanking and creating of MT/log is.
388
3892005-03-22 Nathaniel Smith <njs@codesourcery.com>
390
391* vocab_terms.hh: Declare base64<var_name>.
392* database.cc (clear_var, set_var, get_vars): base64-encode
393var_names in the database.
394* monotone.texi (Internationalization): Update description of
395vars.
396* transforms.{cc,hh} ({in,ex}ternalize_var_name): Remove.
397* commands.cc (set, unset, ls_vars): Update accordingly.
398(unset): Error out if the variable doesn't exist.
399* tests/t_vars.at: Verify this works.
400
401* netcmd.cc (test_netcmd_functions): Properly type arguments to
402{read,write}_hello_cmd_payload.
403(write_hello_cmd_payload): Properly type arguments.
404* netcmd.hh (write_hello_cmd_payload):
405* netsync.cc (queue_hello_cmd): Adjust accordingly.
406(process_hello_cmd): More cleaning. Also, save new server keys to
407a var, and check old server keys against the var.
408
409* tests/t_netsync_checks_server_key.at: New test.
410* testsuite.at: Add it. Better docs for some netsync macros,
411while I'm here...
412* tests/t_netsync_absorbs.at: Add 'netsync' keyword.
413
4142005-03-22 Nathaniel Smith <njs@codesourcery.com>
415
416* tests/t_netsync_absorbs.at: New test.
417* testsuite.at: Add it.
418
419* netcmd.{cc,hh} (read_hello_cmd_payload): Properly type
420arguments.
421* netsync.cc (dispatch_payload): Adjust accordingly. Move some
422logic into process_hello_cmd.
423(known_servers_domain): New constant.
424(process_hello_cmd): Tweak arguments appropriately. Include logic
425formerly in dispatch_payload. Cleanup.
426
427No semantic changes.
428
4292005-03-21 Nathaniel Smith <njs@codesourcery.com>
430
431* monotone.texi (Starting a New Project): Tweak phrasing.
432
4332005-03-21 Nathaniel Smith <njs@codesourcery.com>
434
435* commands.cc (process_netsync_client_args): If user specifies
436server/collection and there is no default, set the default.
437* tests/t_netsync_set_defaults.at: New test.
438* testsuite.at: Add it.
439
4402005-03-21 Nathaniel Smith <njs@codesourcery.com>
441
442* vocab.hh (var_key): New typedef.
443* database.{cc,hh}: Use it. Make most var commands take it.
444* commands.cc (set, unset): Adjust accordingly.
445(default_server_key, default_collection_key): New constants.
446(process_netsync_client_args): New function.
447(push, pull, sync): Use it.
448
449* tests/t_netsync_defaults.at: New test.
450* testsuite.at: Add it.
451
4522005-03-21 Matt Johnston <matt@ucc.asn.au>
453
454* change_set.cc: use std::map rather than smap for
455confirm_unique_entries_in_directories() and confirm_proper_tree()
456since they perform a lot of insert()s.
457
4582005-03-21 Nathaniel Smith <njs@codesourcery.com>
459
460* monotone.texi (list tags, list vars, set, unset): Document.
461(Internationalization): Document vars.
462
4632005-03-21 Nathaniel Smith <njs@codesourcery.com>
464
465* transforms.{hh,cc} ({in,ex}ternalize_var_{name,domain}): New
466functions.
467* vocab_terms.hh (base64<var_value>): Declare template.
468* database.hh (get_vars): Simplify API.
469* database.cc (get_vars, get_var, var_exists, set_var, clear_var):
470Implement.
471* commands.cc (set, unset): New commands.
472(ls): New "vars" subcommand.
473* tests/t_vars.at: Fix. Un-XFAIL.
474
4752005-03-21 Nathaniel Smith <njs@codesourcery.com>
476
477* transforms.{cc,hh}: Remove tabs.
478
4792005-03-20 Nathaniel Smith <njs@codesourcery.com>
480
481* tests/t_vars.at: New test.
482* testsuite.at: Add it.
483
4842005-03-20 Nathaniel Smith <njs@codesourcery.com>
485
486* schema.sql (db_vars): New table.
487* database.cc (database::database): Update schema id.
488* schema_migration.cc (migrate_client_to_vars): New function.
489(migrate_monotone_schema): Use it.
490* tests/t_migrate_schema.at: Another schema, another test...
491
492* vocab_terms.hh (var_domain, var_name, var_value): New types.
493* database.hh (get_vars, get_var, var_exists, set_var, clear_var):
494Prototype new functions.
495
4962005-03-20 Derek Scherger <derek@echologic.com>
497
498* file_io.cc (book_keeping_file): return true only if first
499element of path is MT, allowing embedded MT elements
500(walk_tree_recursive): check relative paths for ignoreable book
501keeping files, rather than absolute paths
502(test_book_keeping_file): add fs::path tests for book keeping
503files
504* tests/t_add_intermediate_MT_path.at: un-XFAIL, fix some problems
505with commas, add tests for renames and deletes with embedded MT
506path elements.
507
5082005-03-20 Nathaniel Smith <njs@codesourcery.com>
509
510* monotone.texi: Add some missing @sc{}'s.
511* cryptopp/config.h: Use "mt-stdint.h", not <stdint.h>, for
512portability.
513
5142005-03-19 Nathaniel Smith <njs@codesourcery.com>
515
516* Makefile.am (EXTRA_DIST): Add UPGRADE and README.changesets.
517* debian/files: Auto-updated by dpkg-buildpackage.
518
519* This is the 0.17 release.
520
5212005-03-18 Nathaniel Smith <njs@codesourcery.com>
522
523* Makefile.am (MOST_SOURCES): Add package_{full_,}revision.h.
524* NEWS: Fill in date.
525* debian/copyright: Update from AUTHORS.
526* configure.ac: Bump version number to 0.17.
527* debian/changelog, monotone.spec: Update for release.
528* po/monotone.pot: Auto-updated by distcheck.
529
5302005-03-18 Christof Petig <christof@petig-baender.de>
531
532* sqlite/*: Imported sqlite version 3.1.6 tree
533
5342005-03-18 Nathaniel Smith <njs@codesourcery.com>
535
536* monotone.1, commands.cc, Makefile.am: Fixup after merge.
537
5382005-03-18 Nathaniel Smith <njs@codesourcery.com>
539
540* path_component (split_path): Fix bug.
541Also, add unit tests for file.
542* unit_tests.{hh,cc}: Add path_component unit tests.
543
5442005-03-18 Nathaniel Smith <njs@codesourcery.com>
545
546* Makefile.am: Fixup after merge.
547
5482005-03-18 Nathaniel Smith <njs@codesourcery.com>
549
550* change_set.cc: Move path_component stuff to...
551* path_component.{hh,cc}: ...these new files.
552* Makefile.am: Add them.
553
5542005-03-18 Matt Johnston <matt@ucc.asn.au>
555
556* txt2c.cc: add --no-static option
557* Makefile.am, package_revision.h, package_full_revision.h:
558create revision info files as standalone .c files to speed
559compilation (mt_version.cc doesn't need to recompile each time)
560
5612005-03-17 Derek Scherger <derek@echologic.com>
562
563* INSTALL: add note about creating a ./configure script
564
5652005-03-16 Nathaniel Smith <njs@codesourcery.com>
566
567* UPGRADE: Finish, hopefully.
568* monotone.texi (db check): Be more clear about what is normally
569checked, and when 'db check' is useful.
570
5712005-03-16 Patrick Mauritz <oxygene@studentenbude.ath.cx>
572
573* monotone.texi (Hook Reference): Typo.
574
5752005-03-16 Nathaniel Smith <njs@codesourcery.com>
576
577* monotone.texi: Add Derek Scherger to the copyright list.
578Various tweaks.
579(Starting a New Project): Rewrite to clarify that only Jim runs
580"setup", and explain why.
581(Network Service): Add a note that most people do use a central
582server, since people on the mailing list seem to perhaps be
583getting the wrong idea.
584(Making Changes): Expand a little on what the "." in "checkout ."
585means, since people seem to accidentally checkout stuff into real
586directories.
587(db check): Add much verbiage on the implications
588of various problems, and how to fix them. Also clarify some
589wording.
590* NEWS: Small tweaks.
591* UPGRADE: More instructions, not done yet...
592
5932005-03-15 Matt Johnston <matt@ucc.asn.au>
594
595* commands.cc, monotone.texi, monotone.1: mention that agraph
596 output is in VCG format.
597
5982005-03-14 Nathaniel Smith <njs@codesourcery.com>
599
600* commands.cc (cat): 'cat file REV PATH'.
601* monotone.texi: Mention it.
602* tests/t_cat_file_by_name.at: New test.
603* testsuite.at: Add it.
604
6052005-03-11 Nathaniel Smith <njs@codesourcery.com>
606
607* automate.cc (automate_heads): Remove app.initialize call.
608* revision.cc, revision.hh (calculate_arbitrary_change_set): New
609function.
610(calculate_composite_change_set): Touch more sanity checking.
611
612* commands.cc (update): Use it.
613
6142005-03-10 Derek Scherger <derek@echologic.com>
615
616* app_state.cc (set_restriction): adjust bad path error message
617* commands.cc (get_valid_paths): refactor into ...
618(extract_rearranged_paths): ... this
619(extract_delta_paths): ... this
620(extract_changed_paths): ... this
621(add_intermediate_paths): ... and this
622(restrict_delta_map): new function
623(calculate_restricted_change_set): new function
624(calculate_restricted_revision):
625(ls_missing):
626(revert): rework using new valid path functions
627(do_diff): adjust --revision variants to work with restrictions
628* tests/t_diff_restrict.at: un-XFAIL
629
6302005-03-09 Jon Bright <jon@siliconcircus.com>
631* win32/monotone.iss: Install the many-files version of the
632docs, install the figures, create a start-menu icon for the
633docs.
634* Makefile.am: Make docs generation work with MinGW
635
6362005-03-09 Jon Bright <jon@siliconcircus.com>
637* win32/monotone.iss: Monotone -> monotone
638
6392005-03-09 Jon Bright <jon@siliconcircus.com>
640* win32/monotone.iss: Added an Inno Setup script for
641generating a Windows installer. Inno Setup is GPLed, see
642http://www.jrsoftware.org for download
643
6442005-03-09 Jon Bright <jon@siliconcircus.com>
645* t_diff_binary.at: binary.bz.b64 -> binary.gz.b64
646
6472005-03-08 Derek Scherger <derek@echologic.com>
648
649* Makefile.am: adjust for fsck rename
650* commands.cc (db fsck): rename to db check and add short help;
651adjust for fsck file renames
652* database.{cc,hh}: minor alignment adjustments
653(get_statistic): remove redundant method
654(info): use count in place of get_statistic
655(count): return unsigned long instead of int
656(get_keys): new method
657(get_public_keys): new method
658(get_private_keys): rewrite using get_keys
659(get_certs): new method to get all certs in database from
660specified table
661(get_revision_certs): ditto
662* fsck.{cc,hh}: rename to...
663* database_check.{cc,hh}: ...this; add key, cert and sane revision
664history checking
665* monotone.1: document db dump/load/check commands
666* monotone.texi: document db check command
667* tests/t_fsck.at: rename to...
668* tests/t_database_check.at: ...this; and add tests for key and
669cert problems
670* testsuite.at: account for new test name
671
6722005-03-08 Nathaniel Smith <njs@codesourcery.com>
673
674* ChangeLog: Insert some missing newlines.
675* NEWS: Note file format changes.
676* file_io.cc (tilde_expand): Clarify error message.
677
6782005-03-08 Nathaniel Smith <njs@codesourcery.com>
679
680* keys.{cc,hh} (require_password): Simplify interface, do more
681work.
682* rcs_import.cc (import_cvs_repo): Update accordingly.
683* commands.cc (server): Likewise.
684* revision.cc (build_changesets_from_existing_revs)
685(build_changesets_from_manifest_ancestry): Require passphrase
686early.
687
6882005-03-08 Nathaniel Smith <njs@codesourcery.com>
689
690* NEWS, INSTALL, README.changesets: Update in preparation for
6910.17.
692* UPGRADE: New file.
693
694* tests/t_diff_restrict.at: Oops. XFAIL it.
695
6962005-03-08 Jon Bright <jon@siliconcircus.com>
697
698* win32/process.cc (process_spawn): Escape the parameters,
699surround them with quotes before adding them to the consolidated
700command line string
701* mkstemp.cc (monotone_mkstemp): Now takes a std::string&, and
702returns the *native* form of the path in this.
703* mkstemp.hh: Now always use monotone_mkstemp
704(monotone_mkstemp): Update prototype
705* lua.cc (monotone_mkstemp_for_lua): Use new-style
706monotone_mkstemp
707
7082005-03-08 Jon Bright <jon@siliconcircus.com>
709
710* win32/read_password.cc (read_password): Now correctly hides
711password when run in a Windows console. Does at least enough in
712a MinGW rxvt console to make sure that you can't see the password.
713* win32/process.cc: Change indentation.
714(process_spawn): Log commands executed, as for unix process.cc
715
7162005-03-07 Nathaniel Smith <njs@codesourcery.com>
717
718* tests/t_diff_restrict.at: New test.
719* testsuite.at: Add it.
720
7212005-03-05 Nathaniel Smith <njs@codesourcery.com>
722
723* netsync.cc (encountered_error, error): New variable and method.
724(session::session): Initialize encountered_error.
725(write_netcmd_and_try_flush, read_some, write_some): Check it.
726(queue_error_cmd): Consider it like sending a goodbye.
727(process_error_cmd): Throw an exception instead of considering it
728a goodbye.
729(process_data_cmd): Call error() if epochs don't match.
730* tests/t_epoch.at, tests/t_epoch_server.at: More minor tweaks.
731Expect failed pulls to exit with status 0. This isn't really
732correct, but looks complicated to fix...
733
7342005-03-05 Nathaniel Smith <njs@codesourcery.com>
735
736* testsuite.at (NETSYNC_SERVE_N_START): New macro.
737* tests/t_epoch_server.at: Misc. fixes.
738
739* netsync.cc (session::session): Don't open valve yet.
740(maybe_note_epochs_finished): New method to open
741valve.
742(process_done_cmd, process_data_cmd): Call it.
743(rebuild_merkle_trees): Actually calculate hashes for epoch merkle
744trees. Also, only include epochs that meet the branch mask.
745(session): Remove unused id_to_epoch map.
746
7472005-03-05 Nathaniel Smith <njs@codesourcery.com>
748
749* netcmd.cc (read_netcmd_item_type): Handle epoch_item.
750(test_netcmd_functions): Update for new confirm_cmd_payload
751format.
752* netsync.cc (process_confirm_cmd): Cut and paste error.
753
7542005-03-05 Nathaniel Smith <njs@codesourcery.com>
755
756* constants.{cc,hh}: Add new epochlen, epochlen_bytes constants.
757* vocab_terms.hh, vocab.hh: Add new epoch_data type. Add predeclarations
758for it.
759* commands.cc (ls_epochs):
760* revision.cc (
761* database.hh:
762* database.cc: Update for epoch_data. Add get_epoch, epoch_exists
763methods.
764* epoch.{cc,hh}: New files.
765* netsync.cc: Actually implement epochs-via-merkle code.
766
7672005-03-04 Nathaniel Smith <njs@codesourcery.com>
768
769* schema.sql (branch_epochs): Add 'hash' field.
770* schema_migration.cc: Fixup for.
771* database.cc (database): Change schemas.
772* tests/t_migrate_schema.at: Replace epoch db test case with one
773with new schema.
774
7752005-03-03 Nathaniel Smith <njs@codesourcery.com>
776
777* netsync.cc (session::id_to_epoch): New variable.
778(session::session): Create refinement and requested item tables
779for epochs.
780(rebuild_merkle_trees): Fill epoch merkle tree and id_to_epoch
781table.
782
783* netsync.cc (queue_confirm_cmd, process_confirm_cmd)
784(dispatch_payload, rebuild_merkle_trees):
785* netcmd.hh:
786* netcmd.cc (read_confirm_cmd_payload, write_confirm_cmd_payload):
787Remove epochs.
788
7892005-02-27 Nathaniel Smith <njs@codesourcery.com>
790
791* constants.cc:
792* revision.cc:
793* testsuite.at:
794* commands.cc:
795* ChangeLog: Fixup after merge.
796
7972005-02-27 Nathaniel Smith <njs@codesourcery.com>
798
799* merkle_tree.hh (netcmd_item_type): Add epoch_item.
800* merkle_tree.cc (netcmd_item_type_to_string): Handle epoch_item.
801
802* packet.hh, packet.cc (struct packet_db_valve): New class.
803* netsync.cc (session): Use a valved writer.
804
8052005-02-26 Nathaniel Smith <njs@codesourcery.com>
806
807* merkle_tree.hh: Fix comment.
808Remove prototypes for non-existing functions.
809
8102005-02-26 Nathaniel Smith <njs@codesourcery.com>
811
812* tests/t_epoch_unidirectional.at: New test.
813* testsuite.at: Add it.
814
8152005-02-26 Nathaniel Smith <njs@codesourcery.com>
816
817* tests/t_epoch.at: Even more paranoid.
818* tests/t_epoch_server.at: New test.
819* testsuite.at: Add it.
820
8212005-02-21 Nathaniel Smith <njs@codesourcery.com>
822
823* tests/t_epoch.at: Check that netsync only sends relevant
824epochs, and be a little more paranoid.
825
8262005-02-19 Nathaniel Smith <njs@codesourcery.com>
827
828* revision.cc (struct anc_graph): Fixup after merge.
829
8302005-02-18 graydon hoare <graydon@pobox.com>
831
832* database.cc (set_epoch): Fix SQL.
833* monotone.texi (Rebuilding ancestry): Reword a bit.
834* netcmd.{cc,hh}
835({read,write}_hello_cmd_payload): Transfer server key with hello.
836({read,write}_confirm_cmd_payload): Transfer epoch list with confirm.
837* netsync.cc: Adapt to changes in netcmd.
838(rebuild_merkle_trees): Set nonexistent epochs to zero before sync.
839* revision.cc (anc_graph): Randomize epochs on rebuild.
840* tests/t_epoch.at: Fix up to test slightly new semantics.
841
8422005-02-07 Nathaniel Smith <njs@codesourcery.com>
843
844* monotone.1: Add more db commands.
845* monotone.texi: Document db rebuild. Add section on rebuilding
846ancestry and epochs.
847
8482005-02-06 graydon hoare <graydon@pobox.com>
849
850* commands.cc (db): Add epoch commands.
851(list): Likewise.
852Also remove some unneeded transaction guards.
853* database.{cc,hh} (get_epochs): New function.
854(set_epoch): Likewise.
855(clear_epoch): Likewise.
856Also remove all persistent merkle trie stuff.
857* schema.sql: Add epochs, remove tries.
858* schema_migration.cc: Update.
859* tests/t_epoch.at: New test.
860* tests/t_migrate_schema.at: Update.
861* testsuite.at: Add some new helpers, call t_epoch.at.
862* vocab.hh (epoch_id): Define.
863* vocab_terms.hh (epoch): Define.
864
8652005-02-05 Nathaniel Smith <njs@codesourcery.com>
866
867* merkle_tree.hh: Remove mcert_item and fcert_item, rename
868rcert_item to cert_item, renumber to remove gaps left.
869* merkle_tree.cc (netcmd_item_type_to_string):
870* netcmd.cc (read_netcmd_item_type):
871* netsync.cc: Adjust accordingly.
872
8732005-02-05 Nathaniel Smith <njs@codesourcery.com>
874
875* constants.cc (constants): Bump netsync protocol version.
876
8772005-03-07 Nathaniel Smith <njs@codesourcery.com>
878
879* lua.cc (monotone_spawn_for_lua): Minimal change to get arguments
880in right order. Still needs hygienic cleanups...
881* tests/t_can_execute.at: Run 'cp' instead of 'touch', because cp
882will actually notice if we pass arguments out of order.
883* testsuite.at: Remove mysterious blank line.
884
8852005-03-07 Nathaniel Smith <njs@codesourcery.com>
886
887* unix/process.cc (process_spawn): Log command line before
888executing.
889
8902005-03-07 Nathaniel Smith <njs@codesourcery.com>
891
892* revision.cc (kill_redundant_edges): Rename back to...
893(kluge_for_3_ancestor_nodes): ...this. Go back to only cleaning
894up parents of 3+ parent nodes.
895(analyze_manifest_changes): Take a third argument, of files whose
896ancestry needs splitting.
897(construct_revision_from_ancestry): Make more more complex, in
898order to properly track file identity in merges.
899
9002005-03-05 Nathaniel Smith <njs@codesourcery.com>
901
902* revision.cc (check_sane_history): Typo.
903
9042005-03-05 Nathaniel Smith <njs@codesourcery.com>
905
906* revision.hh (check_sane_history): Take an app_state instead of a
907database as an argument.
908* database.cc: Pass an app_state instead of a database as its
909argument.
910* revision.cc (check_sane_history): Update accordingly. Add a new
911check for merges, that they are creating consistent changesets
912(even when the common ancestor is outside of the usual
913paranoia-checking search depth).
914
9152005-03-05 Nathaniel Smith <njs@codesourcery.com>
916
917* revision.cc (kluge_for_3_ancestor_nodes): Rename to...
918(kill_redundant_edges): ...this. Kill all redundant edges, not
919just ones on nodes with 3+ parents. Also, make it actually work.
920
9212005-03-05 Nathaniel Smith <njs@codesourcery.com>
922
923* revision.cc (kluge_for_3_ancestor_nodes): New method.
924(rebuild_ancestry): Call it.
925
9262005-03-03 Nathaniel Smith <njs@codesourcery.com>
927
928* revision.cc (check_sane_history): Print a warning to let the
929user know why things like 'pull' can take so long.
930* netsync.cc: Remove a few tabs.
931
9322005-03-04 Jon Bright <jon@siliconcircus.com>
933
934* win32/process.cc (process_spawn): Now takes
935const char * const argv[]
936* unix/process.cc (process_spawn): Ditto. Cast for call to
937execvp
938(existsonpath): Initialise args in a const way
939
9402005-03-04 Jon Bright <jon@siliconcircus.com>
941
942* win32/process.cc (process_spawn): Now takes
943char * const argv[]
944* platform.hh (process_spawn): Ditto
945* unix/process.cc (process_spawn): Ditto
946* lua.cc (monotone_spawn_for_lua): Remove debug code
947* General: Beginning to hate C++'s const rules
948
9492005-03-04 Jon Bright <jon@siliconcircus.com>
950
951* win32/process.cc (process_spawn): Now takes
952const char * const *
953* platform.hh (process_spawn): Ditto
954* unix/process.cc (process_spawn): Ditto
955* General: Sorry about all these commits, I'm syncing back and
956forth between Linux and Win32
957
9582005-03-04 Jon Bright <jon@siliconcircus.com>
959
960* win32/process.cc (process_spawn): Now takes char * const *
961* platform.hh (process_spawn): Ditto
962* unix/process.cc (process_spawn): Ditto
963(existsonpath): argv now const char*[]
964
9652005-03-04 Jon Bright <jon@siliconcircus.com>
966
967* win32/process.cc: Added forgotten file
968* unix/process.cc: Include stat.h, (process_*) fix compilation
969errors
970
9712005-03-04 Jon Bright <jon@siliconcircus.com>
972
973* unix/process.cc: Added forgotten file
974
9752005-03-03 Jon Bright <jon@siliconcircus.com>
976
977* lposix.c: Deleted
978* win32/process.cc: Created, added Win32 versions of functions
979existsonpath, make_executable, process_spawn, process_wait,
980process_kill, process_sleep
981* unix/process.cc: Ditto, for the Unix versions.
982* lua.cc: Add LUA wrappers for the above functions, register
983them with LUA
984* std_hooks.lua (execute, attr_functions->execute,
985program_exists_in_path): Use the new functions instead of posix
986functions
987* t_can_execute.at (touchhook.lua): Ditto
988
9892005-03-01 Derek Scherger <derek@echologic.com>
990
991* app_state.cc (set_restriction): actually ignore ignored files
992rather than trying to validate them
993
9942005-03-01 Derek Scherger <derek@echologic.com>
995
996* tests/t_diff_binary.at: new test (bug report)
997* tests/t_command_completion.at: new test
998* tests/t_merge_rename_file_and_rename_dir.at: new test
999* testsuite.at: include new tests
1000
10012005-02-28 Richard Levitte <richard@levitte.org>
1002
1003* Makefile.am (BUILT_SOURCES_CLEAN): Moved mt-stding.h from here...
1004(DISTCLEANFILES): ... to here. Since mt-stding.h is created by
1005config.status, it should only be removed by the distclean target.
1006
10072005-02-28 Matt Johnston <matt@ucc.asn.au>
1008
1009* std_hooks.lua: posix.iswin32() == 1, rather than plain boolean
1010comparison (0 doesn't compare as false in lua it seems).
1011
10122005-02-27 Jon Bright <jon@siliconcircus.com>
1013
1014* lposix.c (win32 Pspawn): Search the path
1015(win32 Pexistsonpath): Added. 'which' isn't easily available,
1016and not available at all from a normal Win32 command shell
1017(Piswin32): Added a function for both Unix and Win32 to detect
1018if running on Windows
1019* std_hooks.lua (program_exists_in_path): Now calls
1020posix.iswin32. If win32, calls posix.existsonpath, otherwise
1021calls which as it always did.
1022
10232005-02-27 Jon Bright <jon@siliconcircus.com>
1024
1025* lposix.c (win32 Pspawn): Remove dumb strlen bug resulting in
1026AVs on commit.
1027
10282005-02-27 Jon Bright <jon@siliconcircus.com>
1029
1030* t_can_execute.at: Test to see if hooks can execute things
1031* testsuite.at: Add t_can_execute
1032
10332005-02-27 Jon Bright <jon@siliconcircus.com>
1034
1035* lposix.c (win32 Pspawn): Ensure the command string is always
1036NUL-terminated. Also, allocate enough memory for the quotes
1037around the command string.
1038
10392005-02-27 Jon Bright <jon@siliconcircus.com>
1040
1041* xdelta.cc (unittests): Define BOOST_STDC_NO_NAMESPACE, needed
1042to compile with the latest MinGW which uses gcc 3.4.2
1043* vocab.cc (verify(local_path)): Catch fs::filesystem_error too
1044and rethrow this as an informative_failure, thereby fixing the
1045Win32 unit tests without disabling anything
1046* idna/toutf8.c (stringprep_convert): Fix a potential segfault
1047when memory allocation fails. Potentially security-relevant.
1048* tests/t_i18n_file.at: Add a SET_FUNNY_FILENAME macro, which
1049gets a platform-appropriate funny filename (with/without
1050colon).
1051Change references to utf8 to utf-8, iso88591 to iso-8859-1, and
1052eucjp to euc-jp, on the grounds that MinGW's iconv knows all
1053of the latter and none of the former, but Linux iconv knows all
1054of them. Test now passes one Win32. I'm presuming we weren't
1055deliberately using non-standard names for charsets here.
1056* tests/t_i18n_changelog.at: Same charset name changes.
1057* tests/t_dump_load.at: Canonicalise dump before loading it
1058* tests/t_load_into_existing.at: Ditto
1059* tests/t_fmerge.at: Canonicalise fmerge output
1060* tests/t_merge_normalization_edge_case.at: Ditto
1061* tests/t_unidiff.at: Canonicalise diff output
1062* tests/t_largish_file.at: Instead of using dd, which MinGW
1063doesn't have, I've generated the file with dd on a nearby Linux
1064box, then gziped and b64ed it, and the test case now generates
1065it with UNGZB64
1066* testsuite.at: Add a comment every 10 tests with the test
1067number. Useful if you're trying to locate which test number
1068you're trying to run and only have the filename. If people
1069hate this, though, please do delete.
1070(UNB64_COMMAND) Do special handling for Win32 to avoid
1071having to canonicalise the file.
1072(UNGZ_COMMAND) Canonicalise the file after ungzipping it.
1073* lposix.c: (Pfork, Pexec) Removed, on the grounds that we only
1074really want to support fork+exec as a single operation. fork()
1075without exec() could be risky with a child process also having
1076our sqlite handles, etc. exec() could be risky since we
1077wouldn't be exiting gracefully, just dying in the middle of a
1078hook.
1079(Pspawn) Implemented for both Win32 and Unix. Does fork/exec
1080for Unix, CreateProcess for Win32. Returns -1 on error, pid on
1081success in both cases.
1082(Pwait, Pkill, Psleep) Implemented for Win32. Note that pid is
1083not optional for Pwait on Win32.
1084* std_hooks.lua: (execute) Now uses spawn()
1085
10862005-02-25 Jon Bright <jon@siliconcircus.com>
1087
1088* ChangeLog: Add all my previous changes.
1089* tests/t_add_owndb.at: Add test for trying to add the db to
1090itself.
1091* testsuite.at: Call it
1092* tests/t_automate_heads.at: Canonicalise stdout output.
1093* tests/t_automate_version.at: Use arithmetic comparison against
1094wc output instead of string comparison, to avoid problems with
1095MinGW's wc, which outputs with initial space-padding
1096* tests/t_change_empty_file.at: Canonicalise stdout output
1097and compare manually instead of letting autotest check it
1098* tests/t_fmerge_normalize.at: Canonicalise stdout output.
1099* tests/t_netsync_single.at: Use NETSYNC_KILLHARD instead of
1100killall, as for the NETSYNC functions in testsuite.at
1101
11022005-02-27 Matt Johnston <matt@ucc.asn.au>
1103
1104 * main.cc: ignore SIGPIPE so that monotone won't be killed
1105 unexpectedly upon remote disconnection for netsync
1106
11072005-02-27 Nathaniel Smith <njs@codesourcery.com>
1108
1109* idna/idn-int.h: Oops, really add this time.
1110
11112005-02-27 Nathaniel Smith <njs@codesourcery.com>
1112
1113* AUTHORS: Add Corey Halpin.
1114
1115* idna/idn-int.h: New file (don't generate from configure anymore,
1116but just ship).
1117* configure.ac: Don't generate idna/idn-int.h. Do generate
1118mt-stdint.h.
1119* Makefile.am: Adjust for idna/idn-int.h and mt-stdint.h.
1120* acinclude.m4: Remove AX_CREATE_STDINT_H, ACX_PTHREAD,
1121AC_COMPILE_CHECK_SIZEOF (let aclocal pick them up from m4/
1122instead).
1123* m4/ax_create_stdint_h.m4:
1124* m4/acx_pthread.m4: Update from http://autoconf-archive.cryp.to/
1125
1126* numeric_vocab.hh: Instead of dancing around which header to
1127include, include mt-stdint.h.
1128
1129* app_state.cc (restriction_includes, set_restriction): Move
1130global static 'dot' into these functions, because file_path
1131depends on global book_keeping_dir being initialized already, and
1132there is no guaranteed order of initialization of C++ statics.
1133(Bug reported by Matt Johnston.)
1134
11352005-02-27 Corey Halpin <chalpin@cs.wisc.edu>
1136
1137* numeric_vocab.hh: Try both stdint.h and inttypes.h.
1138* main.cc: OpenBSD has Unix signals too.
1139
11402005-02-26 Derek Scherger <derek@echologic.com>
1141
1142* file_io.cc (absolutify): normalize fs::path to remove ..'s
1143* tests/t_db_with_dots.at: ensure database path in MT/options
1144doesn't contain ..'s
1145
11462005-02-25 Jon Bright <jon@siliconcircus.com>
1147
1148* ChangeLog: Add all my previous changes.
1149* tests/t_add_owndb.at: Add test for trying to add the db to
1150itself.
1151* testsuite.at: Call it
1152* tests/t_automate_heads.at: Canonicalise stdout output.
1153* tests/t_automate_version.at: Use arithmetic comparison against
1154wc output instead of string comparison, to avoid problems with
1155MinGW's wc, which outputs with initial space-padding
1156* tests/t_change_empty_file.at: Canonicalise stdout output
1157and compare manually instead of letting autotest check it
1158* tests/t_fmerge_normalize.at: Canonicalise stdout output.
1159* tests/t_netsync_single.at: Use NETSYNC_KILLHARD instead of
1160killall, as for the NETSYNC functions in testsuite.at
1161
11622005-02-25 Nathaniel Smith <njs@codesourcery.com>
1163
1164* vocab.cc (test_file_path_verification): Re-enable some tests
1165disabled by Jon Bright, following discussion on IRC concluding
1166that they were catching a real bug.
1167
11682005-02-24 Nathaniel Smith <njs@codesourcery.com>
1169
1170* tests/t_add_dot.at: Run "add ." in a subdirectory, so as not to
1171add the test database. (Reported by Jon Bright.)
1172
1173* AUTHORS: Fix gettext.h copyright note, to not be in the middle
1174of libidn copyright note.
1175Add Jon Bright.
1176
11772005-02-24 Jon Bright <jon@siliconcircus.com>
1178
1179* app_state.cc (prefix): Use string() instead of
1180native_directory_string(). For Unix, these should be equivalent.
1181For Win32, I believe string()'s correct (since we compare
1182everywhere against normalized paths with / characters, but
1183native_directory_string produces paths with \ characters on Win32.
1184* rcs_file.cc (file_source): Map the map, not the mapping.
1185* tests/t_i18n_file.at: Remove colon from filename with symbols.
1186I need to return to this and add a proper test for Win32, so we
1187only use the colon on non-Win32.
1188* testsuite.at: Add a CANONICALISE function, which does nothing
1189on Unix and strips out carriage returns from files on Win32. This
1190is useful for being able to compare Monotone's stdout output to
1191files on disk. Add NETSYNC_KILL and NETSYNC_KILLHARD functions,
1192to deal with MinGW not having killall (Unix still uses killall,
1193though).
1194* tests/t_import.at: Add CANONICALISE calls before comparing
1195stdout output.
1196* tests/t_netsync.at: Likewise
1197* tests/t_netsync_single.at: Likewise
1198* tests/t_scan.at: Likewise
1199* tests/t_versions.at: Likewise
1200* tests/t_ls_missing.at: Likewise. Also, generate missingfoo and
1201missingbar files with expected output from ls missing for these
1202files being missing and compare against those.
1203
12042005-02-24 Derek Scherger <derek@echologic.com>
1205
1206* app_state.{cc,hh} (add_restriction): rename to ...
1207(set_restriction) this; and add path validation
1208* commands.cc (get_valid_paths): new function
1209(get_path_rearrangement) remove restricted include/exclude variant
1210(calculate_restricted_revision) get valid paths and use to set up
1211restriction
1212(status, ls_unknown, commit, do_diff) pass args to
1213calculate_restricted_revision to valid restriction paths
1214(ls_missing, revert) get valid paths and use to set up restriction
1215* tests/t_checkout_options.at: remove bug report priority (it's
1216fixed!)
1217* tests/t_diff_added_file.at: add --revision options to diff
1218* tests/t_restrictions.at: remove invalid paths from ls unknown
1219and ls ignored
1220* tests/t_restrictions_warn_on_unknown.at: un-XFAIL
1221
12222005-02-23 Derek Scherger <derek@echologic.com>
1223
1224* commands.cc (ls_missing): replace duplicated code with call to
1225calculate_base_revision
1226
12272005-02-23 Jon Bright <jon@siliconcircus.com>
1228
1229* vocab.cc (test_file_path_verification): Disable foo//nonsense
1230test for Win32, add tests for UNC paths. This was the only
1231failing unit test on Win32.
1232
12332005-02-23 Jon Bright <jon@siliconcircus.com>
1234
1235* txt2c.cc (main): Don't claim the file was generated from
1236--strip-trailing if that option's used.
1237
12382005-02-23 Jon Bright <jon@siliconcircus.com>
1239
1240* app_state.cc: Add include of io.h for Win32, for chdir()
1241* file_io.cc (get_homedir): Correct assertion (remove bracket)
1242* lua/lposix.c, lua/modemuncher.c: Remove all references to
1243functions and modes that don't exist on Win32.
1244* monotone.cc: Include libintl.h on Win32
1245
12462005-02-21 Nathaniel Smith <njs@codesourcery.com>
1247
1248* file_io.cc (get_homedir): Add more comments and logging to Win32
1249version. Also, only check HOME under Cygwin/MinGW.
1250
12512005-02-21 Derek Scherger <derek@echologic.com>
1252
1253* Makefile.am: merge fixup
1254
12552005-02-21 Derek Scherger <derek@echologic.com>
1256
1257* Makefile.am: add fsck.{cc,hh}
1258* commands.cc(check_db): move to ...
1259* fsck.{cc,hh}: here and do lots more checking
1260* database.{cc,hh}(get_ids): new method
1261(get_file_ids,get_manifest_ids,get_revision_ids): more new methods
1262* tests/t_fsck.at: new test
1263* testsuite.at: call it
1264
12652005-02-21 Nathaniel Smith <njs@codesourcery.com>
1266
1267* commands.cc (commit): Simplify chatter.
1268
12692005-02-21 Nathaniel Smith <njs@codesourcery.com>
1270
1271* file_io.cc (get_homedir): Check more environment variables in
1272Win32 version.
1273
12742005-02-21 Nathaniel Smith <njs@codesourcery.com>
1275
1276* file_io.cc: Remove tabs.
1277
12782005-02-21 Nathaniel Smith <njs@codesourcery.com>
1279
1280* smap.hh (smap): Remove leading underscores, add comments.
1281
12822005-02-20 Nathaniel Smith <njs@codesourcery.com>
1283
1284* std_hooks.lua (merge2, merge3): Check for DISPLAY before
1285invoking gvim.
1286
12872005-02-20 Julio M. Merino Vidal <jmmv@menta.net>
1288
1289* ChangeLog: Use tabs for indentation rather than spaces. Drop
1290trailing whitespace. While here, fix a date by adding zeros before
1291the month and the day number.
1292
12932005-02-20 Julio M. Merino Vidal <jmmv@menta.net>
1294
1295* gettext.h: Add file.
1296* AUTHORS: Mention that it comes from the GNU Gettext package.
1297* Makefile.am: Distribute it.
1298* sanity.hh: Use gettext.h rather than libintl.h so that --disable-nls
1299works. Also improves portability, according to the GNU Gettext
1300manual.
1301
13022005-02-19 Derek Scherger <derek@echologic.com>
1303
1304* automate.cc (automate_heads): remove bogus call to
1305app.allow_working_copy() which is called in cpp_main
1306* database.cc (check_sqlite_format_version): don't check database
1307version when "file" is really a directory; add filename to error
1308message
1309(sql): check for empty database early, even though this seems
1310impossible as absolutify changes "" into path to working dir;
1311convert to use N-style assertions; add check to ensure "file" is
1312not really a directory
1313* tests/t_db_missing.at: new test for above problems
1314* testsuite.at: call it
1315
13162005-02-19 Nathaniel Smith <njs@codesourcery.com>
1317
1318* tests/t_add_intermediate_MT_path.at: Tighten up.
1319
1320* tests/t_merge_3.at: New test.
1321* tests/t_merge_4.at: Likewise.
1322* testsuite.at: Add them.
1323
13242005-02-19 Ole Dalgaard <josua+monotone@giraffen.dk>
1325
1326* configure.ac: Check for 64-bit versions of Boost static
1327libraries.
1328
13292005-02-18 Julio M. Merino Vidal <jmmv@menta.net>
1330
1331* INSTALL:
1332* configure.ac: Improve Boost detection by trying several possible
1333library suffixes before aborting.
1334
13352005-02-18 graydon hoare <graydon@pobox.com>
1336
1337* change_set.cc
1338(apply_change_set): Avoid fast path when there are adds.
1339(apply_path_rearrangement): Likewise.
1340
13412005-02-18 graydon hoare <graydon@pobox.com>
1342
1343* automate.cc (automate_heads): Fix initialize() call.
1344* change_set.{cc,hh}
1345(apply_path_rearrangement): Add quick version.
1346* revision.cc
1347(check_sane_history): Use quick version of apply_change_set.
1348* work.cc
1349(build_addition): Use quick version of apply_path_rearrangement.
1350(known_preimage_path): Likewise.
1351* testsuite.at: Fix definitions of _ROOT_DIR, add --norc some
1352places.
1353* AUTHORS: Mention Daniel.
1354
13552005-02-18 Daniel Berlin <dberlin@dberlin.org>
1356
1357* xdelta.cc (compute_delta_insns): Correct 1-byte-source bug.
1358
13592005-02-18 graydon hoare <graydon@pobox.com>
1360
1361* Makefile.am (MOST_SOURCES): Add smap.hh.
1362
13632005-02-18 graydon hoare <graydon@pobox.com>
1364
1365* basic_io.{cc,hh}: Inline some stuff.
1366* change_set.cc: Use smap various places, reduce to 32-bit tids.
1367* commands.cc: Use shared_ptr<change_set> everywhere.
1368* netsync.cc: Likewise.
1369* rcs_import.cc: Likewise.
1370* revision.{cc,hh}: Likewise.
1371* smap.hh: New file.
1372
13732005-02-18 Julio M. Merino Vidal <jmmv@menta.net>
1374
1375* INSTALL:
1376* configure.ac: Improve Boost detection by trying several possible
1377library suffixes before aborting.
1378
13792005-02-17 Derek Scherger <derek@echologic.com>
1380
1381* tests/t_add_intermediate_MT_path.at: new test
1382* testsuite.at: call it
1383
13842005-02-17 Julio M. Merino Vidal <jmmv@menta.net>
1385
1386* testsuite.at:
1387* tests/t_change_empty_file.at: Verify that modifying an empty file
1388creates a patch revision rather than an add/delete sequence. The
1389incorrect behavior was reported in bug #9964.
1390
13912005-02-17 Derek Scherger <derek@echologic.com>
1392
1393* app_state.{cc,hh} (app_state): initialize search root
1394(initialize): boolean signature variant renamed to ...
1395(allow_working_copy): this; add explicit search root; move
1396requirement for working copy to ...
1397(require_working_copy): this new method
1398(initialize): string signature variant renamed to ...
1399(create_working_copy): this
1400(set_root): new method
1401* commands.cc: remove app.initialize(false) calls; replace
1402app.initialize(true) with app.require_working_copy(); replace
1403app.initialize(dir) with app.create_working_copy(dir)
1404(checkout): ensure revision is member of specified branch
1405* file_io.{cc,hh} (find_working_copy): stop search at --root if
1406specified
1407* monotone.cc (OPT_ROOT): new option
1408(cpp_main): call app.allow_working_copy() before executing
1409commands to always read default options
1410* monotone.1: add --root option
1411* monotone.texi: add --root option
1412* tests/t_checkout_noop_on_fail.at: un-XFAIL
1413* tests/t_checkout_options.at: un-XFAIL, add check for specified
1414revision not in specified branch
1415* testsuite.at: add --root option to MONOTONE to prevent searching
1416above test dir
1417* vocab.cc: remove redundant forward declaration
1418
14192005-02-16 Derek Scherger <derek@echologic.com>
1420
1421* commands.cc (revert): don't rewrite unchanged files
1422* tests/t_revert_unchanged.at: new test
1423* testsuite.at: call it
1424
14252005-02-12 Derek Scherger <derek@echologic.com>
1426
1427* database.cc (sqlite3_unpack_fn): new function for viewing
1428base64, gzipped data
1429(install_functions): install it
1430(rehash): remove unused obsolete fcerts ticker
1431
14322005-02-17 Nathaniel Smith <njs@codesourcery.com>
1433
1434* debian/changelog: s/graydon@mogo/graydon@pobox.com/, to make
1435lintian happy.
1436* debian/rules (config.status): Remove --with-bundled-adns.
1437* debian/control (Build-Depends): Don't Build-Depend on libpopt,
1438only libpopt-dev.
1439* .mt-attrs (debian/control): Make executable.
1440
14412005-02-17 Nathaniel Smith <njs@codesourcery.com>
1442
1443* tests/t_undo_update.at: Stupid typo.
1444* tests/t_largish_file.at: New test.
1445* testsuite.at: Add it.
1446
1447* commands.cc (push, pull, sync): Remove misleading "..." from
1448help text.
1449
14502005-02-16 Julio M. Merino Vidal <jmmv@menta.net>
1451
1452* Makefile.am: Append $(BOOST_SUFFIX) to -lboost_unit_test_framework
1453to fix 'make check' on systems where boost libraries can only be
1454found by passing the exact suffix as part of the name.
1455
14562005-02-16 Julio M. Merino Vidal <jmmv@menta.net>
1457
1458* monotone.texi: Fix a typo (hexidecimal to hexadecimal). Also
1459change an example command to append stuff to ~/.monotonerc, instead
1460of completely destroying the possibily existing file. Addresses
1461bug #11136.
1462
14632005-02-16 Julio M. Merino Vidal <jmmv@menta.net>
1464
1465* cryptopp/config.h: Use uint{8,16,32,64}_t as size types instead of
1466trying to match them to unsigned char/int/long/long long respectively.
1467Should fix build on FreeBSD/sparc64, as seen in bug #10203.
1468
14692005-02-16 Julio M. Merino Vidal <jmmv@menta.net>
1470
1471* INSTALL:
1472* Makefile.am:
1473* configure.ac: Add the --disable-large-file option to manually
1474disable large file support from the builtin sqlite (compatibility
1475with old systems and FAT). Addresses bug #8380.
1476
14772005-02-16 Nathaniel Smith <njs@codesourcery.com>
1478
1479* tests/t_undo_update.at: New todo.
1480* testsuite.at: Add it.
1481
14822005-02-15 Nathaniel Smith <njs@codesourcery.com>
1483
1484* monotone.1: Add cursory note about "automate".
1485* monotone.texi: Synchronize with manpage.
1486
14872005-02-15 Nathaniel Smith <njs@codesourcery.com>
1488
1489* automate.cc: Add "Error conditions" to the standard comment
1490sections.
1491
1492* monotone.texi (Scripting): New section.
1493(Automation): New section.
1494
1495* tests/t_automate_heads.at: Test behavior with nonexistent
1496branch.
1497
14982005-02-14 Nathaniel Smith <njs@codesourcery.com>
1499
1500* tests/t_merge_normalization_edge_case.at: New test.
1501* testsuite.at: Add it.
1502
1503* diff_patch.cc (normalize_extents): Soften the warning message
1504now that we have one test case.
1505
15062005-02-14 Matthew A. Nicholson <mnicholson@digium.com>
1507
1508* std_hooks.lua: Add vimdiff merge hooks.
1509
15102005-02-14 Nathaniel Smith <njs@codesourcery.com>
1511
1512* std_hooks.lua: Remove tabs.
1513
15142005-02-14 Nathaniel Smith <njs@codesourcery.com>
1515
1516* tests/t_automate_heads.at: New test.
1517* tests/t_automate_version.at: New test.
1518* testsuite.at: Add then.
1519
1520* commands.cc (automate): Fix documentation string.
1521* automate.cc: Much more structured documentation comments.
1522
15232005-02-13 Nathaniel Smith <njs@codesourcery.com>
1524
1525* automate.{cc,hh}: New files.
1526* commands.cc: New command "automate".
1527
15282005-02-13 Nathaniel Smith <njs@codesourcery.com>
1529
1530* monotone.texi (Creating a Database): Fix typo, clarify
1531conventions for database management following question on mailing
1532list.
1533
15342005-02-12 graydon hoare <graydon@pobox.com>
1535
1536* change_set.{cc,hh}: Correct code to pass newly-added unit tests.
1537
15382005-02-10 Derek Scherger <derek@echologic.com>
1539
1540* monotone.1: update for restrictions
1541* monotone.texi: sync with manpage
1542
15432005-02-09 Derek Scherger <derek@echologic.com>
1544
1545* cert.cc (cert_revision_testresult): allow pass/fail testresult
1546values
1547* commands.cc (testresult): likewise
1548* commands.cc (do_diff): disallow restriction of non-working copy
1549diffs
1550* monotone.texi: update for restrictions
1551
15522005-02-08 graydon hoare <graydon@pobox.com>
1553
1554* database.cc (version_cache::set): Fix bad expiry logic.
1555
15562005-02-08 Nathaniel Smith <njs@codesourcery.com>
1557
1558* change_set.cc (check_sane): Null sources are only valid for
1559adds.
1560
15612005-02-07 Nathaniel Smith <njs@codesourcery.com>
1562
1563* database.cc (struct version_cache): Fix invariant in cache
1564clearing logic.
1565
15662005-02-06 Nathaniel Smith <njs@codesourcery.com>
1567
1568* change_set.cc: Add a few more invariants; add lots and lots of
1569unit tests.
1570
15712005-02-06 graydon hoare <graydon@pobox.com>
1572
1573* change_set.cc: Use hash_map in a few places.
1574(confirm_unique_entries_in_directories): Fix invariants.
1575* constants.{cc,hh} (db_version_cache_sz): New constant.
1576* database.cc (version_cache): New structure.
1577(get_version): Use it.
1578* interner.hh: Rewrite to use hash_map and vector.
1579* tests/t_no_rename_overwrite.at: Tweak return codes.
1580
15812005-02-06 Nathaniel Smith <njs@codesourcery.com>
1582
1583* ui.hh (ensure_clean_line): New method.
1584* ui.cc (inform): Use it.
1585* keys.cc (get_passphrase): Call it before prompting for passphrase.
1586
15872005-02-06 Nathaniel Smith <njs@codesourcery.com>
1588
1589* database.cc (info): Report more statistics.
1590
1591* ROADMAP: Remove finished items.
1592
1593* revision.cc (analyze_manifest_changes): Childs cannot be null,
1594that makes no sense.
1595(add_node_for_old_manifest): Log node names, don't print it.
1596(construct_revision_from_ancestry): Partially rewrite to handle
1597root nodes explicitly.
1598(build_changesets_from_existing_revs): Don't put the null revision
1599in the ancestry graph, to match changesetify logic.
1600(add_node_for_old_revision): Enforce decision that the ancestry
1601graph not contain the null revision.
1602
1603(anc_graph::heads): Remove.
1604(add_node_ancestry): Don't try creating it; logic was broken
1605anyway.
1606(rebuild_from_heads): Rename to...
1607(rebuild_ancestry): ...this. Calculate head set correctly.
1608
16092005-02-05 Nathaniel Smith <njs@codesourcery.com>
1610
1611* change_set.cc (compose_path): Add more invariants.
1612
16132005-02-05 Nathaniel Smith <njs@codesourcery.com>
1614
1615* monotone.cc (cpp_main): Log command line, to help interpret the
1616logs people send in.
1617
16182005-02-05 Nathaniel Smith <njs@codesourcery.com>
1619
1620* revision.cc (check_sane): Turn off this invariant when
1621global_sanity.relaxed.
1622
16232005-02-03 Nathaniel Smith <njs@codesourcery.com>
1624
1625* tests/t_load_into_existing.at: Oops, really add it too, sigh.
1626
16272005-02-03 Nathaniel Smith <njs@codesourcery.com>
1628
1629* tests/t_need_mt_revision.at: Oops, really add it.
1630
16312005-02-03 Nathaniel Smith <njs@codesourcery.com>
1632
1633* interner.hh (interner::intern): Add version taking a bool&, so
1634callers can tell whether this string has previously been checked.
1635* change_set.cc: Use new interned string identifier
1636'path_component's instead of file_path's for components of paths;
1637sanity-check each component exactly once.
1638
16392005-02-03 Nathaniel Smith <njs@codesourcery.com>
1640
1641* database.cc (load): Check for existence of target database.
1642* tests/t_load_into_existing.at: New test.
1643* testsuite.at: Add it.
1644
16452005-02-03 Nathaniel Smith <njs@codesourcery.com>
1646
1647* tests/t_checkout_dir.at: Also check that checkout to unwriteable
1648directory fails.
1649* tests/t_branch_checkout.at: New test.
1650* testsuite.at: Add it.
1651
1652* app_state.cc (initialize): Simplify working directory
1653initialization, and improve error handling.
1654
1655* keys.cc (get_passphrase): Disallow empty passphrases early
1656(before they trigger an invariant down the line...).
1657
16582005-02-03 Nathaniel Smith <njs@codesourcery.com>
1659
1660* update.cc (pick_update_candidates): Add I().
1661* commands.cc (calculate_base_revision): Remove 'rev' argument,
1662which was never set and callers never used.
1663(calculate_base_manifest, calculate_current_revision)
1664(calculate_restricted_revision, revert): Update correspondingly.
1665(update): Check for null old revision.
1666
1667* main.cc (main): Make exit status 3 if we caught an unhandled
1668exception, in particular so the testsuite can tell the difference
1669between an error handled cleanly and an error caught by an
1670invariant.
1671* tests/t_update_null_revision.at: New test.
1672* testsuite.at: Add it.
1673
16742005-02-03 Nathaniel Smith <njs@codesourcery.com>
1675
1676* main.cc: Remove tabs.
1677
16782005-02-02 Nathaniel Smith <njs@codesourcery.com>
1679
1680* change_set.cc (extract_first): Rename to...
1681(extract_pairs_and_insert): ...this.
1682(path_rearrangement::check_sane): Use it to add additional
1683checks.
1684
1685* work.hh: Update comments (MT/manifest doesn't exist
1686anymore...).
1687
1688* tests/t_need_mt_revision.at: New test.
1689* testsuite.at: Add it.
1690* commands.cc (get_revision_id): Require MT/revision to exist.
1691(setup): Create MT/revision.
1692
16932005-02-02 Nathaniel Smith <njs@codesourcery.com>
1694
1695* work.hh: Remove tabs.
1696
16972005-02-03 graydon hoare <graydon@pobox.com>
1698
1699* tests/t_i18n_changelog.at: New test.
1700* testsuite.at: Run it.
1701* lua/lposix.c: New file.
1702* lua/modemuncher.c: New file
1703* lua.cc: Load posix library.
1704* lua/liolib.c: Disable execute and popen.
1705* std_hooks.lua: Remove io.execute uses.
1706* AUTHORS: Update to mention lposix.c, modemuncher.c.
1707* Makefile.am: Likewise.
1708
17092005-02-01 Nathaniel Smith <njs@codesourcery.com>
1710
1711* tests/t_rebuild.at: Beef up test in response to possible
1712problems reported by Derek Scherger.
1713
17142005-01-31 Nathaniel Smith <njs@codesourcery.com>
1715
1716* rcs_import.cc (store_manifest_edge): Don't try to store deltas
1717to the null manifest.
1718(import_cvs_repo): Root revision has null manifest, not empty
1719manifest.
1720* revision.cc (check_sane): More invariants.
1721
17222005-01-28 graydon hoare <graydon@pobox.com>
1723
1724* database.{cc,hh}: More netsync speed tweaks.
1725* netsync.cc: Likewise.
1726
17272005-01-27 Nathaniel Smith <njs@codesourcery.com>
1728
1729* tests/t_restrictions_warn_on_unknown.at: New test.
1730* testsuite.at: Add it.
1731
17322005-01-27 Derek Scherger <derek@echologic.com>
1733
1734* commands.cc (attr): adjust for subdir; ensure files exist
1735* tests/t_attr.at: improve setup description
1736* tests/t_attributes.at: improve setup description so that
1737testsuite -k attr runs this test; check for attributes on missing
1738files
1739* tests/t_subdir_attr.at: new test
1740* testsuite.at: fix dutch spelling of monotone; call new test
1741
17422005-01-27 Nathaniel Smith <njs@codesourcery.com>
1743
1744* change_set.hh (null_id): New function.
1745* revision.cc (analyze_manifest_changes): Fix typo, use null_id.
1746* tests/t_rebuild.at: Un-XFAIL.
1747
17482005-01-27 Nathaniel Smith <njs@codesourcery.com>
1749
1750* tests/t_rebuild.at: Add priority tag.
1751
1752* tests/t_cvsimport.at: Be more thorough.
1753
1754* rcs_import.cc (store_edge): Rename to...
1755(store_manifest_edge): ...this. Remove revision arguments, and
1756remove storing of revision.
1757(import_states_recursive): Update accordingly.
1758Add 'revisions' argument; update it instead of trying to write
1759revisions now.
1760(import_states_by_branch): Add 'revisions' argument.
1761(import_cvs_repo): Add a stage 3 that writes out the revisions
1762accumulated in the 'revisions' vector.
1763
17642005-01-27 graydon hoare <graydon@pobox.com>
1765
1766* AUTHORS: Mention Georg.
1767* change_set.cc: Null out names which are in null directories.
1768* commands.cc (reindex): Remove COLLECTION argument.
1769* database.{cc,hh} (get_revision_certs):
1770Add brute force "load all certs" method.
1771* merkle_tree.{cc,hh}: Modify to use memory rather than disk.
1772* netsync.{cc,hh}: Likewise.
1773* packet.hh (manifest_edge_analyzer): Kill dead code.
1774
17752005-01-26 Nathaniel Smith <njs@codesourcery.com>
1776
1777* mt_version.cc (print_full_version): Include system flavour.
1778
17792005-01-26 Nathaniel Smith <njs@codesourcery.com>
1780
1781* tests/t_rebuild.at: New test.
1782* testsuite.at: Add it.
1783
17842005-01-26 Nathaniel Smith <njs@codesourcery.com>
1785
1786* tests/t_checkout_noop_on_fail.at: Clarify description and XFAIL.
1787
1788* tests/t_approval_semantics.at: New TODO.
1789* tests/t_monotone_agent.at: New TODO.
1790* testsuite.at: Add them.
1791
17922005-01-25 Nathaniel Smith <njs@codesourcery.com>
1793
1794* tests/t_checkout_noop_on_fail.at: New test.
1795* testsuite.at: Add it.
1796(RAW_MONOTONE): Add $PREEXECUTE to definition.
1797
17982005-01-25 Nathaniel Smith <njs@codesourcery.com>
1799
1800* change_set.cc (extend_renumbering_from_path_identities): Add
1801invariant.
1802(extend_renumbering_via_added_files): Likewise.
1803
1804* constants.hh (maxbytes, postsz): Remove dead constants.
1805(verify_depth): New constant.
1806* constants.cc: Likewise.
1807* revision.hh (check_sane_history): New function.
1808* revision.cc (check_sane_history): Likewise.
1809* database.cc (put_revision): Sanity check revision and revision
1810history before storing it.
1811This breaks cvs import. Why?
1812
1813* update.cc (find_deepest_acceptable_descendent): Remove.
1814(acceptable_descendent, calculate_update_set): New functions.
1815(pick_update_candidates): Use 'calculate_update_set'.
1816* tests/t_update_2.at: Un-XFAIL.
1817* tests/t_ambig_update.at: Un-XFAIL.
1818
1819* tests/t_no_rename_overwrite.at: New test.
1820* tests/t_cdiff.at: New test placeholder.
1821* testsuite.at: Add them.
1822(MONOTONE): Prefix command line with $PREEXECUTE to e.g. support
1823running under Valgrind.
1824
18252005-01-25 Matt Johnston <matt@ucc.asn.au>
1826
1827* cert.cc: ignore whitespace when comparing private keys
1828from the database and with the lua hook
1829* tests/t_lua_privkey.at: new test
1830* testsuite.at: run it
1831
18322005-01-23 Derek Scherger <derek@echologic.com>
1833
1834* commands.cc (restrict_rename_set): include renames if either
1835name is present in restriction
1836(calculate_base_revision): remove unused variant
1837(calculate_current_revision): remove unsed variable
1838(calculate_restricted_revision): remove unsed variable
1839(ls_missing): remove unsed variable
1840(revert): rewrite with restrictions
1841* tests/t_revert.at: test partial reverts adjust MT/work properly
1842* tests/t_revert_dirs.at: un-XFAIL
1843* tests/t_revert_rename.at: un-XFAIL; revert rename via both names
1844
18452005-01-23 Derek Scherger <derek@echologic.com>
1846
1847* tests/t_revert_rename.at: remove extra MONOTONE_SETUP
1848attempt revert by both original name and new name
1849
18502005-01-23 Derek Scherger <derek@echologic.com>
1851
1852* tests/t_revert_rename.at: New test.
1853* testsuite.at: Add it.
1854
18552005-01-22 Derek Scherger <derek@echologic.com>
1856
1857* tests/t_revert_dirs.at: New test.
1858* testsuite.at: Add it.
1859
18602005-01-22 Nathaniel Smith <njs@codesourcery.com>
1861
1862* configure.ac (AC_INIT): Set bug-reporting address to list
1863address, rather than Graydon's personal email.
1864* diff_patch.cc (normalize_extents): Use it.
1865* ui.cc (fatal): Likewise.
1866
1867* tests/t_vcheck.at: New priority "todo", tweak descriptive text.
1868
18692005-01-22 Nathaniel Smith <njs@codesourcery.com>
1870
1871* tests/t_delete_dir.at: Add more commentary.
1872
1873* tests/t_rename_dir_patch.at: New test.
1874* tests/t_delete_dir_patch.at: New test.
1875* testsuite.at: Add them.
1876
18772005-01-22 Nathaniel Smith <njs@codesourcery.com>
1878
1879* change_set.cc (apply_change_set): Add invariants.
1880* tests/t_rename_dir_cross_level.at: New test.
1881* tests/t_rename_added_in_rename.at: New test.
1882* tests/t_rename_conflict.at: New test.
1883* testsuite.at: Add them.
1884
18852005-01-21 Nathaniel Smith <njs@codesourcery.com>
1886
1887* tests/t_ambig_update.at: Update comments.
1888
1889* tests/t_update_2.at: New test from Georg-W. Koltermann
1890<Georg.Koltermann@mscsoftware.com>.
1891* testsuite.at: Add it.
1892
18932005-01-20 Nathaniel Smith <njs@codesourcery.com>
1894
1895* tests/t_lca_1.at: New bug report.
1896* testsuite.at: Add it.
1897
18982005-01-19 Nathaniel Smith <njs@codesourcery.com>
1899
1900* commands.cc (merge): Improve merge chatter.
1901(do_diff): Don't print anything when there are no
1902changes.
1903
19042005-01-19 Nathaniel Smith <njs@codesourcery.com>
1905
1906* tests/t_db_with_dots.at: New test.
1907* testsuite.at: Add it.
1908
19092005-01-19 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1910
1911* Makefile.am (%.h, package_revision.h, package_full_revision.h):
1912Don't update target file if no change has occurred, to reduce
1913unnecessary rebuilds.
1914
19152005-01-18 Nathaniel Smith <njs@codesourcery.com>
1916
1917* rcs_import.cc (cvs_key): Initialize struct tm to all zeros, to
1918stop garbage sneaking in -- thanks to Zack Weinberg for pointing
1919this out. Also, handle 2 digit years properly on WIN32.
1920
19212005-01-18 Nathaniel Smith <njs@codesourcery.com>
1922
1923* rcs_import.cc: Remove tabs.
1924
19252005-01-19 Matt Johnston <matt@ucc.asn.au>
1926
1927* database.cc: Pass filename to check_sqlite_format_version as a
1928fs::path, so that it doesn't get passed as a freshly created fs::path
1929with default checker (which disallows '.foo' path components)
1930
19312005-01-19 Nathaniel Smith <njs@codesourcery.com>
1932
1933* netsync.cc (session, process_confirm_cmd, dispatch_payload):
1934Back out some over-zealous changes that broke netsync
1935compatibility. Probably should redo later, when have a chance to
1936bump netsync protocol number, but we're not ready for that now.
1937
19382005-01-19 Nathaniel Smith <njs@codesourcery.com>
1939
1940* tests/t_subdir_revert.at: New test.
1941* tests/t_subdir_rename.at: New test.
1942* testsuite.at: Add them.
1943
19442005-01-18 Nathaniel Smith <njs@codesourcery.com>
1945
1946* tests/t_subdir_add.at: New test.
1947* tests/t_subdir_drop.at: New test.
1948* testsuite.at: Add them.
1949* tests/t_delete_dir.at: Implement it.
1950
19512005-01-19 Nathaniel Smith <njs@codesourcery.com>
1952
1953* netcmd.cc: Remove tabs.
1954
19552005-01-19 Nathaniel Smith <njs@codesourcery.com>
1956
1957* merkle_tree.cc: Remove tabs.
1958
19592005-01-18 Nathaniel Smith <njs@codesourcery.com>
1960
1961* rcs_import.cc (cvs_key): Initialize struct tm to all zeros, to
1962stop garbage sneaking in -- thanks to Zack Weinberg for pointing
1963this out. Also, handle 2 digit years properly on WIN32.
1964
19652005-01-18 Nathaniel Smith <njs@codesourcery.com>
1966
1967* rcs_import.cc: Remove tabs.
1968
19692005-01-18 Nathaniel Smith <njs@codesourcery.com>
1970
1971* monotone.texi: Undocument mcerts, fcerts; rename rcerts to
1972certs.
1973* monotone.1: Likewise.
1974
19752005-01-18 Nathaniel Smith <njs@codesourcery.com>
1976
1977* commands.cc (restrict_rename_set): Fix types to compile with old
1978rename_set gunk removed.
1979Alter logic to yell if a rename crosses the restriction boundary,
1980rather than silently ignore it.
1981
19822005-01-19 graydon hoare <graydon@pobox.com>
1983
1984* commands.cc: Fix up some merge breakage.
1985* tests/t_add_dot.at: Un-XFAIL.
1986* testsuite.at: Run "setup ." before "db init".
1987
19882005-01-09 Derek Scherger <derek@echologic.com>
1989
1990* commands.cc (get_path_rearrangement): new function/signature for
1991splitting restricted rearrangements
1992(calculate_restricted_revision): use it and update to work
1993similarly to calculate_current_revision
1994(trusted): call app.initialize(false)
1995(ls_missing): adjust for new get_path_rearrangement
1996(attr): call app.initialize(true)
1997(diff): merge cleanup
1998(lca, lcad, explicit_merge): call app.initialize(false)
1999* app_state.cc (constructor): set database app state
2000(load_rcfiles): add required booleans
2001* lua.{cc,hh} (load_rcfile): add required boolean
2002* tests/t_add.at:
2003* tests/t_diff_added_file.at:
2004* tests/t_disapprove.at:
2005* tests/t_drop_missing.at:
2006* tests/t_heads.at:
2007* tests/t_heads_discontinuous_branch.at:
2008* tests/t_i18n_file.at:
2009* tests/t_log_nonexistent.at:
2010* tests/t_merge_add_del.at:
2011* tests/t_netsync.at:
2012* tests/t_netsync_pubkey.at:
2013* tests/t_netsync_single.at:
2014* tests/t_persistent_server_keys.at:
2015* tests/t_persistent_server_revision.at:
2016* tests/t_remerge.at:
2017* tests/t_tags.at:
2018* tests/t_update_missing.at:
2019* tests/t_update_to_revision.at: add --message option to commits
2020* tests/t_merge2_add.at:
2021* tests/t_merge2_data.at:
2022* tests/t_netsync_unrelated.at: create working directory with new
2023setup command
2024* tests/t_erename.at: update for revisions
2025* tests/t_no_change_deltas.at: add --revision options to diff
2026* tests/t_restrictions.at: remove some cruft and update to work
2027with revisions
2028* tests/t_subdirs.at: pass correct --rcfile and --db options from
2029within subdir
2030* testsuite.at (REVERT_TO): remove MT dir before checkout, which
2031now fails if MT exists, replace checkout MT/options with old
2032MT/options
2033(COMMIT): add --message option to commit macro
2034* work.cc (read_options_map): don't overwrite option settings when
2035reading options map so that command line settings take precedence
2036
20372005-01-18 Nathaniel Smith <njs@codesourcery.com>
2038
2039* netsync.cc: Partially fix comment (s/manifest/revision/ etc.).
2040(dispatch_payload): Ignore mcert and fcert refinement requests,
2041instead of dying on them. Hack, but I think it should let this
2042netsync continue to interoperate with old netsync...
2043
20442005-01-18 Nathaniel Smith <njs@codesourcery.com>
2045
2046* vocab.hh: Remove file<cert>.
2047* vocab.cc: Likewise.
2048* packet_types.hh: Remove file.
2049* Makefile.am (MOST_SOURCES): Remove packet_types.hh and mac.hh.
2050
20512005-01-18 Nathaniel Smith <njs@codesourcery.com>
2052
2053* netsync.cc (process_confirm_cmd): Don't try refining mcert and
2054fcert trees.
2055Remove other dead/pointless code.
2056
20572005-01-18 Nathaniel Smith <njs@codesourcery.com>
2058
2059* database.hh: Remove file cert stuff.
2060* netsync.cc (data_exists): We don't have file/manifest certs.
2061(load_data): Likewise.
2062
20632005-01-18 Nathaniel Smith <njs@codesourcery.com>
2064
2065* netsync.cc (process_data_cmd): Ignore file/manifest certs.
2066
2067* database.cc (struct valid_certs): Don't support file certs.
2068(rehash): No file certs.
2069(file_cert_exists): Remove.
2070(put_file_cert): Remove.
2071(get_file_certs): Remove.
2072
20732005-01-18 Nathaniel Smith <njs@codesourcery.com>
2074
2075* packet.cc (class delayed_manifest_cert_packet):
2076(class delayed_file_cert_packet): Remove.
2077(packet_db_writer::consume_file_cert, consume_manifest_cert)
2078(packet_writer::consume_file_cert, consume_manifest_cert)
2079Remove.
2080(struct feed_packet_consumer): Don't support mcert/fcert packets.
2081(extract_packets): Likewise.
2082(packet_roundabout_test): Test revision certs, not manifest/file
2083certs.
2084
2085* packet.hh (packet_consumer::consume_file_cert):
2086(packet_consumer::consume_manifest_cert):
2087(packet_writer::consume_file_cert):
2088(packet_writer::consume_manifest_cert):
2089(packet_db_writer::consume_file_cert):
2090(packet_db_writer::consume_manifest_cert):
2091Remove.
2092
2093* lua.hh (hook_get_file_cert_trust): Remove.
2094* lua.cc (hook_get_file_cert_trust): Remove.
2095
20962005-01-18 Nathaniel Smith <njs@codesourcery.com>
2097
2098* cert.hh (erase_bogus_certs): Re-add manifest cert version.
2099
2100* monotone.texi (Hook Reference): Remove documentation of
2101get_{file,manifest}_cert_trust.
2102
21032005-01-18 Nathaniel Smith <njs@codesourcery.com>
2104
2105* cert.cc (erase_bogus_certs): Re-add manifest cert version.
2106(bogus_cert_p): Likewise.
2107
21082005-01-18 Nathaniel Smith <njs@codesourcery.com>
2109
2110* cert.hh (rename_edge):
2111(rename_set):
2112(calculate_renames):
2113(rename_cert_name): Remove.
2114(cert_file_comment):
2115(cert_manifest_comment): Remove.
2116(erase_bogus_certs): Remove manifest and file versions.
2117* cert.cc (rename_cert_name): Remove.
2118(bogus_cert_p): Remove manifest<cert> and file<cert> variants.
2119(erase_bogus_certs): Likewise.
2120(put_simple_manifest_cert):
2121(put_simple_file_cert):
2122(cert_file_comment): Remove.
2123
2124* commands.cc (fcerts): Remove.
2125(mcerts): Likewise.
2126(rcerts): Rename to...
2127(certs): ...this. s/revision certs/certs/ in help text.
2128(trusted): s/revision cert/cert/.
2129(ls_certs): Don't special-case rename certs.
2130
21312005-01-18 Nathaniel Smith <njs@codesourcery.com>
2132
2133* tests/t_vcheck.at: Fix AT_XFAIL_IF typo.
2134
21352005-01-18 Nathaniel Smith <njs@codesourcery.com>
2136
2137* monotone.texi (Reserved Certs): Remove 'vcheck'.
2138(Key and Cert): Remove 'vcheck'.
2139(Accidental collision): Likewise.
2140(Commands): Likewise.
2141* tests/t_vcheck.at: Add note about manual having useful stuff for
2142when vcheck is re-added.
2143
21442005-01-18 Nathaniel Smith <njs@codesourcery.com>
2145
2146* mac.hh:
2147* cert.cc (vcheck_cert_name):
2148(calculate_vcheck_mac):
2149(cert_manifest_vcheck
2150(check_manifest_vcheck):
2151* cert.hh (cert_manifest_vcheck):
2152(check_manifest_vcheck):
2153* constants.cc (constants::vchecklen):
2154* constants.hh (constants::vchecklen):
2155* commands.cc (vcheck):
2156Remove.
2157
2158* tests/t_vcheck.at: New test.
2159* testsuite.at: Call it.
2160
21612005-01-18 Nathaniel Smith <njs@codesourcery.com>
2162
2163* ROADMAP: Remove 'upgrade to sqlite3' todo item.
2164
21652005-01-18 Nathaniel Smith <njs@codesourcery.com>
2166
2167* commands.cc (tag):
2168(testresult):
2169(approve):
2170(disapprove):
2171(comment):
2172(fload):
2173(fmerge):
2174(cat):
2175(rcs_import): Change grouping for "--help" display, to make more
2176informative.
2177(rcs_import): Also add more details to help text.
2178
21792005-01-17 Nathaniel Smith <njs@codesourcery.com>
2180
2181* diff_patch.cc (normalize_extents): Add missing ')'.
2182
21832005-01-17 Nathaniel Smith <njs@codesourcery.com>
2184
2185* tests/t_update_1.at: New test.
2186* testsuite.at: Call it.
2187
21882005-01-11 Nathaniel Smith <njs@codesourcery.com>
2189
2190* diff_patch.cc (normalize_extents): Add warning for anyone who
2191manages to trigger the untested part of the normalization code.
2192
21932005-01-14 Christian Kollee <stuka@pestilenz.org>
2194
2195* search for and link with sqlite3 when --bundle-sqlite=no
2196
21972005-01-12 Derek Scherger <derek@echologic.com>
2198
2199* tests/t_ambig_update.at: add comments from discussion on irc
2200* tests/t_status_missing.at: new test
2201* testsuite.at: include it
2202
22032005-01-10 graydon hoare <graydon@pboox.com>
2204
2205* commands.cc (explicit_merge): Tweak merge message.
2206* database.cc (check_sqlite_format_version): New function.
2207(database::sql): Call it.
2208* sqlite/pager.hh (SQLITE_DEFAULT_PAGE_SIZE): Adjust to 8192.
2209(SQLITE_MAX_PAGE_SIZE): Adjust to 65536.
2210* schema_migration.cc: Post-merge cleanup.
2211* Makefile.am: Likewise.
2212
22132005-01-10 Christof Petig <christof@petig-baender.de>
2214
2215* sqlite/*: SQLite 3.0.8 CVS import
2216* database.{cc,hh}:
2217* schema_migration.{cc,hh}: convert to use the SQLite3 API
2218
2219This does not yet use any of the more sophisticated API features
2220of SQLite3 (query parameters, BLOBs), so there is plenty of room
2221for optimization. This also does not change the schema (i.e.
2222still uses base64 encoded values in tables)
2223
22242005-01-17 graydon hoare <graydon@pobox.com>
2225
2226* AUTHORS: Mention Wojciech and Neil.
2227* revision.cc (calculate_ancestors_from_graph): Make non-recursive.
2228
2229
2230
2231* std_hooks.lua: Teach about meld.
2232
22332005-01-17 Neil Conway <neilc@samurai.com>
2234
2235* diff_patch.cc: add a new context diff hunk consumer. Rename
2236unidiff() to make_diff().
2237* diff_patch.hh: Rename unidiff() to make_diff().
2238* command.cc: Add new "cdiff" command, and refactor "diff" to
2239invoke a common subroutine that is parameterized on the diff
2240type. Unrelated change: make a branch-based checkout default to
2241using the same directory name as the branch name, unless a
2242branch is specified.
2243
22442005-01-17 graydon hoare <graydon@pobox.com>
2245
2246* cryptopp/osrng.cpp (NonblockingRng::GenerateBlock):
2247Bring forward patch lost in cryptopp 5.2 upgrade.
2248* revision.cc (add_bitset_to_union)
2249(calculate_ancestors_from_graph): New functions.
2250(erase_ancestors)
2251(is_ancestor): Rewrite.
2252* cert.cc (get_branch_heads): Rewrite.
2253* database.{cc,hh} (get_heads): Remove
2254(get_revision_ancestry): Use multimap.
2255(install_views): Disable.
2256Remove everything related to the trust views. Too slow.
2257Also tidy up whitespace formatting in sqlite3 code.
2258* views.sql: Clear out all views.
2259* commands.cc: Adapt to using multimap for ancestry.
2260* AUTHORS: Mention Faheem and Christian.
2261
22622005-01-17 Faheem Mitha <faheem@email.unc.edu>
2263
2264* debian/control: Fix up build depends.
2265
22662005-01-17 Ulrich Drepper <drepper@redhat.com>
2267
2268* acinclude.m4 (AC_CHECK_INADDR_NONE): Fix quoting.
2269* Makefile.am (EXTRA_DIST): Add sqlite/keywordhash.c.
2270
22712005-01-14 Christian Kollee <stuka@pestilenz.org>
2272
2273* search for and link with sqlite3 when --bundle-sqlite=no
2274
22752005-01-12 Derek Scherger <derek@echologic.com>
2276
2277* tests/t_ambig_update.at: add comments from discussion on irc
2278* tests/t_status_missing.at: new test
2279* testsuite.at: include it
2280
22812005-01-10 graydon hoare <graydon@pboox.com>
2282
2283* commands.cc (explicit_merge): Tweak merge message.
2284* database.cc (check_sqlite_format_version): New function.
2285(database::sql): Call it.
2286* sqlite/pager.hh (SQLITE_DEFAULT_PAGE_SIZE): Adjust to 8192.
2287(SQLITE_MAX_PAGE_SIZE): Adjust to 65536.
2288* schema_migration.cc: Post-merge cleanup.
2289* Makefile.am: Likewise.
2290
22912005-01-10 Christof Petig <christof@petig-baender.de>
2292
2293* sqlite/*: SQLite 3.0.8 CVS import
2294* database.{cc,hh}:
2295* schema_migration.{cc,hh}: convert to use the SQLite3 API
2296
2297This does not yet use any of the more sophisticated API features
2298of SQLite3 (query parameters, BLOBs), so there is plenty of room
2299for optimization. This also does not change the schema (i.e.
2300still uses base64 encoded values in tables)
2301
23022005-01-11 Nathaniel Smith <njs@codesourcery.com>
2303
2304* tests/t_migrate_schema.at: Switch to using pre-dumped db's, make
2305it work, un-XFAIL it.
2306
23072005-01-11 Nathaniel Smith <njs@codesourcery.com>
2308
2309* tests/t_persistent_server_keys_2.at: XFAIL it, add commentary on
2310solution.
2311
23122005-01-11 Nathaniel Smith <njs@codesourcery.com>
2313
2314* tests/t_persistent_server_keys_2.at: New test.
2315* testsuite.at: Add it.
2316
23172005-01-06 Nathaniel Smith <njs@codesourcery.com>
2318
2319* schema_migration.cc (migrate_monotone_schema): Add comment
2320pointing to t_migrate_schema.at.
2321* tests/t_migrate_schema.at: Implement, mostly. (Still broken.)
2322
2323* tests/t_heads_discontinuous_branch.at: Remove urgency
2324annotation.
2325* tests/t_netsync_nocerts.at: Add urgency annotation.
2326
2327* testsuite.at: Add UNGZ, UNGZB64 macros.
2328* tests/t_fmerge.at: Use them.
2329
23302005-01-05 Nathaniel Smith <njs@codesourcery.com>
2331
2332* schema_migration.cc: Update comment about depot code.
2333(migrate_depot_split_seqnumbers_into_groups):
2334(migrate_depot_make_seqnumbers_non_null):
2335(migrate_depot_schema): Remove; all are dead code.
2336
23372005-01-05 Nathaniel Smith <njs@codesourcery.com>
2338
2339* schema_migration.cc: Remove tabs.
2340
23412005-01-05 Nathaniel Smith <njs@codesourcery.com>
2342
2343* tests/t_check_same_db_contents.at: Uncapitalize title to unbreak
2344testsuite.
2345
2346* revision.cc (is_ancestor): Add FIXME comment.
2347(erase_ancestors): New function.
2348* revision.hh (erase_ancestors): Prototype it.
2349* cert.cc (get_branch_heads): Call it.
2350* tests/t_heads_discontinuous_branch.at: Un-XFAIL it.
2351
2352* revision.cc (find_subgraph_for_composite_search): Ignore null
2353revision ids.
2354* commands.cc (try_one_merge): Add invariant - never create merges
2355where the left parent is an ancestor or descendent of the right.
2356(explicit_merge): Same check.
2357(propagate): Handle cases where no merge is necessary. Also, make
2358generated log message more readable.
2359
2360* tests/t_propagate_desc.at: Un-XFAIL it.
2361* tests/t_propagate_anc.at: Un-XFAIL it. Use new
2362CHECK_SAME_DB_CONTENTS macros.
2363* testsuite.at: Move t_check_same_db_contents.at to run before
2364propagation tests. Make CHECK_SAME_DB_CONTENTS more thorough.
2365
2366* tests/t_dump_load.at: Implement test.
2367
23682005-01-05 Nathaniel Smith <njs@codesourcery.com>
2369
2370* tests/t_check_same_db_contents.at: New test.
2371* testsuite.at: Add it.
2372(CHECK_SAME_DB_CONTENTS): New macro.
2373
23742005-01-04 Nathaniel Smith <njs@codesourcery.com>
2375
2376* cert.cc: Remove tabs.
2377* revision.hh: Likewise.
2378
23792005-01-04 Nathaniel Smith <njs@codesourcery.com>
2380
2381* tests/t_propagate_anc.at: Also check the case where we're
2382propagating a non-strict ancestor, i.e. the heads are actually
2383equal.
2384
23852005-01-04 Nathaniel Smith <njs@codesourcery.com>
2386
2387* database.cc (get_revision_parents): Add invariant.
2388(get_revision_children): Likewise.
2389(get_revision): Likewise.
2390(put_revision): Likewise.
2391
2392* tests/t_merge_ancestor.at: New test.
2393* tests/t_propagate_desc.at: Likewise.
2394* tests/t_propagate_anc.at: Likewise.
2395* testsuite.at: Call them.
2396
23972005-01-04 Nathaniel Smith <njs@codesourcery.com>
2398
2399* tests/t_netsync_diffbranch.at: Add priority, add description of
2400problem and solution.
2401Also, XFAIL it.
2402* tests/t_netsync_unrelated.at: Add reference to discussion.
2403* tests/t_cmdline_options.at: Remove priority marking from
2404non-bug.
2405* tests/t_checkout_dir.at: XFAIL when run as root.
2406
2407* tests/t_netsync_nocerts.at: New test.
2408* testsuite.at: Call it.
2409
24102005-01-03 Matt Johnston <matt@ucc.asn.au>
2411
2412* tests/t_netsync_diffbranch.at: add a new test for pulling a branch
2413with a parent from a different branch.
2414* testsuite.at: add it
2415
24162005-01-02 Derek Scherger <derek@echologic.com>
2417
2418* commands.cc (log_certs): new function
2419(log) add Ancestor: and Branch: entries to output; use above new
2420function
2421* tests/t_cross.at: update to work with changesets
2422
24232004-12-30 graydon hoare <graydon@pobox.com>
2424
2425* constants.cc (netcmd_current_protocol_version): Set to 3.
2426* tests/t_crlf.at: New test of crlf line encodings.
2427* testsuite.at: Call it.
2428* monotone.spec: Note 0.16 release.
2429
24302004-12-30 graydon hoare <graydon@pobox.com>
2431
2432* win32/get_system_flavour.cc: Fix little compile bugs.
2433
24342004-12-30 Julio M. Merino Vidal <jmmv@menta.net>
2435
2436* change_set.{cc,hh}: Add the has_renamed_file_src function in
2437change_set::path_rearrangement.
2438* commands.cc: Make the 'log' command show nothing for renamed or
2439deleted files (when asked to do so) and stop going backwards in
2440history when such condition is detected; they don't exist any more,
2441so there is no point in showing history (and could drive to incorrect
2442logs anyway).
2443* tests/t_log_nonexistent.at: New check to verify previous.
2444* testsuite.at: Add it.
2445
24462004-12-30 graydon hoare <graydon@pobox.com>
2447
2448* Makefile.am: Clean full testsuite directory and full-version.
2449* configure.ac: Bump version number.
2450* po/monotone.pot: Regenerate.
2451* NEWS: Describe new release.
2452
24532004-12-29 Julio M. Merino Vidal <jmmv@menta.net>
2454
2455* tests/t_cmdline_options.at: New test for previous: ensure that
2456monotone is actually checking for command line correctness.
2457* testsuite.at: Add it.
2458
24592004-12-29 Julio M. Merino Vidal <jmmv@menta.net>
2460
2461* monotone.cc: Verify that the command line is syntactically correct
2462as regards to options (based on error codes from popt).
2463
24642004-12-29 Matt Johnston <matt@ucc.asn.au>
2465
2466* tests/t_drop_rename_patch.at: A test to check that deltas on
2467renamed files are included in concatenate_change_sets, if there was a
2468deletion of a file with the same name as the rename src.
2469* testsuite.at: add it
2470
24712004-12-29 graydon hoare <graydon@pobox.com>
2472
2473* AUTHORS: Add Jordi.
2474* change_set.{cc,hh}: Make sanity helpers const.
2475(normalize_change_set): Drop a->a deltas.
2476(merge_change_sets): Call normalize.
2477(invert_change_set): Likewise.
2478* revision.cc
2479(find_subgraph_for_composite_search): New fn.
2480(calculate_composite_change_set): Call it.
2481(calculate_change_sets_recursive): Use results.
2482* tests/t_no_change_deltas.at: Fix.
2483
24842004-12-29 graydon hoare <graydon@pobox.com>
2485
2486* change_set.cc: Fix unit tests to satisfy sanity checks.
2487* std_hooks.lua: Fix status checking on external merges.
2488
24892004-12-29 Matt Johnston <matt@ucc.asn.au>
2490
2491* change_set.{cc,hh}: Take account of files which are the
2492destination of a rename_file operation, when examining
2493file deletions. Added helper methods to clean up related code.
2494
24952004-12-29 Matt Johnston <matt@ucc.asn.au>
2496
2497* change_set.cc: added a sanity check for deltas with same src/dst,
2498and deleted files with deltas.
2499
25002004-12-29 Matt Johnston <matt@ucc.asn.au>
2501
2502* testsuite.at, tests/t_netsync_single.at: don't use -q with
2503killall since it isn't portable.
2504
25052004-12-28 Julio M. Merino Vidal <jmmv@menta.net>
2506
2507* commands.cc: Make the 'log' command show all affected files
2508in each revision in a nice format (easier to read than what
2509'cat revision' shows).
2510
25112004-12-28 Julio M. Merino Vidal <jmmv@menta.net>
2512
2513* commands.cc: Change the order used by the 'log' command to show
2514affected files so that it matches the order in which these changes
2515really happen. Otherwise, a sequence like "rm foo; mv bar foo;
2516patch foo" could be difficult to understand by the reader.
2517
25182004-12-28 Jordi Vilalta Prat <jvprat@wanadoo.es>
2519
2520* monotone.texi: Fix a typo: "not not" should be "not".
2521
25222004-12-28 Julio M. Merino Vidal <jmmv@menta.net>
2523
2524* commands.cc: Make the 'log' command show all affected files
2525in each revision in a nice format (easier to read than what
2526'cat revision' shows).
2527
25282004-12-28 graydon hoare <graydon@pobox.com>
2529
2530* AUTHORS: Add various recent authors.
2531
25322004-12-28 Badai Aqrandista <badaiaqrandista@hotmail.com>
2533
2534* debian/*: Fix up for package building.
2535
25362004-12-28 graydon hoare <graydon@pobox.com>
2537
2538* change_set.{cc,hh}: Add sanity checking, rework
2539some of concatenation logic to accomodate.
2540* revision.{cc,hh}: Likewise.
2541Teach about generalized graph rebuilding.
2542* database.cc (delete_existing_revs_and_certs): New fn.
2543* commands.cc (db rebuild): New command.
2544(db fsck) New command.
2545* sanity.{cc,hh} (relaxed): New flag.
2546* work.cc: Use new concatenation logic.
2547
25482004-12-25 Julio M. Merino Vidal <jmmv@menta.net>
2549
2550* commands.cc: During 'log', print duplicate certificates (by
2551different people) in separate lines, rather than showing them
2552together without any spacing. While here, homogenize new lines
2553in other messages as well; this also avoids printing some of
2554them in case of missing certificates).
2555
25562004-12-24 Nathaniel Smith <njs@codesourcery.com>
2557
2558* tests/t_disapprove.at: Enable previously disabled test.
2559
2560* tests/t_no_change_deltas.at: New test.
2561* testsuite.at: Call it.
2562
25632004-12-23 Nathaniel Smith <njs@codesourcery.com>
2564
2565* win32/read_password.c: Remove unused file.
2566
25672004-12-22 Julio M. Merino Vidal <jmmv@menta.net>
2568
2569* commands.cc: Verify that the key identifier passed to the pubkey
2570and privkey commands exists in the database. Otherwise exit with
2571an informational message instead of an exception.
2572
25732004-12-20 Matt Johnston <matt@ucc.asn.au>
2574
2575* keys.cc: don't cache bad passphrases, so prompt for a correct
2576password if the first ones fail.
2577
25782004-12-19 Matt Johnston <matt@ucc.asn.au>
2579
2580* commands.cc: print out author/date next to ambiguous revision
2581lists from selectors.
2582
25832004-12-19 Julio M. Merino Vidal <jmmv@menta.net>
2584
2585* testsuite.at:
2586* tests/t_fmerge.at:
2587* tests/t_netsync.at:
2588* tests/t_netsync_single.at:
2589* tests/t_revert.at:
2590* tests/t_tags.at: Avoid usage of test's == operator. It's a
2591GNUism and causes unexpected failures in many tests. The correct
2592operator to use is just an equal sign (=).
2593* tests/t_renamed.at: Don't use cp's -a flag, which is not
2594supported by some implementations of this utility (such as the
2595one in NetBSD). Try to add some of its funcionality by using
2596the -p flag, although everything could be fine without it.
2597* tests/t_unidiff.at: Discard patch's stderr output. Otherwise
2598it's treated as errors, but NetBSD's patch uses it to print
2599informative messages.
2600
26012004-12-19 Julio M. Merino Vidal <jmmv@menta.net>
2602
2603* tests/t_scan.at: Instead of running sha1sum, use a prestored
2604manifest file to do the verification. This avoids problems in
2605systems that do not have the sha1sum tool, like NetBSD.
2606
26072004-12-19 Julio M. Merino Vidal <jmmv@menta.net>
2608
2609* Makefile.am: Remove obsolete --with-bundled-adns flag from
2610DISTCHECK_CONFIGURE_FLAGS.
2611
26122004-12-18 Nathaniel Smith <njs@codesourcery.com>
2613
2614* tests/t_checkout_dir.at: Make the test directory chdir'able
2615again after the test.
2616* tests/t_delete_dir.at: Add trailing newline.
2617
2618* tests/t_dump_load.at: New bug report.
2619* tests/t_migrate_schema.at: Likewise.
2620* testsuite.at: Call them.
2621
26222004-12-18 Nathaniel Smith <njs@codesourcery.com>
2623
2624* change_set.hh: Remove obsolete comment.
2625
26262004-12-18 Nathaniel Smith <njs@codesourcery.com>
2627
2628* tests/t_delete_dir.at: New bug report.
2629* testsuite.at: Call it.
2630
26312004-12-18 Julio M. Merino Vidal <jmmv@menta.net>
2632
2633* commands.cc: Homogenize help message for 'ls' with the one shown
2634by 'list'.
2635
26362004-12-18 Julio M. Merino Vidal <jmmv@menta.net>
2637
2638* ChangeLog: Add missing entries for several modifications I did
2639in December 6th and 3rd.
2640
26412004-12-18 Julio M. Merino Vidal <jmmv@menta.net>
2642
2643* tests/t_checkout_dir.at: New test triggering the bug I fixed
2644 previously in the checkout command, verifying that directory
2645 creation and chdir succeed.
2646* testsuite.at: Add new test.
2647
26482004-12-18 Nathaniel Smith <njs@codesourcery.com>
2649
2650* ChangeLog: Add log entry for <jmmv@menta.net>'s last change.
2651* std_hooks.lua: Check exit status of external merge commands.
2652
26532004-12-18 Julio M. Merino Vidal <jmmv@menta.net>
2654
2655* commands.cc: Include cerrno, cstring,
2656boost/filesystem/exception.hpp.
2657(checkout): Verify that directory creation and chdir succeeded.
2658
26592004-12-18 Nathaniel Smith <njs@codesourcery.com>
2660
2661* diff_patch.cc (struct hunk_offset_calculator): Remove dead
2662code. (I believe it was used by the old, non-extent-based
2663merging.)
2664(calculate_hunk_offsets): Likewise.
2665(struct hunk_consumer): Move next to rest of unidiff code.
2666(walk_hunk_consumer): Likewise.
2667
26682004-12-18 Matt Johnston <matt@ucc.asn.au>
2669
2670* change_set.cc (concatenate_change_sets): Be more careful checking
2671whether to discard deltas for deleted files (in particular take
2672care when files are removed then re-added) - fixes tests
2673t_patch_drop_add, t_add_drop_add.at, t_add_patch_drop_add,
2674t_merge2_add_drop_add
2675* change_set.cc (project_missing_deltas): don't copy deltas
2676for deleted files, and handle the case where src file ids vary when
2677files are added/removed. (fixes t_patch_vs_drop_add)
2678* t_patch_drop_add.at, t_add_drop_add.at, t_add_patch_drop_add.at,
2679 t_merge2_add_drop_add.at, t_patch_vs_drop_add.t: don't expect
2680to fail any more.
2681
26822004-12-17 Nathaniel Smith <njs@codesourcery.com>
2683
2684* tests/t_persistent_server_keys.at:
2685* tests/t_attr.at:
2686* tests/t_patch_vs_drop_add.at:
2687* tests/t_merge2_add_drop_add.at:
2688* tests/t_add_drop_add.at:
2689* tests/t_add_patch_drop_add.at:
2690* tests/t_patch_drop_add.at: Remove priority notes, since these
2691are no longer bugs.
2692
26932004-12-17 graydon hoare <graydon@pobox.com>
2694
2695* tests/t_merge_2.at: Works now, remove xfail.
2696
26972004-12-17 graydon hoare <graydon@pobox.com>
2698
2699* tests/t_merge_1.at: Remove AT_CHECK(false) and xfail.
2700* tests/t_fdiff_normalize.at: New test.
2701* testsuite.at: Call it.
2702* diff_patch.cc (normalize_extents): Fix the normalize bug.
2703* revision.{cc,hh} (construct_revisions): Rename to prepare for
2704next rebuild-the-graph migration.
2705* commands.cc (db): Change call name.
2706
27072004-12-16 Joel Rosdahl <joel@rosdahl.net>
2708
2709* revision.cc (is_ancestor): Use std::queue for the queue.
2710
27112004-12-14 Joel Rosdahl <joel@rosdahl.net>
2712
2713Generalize the explicit_merge command with an optional ancestor
2714argument:
2715* revision.cc (is_ancestor): New method.
2716* revision.hh (is_ancestor): Add prototype.
2717* commands.cc (try_one_merge): Add ancestor argument. Empty
2718ancestor means use ancestor from find_common_ancestor_for_merge.
2719(merge): Pass empty ancestor to try_one_merge.
2720(propagate): Likewise.
2721(explicit_merge): Add optional ancestor argument.
2722* monotone.texi: Document new explicit_merge argument.
2723
27242004-12-13 Joel Rosdahl <joel@rosdahl.net>
2725
2726* tests/t_merge_2.at: New test triggering a bad merge.
2727* testsuite.at: Add new test.
2728
27292004-12-13 Joel Rosdahl <joel@rosdahl.net>
2730
2731* revision.cc (find_least_common_ancestor): Add a missing "return
2732true;" that mysteriously was removed in
2733c853237f9d8d155431f88aca12932d2cdaaa31fe.
2734
27352004-12-13 Joel Rosdahl <joel@rosdahl.net>
2736
2737* revision.cc (find_least_common_ancestor): Remove unused variable.
2738* commands.cc (lca): Correct negative status text.
2739* commands.cc (update): Use GNU style braces.
2740
27412004-12-12 graydon hoare <graydon@pobox.com>
2742
2743* commands.cc: Fix bug reported in t_attr.at
2744* tests/t_attr.at: Remove xfail.
2745* change_set.cc: Change unit tests syntax.
2746(read_change_set): Assert complete read.
2747* revision_ser.cc (read_revision_set): Likewise.
2748* os_specific.hh: Drop obsolete file.
2749
27502004-12-12 Joel Rosdahl <joel@rosdahl.net>
2751
2752* revision.cc (find_least_common_ancestor): New function for
2753finding the vanilla LCA.
2754* revision.hh: Added prototype for find_least_common_ancestor.
2755* commands.cc (update): Use find_least_common_ancestor for finding
2756a common ancestor.
2757* commands.cc (diff): Likewise.
2758* revision.cc (find_common_ancestor): Rename to...
2759(find_common_ancestor_for_merge): ...this, for clarity.
2760* revision.hh: find_common_ancestor -->
2761find_common_ancestor_for_merge.
2762* commands.cc (try_one_merge): Call find_common_ancestor_for_merge
2763to find ancestor.
2764* commands.cc (lcad): Rename lca command to lcad.
2765* commands.cc (lca): New command for finding the vanilla LCA.
2766
27672004-12-12 Nathaniel Smith <njs@codesourcery.com>
2768
2769* tests/t_persistent_server_keys.at: Actually test what it's
2770supposed to. Also, un-XFAIL it, since now it seems to pass.
2771
27722004-12-12 Nathaniel Smith <njs@codesourcery.com>
2773
2774* tests/t_persistent_server_keys.at: New test.
2775
2776* testsuite.at: Call it.
2777* tests/t_persistent_server_revision.at: Fix typo.
2778
27792004-12-12 Nathaniel Smith <njs@codesourcery.com>
2780
2781* tests/t_persistent_server_revision.at: New test.
2782* testsuite.at: Call it. Tweak NETSYNC macros in support of it.
2783
27842004-12-11 Nathaniel Smith <njs@codesourcery.com>
2785
2786* lua.hh (add_rcfile): Add 'required' argument.
2787* lua.cc (add_rcfile): Implement it. Simplify error checking
2788logic while I'm there...
2789* monotone.cc (cpp_main): Pass new argument to add_rcfile.
2790
2791* tests/t_rcfile_required.at: New test.
2792* testsuite.at: Call it.
2793Revamp netsync support macros, to allow long-running servers.
2794Make netsync-killer try first with -TERM, in case that plays nicer
2795with gcov.
2796
27972004-12-11 Nathaniel Smith <njs@codesourcery.com>
2798
2799* lua.hh: Remove tabs.
2800
28012004-12-11 Nathaniel Smith <njs@codesourcery.com>
2802
2803* monotone.texi: Document explicit_merge.
2804
28052004-12-11 Nathaniel Smith <njs@codesourcery.com>
2806
2807* Makefile.am: Redo full-revision support again, to properly
2808handle 'make dist' and caching. Hopefully.
2809
28102004-12-11 Nathaniel Smith <njs@codesourcery.com>
2811
2812* monotone.texi (File Attributes): Rewrite for new .mt-attrs
2813syntax.
2814
28152004-12-11 Nathaniel Smith <njs@codesourcery.com>
2816
2817* tests/t_attr.at: New test.
2818* testsuite.at: Call it.
2819
28202004-12-11 Nathaniel Smith <njs@codesourcery.com>
2821
2822* commands.cc (trusted): Print spaces between key ids.
2823
2824* lua.cc (add_rcfile): Errors while loading a user-provided rc
2825file are naughtiness, not oopses.
2826
28272004-12-11 Nathaniel Smith <njs@codesourcery.com>
2828
2829* commands.cc (commands::explain_usage): Use split_into_lines to
2830do formatting of per-command usage; allow multi-line
2831descriptions.
2832(trusted): New command.
2833* monotone.texi (Key and Cert): Document 'trusted' command.
2834* tests/t_trusted.at: New test.
2835* testsuite.at: Change get_revision_cert_trust to support
2836t_trusted.at. Call t_trusted.at.
2837
28382004-12-11 Derek Scherger <derek@echologic.com>
2839
2840* app_state.{cc,hh} (restriction_includes): renamed from
2841in_restriction to be less obscure; use path_set rather than
2842set<file_path>
2843* commands.cc
2844(restrict_path_set):
2845(restrict_rename_set):
2846(restrict_path_rearrangement):
2847(calculate_restricted_revision): new restriction functions
2848(restrict_patch_set): remove old restrictions machinery
2849(status): call calculate_restricted_revision
2850(ls_tags): call app.initialize
2851(unknown_itemizer): restriction_includes renamed
2852(ls_unknown): call calculate_restricted_revision
2853(ls_missing): rework for restrictions
2854(commit): switch to --message option, optional paths and preserve
2855restricted work
2856(diff): allow restrictions for zero and one arg variants
2857(revert): note some work left to do
2858* manifest.{cc,hh} (build_manifest_map): hide unused things
2859(build_restricted_manifest_map): new function
2860* transforms.{cc,hh} (calculate_ident): clean up merge artifacts
2861* work.cc (read_options_map): merge cleanup to preserve command
2862line options
2863
28642004-12-10 Nathaniel Smith <njs@codesourcery.com>
2865
2866* Makefile.am (package_full_revision.txt): Redo Joel Rosdahl
2867<joel@rosdahl.net>'s change below after it got clobbered by
2868merge.
2869
28702004-12-10 Nathaniel Smith <njs@codesourcery.com>
2871
2872* commands.cc (log): Synopsize optional 'file' argument, and
2873describe both arguments in help description.
2874
28752004-12-10 Matt Johnston <matt@ucc.asn.au>
2876
2877* cert.cc: Added priv_key_exists() function
2878* commands.cc, rcs_import.cc: use new privkey functions
2879* netsync.cc: change some bits that were missed
2880
28812004-12-09 Derek Scherger <derek@echologic.com>
2882
2883* .mt-nonce: delete obsolete file
2884* change_set.cc (merge_deltas): add file paths in call to
2885try_to_merge_files
2886* commands.cc (propagate): add progress logging similar to merge
2887* diff_patch.{cc,hh} (try_to_merge_files): add file paths to
2888merge2 and merge3 hooks; add logging of paths before calling merge
2889hooks
2890* lua.{cc,hh} (hook_merge2, hook_merge3): add file paths to merge
2891hooks
2892* std_hooks.lua (merge2, merge3, merge2_xxdiff_cmd,
2893merge3_xxdiff_cmd): pass file paths to xxdiff for use as titles
2894* testsuite.at (MONOTONE_SETUP): add paths to merge2 hook
2895
28962004-12-09 Matt Johnston <matt@ucc.asn.au>
2897
2898* cert.cc, cert.hh, lua.cc, lua.hh, netsync.cc:
2899Added a new get_priv_key(keyid) lua hook to retrieve
2900a private key from ~/.monotonerc
2901
29022004-12-09 Matt Johnston <matt@ucc.asn.au>
2903
2904* change_set.cc: Don't include patch deltas on files which
2905are being deleted in changesets. (partial fix for bug
2906invoked by t_merge_add_del.at)
2907
29082004-12-09 Matt Johnston <matt@ucc.asn.au>
2909
2910* configure.ac,Makefile.am: Fix iconv and intl
2911handling so that the libraries are used (required for OS X).
2912
29132004-12-09 Nathaniel Smith <njs@codesourcery.com>
2914
2915* Makefile.am (BUILT_SOURCES_NOCLEAN): add 'S'.
2916
2917* netsync.cc (session): Make ticker pointers into auto_ptr's. Add
2918cert and revision tickers.
2919(session::session): Initialize new tickers.
2920(session::note_item_sent): New method. Increment tickers.
2921(session::note_item_arrived): Increment tickers.
2922(session::read_some): Adjust for auto_ptr.
2923(session::write_some): Likewise.
2924(call_server): Conditionally initialize cert and revision
2925tickers.
2926(queue_data_cmd): Call 'note_item_sent'.
2927(queue_delta_cmd): Call 'note_item_sent'.
2928
29292004-12-09 graydon hoare <graydon@pobox.com>
2930
2931* ROADMAP: Add file.
2932
29332004-12-08 Nathaniel Smith <njs@codesourcery.com>
2934
2935* tests/t_patch_vs_drop_add.at:
2936* tests/t_patch_drop_add.at:
2937* tests/t_netsync_unrelated.at:
2938* tests/t_merge_add_del.at:
2939* tests/t_merge2_add_drop_add.at:
2940* tests/t_merge_1.at:
2941* tests/t_heads_discontinuous_branch.at:
2942* tests/t_cleanup_empty_dir.at:
2943* tests/t_checkout_options.at:
2944* tests/t_ambig_update.at:
2945* tests/t_add_patch_drop_add.at:
2946* tests/t_add_drop_add.at:
2947* tests/t_add_dot.at: Add (importance) markers to all bug report
2948tests.
2949
29502004-12-08 Nathaniel Smith <njs@codesourcery.com>
2951
2952* app_state.hh (write_options): Add 'force' option.
2953* app_state.cc: Remove tabs.
2954(write_options): Implement.
2955* commands.cc (checkout): Pass force=true to 'write_options'.
2956
2957* tests/t_checkout_options.at: New test.
2958* testsuite.at: Define RAW_MONOTONE.
2959(t_checkout_options.at): Call it.
2960
29612004-12-08 Nathaniel Smith <njs@codesourcery.com>
2962
2963* update.hh (pick_update_target): Rename to...
2964(pick_update_candidates): ...this. Return a set of candidates,
2965rather than a single best.
2966* update.cc (pick_update_candidates): Likewise. Remove logic
2967checking for unique candidate.
2968* commands.cc (describe_revision): New function.
2969(heads): Use it.
2970(update): Use new 'pick_update_candidates' function. Add logic
2971checking for unique candidate. On non-unique candidate, print all
2972candidates, using 'describe_revision'.
2973
2974* tests/t_ambig_update.at: Check that failure messages describe
2975the candidate set.
2976
29772004-12-08 Nathaniel Smith <njs@codesourcery.com>
2978
2979* update.cc: Remove tabs.
2980
29812004-12-08 Nathaniel Smith <njs@codesourcery.com>
2982
2983* tests/t_ambig_update.at: Also check that update fails when one
2984candidate edge is deeper than the other.
2985
29862004-12-08 graydon hoare <graydon@pobox.com>
2987
2988* change_set.cc (extend_renumbering_via_added_files):
2989Look up parent tid in existing renumbering.
2990* commands.cc (attr): Check index for "set" subcommand.
2991(lca): New diagnostic command.
2992(log): Tidy up output formatting a bit.
2993* po/monotone.pot: Regenerate.
2994* tests/t_add_edge.at: New test to catch add failure.
2995* testsuite.at: Call it.
2996
29972004-12-08 Nathaniel Smith <njs@codesourcery.com>
2998
2999* tests/t_ambig_update.at: New test.
3000* testsuite.at: Add it.
3001
3002* tests/t_explicit_merge.at: Add, having forgotten to last time.
3003
30042004-12-08 Nathaniel Smith <njs@codesourcery.com>
3005
3006* tests/t_explicit_merge.at: New test.
3007* testsuite.at: Add it.
3008
30092004-12-08 Nathaniel Smith <njs@codesourcery.com>
3010
3011* testsuite.at: Remove duplicate line created by merge.
3012* ChangeLog: Re-sort after merges.
3013
3014* commands.cc (explicit_merge): Remove stray space. Print id of
3015merge result.
3016(complete_command): Add back "}" deleted by merge.
3017
30182004-12-08 Nathaniel Smith <njs@codesourcery.com>
3019
3020* change_set.cc: Remove tabs.
3021* diff_patch.cc: Likewise.
3022
3023* commands.cc (explicit_merge): New command.
3024
30252004-12-08 graydon hoare <graydon@pobox.com>
3026
3027* change_set.cc (extend_renumbering_via_added_files):
3028Look up parent tid in existing renumbering.
3029* commands.cc (attr): Check index for "set" subcommand.
3030(lca): New diagnostic command.
3031(log): Tidy up output formatting a bit.
3032* po/monotone.pot: Regenerate.
3033* tests/t_add_edge.at: New test to catch add failure.
3034* testsuite.at: Call it.
3035
30362004-12-07 Richard Levitte <richard@levitte.org>
3037
3038* Makefile.am: Keep package_*revision.{txt,h}, so they are saved
3039as part of a distribution, and thereby make as sure as possible
3040people who download monotone get historical information on where
3041their copy of monotone came from.
3042
30432004-12-06 Richard Levitte <richard@levitte.org>
3044
3045* monotone.cc: Add a hint on how to use --ticker.
3046
30472004-12-06 Nathaniel Smith <njs@codesourcery.com>
3048
3049* commands.cc (ls_certs): Sort the certs before printing.
3050* tests/t_netsync_repeated.at: Actually check that certs were
3051transferred correctly.
3052
30532004-12-06 Julio M. Merino Vidal <jmmv@menta.net>
3054
3055* figures/cert.pdf:
3056* figures/cert.png:
3057* figures/oo-figures.sxd:
3058* monotone.texi: Use example host names under the
3059example.{com,org,net} subdomains instead of invented names.
3060These are defined in RFC 2606.
3061
30622004-12-06 Julio M. Merino Vidal <jmmv@menta.net>
3063
3064* configure.ac: Now that we depend on GNU Autoconf >= 2.58, we
3065can use the AS_HELP_STRING macro everywhere we need to pretty-print
3066help strings. Also convert old calls to AC_HELP_STRING (deprecated)
3067to this one.
3068
30692004-12-06 Joel Rosdahl <joel@rosdahl.net>
3070
3071* Makefile.am (package_full_revision.txt): Silence error messages
3072when deducing full package revision.
3073
30742004-12-06 graydon hoare <graydon@pobox.com>
3075
3076* unix/get_system_flavour.cc:
3077* win32/get_system_flavour.cc: Add missing files.
3078
30792004-12-06 graydon hoare <graydon@pobox.com>
3080
3081* commands.cc (merge): Add newline in output.
3082* change_set.cc (project_missing_deltas): Fix very bad
3083delta-renaming bug.
3084
30852004-12-06 graydon hoare <graydon@pobox.com>
3086
3087* change_set.cc:
3088* tests/t_merge_add_del.at:
3089* netsync.cc:
3090* commands.cc: Clean up from merge.
3091
30922004-12-06 Nathaniel Smith <njs@codesourcery.com>
3093
3094* tests/t_add_patch_drop_add.at: New test.
3095* tests/t_merge2_add_drop_add.at: New test.
3096* tests/t_patch_drop_add.at: New test.
3097* tests/t_patch_vs_drop_add.at: New test.
3098* testsuite.at: Add them.
3099
3100* tests/t_add_drop_add.at: Fix to test what it was supposed to.
3101
3102* tests/t_merge2_data.at: Remove extraneous [stdout].
3103
3104* tests/t_merge_add_del.at: Fix description.
3105XFAIL it.
3106
31072004-12-06 Nathaniel Smith <njs@codesourcery.com>
3108
3109* tests/t_add_drop_add.at: New test.
3110* testsuite.at: Add it.
3111
31122004-12-05 Nathaniel Smith <njs@codesourcery.com>
3113
3114* tests/t_merge_add_del: Shorten name for better display.
3115
31162004-12-05 Matt Johnston <matt@ucc.asn.au>
3117
3118* tests/t_merge_add_del: added a new test for merging
3119 branches where a file is added then removed.
3120* testsuite.at: added the new test
3121* configure.ac: bumped the prequisite version to 2.58 since
3122 some tests use AT_XFAIL_IF
3123
31242004-12-05 graydon hoare <graydon@pobox.com>
3125
3126* Makefile.am (package_full_revision.txt): Use top_builddir
3127to locate monotone executable.
3128
31292004-12-05 Nathaniel Smith <njs@codesourcery.com>
3130
3131* tests/t_merge_add_del: Shorten name for better display.
3132
31332004-12-05 Matt Johnston <matt@ucc.asn.au>
3134
3135* tests/t_merge_add_del: added a new test for merging
3136 branches where a file is added then removed.
3137* testsuite.at: added the new test
3138* configure.ac: bumped the prequisite version to 2.58 since
3139 some tests use AT_XFAIL_IF
3140
31412004-12-04 graydon hoare <graydon@pobox.com>
3142
3143* commands.cc (fcommit): New command.
3144(update): Finish off merge of update command.
3145
31462004-12-04 Derek Scherger <derek@echologic.com>
3147
3148* commands.cc: (complete_command): New function.
3149(explain_usage/process): Use it.
3150
31512004-12-04 Nathaniel Smith <njs@codesourcery.com>
3152
3153* change_set.cc (merge_deltas): Call correct variant of
3154try_to_merge_files depending on whether ancestor is available.
3155* diff_patch.cc (try_to_merge_files -- merge3 version): Add
3156assertions about ids.
3157(try_to_merge_files -- merge2 version): Likewise.
3158
3159* testsuite.at: Add a trivial working merge2 hook.
3160* tests/t_related_merge2_data.at: Update to use.
3161Mark as expected to PASS.
3162* tests/t_merge2_data.at: Likewise.
3163
31642004-12-04 Nathaniel Smith <njs@codesourcery.com>
3165
3166* change_set.cc (merge_deltas): Call correct variant of
3167try_to_merge_files depending on whether ancestor is available.
3168* diff_patch.cc (try_to_merge_files -- merge3 version): Add
3169assertions about ids.
3170(try_to_merge_files -- merge2 version): Likewise.
3171
3172* testsuite.at: Add a trivial working merge2 hook.
3173* tests/t_related_merge2_data.at: Update to use.
3174Mark as expected to PASS.
3175* tests/t_merge2_data.at: Likewise.
3176
31772004-12-04 Nathaniel Smith <njs@codesourcery.com>
3178
3179* change_set.cc: Remove tabs.
3180* diff_patch.cc: Likewise.
3181
31822004-12-04 Nathaniel Smith <njs@codesourcery.com>
3183
3184* change_set.cc: Remove tabs.
3185* diff_patch.cc: Likewise.
3186
31872004-12-03 Julio M. Merino Vidal <jmmv@menta.net>
3188
3189* commands.cc: Add a missing newline to a message.
3190
31912004-12-03 Julio M. Merino Vidal <jmmv@menta.net>
3192
3193* cryptopp/config.h:
3194* configure.ac: NetBSD does not define __unix__ nor __unix, so the
3195build fails. To solve, check for __NetBSD__ where appropiate to
3196detect a Unix system.
3197
31982004-12-03 Julio M. Merino Vidal <jmmv@menta.net>
3199
3200* INSTALL: Document my latest changes: --enable-ipv6 option, ability
3201to specify static boost prefix through --enable-static-boost and
3202BOOST_SUFFIX variable.
3203
32042004-12-03 Julio M. Merino Vidal <jmmv@menta.net>
3205
3206* Makefile.am:
3207* configure.am: Add a variable, BOOST_SUFFIX, that identifies the
3208suffix string that has to be appended to Boost library names to use
3209them. This variable can be defined on configure's command line.
3210
32112004-12-03 Julio M. Merino Vidal <jmmv@menta.net>
3212
3213* configure.ac: Let the --enable-static-boost argument take a prefix
3214to where boost libraries are located.
3215
32162004-12-03 Julio M. Merino Vidal <jmmv@menta.net>
3217
3218* configure.ac: Add a three-state --enable-ipv6 argument to the
3219configure script to explicitly enable or disable IPv6 support.
3220
32212004-12-03 Julio M. Merino Vidal <jmmv@menta.net>
3222
3223* std_hooks.lua: Add missing newlines to two error messages.
3224
32252004-12-02 Derek Scherger <derek@echologic.com>
3226
3227* commands.cc: more tweaking to ease changeset merge
3228
32292004-12-01 Derek Scherger <derek@echologic.com>
3230
3231* commands.cc: reordered commands to help merge with changesets
3232branch
3233
32342004-12-01 graydon hoare <graydon@pobox.com>
3235
3236* {unix,win32}/get_system_flavour.cc: New files.
3237* basic_io.{cc,hh}: Give names to input sources.
3238* monotone.cc: Move app_state ctor inside try.
3239* platform.hh (get_system_flavour): Declare.
3240* revision.cc: Name input source "revision".
3241* sanity.cc: Log flavour on startup.
3242* tests/t_attributes.at: Use new syntax.
3243* transforms.{cc,hh} (split_into_lines): New variant, and rewrite.
3244* work.{cc,hh}: Rewrite attributes to use basic_io.
3245(get_attribute_from_db):
3246(get_attribute_from_working_copy): New functions.
3247
32482004-11-30 Nathaniel Smith <njs@codesourcery.com>
3249
3250* keys.cc (get_passphrase): Simplify arguments.
3251(generate_key_pair): Force new passphrases to come from the user.
3252Adapt to new 'get_passphrase' arguments.
3253(change_key_passphrase): Likewise.
3254(generate_key_pair): Add argument specifying passphrase, for
3255exclusive use of the unit tests.
3256(signature_round_trip_test): Use it.
3257* keys.hh (generate_key_pair): Adjust prototype correspondingly.
3258
3259* tests/t_genkey.at: Test that 'genkey' requires the passphrase to
3260be entered.
3261* tests/t_chkeypass.at: Check that 'chkeypass' fails if no
3262passphrase is given.
3263
32642004-11-30 Nathaniel Smith <njs@codesourcery.com>
3265
3266* keys.hh: Remove tabs.
3267* keys.cc: Likewise.
3268
32692004-11-30 Nathaniel Smith <njs@codesourcery.com>
3270
3271* monotone.texi (Hook Reference): Clarify description of
3272'get_passphrase', following confusion on IRC.
3273
32742004-11-30 Joel Rosdahl <joel@rosdahl.net>
3275
3276* ui.cc (fatal): Added missing newlines in fatal message.
3277
32782004-11-29 Nathaniel Smith <njs@codesourcery.com>
3279
3280* monotone.texi: Add more details to documentation of 'update
3281<revision>' command.
3282
3283* ui.cc (fatal): Typo in previous commit.
3284
32852004-11-29 Nathaniel Smith <njs@codesourcery.com>
3286
3287* ui.cc (fatal): On suggestion of Zack Weinberg, add a note to
3288fatal error messages 1) telling the user that it's a bug (i.e.,
3289not their fault), and 2) requesting a bug report.
3290
32912004-11-29 Nathaniel Smith <njs@codesourcery.com>
3292
3293* ui.cc: Remove tabs.
3294
32952004-11-30 Matt Johnston <matt@ucc.asn.au>
3296
3297* change_set.cc (merge_disjoint_analyses): Prevent duplicated
3298tids being used.
3299(merge_disjoint_analyses): Fix typo (s/a_tmp/b_tmp/)
3300
33012004-11-24 Nathaniel Smith <njs@codesourcery.com>
3302
3303* tests/t_cleanup_empty_dir.at: Shorten name.
3304
33052004-11-24 Nathaniel Smith <njs@codesourcery.com>
3306
3307* Makefile.am (BUILT_SOURCES): List package_*version.{h,txt}.
3308* package_{full_,}version.txt: Work when blddir != srcdir.
3309
33102004-11-24 Nathaniel Smith <njs@codesourcery.com>
3311
3312* mt_version.hh: New file.
3313* mt_version.cc: New file.
3314* monotone.cc (package_revision.h): Don't include it.
3315(mt_version.hh): Include it.
3316(OPT_FULL_VERSION): New option.
3317(options): Add it.
3318(cpp_main): Implement --version and --full-version in terms of
3319mt_version.hh.
3320
3321* Makefile.am (package_full_revision.h): Build it.
3322(MOST_SOURCES): Add mt_version.{cc,hh}.
3323
33242004-11-24 Nathaniel Smith <njs@codesourcery.com>
3325
3326* txt2c.cc (main): Add "--skip-trailing" option to skip trailing
3327whitespace.
3328* Makefile.am (package_revision.h): Generate it.
3329* monotone.cc (package_revision.h): Include it.
3330(cpp_main): Print it as part of --version.
3331
33322004-11-23 Nathaniel Smith <njs@codesourcery.com>
3333
3334* tests/t_cleanup_empty_dir.at: New test.
3335* testsuite.at: Call it.
3336
33372004-11-23 Nathaniel Smith <njs@codesourcery.com>
3338
3339* monotone.texi (File Attributes): Document how restricted format
3340of .mt-attrs currently is. Also talk about 'the' .mt-attrs file
3341instead of 'an', in response to confusion.
3342
33432004-11-23 Nathaniel Smith <njs@codesourcery.com>
3344
3345* work.cc (build_deletion): Add missing newline.
3346(build_rename): Likewise.
3347(build_rename): Likewise.
3348
33492004-11-23 Nathaniel Smith <njs@codesourcery.com>
3350
3351* work.cc: Remove tabs.
3352
33532004-11-23 Nathaniel Smith <njs@codesourcery.com>
3354
3355* commands.cc: Remove tabs.
3356
33572004-11-23 Nathaniel Smith <njs@codesourcery.com>
3358
3359* tests/t_add_dot.at: New test.
3360* testsuite.at: Call it.
3361
33622004-11-22 Joel Rosdahl <joel@rosdahl.net>
3363
3364* testsuite.at (NEED_UNB64): Check that python knows how to decode
3365strings before using it.
3366
33672004-11-21 Joel Rosdahl <joel@rosdahl.net>
3368
3369* testsuite.at (NEED_UNB64): Find more programs for decoding
3370base64.
3371
33722004-11-20 Nathaniel Smith <njs@codesourcery.com>
3373
3374* tests/t_merge_1.at: New test.
3375* testsuite.at: Add it.
3376(NEED_UNB64): New macro.
3377(UNB64): Likewise.
3378* tests/t_unidiff.at: Use them.
3379* tests/t_unidiff2.at: Likewise.
3380
33812004-11-19 Nathaniel Smith <njs@codesourcery.com>
3382
3383* tests/t_initfork.at: Remove file; redundant with
3384t_merge2_add.at.
3385* testsuite.at: Don't call it.
3386
33872004-11-18 Derek Scherger <derek@echologic.com>
3388
3389* commands.cc (list tags): new command.
3390* monotone.1: update.
3391* monotone.texi: update.
3392* std_hooks.lua: remove unused get_problem_solution hook.
3393* test/t_tags.at: new test.
3394* testsuite.at: call it.
3395
33962004-11-18 Nathaniel Smith <njs@codesourcery.com>
3397
3398* monotone.texi (Committing Work): Remove mistakenly added
3399redundant command line argument.
3400
34012004-11-17 Joel Rosdahl <joel@rosdahl.net>
3402
3403* commands.cc (diff): Don't print hashes around diff output if
3404there is no diff to print.
3405
3406Fix bugs #8714 "monotone update working copy to previous version"
3407and #9069 "update with multiple candidates":
3408* commands.cc (update): Let the update command take an optional
3409revision target parameter. Without an explicit revision target,
3410the current branch head is used just like before. Added logic for
3411updating to an older revision or another revision reachable via a
3412common ancestor.
3413* tests/t_update_to_revision.at: Add regression tests for new
3414update logic.
3415* testsuite.at: Add new test.
3416* monotone.texi: Document new update argument.
3417
34182004-11-17 Nathaniel Smith <njs@codesourcery.com>
3419
3420* netsync.cc (request_fwd_revisions): Rename 'first_attached_edge'
3421to 'an_attached_edge', because it does not represent the first
3422attached edge. Likewise for 'first_attached_cset'.
3423(analyze_attachment): Remove early exit from loop; we want to
3424analyze the entire graph, not just some linear subgraphs.
3425
3426* revision.cc (ensure_parents_loaded): Filter out the null
3427revision when calculating parents.
3428* change_set.hh (null_id): Define for 'revision_id's.
3429
3430* tests/t_merge2_add.at: New test.
3431* tests/t_merge2_data.at: New test.
3432* tests/t_related_merge2_data.at: New test.
3433* tests/t_merge_add.at: New test.
3434* tests/t_netsync_pubkey.at: New test.
3435* tests/t_netsync_repeated.at: New test.
3436* tests/t_netsync_unrelated.at: New test.
3437
3438
3439* testsuite.at: Add new tests.
3440(NETSYNC_SETUP): New macro.
3441(MONOTONE2): New macro.
3442(RUN_NETSYNC): New macro.
3443(ADD_FILE): New macro.
3444(SET_FILE): New macro.
3445(COMMIT): New macro.
3446* tests/t_netsync.at: Use them.
3447
3448* tests/t_singlenetsync.at: Add 'netsync' keyword'. Rename to...
3449* tests/t_netsync_single.at: ...this.
3450
3451* tests/t_heads_discontinuous_branch.at: XFAIL it.
3452
34532004-11-17 Nathaniel Smith <njs@codesourcery.com>
3454
3455* netsync.cc: Remove hard tabs.
3456
34572004-11-17 Nathaniel Smith <njs@codesourcery.com>
3458
3459* revision.cc: Remove hard tabs.
3460* change_set.hh: Likewise.
3461
34622004-11-16 Nathaniel Smith <njs@codesourcery.com>
3463
3464* tests/t_heads.at: Replace last tricky case with a less tricky case.
3465* tests/t_heads_discontinuous_branch.at: New test for the really
3466tricky case.
3467* testsuite.at: Run it.
3468
34692004-11-16 Nathaniel Smith <njs@codesourcery.com>
3470
3471* views.sql (trusted_parents_in_branch): Remove.
3472(trusted_children_in_branch): Remove.
3473(trusted_branch_members): New view.
3474(trusted_branch_parents): New view.
3475(branch_heads): Use the new views, not the removed ones.
3476
3477* database.cc (get_heads): Column name in 'branch_heads'
3478unavoidably changed from 'id' to 'parent'; adjust SELECT statement
3479to use new name.
3480
34812004-11-16 Nathaniel Smith <njs@codesourcery.com>
3482
3483* database.cc: Remove hard tabs.
3484
34852004-11-16 Nathaniel Smith <njs@codesourcery.com>
3486
3487* commands.cc (dump_diffs): Fetch delta destination, not source,
3488on new files.
3489
34902004-11-15 Joel Rosdahl <joel@rosdahl.net>
3491
3492* tests/t_diff_added_file.at: Added testcase exposing a bug in
3493"monotone diff x y" where x is an ancestor of y and y adds a new
3494file.
3495* testsuite.at: Add new test.
3496
34972004-11-14 Joel Rosdahl <joel@rosdahl.net>
3498
3499Fix bug #9092 "add command to change passphrase":
3500* commands.cc (chkeypass): New command.
3501* keys.cc (get_passphrase): Added parameters for prompt beginning and
3502disabling hook lookup and passphrase caching.
3503* keys.hh, keys.cc (change_key_passphrase): New function.
3504* database.hh, database.cc (delete_private_key): New function.
3505* monotone.texi (Key and Cert): Document command.
3506* tests/t_chkeypass.at: Testcase for the command.
3507* testsuite.at: Added new testcase.
3508
35092004-11-14 Matt Johnston <matt@ucc.asn.au>
3510
3511* tests/t_initfork.at: New test for merging two ancestor-less heads.
3512
35132004-11-13 Nathaniel Smith <njs@codesourcery.com>
3514
3515* tests/t_heads.at: New test.
3516* testsuite.at: Add it.
3517
35182004-11-13 Nathaniel Smith <njs@codesourcery.com>
3519
3520* monotone.texi: Fix various typos.
3521(Committing Work): Add missing command line argument.
3522(Branch Names): New section.
3523Add me to the copyright block.
3524
35252004-11-12 Joel Rosdahl <joel@rosdahl.net>
3526
3527* monotone.texi: Fix documentation of the approve and disapprove
3528commands. Fix jp.co.juicebot.jb7 branch name in examples. Other
3529minor fixes.
3530
35312004-11-11 Joel Rosdahl <joel@rosdahl.net>
3532
3533* monotone.texi: Fix typos.
3534
35352004-11-08 graydon hoare <graydon@pobox.com>
3536
3537* monotone.texi: Some minor cleanups.
3538* netsync.cc: Fix a formatter.
3539
35402004-11-07 graydon hoare <graydon@pobox.com>
3541
3542* figures/*.txt: Drop.
3543* monotone.texi: Pull ASCII figures back in conditionally.
3544* NEWS, AUTHORS, monotone.spec: Update for 0.15.
3545* monotone.1: Update.
3546
35472004-11-06 graydon hoare <graydon@pobox.com>
3548
3549* README.changesets: New file.
3550* config.guess, config.sub: Remove.
3551* Makefile.am: Improve document-building brains.
3552* cert.cc, netsync.cc: Remove include.
3553* configure.ac: Bump version number.
3554* merkle_tree.{cc,hh}: Use unsigned char in dynamic_bitset.
3555* po/POTFILES.in: Update to remove os_specific.hh.
3556* po/monotone.pot: Regenerate.
3557
35582004-11-05 graydon hoare <graydon@pobox.com>
3559
3560* constants.cc: Up timeout, connection limit.
3561* monotone.texi: Various cleanups.
3562
35632004-11-05 Ulrich Drepper <drepper@redhat.com>
3564
3565* configure.ac: Reduce dependencies.
3566* lua/lua.h: Include config.h.
3567* mkstemp.{cc,hh}: Use system variant when found.
3568* netxx/resolve_getaddrinfo.cxx: Check for AI_ADDRCONFIG
3569definition.
3570* po/POTFILES.in: Update to mention changes.
3571* Makefile.am (EXTRA_DIST): Include spec file.
3572* commands.cc (diff): No output if empty diff.
3573
35742004-10-31 graydon hoare <graydon@pobox.com>
3575
3576* commands.cc (diff): Use guess_binary.
3577Fix up some messages to fit on single lines.
3578* Makefile.am: Make monotone.pdf depend on figures.
3579* change_set.cc: Make inversion drop "delete deltas".
3580* texinfo.css: Make images align nicely.
3581* netsync.cc: Fix up some messages to be clearer.
3582
35832004-10-30 graydon hoare <graydon@pobox.com>
3584
3585* figures/*: New figures.
3586* monotone.texi: Rewrite much of the tutorial.
3587
35882004-10-30 Nathaniel Smith <njs@codesourcery.com>
3589
3590* netsync.cc (process_hello_cmd): Make clear that when the
3591server's key is unknown, we abort the connection.
3592
35932004-10-29 Nathaniel Smith <njs@codesourcery.com>
3594
3595* sanity.cc (dump_buffer): Wrap bare string in call to string(),
3596to disambiguate conversions (required by Boost 1.30).
3597
35982004-10-26 graydon hoare <graydon@pobox.com>
3599
3600* tests/t_update_missing.at: New test from Bruce Stephens
3601* testsuite.at: Call it.
3602* change_set.cc: Fix the error exposed by it.
3603
36042004-10-26 graydon hoare <graydon@pobox.com>
3605
3606* work.{cc,hh}: Comply with Derek's new tests.
3607* commands.cc: Likewise.
3608
36092004-10-28 Derek Scherger <derek@echologic.com>
3610
3611* tests/t_rename.at: add test for renaming a file after it has
3612been moved rather than before
3613* tests/t_revert.at: add test for reverting a missing file
3614
36152004-10-28 Derek Scherger <derek@echologic.com>
3616
3617* tests/t_drop_missing.at: New test.
3618* testsuite.at: Call it.
3619
36202004-10-28 Derek Scherger <derek@echologic.com>
3621
3622* tests/t_add.at: New test.
3623* testsuite.at: Call it.
3624
36252004-10-26 graydon hoare <graydon@pobox.com>
3626
3627* basic_io.{cc,hh}: Rework to use indented stanzas.
3628* change_set.cc, revision.cc: Likewise.
3629* change_set.cc: Fix formatter bug.
3630* commands.cc: Sanity check file ID on delta commit.
3631* work.cc: Chatter a bit more on add/drop.
3632
36332004-10-17 graydon hoare <graydon@pobox.com>
3634
3635* merkle_tree.cc: Fix bad logging.
3636* netsync.cc: Fix transmission bugs.
3637* work.cc: Add some progress messages back in.
3638* monotone.texi: Change contents of MT/work in example.
3639
36402004-10-17 graydon hoare <graydon@pobox.com>
3641
3642* commands.cc (log): Keep a seen list, mask frontier by it.
3643* monotone.texi: Updates to cover revision terminology.
3644
3645Also various further merges from trunk, see below.
3646
36472004-10-17 Derek Scherger <derek@echologic.com>
3648
3649* lua.{cc,hh} (hook_ignore_branch): new hook
3650* commands.cc (ls_branches): call it
3651* monotone.texi (Hook Reference): describe it
3652
36532004-10-17 Richard Levitte <richard@levitte.org>
3654
3655fix bug 8715 and more
3656* diff_patch.cc (struct unidiff_hunk_writer,
3657unidiff_hunk_writer::flush_hunk): the skew is not just the
3658size difference between added and deleted lines in the current
3659hunk, it's the size difference between /all/ added and deleted
3660lines so far. Therefore, the skew needs to be a member of the
3661struct rather than being something calculated for each hunk.
3662Furthermore, we need to add trailing context even if the change
3663only consisted of one line.
3664
36652004-10-17 Richard Levitte <richard@levitte.org>
3666
3667* monotone.texi (Working Copy): Change the description of
3668'monotone revert' to explain what happens when there are
3669arguments.
3670
36712004-10-17 Richard Levitte <richard@levitte.org>
3672
3673* monotone.texi (OPTIONS): Add a description of --ticker.
3674
3675* ui.cc, ui.hh: Rethink the writing conditions as the ticks being
3676"dirty" when they have changed since the last print. That way,
3677it's very easy to see when they need being printed. This fixes a
3678small bug where, in some cases, the exact same tick output is
3679produced twice, once before a separate message, and once after,
3680when a ticker is actually being removed.
3681(tick_write_dot::write_ticks): Add a line that describes the
3682ticks, including the amount of each tick per short name.
3683
36842004-10-17 Richard Levitte <richard@levitte.org>
3685
3686fix bug 8733
3687* ui.cc, ui.hh: Define a separate tick writer struct, and two
3688subclasses, one that write counters, and one that writes progress
3689characters. As a consequence, move the count to the ticker class
3690itself, and have the user interface contain a map of pointers to
3691tickers instead of a map of counters, so data is easier to expand
3692and access in a consistent manner. Finally, correct a few errors
3693in the checks for when ticks should be written, and make sure the
3694final value gets written when the tickers are removed.
3695
3696* cert.cc (write_ancestry_paths):
3697* database.cc (rehash):
3698* netsync.cc (call_server, rebuild_merkle_trees):
3699* rcs_import.cc (import_cvs_repo, cvs_history): Adapt to the new
3700tickers.
3701
3702* monotone.cc: Add the option '--ticker' which takes the values
3703"dot" or "count" to express which type of tick writer to use. As
3704a result, set the tick writer to be the progress dot kind or the
3705counting type.
3706
37072004-10-15 graydon hoare <graydon@pobox.com>
3708
3709* std_hooks.lua (get_revision_cert_trust): Add.
3710
37112004-10-14 graydon hoare <graydon@pobox.com>
3712
3713* main.cc (UNIX_STYLE_SIGNAL_HANDLING): Enable on OSX.
3714* cryptopp/*: Upgrade to 5.2.1
3715* Makefile.am: Adjust for a couple new files.
3716
37172004-10-13 graydon hoare <graydon@pobox.com>
3718
3719* change_set.cc (__STDC_CONSTANT_MACROS): Further hammering.
3720* commands.cc (changesetify): New subcommand to db.
3721* database.{cc,hh} (sql): Install views.
3722(install_views): New function.
3723(get_manifest_certs): Restore old variant.
3724* numeric_vocab.hh: Use stdint.h.
3725* revision.{cc,hh} (analyze_manifest_changes)
3726(construct_revisions)
3727(build_changesets): New functions.
3728* schema.sql: Remove views stuff.
3729* views.sql: Put views here.
3730* schema_migration.cc: Add migration code for revisions.
3731* Makefile.am: Mention views.sql.
3732
37332004-10-12 graydon hoare <graydon@pobox.com>
3734
3735* unix/read_password.cc: Don't force echo on.
3736
37372004-10-10 graydon hoare <graydon@pobox.com>
3738
3739merge a batch of changes from trunk, see below.
3740* monotone.spec: Bump to 0.14.
3741
37422004-10-10 graydon hoare <graydon@pobox.com>
3743
3744fix bug 9884
3745* tests/t_singlenetsync.at: sleep 5
3746* tests/t_netsync.at: sleep 5
3747
37482004-10-10 graydon hoare <graydon@pobox.com>
3749
3750* AUTHORS: Mention Richard Levitte.
3751* Makefile.am: Remove nonce stuff.
3752* NEWS: Describe changes from last release.
3753* cert.cc (cert_manifest_testresult): Teach about other ways
3754of writing a boolean value.
3755* commands.cc (commit): Don't commit when no change.
3756(debug): Rename to "db execute".
3757(serve): Require passphrase on startup.
3758(bump): Remove command.
3759(ls keys): Handle no keys.
3760* configure.ac: Bump version number.
3761* keys.cc (get_passphrase): Reject empty passphrase nicely,
3762from user and from hook.
3763* lua.{cc,hh} (hook_get_sorter): Dead code, remove.
3764* main.cc (main_with_many_flavours_of_exception): s/char/int/.
3765* monotone.cc (OPT_DUMP): New option.
3766(OPT_VERBOSE): Rename as OPT_DEBUG.
3767* monotone.{texi,1}: Document changes, s/rdiff/xdelta/.
3768* nonce.{cc,hh}: Drop.
3769* sanity.hh (sanity::filename): New field.
3770* sanity.cc (dump_buffer): Dump to file or be silent.
3771* testsuite.at (persist_phrase_ok): Define as true.
3772* tests/t_null.at: Adjust for new option names.
3773* unit_tests.cc: Set debug, not verbose.
3774
37752004-10-10 graydon hoare <graydon@pobox.com>
3776
3777* tests/t_remerge.at: New test.
3778* testsuite.at: Call it.
3779
37802004-10-10 graydon hoare <graydon@pobox.com>
3781
3782* cryptopp/algebra.cpp:
3783* cryptopp/asn.h:
3784* cryptopp/hmac.h:
3785* cryptopp/iterhash.h:
3786* cryptopp/mdc.h:
3787* cryptopp/modes.h:
3788* cryptopp/osrng.h:
3789* cryptopp/pubkey.h:
3790* cryptopp/seckey.h:
3791* cryptopp/simple.h:
3792* cryptopp/smartptr.h:
3793* cryptopp/strciphr.cpp:
3794* cryptopp/strciphr.h:
3795* lcs.cc:
3796* lua.cc: Fixes for g++ 3.4 from Michael Scherer.
3797* AUTHORS: Mention Michael.
3798
37992004-10-10 graydon hoare <graydon@pobox.com>
3800
3801* tests/t_movedel.at: New test.
3802* testsuite.at: Call it.
3803
38042004-10-10 graydon hoare <graydon@pobox.com>
3805
3806* tests/t_movepatch.at: New test.
3807* testsuite.at: Call it.
3808
38092004-10-10 graydon hoare <graydon@pobox.com>
3810
3811* change_set.cc:
3812* file_io.{cc,hh}: Bug Fixes.
3813
38142004-10-10 graydon hoare <graydon@pobox.com>
3815
3816* cert.{cc,hh} (cert_revision_manifest): Bug fixes.
3817* commands.cc (approve)
3818(disapprove)
3819(testresult): Teach about revisions.
3820* tests/t_disapprove.at:
3821* tests/t_i18n_file.at:
3822* tests/t_ls_missing.at:
3823* tests/t_testresult.at: Bug fixes.
3824
38252004-10-09 graydon hoare <graydon@pobox.com>
3826
3827* netsync.cc:
3828* packet.cc:
3829* tests/t_i18n_file.at:
3830* tests/t_netsync.at:
3831* tests/t_single_char_filenames.at:
3832* tests/t_singlenetsync.at: Bug fixes.
3833
38342004-10-04 graydon hoare <graydon@pobox.com>
3835
3836* Makefile.am: Re-enable rcs stuff.
3837* cert.{cc,hh}: Bug fixes.
3838* change_set.{cc,hh} (apply_change_set)
3839(apply_change_set_inverse): New helper functions.
3840* commands.cc (log)
3841(rcs_import)
3842(cvs_import): Teach about revisions.
3843* database.cc (get_version): Block reconstruction loops.
3844* diff_patch.cc:
3845* lua.cc:
3846* netsync.cc: Remove references to obsolete includes.
3847* rcs_file.cc: Pick up bug fix from trunk.
3848* rcs_import.cc: Teach about revisions.
3849
38502004-10-03 graydon hoare <graydon@pobox.com>
3851
3852* change_set.{cc,hh}: Lots of little bug fixes.
3853* commands.cc: Likewise.
3854* database.cc: Comment some chatter.
3855* file_io.{cc,hh}: Bug fixes, remove unlink / hardlink stuff.
3856* netcmd.cc: Bug fixes.
3857* netsync.cc: Likewise.
3858* tests/t_*.at: Teach about revisions.
3859* testsuite.at: Likewise.
3860* work.cc: Bug fixes.
3861
38622004-09-30 graydon hoare <graydon@pobox.com>
3863
3864* app_state.cc: Inform db of app.
3865* change_set.cc: Bug fixes.
3866* commands.cc: Use delete_file not unlink.
3867* database.{cc,hh}: Bug fixes in trust function machinery.
3868* revisions.cc: Skip consideration of empty parents.
3869* file_io.{cc,hh}: Remove unlink function.
3870* schema.sql: Pass pubkey data into trust call.
3871
38722004-09-29 graydon hoare <graydon@pobox.com>
3873
3874* change_set.cc: Various bug fixes, merge unit tests.
3875
38762004-09-26 graydon hoare <graydon@pobox.com>
3877
3878* predicament.{cc,hh}: Remove.
3879* Makefile.am: Update.
3880* change_set.{cc,hh}: Compilation fixes.
3881* commands.cc: Likewise.
3882* file_io.{cc,hh}: Likewise, and implement link/unlink.
3883* lua.{cc,hh}: Implement conflict resolver hooks.
3884
38852004-09-25 graydon hoare <graydon@pobox.com>
3886
3887* change_set.{cc,hh}: Rewrite entirely.
3888* work.cc: Adjust to compensate.
3889* commands.cc: Likewise.
3890* numeric_vocab.hh: Ask for C99 constant ctor macros.
3891
38922004-09-24 Derek Scherger <derek@echologic.com>
3893
3894* app_state.{cc,hh} (initialize,prefix,in_restriction): rename
3895restriction vars; require explicit subdir restriction with ".";
3896remove restriction if any path evaluates to working copy root
3897* commands.cc (update): disallow restricted updates
3898(diff): use --manifest options for initialization
3899* tests/t_restrictions.at: remove restricted update test
3900* tests/t_subdirs.at: added (missed previously)
3901* vocab.cc (verify): allow "." elements in local_path
3902(test_file_path_verification): test for "." in paths
3903
39042004-09-20 Derek Scherger <derek@echologic.com>
3905
3906* app_state.{cc,hh}: add message and manifest options; add subdir
3907restriction; use set instead of vector for path restrictions
3908(prefix): new method
3909(add_restriction): change signature for set of path restrictions
3910(in_restriction): renamed from is_restricted; adjust path matching
3911(set_message): new method
3912(add_manifest): new method
3913(initialize): remove code to adjust restrictions from old options
3914* commands.cc
3915(restrict_patch_set, struct unknown_itemizer): rename
3916app.is_restricted to app.in_restriction
3917(add,drop,rename,revert): prefix file args with current subdir
3918(update,status,ls_unknown,ls_missing): build restriction from args
3919(commit): build restriction from args; use --message option
3920(diff): build restriction from args; use --manifest options
3921* file_io.cc (find_working_copy): logging tweaks
3922* monotone.cc: remove --include/--exclude options; add --manifest
3923and --message options
3924* tests/t_attributes.at: add commit --message option
3925* tests/t_cross.at: commit --message
3926* tests/t_cwork.at: commit --message
3927* tests/t_disapprove.at: commit --message
3928* tests/t_drop.at: commit --message
3929* tests/t_erename.at: commit --message; diff --manifest
3930* tests/t_fork.at: commit --message
3931* tests/t_genkey.at: commit --message
3932* tests/t_i18n_file.at: commit --message
3933* tests/t_import.at: commit --message
3934* tests/t_ls_missing.at: commit --message
3935* tests/t_merge.at: commit --message
3936* tests/t_movedel.at: commit --message
3937* tests/t_movepatch.at: commit --message
3938* tests/t_netsync.at: commit --message
3939* tests/t_persist_phrase.at: commit --message
3940* tests/t_rename.at: commit --message
3941* tests/t_renamed.at: commit --message
3942* tests/t_restrictions.at: remove --include/--exlclude options
3943* tests/t_revert.at: commit --message
3944* tests/t_scan.at: commit --message
3945* tests/t_single_char_filenames.at: commit --message
3946* tests/t_testresult.at: commit --message
3947* tests/t_unidiff.at: commit --message
3948* tests/t_unidiff2.at: commit --message
3949* tests/t_update.at: commit --message
3950* tests/t_versions.at: commit --message
3951
39522004-09-19 graydon hoare <graydon@pobox.com>
3953
3954* change_set.cc: More bug fixes.
3955* basic_io.cc: Improve error reporting.
3956* commands.cc (complete): Teach about revisions.
3957* database.{cc,hh}: Add complete variant for revisions.
3958
39592004-09-19 graydon hoare <graydon@pobox.com>
3960
3961* change_set.cc: Add a unit test, fix some bugs.
3962
39632004-09-18 graydon hoare <graydon@pobox.com>
3964
3965* change_set.{cc,hh} (subtract_change_sets): New function.
3966(build_pure_addition_change_set): New function.
3967* commands.cc (try_one_merge): Teach about revisions
3968(merge): Likewise.
3969(propagate): Likewise.
3970(update): Change from changeset inversion to negation.
3971* database.{cc,hh} (get_manifest): New function.
3972* cert.cc: Use it.
3973
39742004-09-13 graydon hoare <graydon@pobox.com>
3975
3976* change_set.cc: Bug fixes.
3977* commands.cc: Likewise.
3978
39792004-09-13 graydon hoare <graydon@pobox.com>
3980
3981* change_set.{cc,hh}: Implement delta renaming and merging.
3982* commands.cc
3983(update): Teach about revisions.
3984(agraph): Likewise.
3985* diff_patch.{cc,hh}: Tidy up interface a bit.
3986* database.{cc,hh} (get_revision_ancestry): New helper.
3987* file_io.{cc,hh}
3988(move_dir): New function.
3989(delete_dir_recursive): New function.
3990
39912004-09-10 graydon hoare <graydon@pobox.com>
3992
3993* basic_io.{cc,hh}: Move to more "normal" looking
3994quoted output.
3995* change_set.{cc,hh}: Extend, bugfix.
3996* commands.cc (diff): Teach about revisions.
3997* revision.{cc,hh}: Extend, bugfix.
3998
39992004-09-07 Derek Scherger <derek@echologic.com>
4000
4001subdirectory restrictions
4002
4003* file_io.{hh,cc} (find_working_copy): new function
4004(absolutify) use fs::current_path
4005* work.cc (add_to_options_map): use options.insert to preserve
4006previous settings
4007* work.hh: add note about MT/options file to header comment
4008* lua.{hh,cc} (load_rcfile): renamed from add_rcfile
4009* app_state.{cc,hh} (constructor): remove read of MT/options
4010(initialize): new methods to find/create working copy
4011(set_stdhooks,set_rcfiles,add_rcfile,load_rcfiles,read_options):
4012new methods
4013(set_database,set_branch,set_signing_key): update for new options
4014reading
4015* monotone.cc: update help for --norc option
4016(cpp_main): move loading of lua hooks to app_state after book
4017keeping dir is found
4018* commands.cc: all commands call app initialize to relocate to
4019working copy directory
4020(bookdir_exists,ensure_bookdir) remove
4021(setup) new command to create working copy
4022* tests/t_subdirs.at: new test
4023* testsuite.at: call new setup command to initialize working copy;
4024call new test
4025(PROBE_NODE): adjust for new checkout requirement that MT dir does
4026not exist
4027* tests/t_attributes.at: ditto
4028* tests/t_cwork.at: ditto
4029* tests/t_single_char_filenames.at: ditto
4030* tests/t_versions.at: ditto
4031
40322004-09-06 graydon hoare <graydon@pobox.com>
4033
4034* Makefile.am: Revise,
4035* cert.{cc,hh}: Minor bug fixes.
4036* change_set.{cc,hh}
4037(apply_path_rearrangement): New variant.
4038(read_path_rearrangement): New function.
4039(write_path_rearrangement): New function.
4040* commands.cc: Partially teach about revisions.
4041* database.{cc,hh}: Bug fixes.
4042* revision.cc: Print new manifest as hex.
4043* schema.sql: Fix typos.
4044* update.{cc,hh}: Teach about revisions.
4045
40462004-09-06 graydon hoare <graydon@pobox.com>
4047
4048* Makefile.am (unit_tests): Revise.
4049* change_set.{cc,hh}: Move accessors to header.
4050* constants.cc (netcmd_current_protocol_version): Bump.
4051(netcmd_minimum_bytes_to_bother_with_gzip): Expand to 0xfff.
4052* database.{cc,hh}: Teach about reverse deltas, bug fixes.
4053* diff_patch.{cc,hh}: Remove dead code.
4054* merkle_tree.{cc,hh}: Teach about revisions.
4055* netsync.cc: Teach about revisions, reverse deltas.
4056* packet.{cc,hh}: Likewise.
4057* unit_tests.{cc,hh}: Reactivate tests.
4058
40592004-09-02 Derek Scherger <derek@echologic.com>
4060
4061* tests/t_restrictions.at: rework and attempt to clean things up a
4062bit; add test for bug in restrict_patch_set
4063* commands.cc (restrict_patch_set): fix bug in removal of
4064restricted adds/dels/moves/deltas
4065
40662004-08-28 graydon hoare <graydon@pobox.com>
4067
4068* Makefile.am (unit_tests): Split out working parts.
4069* basic_io.{cc,hh}: Minor fixes.
4070* cert.{cc,hh}: Fixes, remove major algorithms.
4071* revision.{cc,hh}: Rewrite algorithms from cert.cc.
4072* change_set.{cc,hh}: Extensive surgery, unit tests.
4073* database.{cc,hh}: Minor fixes.
4074* file_io.{cc,hh}: Likewise.
4075* lua.cc: Likewise.
4076* packet.{cc,hh}: Teach about revisions.
4077* schema.sql: Drop some optimistic tables.
4078* unit_tests.{cc,hh}: Add revision, change_set tests.
4079* vocab.cc: Instantiate revision<cert>.
4080* work.{cc,hh}: Rewrite in terms of path_rearrangement.
4081
40822004-08-17 graydon hoare <graydon@pobox.com>
4083
4084* database.cc: Simplified.
4085* schema.sql: Simplified.
4086* transforms.cc: Fixed bug.
4087* revision.{hh,cc}: Stripped out tid_source.
4088* change_set.{cc,hh}: Oops, never committed!
4089
40902004-08-16 graydon hoare <graydon@pobox.com>
4091
4092* change_set.{hh,cc}: Simplified, finished i/o.
4093* revision.{hh,cc}: Fix to match, redo i/o.
4094* basic_io.cc (basic_io::parser::key): Print trailing colon.
4095* vocab.hh: Whitespace tweak.
4096
40972004-08-09 graydon hoare <graydon@pobox.com>
4098
4099* change_set.{hh,cc}: New files.
4100* basic_io.{hh,cc}: New files.
4101* predicament.{hh,cc}: New files.
4102* revision.{hh,cc}: Break completely, need to fix.
4103* diff_patch.{hh,cc}: Minor touchups.
4104* lua.{hh,cc}, std_hooks.lua: Model predicaments.
4105* Makefile.am: Update.
4106
41072004-07-10 graydon hoare <graydon@pobox.com>
4108
4109* lcs.{hh,cc}: Move lcs.hh body into lcs.cc.
4110* diff_patch.cc: Modify to compensate.
4111* revision.{hh,cc}: New files.
4112* Makefile.am: Update
4113* patch_set.{hh,cc}: Remove.
4114* {cert,database,lua,packets}.{hh,cc}, commands.cc:
4115Modify partially (incomplete) to use revisions.
4116* manifest.{hh,cc}: Cleanup, remove dead code.
4117* schema.sql: Declare new revision tables.
4118* schema_migration.cc: Incomplete migrator.
4119* {transforms.{hh,cc}, vocab{,_terms}.hh:
4120Infrastructure for revisions.
4121
41222004-07-20 Derek Scherger <derek@echologic.com>
4123
4124* tests/t_restrictions.at: new test
4125* testsuite.at: run it
4126* app_state.{cc,hh} (add_restriction, is_restricted): new functions
4127* monotone.cc (--include,--exclude): new options
4128* commands.cc (restrict_patch_set): new function. called by
4129commit, update, status, diff commands
4130
41312004-07-05 graydon hoare <graydon@pobox.com>
4132
4133* cert.cc (operator<): Fix wrong ordering of
4134fields.
4135
41362004-06-07 graydon hoare <graydon@pobox.com>
4137
4138* cryptopp/algebra.cpp:
4139* cryptopp/asn.h:
4140* cryptopp/hmac.h:
4141* cryptopp/iterhash.h:
4142* cryptopp/mdc.h:
4143* cryptopp/modes.h:
4144* cryptopp/osrng.h:
4145* cryptopp/pubkey.h:
4146* cryptopp/seckey.h:
4147* cryptopp/simple.h:
4148* cryptopp/smartptr.h:
4149* cryptopp/strciphr.cpp:
4150* cryptopp/strciphr.h:
4151* lcs.hh:
4152* lua.cc: Fixes for g++ 3.4 from Michael Scherer.
4153* AUTHORS: Mention Michael.
4154
41552004-05-28 graydon hoare <graydon@pobox.com>
4156
4157* tests/t_movedel.at: New test.
4158* testsuite.at: Call it.
4159* diff_patch.cc (adjust_deletes_under_renames): New function.
4160(merge3): Use it.
4161
41622004-05-27 graydon hoare <graydon@pobox.com>
4163
4164* tests/t_movepatch.at: New test.
4165* testsuite.at: Call it.
4166* diff_patch.cc (adjust_deltas_under_renames): New function.
4167(merge3): Use it.
4168
41692004-05-20 graydon hoare <graydon@pobox.com>
4170
4171* NEWS: Note 0.13 release.
4172* configure.ac: Bump version number.
4173* monotone.spec: Likewise.
4174
41752004-05-19 graydon hoare <graydon@pobox.com>
4176
4177* file_io.cc (tilde_expand): Fix fs::path use.
4178
41792004-05-18 graydon hoare <graydon@pobox.com>
4180
4181* diff_patch.cc (apply_directory_moves): Fix fs::path use.
4182* file_io.cc (write_data_impl): Likewise.
4183* packet.cc: Use explicit true/false maps in caches.
4184* sanity.cc (dump_buffer): Write to clog (buffered).
4185
41862004-05-16 graydon hoare <graydon@pobox.com>
4187
4188* keys.cc (get_passphrase): Reimplement.
4189* unix/read_password.c: Remove.
4190* {unix,win32}/read_password.cc: Add.
4191* constants.{hh,cc} (maxpasswd): New constant.
4192* Makefile.am: Teach about platform specific stuff.
4193
41942004-05-16 graydon hoare <graydon@pobox.com>
4195
4196* diff_patch.cc (merge2): Don't discard files on one side.
4197* std_hooks.lua (merge2_xxdiff_cmd): Specify merge filename.
4198
41992004-05-14 Joel Rosdahl <joel@rosdahl.net>
4200
4201* std_hooks.lua (ignore_file): Quote dots in .svn patterns.
4202* monotone.texi: Updated ignore_file hook example.
4203
42042004-05-13 Nathaniel Smith <njs@codesourcery.com>
4205
4206* commands.cc: Include boost/filesystem/path.hpp,
4207boost/filesystem/convenience.hpp.
4208(checkout): Make checkout directory an fs::path, not a local_path.
4209
42102004-05-13 Nathaniel Smith <njs@codesourcery.com>
4211
4212* testsuite.at (test_hooks.lua): Add a 'test_attr' attribute
4213hook. Add tests t_attributes and t_single_char_filenames.
4214* tests/t_attributes.at: New test.
4215* tests/t_single_char_filenames.at: New test.
4216* manifest.cc (read_manifest_map): Replace ".+" with ".*" to
4217support single-character filenames.
4218* work.cc (read_work_set): Likewise.
4219(read_attr_map): Likewise.
4220
42212004-05-13 Nathaniel Smith <njs@codesourcery.com>
4222
4223* monotone.texi (Hook Reference): Update documented default
4224definitions of 'merge2' and 'merge3'.
4225
42262004-05-12 graydon hoare <graydon@pobox.com>
4227
4228* AUTHORS: Rename Netxx back to netxx. Really, look in
4229the manifest; it's been renamed!
4230* configure.ac: Remove prg_exec_monitor checks.
4231
42322004-05-12 Nathaniel Smith <njs@pobox.com>
4233
4234* AUTHORS: Remove discussion of adns, since we no longer
4235distribute it. Fix capitalization of "Netxx".
4236
42372004-05-12 Nathaniel Smith <njs@pobox.com>
4238
4239* std_hooks.lua (merge2): Support xemacs. Add error message
4240if no merge tool is found.
4241(merge3): Likewise. Also add (disabled) hook to use CVS
4242'merge' command, as a demonstration of how to.
4243
42442004-05-12 graydon hoare <graydon@pobox.com>
4245
4246* std_hooks.lua (get_author): Remove standard definition.
4247* monotone.texi: Document change.
4248
42492004-05-12 graydon hoare <graydon@pobox.com>
4250
4251* cert.cc (cert_manifest_author_default): Use default signing key
4252name for default author, if lua hook fails.
4253
42542004-05-12 Joel Rosdahl <joel@rosdahl.net>
4255
4256* file_io.cc (walk_tree): Removed extraneous newline in error
4257message.
4258
4259* std_hooks.lua (edit_comment): Added missing newline in log
4260message template.
4261
4262* tests/t_ls_missing.at: New test case.
4263* testsuite.at: Added t_ls_missing.at.
4264
42652004-05-10 graydon hoare <graydon@pobox.com>
4266
4267* nonce.cc, nonce.hh: New files.
4268* Makefile.am: Note new files.
4269* lua.cc, lua.hh (hook_get_nonce): New hook.
4270* commands.cc (bump): New command.
4271* commands.cc: Remove "(file|manifest)" args most places.
4272* tests/t_disapprove.at
4273* tests/t_genkey.at
4274* tests/t_singlenetsync.at
4275* tests/t_netsync.at
4276* tests/t_persist_phrase.at: Adjust to compensate.
4277* monotone.texi, monotone.1: Adjust to compensate.
4278* work.cc, work.hh: Constify some arguments.
4279
42802004-05-09 graydon hoare <graydon@pobox.com>
4281
4282* diff_patch.cc: Remove recording of file merge ancestry.
4283
42842004-05-09 graydon hoare <graydon@pobox.com>
4285
4286* commands.cc (ls_missing): Modify to account for work.
4287
42882004-05-09 graydon hoare <graydon@pobox.com>
4289
4290* commands.cc (list missing): New command.
4291* monotone.texi, monotone.1: Update to document.
4292
42932004-05-08 graydon hoare <graydon@pobox.com>
4294
4295* main.cc: New file encompassing prg_exec_monitor.
4296* mkstemp.cc, mkstemp.hh: New portable implementation.
4297* lua.cc: Use mkstemp from bundled version.
4298* lua/liolib.c: Remove old mkstemp definition.
4299* monotone.cc (cpp_main): Remove prg_exec env setting.
4300* sanity.cc (sanity::dump_buffer): Dump logbuf to stderr, not stdout.
4301* std_hooks.lua (temp_file): Use mkstemp not io.mkstemp.
4302* Makefile.am (MOST_SOURCES): Add new files.
4303
43042004-05-03 Joel Rosdahl <joel@rosdahl.net>
4305
4306* monotone.texi: Removed extraneous @ftable directive.
4307
43082004-05-02 graydon hoare <graydon@pobox.com>
4309
4310* monotone.texi: Add stuff on selectors, new hooks.
4311* AUTHORS: Typo fix.
4312* configure.ac: Bump version number.
4313
4314Release point (v 0.12).
4315
43162004-05-02 Joel Rosdahl <joel@rosdahl.net>
4317
4318Made it possible to rename a rename target and to undo a rename.
4319I.e.: Given a rename set A -> B, "monotone rename B C" gives the
4320rename set A -> C and "monotone rename B A" gives the empty rename
4321set.
4322* work.cc (visit_file): Implement new behavior.
4323* tests/t_rename.at: Added test cases for new behavior.
4324* monotone.texi: Note that a rename can be undone.
4325
4326Fix bug #8458:
4327* file_io.hh, file_io.cc (walk_tree): Added require_existing_path
4328parameter.
4329* work.cc (build_deletion): Pass new parameter to walk_tree.
4330* work.cc (build_rename): Ditto.
4331
4332* manifest.cc (build_manifest_map): Fix missing file check for
4333i18n paths.
4334
43352004-05-01 Joel Rosdahl <joel@rosdahl.net>
4336
4337Fix bug #7220:
4338* manifest.cc (build_manifest_map): Handle missing file
4339gracefully.
4340
4341* file_io.cc (walk_tree): Handle nonexistent file/directory
4342gracefully.
4343
43442004-04-30 Christof Petig <christof@petig-baender.de>
4345
4346* rcs_import.cc (store_trunk_manifest_edge):
4347skip ancestry to empty manifest
4348* rcs_import.cc (process_branch):
4349also follow branches of last/first versions
4350
43512004-04-29 graydon hoare <graydon@pobox.com>
4352
4353* configure.ac: Fix up windows probe and bundling checks.
4354* netxx/resolve_getaddrinfo.cxx: Local hack for stream addresses.
4355* netsync.cc: Report address before listening.
4356
43572004-04-29 graydon hoare <graydon@pobox.com>
4358
4359* cert.cc (get_branch_heads): Calculate a "disapproved version"
4360attribute which culls a version with only disapproved ancestry
4361edges.
4362* monotone.texi: Fix some ascii-art diagrams.
4363
43642004-04-28 Christof Petig <christof@petig-baender.de>
4365
4366* command.cc (heads):
4367show date and author certificates for each head
4368
43692004-04-28 Christof Petig <christof@petig-baender.de>
4370
4371* configure.ac:
4372default to using the bundled SQLite
4373
43742004-04-28 Christof Petig <christof@petig-baender.de>
4375
4376* commands.cc (log):
4377support optional file argument to show change log for
4378e.g. monotone log [ID] cert.cc
4379
43802004-04-26 Christof Petig <christof@petig-baender.de>
4381
4382* rcs_import.cc (process branch):
4383insert dummy cvs_edge to mark newly added file
4384as previously non existant
4385
43862004-04-25 Joel Rosdahl <joel@rosdahl.net>
4387
4388* po/stamp-po: Removed since it's generated.
4389* std_hooks.lua (ignore_file): Corrected name of Subversion's
4390administrative directory.
4391* work.hh: Ditto.
4392* monotone.texi (Hook Reference): Updated default definition of
4393ignore_file.
4394
43952004-04-23 Christof Petig <christof@petig-baender.de>
4396
4397* rcs_import.cc (build_parent_state, build_child_state):
4398remove dying files from manifest
4399* rcs_import.cc (cvs_file_edge, note_file_edge):
4400calculate state and remember it (alive or dead)
4401
44022004-04-23 Christof Petig <christof@petig-baender.de>
4403
4404* rcs_import.cc (import_rcs_file_with_cvs):
4405do not include dead files in head_manifest
4406
44072004-04-22 Christof Petig <christof@petig-baender.de>
4408
4409* rcs_file.cc, rcs_file.hh: read and remember 'state' of revision
4410* rcs_import.cc: remove Attic/ part from path
4411
44122004-04-21 Christof Petig <christof@petig-baender.de>
4413
4414* configure.ac: enable use of installed SQLite library
4415
44162004-04-20 graydon hoare <graydon@pobox.com>
4417
4418* lua.hh, lua.cc (hook_note_commit): New hook.
4419* commands.cc (commit): Call it.
4420
44212004-04-19 graydon hoare <graydon@pobox.com>
4422
4423* cert.cc: Make trust messages nicer.
4424* merkle_tree.cc: Clarify logging messages.
4425* netsync.cc: Reorganize tickers, put client in txn.
4426* packet.cc, packet.hh: Teach about constructability.
4427
44282004-04-16 graydon hoare <graydon@pobox.com>
4429
4430* netsync.cc (session::extra_manifests): New member.
4431(session::analyze_ancestry_graph): Use it.
4432* tests/t_singlenetsync.at: New test for single manifest sync.
4433* testsuite.at: Call it.
4434
44352004-04-14 Tom Tromey <tromey@redhat.com>
4436
4437* rcs_import.cc (import_cvs_repo): Use require_password.
4438Include keys.hh.
4439* keys.hh (require_password): Declare.
4440* keys.cc (require_password): New function.
4441
44422004-04-13 Tom Tromey <tromey@redhat.com>
4443
4444* monotone.texi: Typo fixes.
4445
44462004-04-10 graydon hoare <graydon@pobox.com>
4447
4448* netsync.cc: Minor bug fixes.
4449
44502004-04-10 graydon hoare <graydon@pobox.com>
4451
4452* database.{cc,hh}:
4453* commands.{cc,hh}:
4454* lua.{cc,hh}:
4455* std_hooks.lua:
4456* vocab_terms.hh:
4457Implement first cut at selectors.
4458
44592004-04-10 graydon hoare <graydon@pobox.com>
4460
4461* cert.cc (operator<): Include name in compare.
4462(operator==): Likewise.
4463* packet.cc: Include shared_ptr.
4464* rcs_file.cc: Rewrite by hand, no spirit.
4465* rcs_import.cc: Change ticker names a bit.
4466
44672004-04-09 graydon hoare <graydon@pobox.com>
4468
4469* app_state.cc: Fix a couple file path constructions.
4470* file_io.cc (book_keeping_file): Make one variant static.
4471* manifest.cc: Remove some dead code in walkers.
4472* work.cc: Ditto.
4473* rcs_file.cc: fcntl fix from Paul Snively for OSX.
4474
44752004-04-09 graydon hoare <graydon@pobox.com>
4476
4477* file_io.cc: Fix boost filesystem "." and ".." breakage.
4478* lua.cc: Fix format of log entry.
4479* monotone.cc: Log locale settings on startup.
4480* sanity.cc: Dump prefix on --verbose activation.
4481* testsuite/t_i18n_file.at: Fix autotest LANG breakage.
4482* testsuite/t_null.at: Account for chatter with --verbose.
4483
44842004-04-09 graydon hoare <graydon@pobox.com>
4485
4486* configure.ac: Comment out check for sse2,
4487set bundling to true by default.
4488* INSTALL: describe changes to bundling.
4489* Makefile.am: Remove vestiges of depot.
4490
44912004-04-07 graydon hoare <graydon@pobox.com>
4492
4493* adns/*:
4494* network.{cc,hh}:
4495* proto_machine.{cc,hh}:
4496* {http,smtp,nntp}_tasks.{cc,hh}:
4497* tests/t_{http,smtp,nntp,proxy}.at:
4498* url.{cc,hh}:
4499* depot.cc:
4500Delete files.
4501* commands.cc:
4502* lua.{cc,hh}:
4503* database.{cc,hh}: Remove network/queue stuff.
4504* configure.ac:
4505* constants.{cc,hh}:
4506* tests/t_{netsync,singlecvs,cvsimport}.at:
4507* testsuite.at:
4508* transforms.{cc,hh}:
4509* unit_tests.{cc,hh}:
4510* vocab_terms.hh:
4511* vocab.{cc,hh}:
4512* Makefile.am: Adjust for deletions.
4513* app_state.hh: Cleanup.
4514* monotone.texi: Fix some typos.
4515* packet.{cc,hh}: Implement database ordering.
4516* netsync.cc: Massage to use new packet logic.
4517* commands.cc:
4518* std_hooks.lua: Add initial selector stuff.
4519
45202004-03-29 graydon hoare <graydon@pobox.com>
4521
4522* monotone.spec: Update for 0.11 release.
4523
4524Release point (v 0.11).
4525
45262004-03-29 graydon hoare <graydon@pobox.com>
4527
4528* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Set.
4529* commands.cc: Tidy up / narrow output width.
4530* patch_set.cc: Likewise.
4531* monotone.texi: Cleanups for PDF generation.
4532
45332004-03-28 graydon hoare <graydon@pobox.com>
4534
4535* NEWS: Mention 0.11 release.
4536* AUTHORS: Mention Robert.
4537
45382004-03-28 Robert Bihlmeyer <robbe+mt@orcus.priv.at>
4539
4540* file_io.cc (walk_tree_recursive): Ignore broken symlinks.
4541
45422004-03-27 graydon hoare <graydon@pobox.com>
4543
4544* monotone.texi: Flesh out netsync stuff, remove old network stuff.
4545* monotone.1: Likewise.
4546
45472004-03-27 Robert Helgesson <rycee@home.se>
4548
4549* Makefile.am:
4550* configure.ac:
4551* database.cc:
4552* depot.cc:
4553* lua.cc:
4554* network.cc:
4555* schema_migration.cc: Bundled library switch logic.
4556
45572004-03-27 graydon hoare <graydon@pobox.com>
4558
4559* depot.cc (dump): Implement.
4560* tests/t_http.at, test/t_proxy.at: Use "depot.cgi dump" rather than sqlite.
4561* sqlite/pager.h: Change page size.
4562* README: Massage slightly.
4563* INSTALL: Write real installation instructions.
4564* Makefile.am: Include build of "one big page" docs.
4565* boost/circular_buffer_base.hpp: Another boost version insulation fix.
4566* vocab.cc (verify): Normalize local_path's during verification on boost 1.31.0.
4567* monotone.texi: Rip out some of the pre-netsync networking docs.
4568
45692004-03-24 graydon hoare <graydon@pobox.com>
4570
4571* boost/circular_buffer_base.hpp: Boost version insulation.
4572* cert.cc, cert.hh, commands.cc: Differentiate "unknown" keys from "bad".
4573* xdelta.cc, proto_machine.cc: Fix boost version insulation.
4574
45752004-03-24 graydon hoare <graydon@pobox.com>
4576
4577* rcs_import.cc (import_substates): Filter by branch.
4578* xdelta.cc: Minor bits of insulation.
4579
45802004-03-24 graydon hoare <graydon@pobox.com>
4581
4582* AUTHORS: Mention Robert.
4583* configure.ac: Enable sse2 stuff.
4584* monotone.spec: Adjust CFLAGS and CXXFLAGS
4585* monotone.texi (Network Service): Expand a bit.
4586
45872004-03-24 Robert Helgesson <rycee@home.se>
4588
4589* commands.cc:
4590* http_tasks.cc:
4591* lua.cc:
4592* manifest.cc:
4593* netsync.cc:
4594* nntp_tasks.cc:
4595* proto_machine.cc: