monotone

monotone Mtn Source Tree

Root/ChangeLog

12005-12-14 Matthew Gregan <kinetik@orcon.net.nz>
2
3* win32/fs.cc: Handle the fact that the MoveFileEx symbol might
4exist in kernel32.dll even though it doesn't actually work. It
5turns out that Win9x implements a bunch of NT-only symbols as
6stubs that return ERROR_CALL_NOT_IMPLEMENTED, so it's not
7sufficient to detect feature availability by doing symbol lookups
8at runtime. Also add a missing parameter to the final error
9message. Fixes #15063.
10
112005-12-13 Derek Scherger <derek@echologic.com>
12
13* commands.cc (update): remove \n from F() string
14(revert): display "reverting..." messages similar to update
15* tests/t_revert.at: allow output from revert
16
172005-12-13 Matthew Gregan <kinetik@orcon.net.nz>
18
19* testsuite.at: Use SIGTERM rather than SIGSEGV to close down
20monotone servers.
21* HACKING, tests/README: Remove references to use of SEGV for
22terminating monotone servers.
23
242005-12-08 Matthew Gregan <kinetik@orcon.net.nz>
25
26* po/pt_BR.po: Add missing newline.
27* AUTHORS: Add Alex Queiroz to list of translators.
28
292005-12-08 Alex Queiroz <asandroq@gmail.com>
30
31* po/pt_BR.po: Beginnings of the Brazilian Portuguese translation.
32* po/LINGUAS: Add it.
33
342005-12-06 Timothy Brownawell <tbrownaw@gmail.com>
35
36* packet.cc (packet stream reading): Fix handling of privkey packets.
37It would convert pubkey+privkey to keypair, but not change the private
38key to the new encryption type. Now uses migrate_private_key to
39convert privkey->keypair. Reading privkey packets from stdin only works
40if the get_passphrase hook is defined for that key.
41Fix packet_roundabout_test; the send+receive part was using an empty
42stream, rather than the packet sequence generated in the first part.
43* packet.hh, commands.cc, key_store.cc: read_packets now takes an
44app_state argument.
45* tests/t_dropkey_2.at: use genkey instead of reading packets
46* tests/t_read_privkey.at: check that reading a privkey packet works
47* testsuite.at: add read_privkey test
48
492005-12-06 Matthew Gregan <kinetik@orcon.net.nz>
50
51* ui.cc (write_ticks): Move CR out of tickline2; output it where
52required instead. Fixes brokeness of 'count' ticker on Win32 (and
53perhaps elsewhere) that was causing each line redraw to be written
54on a new line.
55* contrib/usher.cc (fork_server): Avoid getting stuck in an
56infinte loop attempting to read() from a stream that has
57reached EOF before we've read anything from it. This can occur if
58the fork()+exec() of an usher managed monotone server fails.
59* ui.cc (write_ticks): Don't call display_width() repeatedly for
60the same string--get the result once and reuse it where necessary.
61* netxx/sockopt.cxx, netxx/sockopt.h (set_ipv6_listen_for_v6_only):
62New member function to set the IPV6_V6ONLY flag on a socket.
63* netxx/serverbase.cxx (bind_to): Call set_ipv6_listen_for_v6_only
64on IPv6 sockets.
65* app_state.cc (allow_working_copy): Use keydir path from
66MT/options if set.
67
682005-12-05 Matthew Gregan <kinetik@orcon.net.nz>
69
70* tests/t_database_sig_cleanup.at: Mark this as NOT_ON_WIN32; as
71per the MSDN link I've added to the test, we can't handle
72SIGINT/SIGTERM gracefully on Windows.
73
742005-12-04 Nathaniel Smith <njs@pobox.com>
75
76* paths.cc (file_path): MM() the path we're validating.
77
782005-12-04 Nathaniel Smith <njs@pobox.com>
79
80* schema_migration.cc: Modernize error checking a bit. (Use E()
81and I() instead of throwing runtime_errors.)
82
832005-12-03 Nathaniel Smith <njs@pobox.com>
84
85* sanity.cc (dump_buffer): If we dumped debug info, write out a
86note asking that it be included in bug reports.
87
882005-12-03 Nathaniel Smith <njs@pobox.com>
89
90* schema_migration.cc (logged_sqlite3_exec): New function.
91Use everywhere in this file. Enables logging of migration
92commands for debugging purposes.
93
942005-12-03 Nathaniel Smith <njs@pobox.com>
95
96* tests/t_mixed_case_pwd.at, testsuite.at: New test.
97
982005-12-02 Matthew Gregan <kinetik@orcon.net.nz>
99
100* Makefile.am: Make Win32 build link against shfolder.lib to get
101SHGetFolderPathA on older Windows platforms (we had previously
102been relying on it to be available in shell32.lib) .
103* packet.cc (feed_packet_consumer::feed_packet_consumer,
104extract_packets): Move duplicated sets of regexs for key IDs,
105certs, etc. into constants.cc.
106* constants.{cc,hh}: Add regex strings extracted from packet.cc. Also
107fix the key ID regex to accept a few characters we allowed in
108legal_key_name_bytes already.
109* tests/t_genkey.at: Test good and bad keys with all characters we
110allow in the user portion of a key id.
111
1122005-12-01 Matthew Gregan <kinetik@orcon.net.nz>
113
114* database.cc: Revert last change; db version and db migrate need
115to be able to open databases with old schema versions. Calling
116sql() directly broke this. Moved a db existence check scattered
117through the code into db_check_exists(), and added calls to this
118into ::version and ::migrate.
119* database.cc (database::version, database::migrate): Improve
120error handling where user has supplied the path to a non-existant
121database file. Submitted by Neil Conway.
122* win32/fs.cc (rename_clobberingly_impl): Improve error handling
123around LoadLibrary call.
124* lua/{lvm.c,lgc.c,lapi.c}: Lua post-5.0.2 bugfixes from
125http://www.lua.org/bugs.html. Submitted by Alex Queiroz.
126
1272005-11-29 Matt Johnston <matt@ucc.asn.au>
128
129* Makefile.am: add PCH_FLAGS only when compiling monotone and
130unit_tests objects, not for libs.
131* pch.hh: define __STDC_CONSTANT_MACROS as required for UINT32_C.
132
1332005-11-28 Nathaniel Smith <njs@pobox.com>
134
135* txt2c.cc (main): Work correctly even on empty files.
136
1372005-11-28 Nathaniel Smith <njs@pobox.com>
138
139* schema_migration.cc: Provide more feedback while 'db migrate' is
140running.
141
1422005-11-28 Matthew Gregan <kinetik@orcon.net.nz>
143
144* HACKING: Make a note of the fact that we kill 'monotone serve'
145processes with a SIGSEGV.
146* tests/README: Minor cleanup, mention SIGSEGV thing here too.
147
1482005-11-27 Nathaniel Smith <njs@pobox.com>
149
150* std_hooks.lua: Make regexp matching error slightly more
151user-friendly.
152
1532005-11-27 Nathaniel Smith <njs@pobox.com>
154
155* commands.cc (diff): Remove OPT_BRANCH from diff's options.
156
1572005-11-27 Julio M. Merino Vidal <jmmv@NetBSD.org>
158
159* configure.ac: Do not use test's == operator because it is not
160compatible with many implementations; use = instead.
161
1622005-11-27 Julio M. Merino Vidal <jmmv@NetBSD.org>
163
164* configure.ac, ui.cc: Windows does have sync_with_iostream; the
165problem is that it does not behave correctly on some MinGW versions.
166Properly detect this condition. Thanks to Matthew Gregan for the
167explanation.
168
1692005-11-27 Matthew Gregan <kinetik@orcon.net.nz>
170
171* netxx/address.cxx (parse_uri): Reset URI parser state after
172checking for IPv6 address.
173
1742005-11-27 Matthew Gregan <kinetik@orcon.net.nz>
175
176* tests/t_netsync_largish_file.at: Move LARGISH_FILE_CREATE
177definition from here...
178* testsuite.at: ...to here.
179* tests/t_dump_load.at: Use LARGISH_FILE_CREATE to create a 1MB
180file so that the db dump output is larger than a few kB. This is
181needed to catch the iostreams-returning-EOF-early bogosity under
182MinGW when sync_with_stdio(false) has been called on the iostream.
183
1842005-11-27 Nathaniel Smith <njs@pobox.com>
185
186* monotone.cc: Include "i18n.h" instead of "libintl.h" directly,
187to theoretically play better with autoconf stuff.
188
1892005-11-27 Julio M. Merino Vidal <jmmv@NetBSD.org>
190
191* tests/t_automate_stdio.at: Don't expect perl to be in /usr/bin;
192this assumption doesn't hold breaks on several systems (such as
193NetBSD).
194
1952005-11-27 Julio M. Merino Vidal <jmmv@NetBSD.org>
196
197* tests/t_checkout_options.at: Use the [] operator instead of {} in
198a shell pattern so that it works with interpreters other than bash
199(e.g., NetBSD's sh).
200
2012005-11-27 Julio M. Merino Vidal <jmmv@NetBSD.org>
202
203* testsuite.at, tests/t_empty_env.at, tests/t_i18n_file.at,
204tests/t_netsync_sigpipe.at, tests/t_update_1.at, tests/t_update_2.at:
205Do not use test's == operator because it is not portable; use =
206instead.
207
2082005-11-27 Matt Johnston <matt@ucc.asn.au>
209
210* Makefile.am, configure.ac, pch.hh: add --enable-pch configure
211flag to enable precompiled boost headers. Based on LyX automake/autoconf
212rules, Zbynek Winkler suggested that just boost headers would be
213beneficial.
214
2152005-11-27 Julio M. Merino Vidal <jmmv@NetBSD.org>
216
217* app_state.cc: No need to include headers for chdir() any more.
218This function was replaced by change_current_working_dir.
219* monotone.cc: Unconditionally include libintl.h as this file uses
220gettext functions.
221* configure.ac, rcs_import.cc: Check for strptime(3) and use the
222check results instead of assuming that only Windows lacks this
223function.
224* configure.ac, ui.cc: Check whether C++ streams support the
225sync_with_stdio method and use the check results instead of assuming
226that only Windows lacks this function.
227
228Addresses part of bug #12086.
229
2302005-11-27 Julio M. Merino Vidal <jmmv@NetBSD.org>
231
232* app_state.cc: Correctly detect when MT/options does not have a
233database property instead of printing the cryptic message "misuse:
234invalid path ''".
235
2362005-11-27 Grahame Bowland <grahame@angrygoats.net>
237
238* configure.ac: expose --enable-ipv6 in config.h
239* monotone.cc (cpp_main): parse IPv6 addresses correctly
240in --bind arguments
241* netsync.cc (call_server,serve_connections): if USE_IPV6 defined,
242create netxx Address instances with ipv6 enabled.
243* netxx/address.cxx (parse_uri): parse IPv6 addresses as hostnames
244* closes bug #14446
245
2462005-11-27 Grahame Bowland <grahame@angrygoats.net>
247
248* automate.cc (automate_stdio_read): remove check for EINTR
249that was breaking win32 build.
250
2512005-11-27 Grahame Bowland <grahame@angrygoats.net>
252
253* automate.cc (automate_certs,automate_keys): use non-exclusive
254transaction guard
255* commands.cc (ls_certs,ls_keys,cat): use non-exclusive
256transaction guard
257* database.cc (begin_transaction): used BEGIN DEFERRED (only attempt
258exclusive lock once a write is attempted on DB) when not exclusive
259(transaction_guard::transaction_guard): new argument exclusive indicating
260whether an immediate exclusive lock is requested, defaults to true
261* database.hh: update prototype for transaction_guard
262
2632005-11-26 Nathaniel Smith <njs@pobox.com>
264
265* NEWS: Fill in date for 0.24 release.
266
2672005-11-26 Nathaniel Smith <njs@pobox.com>
268
269* UPGRADE: Add note about serve changing syntax.
270
2712005-11-26 Nathaniel Smith <njs@pobox.com>
272
273* UPGRADE: Update for 0.24.
274* configure.ac, win32/monotone.iss, monotone.spec:
275* debian/changelog: Bump version number.
276
2772005-11-26 Nathaniel Smith <njs@pobox.com>
278
279* ChangeLog: fixup after merge.
280
2812005-11-27 Daniel Carosone <dan@geek.com.au>
282
283* monotone.texi, std_hooks.lua: sync hook definitions with
284std_hooks.lua, and group the descriptions into @subsections,
285reordering a few items accordingly.
286
2872005-11-26 Nathaniel Smith <njs@pobox.com>
288
289* Makefile.am: Remove botan/{omac,fips_rng}.h.
290
2912005-11-26 Julio M. Merino Vidal <jmmv@NetBSD.org>
292
293* AUTHORS, ChangeLog: Update my email address; I don't read the
294other one any more and the new one represents better my limited
295involvement in Monotone.
296
2972005-11-26 Julio M. Merino Vidal <jmmv@NetBSD.org>
298
299* configure.ac, Makefile.am, po/Makevars: Avoid using xgettext's
300--flag option on versions that do not support it.
301
3022005-11-26 Grahame Bowland <grahame@angrygoats.net>
303
304* automate.cc (automate_stdio) add wrapper function to read()
305so that loops will not wind backwards possibly overrunning buffers
306if an error occurs. Hopefully fixes some of the strange edge cases
307seen using automate. (Closes #15062 in bug tracker)
308
3092005-11-26 Matthew Gregan <kinetik@orcon.net.nz>
310
311* botan/mem_pool.cpp (Pooling_Allocator::allocate): Botan's
312Pooling_Allocator assumes that Buffers stored in free_list are
313sorted, and uses std::inplace_merge() in deallocate() to ensure
314the recently freed Buffer is positioned in free_list
315appropriately. This same check was not being performed when a
316Buffer was added to free_list in allocate() (it's not safe to
317assume that the address of a newly allocated Buffer will always be
318greated than existing Buffers).
319
3202005-11-25 graydon hoare <graydon@pobox.com>
321
322* database.cc (get_version): Another important fix: make sure to
323cancel overlapping paths, to avoid exponential memory requirement
324in deep, heavily-forked-and-merged storage paths.
325
3262005-11-25 graydon hoare <graydon@pobox.com>
327
328* database.cc (get_version): Crucial fix! Rewrite the
329delta-reconstruction algorithm to work with a DAG storage topology,
330rather than assuming an inverted tree. Counterpart to the
331delta-storage optimization made by Timothy Brownawell on
3322005-11-05.
333
3342005-11-23 Matt Johnston <matt@ucc.asn.au>
335
336* botan/*: import of Botan 1.4.9
337
3382005-11-23 Grahame Bowland <grahame@angrygoats.net>
339
340* automate.cc (automate_stdio): Fix partial reads cloberring
341start of buffer.
342
3432005-11-22 Matthew Gregan <kinetik@orcon.net.nz>
344
345* database.cc (database::dump): Don't include SQLite internal
346tables in the dump.
347* tests/t_dump_load.at (database dump/load): Run a db analyze
348before dumping the db--catches cases where we dump internal db
349tables that we can't reload.
350
3512005-11-21 Henry Nestler <Henry@BigFoot.de>
352
353* contrib/mtbrowse.sh: Version 0.1.13
354Handle authors without '@'. Minor box sizing.
355Get Version of monotone before starts anything.
356DEPTH_LAST detects for version >0.19, no save to config.
357'cat revision' replaced with 'automate get_revision'.
358ANCESTORS "M" changed to "A". Default "L" (monotone log --brief).
359Warn user about misconfigurations. Temp files without tailing dot.
360New option: Sort by Date/Time, up or down.
361Fix: Parents of merge, if certs list from cache (ncolor).
362
3632005-11-21 Matthew Gregan <kinetik@orcon.net.nz>
364
365* NEWS: Minor spelling tweaks.
366* platform.hh: Add get_default_confdir().
367* app_state.cc (app_state::app_state): Call get_default_confdir()
368to initialize confdir.
369* unix/fs.cc (get_default_confdir): Use the home directory as the
370base of the default configuration dir.
371* win32/fs.cc (get_default_confdir): Use either %APPDATA% or the
372result of querying SHGetFolderPath() for CISDL_APPDATA as the base
373of the default configuration dir.
374(get_homedir): More consistent method for deciding what the user's
375home directory is. Behaviour based on the documentation for Qt's
376QDir::home().
377
3782005-11-21 Nathaniel Smith <njs@pobox.com>
379
380* NEWS: Initial draft of 0.24 release notes.
381
3822005-11-14 Benoît Dejean <benoit@placenet.org>
383
384* po/fr.po: Updated French translation.
385* netsync.cc: Removed many i18n strings.
386
3872005-11-14 Nathaniel Smith <njs@pobox.com>
388
389* monotone.texi (Historical records): Clarify wording, based on
390feedback from Daniel Phillips.
391
3922005-11-13 Nathaniel Smith <njs@pobox.com>
393
394* monotone.texi (Automation): Document sort order for 'automate
395select'.
396
3972005-11-10 Richard Levitte <richard@levitte.org>
398
399* monotone.texi (Hooks): Small correction so the text matches the
400example.
401
4022005-11-10 Timothy Brownawell <tbrownaw@gmail.com>
403
404* lua.cc, std_hooks.lua, monotone.texi: basic_io parser for lua is
405now called parse_basic_io
406
4072005-11-10 Timothy Brownawell <tbrownaw@gmail.com>
408
409* monotone.texi: document parse_basicio in the
410"Additional Lua Functions" section
411
4122005-11-10 Timothy Brownawell <tbrownaw@gmail.com>
413
414* testsuite.at: Several MINHOOKS_* macros that use the standard hooks
415and only load predefined hooks about passphrase and rng.
416* tests/t_netsync_permissions, tests/t_netsync_read_permissions: use
417the standard permission hooks and define {read,write}-permissions files.
418Check both the permissions mechanism and the standard hooks at once.
419
4202005-11-10 Timothy Brownawell <tbrownaw@gmail.com>
421
422* monotone.texi: update example project with latest read-permissions
423format. Mention comment lines in the description in the hooks section
424
4252005-11-08 Timothy Brownawell <tbrownaw@gmail.com>
426
427Make a basic_io parser available to Lua.
428* lua.cc: new function, monotone_parse_basicio_for_lua
429* std_hooks.lua: use it in get_netsync_read_permitted
430
4312005-11-05 Timothy Brownawell <tbrownaw@gmail.com>
432
433Make sure that all new revisions added to the db deltify as much as
434possible.
435* commands.cc, diff_patch.cc: deltify both sides when doing a merge
436* database.{cc,hh}: new function, database::deltify_revision()
437call it from put_revision, so all new revisions will be deltified
438
4392005-10-30 Nathaniel Smith <njs@pobox.com>
440
441* std_hooks.lua (edit_comment): Insert a blank line if there is no
442user log message, so the user doesn't have to.
443
4442005-10-25 Emile Snyder <emile@alumni.reed.edu>
445
446Fix bug reported on mailing list by Wim Oudshoorn and Tom Koelman
447where 'disapprove REV' inappropriately uses your working copy
448branch for the disapproved revision.
449* app_state.{cc,hh} (set_is_explicit_option, is_explicit_option):
450New methods to determine if a given option value was set via
451command line flag or not.
452* cert.cc (guess_branch): Only accept explicit --branch values in
453preference to the branch the given revision lives on.
454* commands.cc (CMD(commit)): Explicitly use app.branch_name() if
455it exists before calling guess_branch, so pick up MT/options
456setting.
457* monotone.cc (cpp_main): Set the explicit_option_map entries for
458select command line flag processing.
459
4602005-10-26 Matt Johnston <matt@ucc.asn.au>
461
462* INSTALL: mention that zlib is required
463* debian/control: monotone doesn't work over plain network protocols
464
4652005-10-25 Timothy Brownawell <tbrownaw@gmail.com>
466
467* lua.cc: make the globish matcher available to lua
468* std_hooks.lua: new (better) format for read-permissions
469* monotone.texi: update documentation
470
4712005-10-24 Benoît Dejean <benoit@placenet.org>
472
473* commands.cc: Merged 2 i18n strings.
474
4752005-10-23 Timothy Brownawell <tbrownaw@gmail.com>
476
477* std_hooks.lua: new default get_netsync_*_permitted hooks, which
478read permissions setting from $confdir/{read,write}-permissions
479* monotone.texi: document the new default hooks
480
4812005-10-23 Timothy Brownawell <tbrownaw@gmail.com>
482
483* contrib/usher.cc: new option "-p <pidfile>", catch SIGTERM and SIGINT
484and exit cleanly
485
4862005-10-22 Timothy Brownawell <tbrownaw@gmail.com>
487
488* constants.cc: increase log_line_sz so that the new unified
489"SERVER IDENTIFICATION HAS CHANGED" message doesn't get truncated.
490It used to be multiple print statements but was merged into one,
491apparently to help with translation.
492
4932005-10-22 Timothy Brownawell <tbrownaw@gmail.com>
494
495* contrib/usher.cc: Support friendly shutdown (no new connections, but
496don't kill existing ones) of local servers and the usher as a whole.
497Simple admin interface to start/stop or get the status of individual
498servers or the whole usher (listens for connections on a separate
499port, only enabled if specified on the command line).
500
5012005-10-22 Richard Levitte <richard@levitte.org>
502
503* tests/t_database_sig_cleanup.at: Two more sleeps that I forgot.
504
5052005-10-20 Nathaniel Smith <njs@pobox.com>
506
507* cert.hh (find_common_ancestor): Remove dead declaration.
508* database.cc (check_schema): Improve schema mismatch error
509message.
510
5112005-10-20 Richard Levitte <richard@levitte.org>
512
513* tests/t_database_sig_cleanup.at: Sleep for a couple of seconds,
514so monotone has a chance to clean up and die properly, even on a
515slower machine.
516
5172005-10-19 Nathaniel Smith <njs@pobox.com>
518
519* tests/t_update_switch_branch.at, testsuite.at: New test.
520
5212005-10-19 Nathaniel Smith <njs@pobox.com>
522
523* commands.cc (update): Make branch sticky even if update target
524== current rid.
525
5262005-10-19 Matt Johnston <matt@ucc.asn.au>
527
528* main.cc, database.{cc,hh}: SIGINT and SIGTERM handlers
529exit gracefully, and try to ROLLBACK+close any databases to clean up
530.db-journal files. Added new database::close() method to be used
531rather than sqlite_close() directly
532* monotone.{cc,hh}, sanity.{cc.hh}: move clean_shutdown flag to
533global_sanity
534* tests/t_database_sig_cleanup.at: test it
535* keys.cc: don't L() private key
536
5372005-10-19 Matthew A. Nicholson <matt@matt-land.com>
538
539* std_hooks.lua: Minor correction to vim warning during 3-way merge.
540
5412005-10-18 Timothy Brownawell <tbrownaw@gmail.com>
542
543* contrib/usher.cc: Update comment about client versions
544
5452005-10-18 Timothy Brownawell <tbrownaw@gmail.com>
546
547* netsync.cc netcmd.{cc,hh}: usher_reply_cmd now has both who we
548connected to *and* what pattern we asked for
549* contrib/usher.cc: new file format, allow to key servers on either
550hostname or pattern, hostname checked first
551reload config file on SIGHUP
552
5532005-10-18 Timothy Brownawell <tbrownaw@gmail.com>
554
555* netsync.cc (session::process_usher_cmd): reply with who we connected
556to (hostname or hostname:port), not what pattern we asked for.
557* contrib/usher.cc: Update comment.
558
5592005-10-18 Timothy Brownawell <tbrownaw@gmail.com>
560
561* contrib/usher.cc: support dynamic local servers
562These are started when a client attempts to connect, and killed at
563a set time interval after the last client has disconnected.
564
5652005-10-15 Nathaniel Smith <njs@pobox.com>
566
567* manifest.cc (build_restricted_manifest_map): Mention the new
568--missing option in the missing files error message hint.
569
5702005-10-17 Timothy Brownawell <tbrownaw@gmail.com>
571
572* commands.cc (serve): check that the db is valid before beginning
573service (would previously not know until someone connected)
574* netsync.cc (serve_connections): don't say "beginning service" until
575after opening the socket.
576
5772005-10-16 Timothy Brownawell <tbrownaw@gmail.com>
578
579* app_state.{cc,hh}, key_store.cc: change how the keystore directory
580is initialized; was using app.confdir before it was ready
581
5822005-10-16 Timothy Brownawell <tbrownaw@gmail.com>
583
584Make the configuration directory configurable and available to lua
585* lua.cc: export new function to lua, "get_confdir"
586* app_state.{cc,hh} monotone.cc options.hh: new option --confdir,
587make the configuration directory something other than ~/.monotone
588* lua.{cc,hh}: make the app_state availabe to lua callbacks
589* key_store.cc: use get_confdir instead of hardcoded
590* lua.cc: use get_confdir instead of hardcoded
591* tests/t_config_confdir.at: test --confdir and lua get_confdir
592* testsuite.at: add it
593
5942005-10-16 Timothy Brownawell <tbrownaw@gmail.com>
595
596Teach client to optionally push unused keys; new pubkeys can now be
597given to a server without restarting it.
598* app_state.{cc,hh}, monotone.cc, options.hh:
599new command-specific-option --key-to-push=<key> , used to sync/push
600a key that hasn't signed anything
601* netsync.cc: make it work
602* commands.cc: push and sync take it
603* tests/t_netsync_pubkey.at: test it
604
6052005-10-16 Matthew Gregan <kinetik@orcon.net.nz>
606
607* configure.ac: Don't add boost_unit_test_framework to global
608LIBS, we will link against it directly when needed.
609* Makefile.am: Only allow unit_tests to be built if
610boost_unit_test_framework was available at configure time.
611
6122005-10-15 Matthew Gregan <kinetik@orcon.net.nz>
613
614* configure.ac: Use boost_filesystem as the library to test for
615when trying to guess a suitable BOOST_SUFFIX. Make a missing
616boost_unit_test_framework library a non-fatal error.
617
6182005-10-14 Emile Snyder <emile@alumni.reed.edu>
619
620* commands.cc: Fix breakage I introduced with the --unknown flag.
621Rename find_unknown to find_unknown_and_ignored, since that's what
622it's actually doing. Likewise ls_unknown ->
623ls_unknown_or_ignored, and use find_unknown_and_ignored correctly.
624Fixes t_mt_ignore.at failures.
625
6262005-10-14 Nathaniel Smith <njs@pobox.com>
627
628* key_store.{cc,hh} (get_key_dir): New method.
629* schema_migration.cc (migrate_client_to_external_privkeys): Tell
630user that we're moving their keys.
631* commands.cc (genkey): Refer to keystore by the directory, not as
632"keystore".
633(ls_keys): Likewise.
634
6352005-10-14 Timothy Brownawell <tbrownaw@gmail.com>
636
637Add .mt-ignore, ignore most generated files, except for the *m4 files.
638
6392005-10-14 Emile Snyder <emile@alumni.reed.edu>
640
641* app_state.{cc,hh}: new 'unknown' class member for --unknown flag.
642* commands.cc (CMD(add), ls_unknown, find_unknown): use new
643--unknown flag to add any files in the working copy that monotone
644doesn't know about (and isn't ignoring).
645* monotone.cc (coptions, cpp_main): add the --unknown flag handling.
646* options.hh: add OPT_UNKNOWN.
647* monotone.texi: document it.
648* tests/t_add.at: test it.
649
6502005-10-14 Emile Snyder <emile@alumni.reed.edu>
651
652* database.cc (complete): enhance h: and b: to mean "current
653branch" (as defined by your working copy) when given empty.
654* monotone.texi: document it.
655
6562005-10-14 Matthew Gregan <kinetik@orcon.net.nz>
657
658* database.cc: Exclusively lock the database when performing a 'db
659dump'.
660* schema_migration.cc: Run an analyze at the end of a database
661migration to help out the SQLite query optimizer. Also change
662schema id calculation to match 'sqlite_stat%' rather than the
663specific table 'sqlite_stat1'--the SQLite docs suggest that more
664tables will be created in the future.
665
666* database.cc, schema.sql, schema_migration.cc: Use SQLite 3's
667exclusive locking whereever we start a new transaction; allows
668monotone to report database locking errors earlier if a second
669monotone process attempts to perform database operations.
670
6712005-10-14 Matthew Gregan <kinetik@orcon.net.nz>
672
673* commands.cc (message_width): Refactor into display_width() and
674remove message_width().
675* transforms.{cc,hh} (display_width): Rename length() to
676display_width() and use the code from message_width().
677* ui.cc, commands.cc: Change calls to length() to display_width().
678* netsync.cc: Remove length() calls, test for string emptiness
679instead.
680
6812005-10-13 Emile Snyder <emile@alumni.reed.edu>
682
683* commands.cc (CMD(revert)): use --missing for revert a'la drop.
684* monotone.texi: document it.
685* tests/t_revert_restrict.at: test it.
686
6872005-10-13 Emile Snyder <emile@alumni.reed.edu>
688
689* app_state.{cc,hh}: new missing class member for --missing flag.
690* commands.cc (CMD(drop), ls_missing, find_missing): use new
691--missing flag to drop any files already deleted in the working copy.
692* monotone.cc (coptions, cpp_main): add the --missing flag handling.
693* options.hh: add OPT_MISSING.
694* monotone.texi: document it.
695* tests/t_drop_missing.at: test it.
696
6972005-10-13 Emile Snyder <emile@alumni.reed.edu>
698
699* database.cc (complete): implementation for h:branch selector to
700find heads of a branch.
701* selectors.{cc,hh}: add sel_head with selector character 'h'.
702* monotone.texi: document it.
703
7042005-10-13 Matt Johnston <matt@ucc.asn.au>
705
706* botan/mem_pool.cpp: fix bug preventing remove_empty_buffers()
707from being called, gives significant improvements for long-running
708processes.
709
7102005-10-12 Emile Snyder <emile@alumni.reed.edu>
711
712* monotone.texi: add njs's lucid definition of what the disapprove
713actually means in terms of the revision graph to it's section in
714the documentation.
715
7162005-10-12 Matt Johnston <matt@ucc.asn.au>
717
718* monotone.cc: return with exit code of 2 on usage output
719* testsuite.at: turn "cat_foo" into "automate get_foo"
720* tests/t_empty_env.at, tests/t_null.at, tests/t_at_sign.at,
721tests/t_unreadable_db.at, tests/t_cmdline_options.at: expect 2 exit code
722* tests/t_cross.at: update to the changeset paradigm of immutable
723ancestors.
724
7252005-10-11 Emile Snyder <emile@alumni.reed.edu>
726
727* app_state.{cc,hh}: new bind_address and bind_port class members.
728* options.hh: new OPT_BIND for serve command.
729* monotone.cc: handle OPT_BIND.
730* commands.cc (process_netsync_args, CMD(serve)): use values from
731the new --bind=[addr]:port option for 'monotone serve' rather than
732the positional argument. default to binding all interfaces.
733* monotone.texi: document new serve syntax
734* netsync.cc (serve_connections): use empty address argument to
735mean bind all interfaces.
736* netxx/address.cxx (Address::add_all_addresses): set port_ member
737from passed in port argument.
738* testsuite.at, tests/t_netsync_single.at: use new --bind syntax
739for serve commands.
740
7412005-10-11 Matthew Gregan <kinetik@orcon.net.nz>
742
743* commands.cc (message_width, explain_usage): New function to
744calculate display width of translated strings. Use it in
745explain_usage.
746Patch from Thomas Moschny <thomas.moschny@gmx.de>
747* certs.cc (get_user_key): Correct logic in N() test for multiple
748keys. Resolves bug reported by Malte Thoma.
749
7502005-10-10 Timothy Brownawell <tbrownaw@gmail.com>
751
752Make netsync shutdown work properly.
753* netsync.cc (session::which_events): Only ask to read if not armed.
754A read failure will discard all read-but-not-processed commands.
755* netsync.cc (session::maybe_say_goodbye): Only say goodbye once.
756Repeated goodbyes means that one side *will* have a full write-queue
757when the connection is torn down.
758
7592005-10-10 Timothy Brownawell <tbrownaw@gmail.com>
760
761* tests/t_automate_stdio.at: Add comment here too.
762
7632005-10-10 Timothy Brownawell <tbrownaw@gmail.com>
764
765* contrib/get_stdio.pl: Add comments. I'm told it was "obtuse",
766hopefully this will help somewhat.
767
7682005-10-10 Matt Johnston <matt@ucc.asn.au>
769
770* configure.ac, Makefile.am: add {MONOTONE,LIB3RDPARTY}_C{,XX}FLAGS
771variables.
772
7732005-10-10 Benoît Dejean <benoit@placenet.org>
774
775* commands.cc: s/key store/keystore/g.
776
7772005-10-10 Matt Johnston <matt@ucc.asn.au>
778
779* netsync.cc, database.{cc,hh}: don't include unwanted branch
780certs when building the merkle tree.
781* merkle.hh: add variant of insert_into_merkle_tree
782taking non-raw id.
783* markle.cc: comment out unused bits
784
7852005-10-10 Nathaniel Smith <njs@pobox.com>
786
787* cert.{cc,hh} (get_user_key): New function, replacing
788guess_default_key.
789* revision.cc (build_changesets_from_existing_revs)
790(build_changesets_from_manifest_ancestry):
791* rcs_import.cc (import_cvs_repo):
792* commands.cc (internalize_cert_name, push, sync, serve):
793* cert.cc (make_simple_cert, cert_revision_author_default): Use
794it.
795
7962005-10-10 Matthew Gregan <kinetik@orcon.net.nz>
797
798* netsync.cc: Clean up another case where port numbers were being
799munged by localized iostreams.
800* tests/t_netsync_largish_file.at: Tweak the random file
801generation so that it's a bit faster on platforms with slow awk
802implementations.
803* netsync.cc: Remove comment stating that our official IANA port
804should be renamed from 'netsync' to 'monotone'; Tomas sorted this
805out a while ago.
806* lua.cc (Lua::ok): Only log the 'Lua::ok() failed' message if
807there has been a failure.
808* monotone.texi: Fix a typo.
809* win32/fs.cc (get_homedir): Clarify comment.
810
8112005-10-09 Matthew Gregan <kinetik@orcon.net.nz>
812
813* contrib/usher.cc (main): Reset parser state for config file
814parser.
815* win32/monotone.iss: Reduce minimum OS version for installer.
816* configure.ac: Another Boost library suffix.
817
8182005-10-08 Matthew Gregan <kinetik@orcon.net.nz>
819
820* tests/t_automate_keys.at: Portability fixes.
821
8222005-10-08 Benoît Dejean <benoit@placenet.org>
823
824* commands.cc: One more i18n string.
825
8262005-10-08 Matthew Gregan <kinetik@orcon.net.nz>
827
828* tests/t_automate_keys.at: Don't rely on extended sed either!
829
8302005-10-08 Nathaniel Smith <njs@pobox.com>
831
832* database.{hh,cc}: Clean-up previous change -- switch to using a
833cleanup_ptr to hold sqlite3_stmt handles, for proper exception
834safety.
835
8362005-10-08 Nathaniel Smith <njs@pobox.com>
837
838* database.cc (fetch): Do not insert prepared statements into the
839statement table until they are successfully created, to avoid
840segfaults on database teardown.
841
8422005-10-08 Matthew Gregan <kinetik@orcon.net.nz>
843
844* tests/t_automate_keys.at: Use sed rather than relying on an
845extended grep being available.
846
8472005-10-08 Nathaniel Smith <njs@pobox.com>
848
849* contrib/ciabot_monotone.py (send_change_for): Handle branch-less
850revisions.
851
8522005-10-08 Nathaniel Smith <njs@pobox.com>
853
854* paths.cc: Make initial_rel_path an fs::path. Adjust code
855correspondingly. Add tests that calling monotone from inside MT
856should work.
857* tests/t_add_inside_MT.at, testsuite.at: New test.
858
8592005-10-08 Matthew Gregan <kinetik@orcon.net.nz>
860
861* win32/fs.cc: Don't consider USERPROFILE as a possible home
862directory; APPDATA is more appropriate. Add a second method to
863get the APPDATA path. Always use HOME if it's set (not just under
864Cygwin/MinGW).
865* tests/t_netsync_absorbs.at: Add missing CANONICALISE().
866
8672005-10-07 Timothy Brownawell <tbrownaw@gmail.com>
868
869* commands.cc (pubkey): don't insist on having a database
870* tests/t_key_management_without_db.at: check it
871
8722005-10-07 Timothy Brownawell <tbrownaw@gmail.com>
873
874* file_io.cc, vocab.cc, Makefile.am: fix merge
875* botan/algolist.cpp, botan/def_alg.cpp: fix merge
876
8772005-10-07 Timothy Brownawell <tbrownaw@gmail.com>
878
879* automate.cc: add "automate keys". like "ls keys", except it
880uses basic_io (since "ls keys" is now slightly irregular and not
881very well suited to machine interpretation).
882* monotone.texi: document it
883* tests/t_automate_keys.at: test for it
884* testsuite.at: add test
885* basic_io.{cc,hh} (stanza): add push_str_multi, for entries
886that can take a variable number of string arguments.
887* commands.cc: add "automate keys" to automate help
888misc minor whitespace cleanup
889
8902005-10-06 Timothy Brownawell <tbrownaw@gmail.com>
891
892* commands.cc (ls_keys): don't insist on having a db
893* tests/t_key_management_without_db.at: check ls keys
894* monotone.texi: update for new key storage
895* concepts :: storage and workflow
896* tutorial :: generating keys
897* tutorial :: committing work
898* command reference :: informative
899* command reference :: key and cert
900* command reference :: packet I/O
901
9022005-10-06 Timothy Brownawell <tbrownaw@gmail.com>
903
904* commands.cc (chkeypass): doesn't use the db, so we don't need a guard
905* commands.cc (dropkey): don't insist on having a db
906* tests/t_genkey_without_db.at: rename (s/genkey/key_management) and
907add checks for chkeypass and dropkey without a db
908
9092005-10-06 Timothy Brownawell <tbrownaw@gmail.com>
910
911* database.{cc,hh}: new function, database::database_specified()
912return whether we were given a database (doesn't care about validity,
913only that we were told to use one)
914* commands.cc (genkey): don't insist on having a db, but still
915check it for duplicates if we're given one.
916* tests/t_genkey_without_db.at: make sure it works
917* testsuite.at: add test
918
9192005-09-28 Timothy Brownawell <tbrownaw@gmail.com>
920
921* keys.cc (get_private_key): don't use lua hook passwords for
922chkeypass.
923
9242005-09-28 Matt Johnston <matt@ucc.asn.au>
925
926* keys.cc (get_private_keys): don't use lua hook passwords for
927chkeypass.
928
9292005-09-28 Timothy Brownawell <tbrownaw@gmail.com>
930
931* key_store.cc: fix delete_key
932* tests/t_database_check_normalized: needs 'db migrate'
933* tests/t_lua_privkey.at: update for new key location
934* tests/t_netsync_absorbs.at: use genkey instead of packets
935* tests/t_netsync_checks_server_key.at: same
936* tests/t_netsync_pubket.at: update key packet to new format
937
9382005-09-27 Timothy Brownawell <tbrownaw@gmail.com>
939
940Replace extract_keys command with a database migrator.
941* database.{cc,hh}: Remove last traces of private keys in db.
942* schema.sql: Remove private_keys table
943* commands.cc (dropkey): private keys can no longer be in the db.
944* schema_migration.cc: new migrator
945* commands.cc: remove extract_keys
946* tests/t_migrate_schema.at: update
947* keys.hh, cert.cc, key_store.cc: keys_match doesn't work well on
948privkeys. Don't use it.
949* key_store.cc: Allow duplicate insertions, if they match.
950
9512005-09-27 Timothy Brownawell <tbrownaw@gmail.com>
952
953* schema_migration.hh: migrate_depot_schema() doesn't really exist
954* database.cc, schema_migration.{cc,hh}: migrate_monotone_schema
955now takes an app_state * , so data can be moved to/from the database.
956
9572005-09-27 Matt Johnston <matt@ucc.asn.au>
958
959* botan/pkcs8.cc, keys.cc: fix monotone-specific pkcs8 key
960parsing.
961* commands.cc: ls keys shows keystore-only pubkeys as well
962* packet.cc: fix unit tests
963* testsuite.at: use keypair packet rather than privkey/pubkey
964packets.
965
9662005-09-26 Matt Johnston <matt@ucc.asn.au>
967
968* commands.cc, keys.cc, others: use standard
969"PBE-PKCS5v20(SHA-1,TripleDES/CBC)" encoding rather than
970raw arc4. extract_keys will re-encode keys, still
971need to work on packet.cc encoding.
972* botan/{des*,pkcs5*,algolist.cpp}: required files
973from Botan 1.4.6
974
9752005-09-25 Timothy Brownawell <tbrownaw@gmail.com>
976
977Move private keys outside the database.
978They're now stored as keypairs in ~/.monotone/keys
979Details:
980* keystore.{cc,hh}: handle storage of keypairs
981* tests*: Specify keystore location when running the testsuite.
982This prevents it from polluting the user's keystore.
983* database{cc,hh}: remove ability to put privkeys. They can still
984be listed, retrieved, and deleted, to support
985* commands.cc: New command, extract_keys. Copies private keys from
986the database to the keystore.
987* vocab.hh: add keypair type, like pair<pubkey, privkey>, except that
988the members are named pub and priv.
989* packet.cc: Clean up read_packets.
990* packet.{cc,hh}: privkey packets no longer exists, handle keypair
991packets instead.
992* file_io.{cc,hh}: add read_directory because tree_walker needs to
993be in the wc. add a write_data that works outside the wc.
994* Makefile.am: add keystore.{cc,hh}
995* others: update to work with new key storage
996
9972005-10-06 Matthew Gregan <kinetik@orcon.net.nz>
998
999* std_hooks.lua (merge3_emacs_cmd): Minor cleanup.
1000* std_hooks.lua: Pass '--eval' rather than '-eval' to Emacs; the
1001CVS emacsclient does not consider '-eval' as valid.
1002* platform.hh, unix/fs.cc, win32/fs.cc (rename_clobberingly): New
1003function for best-effort atomic renames. This will probably never
1004be atomic on Win32.
1005* file_io.cc (write_data_impl): Append process ID to temporary
1006file name so that multiple monotone processes operating on the
1007same working copy are less likely to clobber each other. Use
1008rename_clobberingly().
1009* ui.cc (user_interface): Allow std::cout to raise
1010ios_base::failure exceptions if stream goes bad (e.g. stream
1011receives EPIPE).
1012* monotone.cc (cpp_main): Catch ios_base::failure exceptions and
1013exit cleanly.
1014* main.cc (main_with_signal_handlers): Install handler to ignore
1015SIGPIPE.
1016* Makefile.am: Remove platform_netsync.cc references.
1017* {unix,win32}/platform_netsync.cc: Remove files.
1018* platform.hh, netsync.cc (run_netsync_protocol):
1019Remove {start,end}_platform_netsync() calls.
1020
10212005-10-04 Nathaniel Smith <njs@pobox.com>
1022
1023* monotone.texi (Automation): Document the mysterious columns of
1024numbers in 'automate inventory' output format.
1025
10262005-10-04 Matt Johnston <matt@ucc.asn.au>
1027
1028* botan/, Makefile.am: update to Botan 1.4.7
1029
10302005-10-03 Nathaniel Smith <njs@pobox.com>
1031
1032* monotone.texi (Automation): Clean up formatting and description
1033of 'automate inventory' sample output.
1034
10352005-10-02 Marcel van der Boom <marcel@hsdev.com>
1036
1037* commands.cc (CMD(checkout)): Check for non-existant checkout dir
1038earlier, so we can fail earlier.
1039
10402005-09-30 Nathaniel Smith <njs@pobox.com>
1041
1042* Makefile.am (AM_CFLAGS, AM_CXXFLAGS): Add
1043-DBOOST_SP_DISABLE_THREADS (disables thread-safe shared_ptr
1044reference counting).
1045
10462005-09-30 Nathaniel Smith <njs@pobox.com>
1047
1048* debian/README.Debian, debian/TODO.Debian: Add debian files
1049left out of repository.
1050
10512005-09-30 Nathaniel Smith <njs@pobox.com>
1052
1053* NEWS: Set date for 0.23.
1054
10552005-09-30 Nathaniel Smith <njs@pobox.com>
1056
1057* testsuite.at: Whoops, forgot to hit save. Remove
1058t_diff_changeset_bug.at.
1059
10602005-09-30 Grahame Bowland <grahame@angrygoats.net>
1061
1062* paths.cc: remove unit tests for
1063file_path_internal_from_user
1064
10652005-09-30 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1066
1067* configure.ac: only add gnu specific CFLAGS and CXXFLAGS for
1068gnu compilers
1069
10702005-09-30 Nathaniel Smith <njs@pobox.com>
1071
1072* tests/t_log_outside_working_dir.at: Fix summary line.
1073* tests/t_diff_changeset_bug.at: Remove redundant test
1074(cf. t_restricted_diff_unchanged.at).
1075
10762005-09-30 Nathaniel Smith <njs@pobox.com>
1077
1078* Makefile.am (BOTAN_SOURCES): Add botan/hash_id.h.
1079
10802005-09-30 Nathaniel Smith <njs@pobox.com>
1081
1082* NEWS: More additions (mention MM and the problems paths.cc will
1083cause for colinux folks).
1084
10852005-09-30 Nathaniel Smith <njs@pobox.com>
1086
1087* Makefile.am (MOST_SOURCES): Add hash_map.hh.
1088(BOTAN_SOURCES): Add botan/charset.h.
1089
10902005-09-29 Nathaniel Smith <njs@pobox.com>
1091
1092* NEWS: Fix typos pointed out by Matthew Gregan.
1093
10942005-09-29 Nathaniel Smith <njs@pobox.com>
1095
1096* UPGRADE, configure.ac, monotone.spec, win32/monotone.iss:
1097* debian/changelog: Bump version number.
1098
10992005-09-30 Grahame Bowland <grahame@angrygoats.net>
1100
1101* paths.hh: update file_path documentation,
1102remove file_path_internal_from_user
1103* paths.cc: remove file_path_internal_from_user
1104* commands.cc CMD(cat): change file_path_internal_from_user
1105to file_path_external
1106* tests/t_diff_outside_working_dir.at: check diff works outside
1107 of a working dir (with a file specified)
1108* tests/t_log_outside_working_dir.at: check log works outside
1109 of a working dir (with a file specified)
1110* tests/t_diff_changeset_bug.at: mysterious changeset bug
1111* testsuite.at: add new tests
1112
11132005-09-29 Nathaniel Smith <njs@pobox.com>
1114
1115* AUTHORS: Add Grahame and Marcel.
1116* NEWS: Write 0.23 entry.
1117* monotone.texi (Reserved Files): Mention in .mt-ignore docs that
1118the patterns are regexes.
1119
11202005-09-30 Grahame Bowland <grahame@angrygoats.net>
1121
1122* paths.cc (file_path::file_path): Allow external paths outside of
1123a working directory, so long as we don't enter a working directory
1124later.
1125(access_tracker) add new very_uninitialized state which
1126prevents subsequent initialization
1127(test_access_tracker) check the very_uninitialized state works
1128* paths.hh: correct mention of monotone cat file to new syntax
1129
11302005-09-29 Matthew Gregan <kinetik@orcon.net.nz>
1131
1132* paths.cc: Restore two unit tests on Win32.
1133
11342005-09-29 Richard Levitte <richard@levitte.org>
1135
1136* testsuite.at: Removed a spurious G...
1137
11382005-09-29 Matthew Gregan <kinetik@orcon.net.nz>
1139
1140* paths.cc, win32/fs.cc: Fixes to allow unit tests to pass on Win32.
1141
11422005-09-29 Marcel van der Boom <marcel@hsdev.com>
1143
1144* netsync.cc (rebuild_merkle_trees): only get matched branch
1145certs, not all of them
1146
11472005-09-28 Nathaniel Smith <njs@pobox.com>
1148
1149* tests/t_rename_diff_names.at, testsuite.at: New test.
1150
11512005-09-27 Richard Levitte <richard@levitte.org>
1152
1153* monotone.texi (Tutorial): It seems like texi2pdf gets quite
1154confused when a @chapter has a @subsection with a @section in
1155between. The resulting PDF had a Tutorial that was a indexed as a
1156subsection under Concepts/Branches instead of being indexed as the
1157chapter it is, and most confusingly, it's last subsection
1158(Branching and Merging) ended up as a a separate chapter of it's
1159own...
1160
11612005-09-27 Matt Johnston <matt@ucc.asn.au>
1162
1163* netsync.cc (ancestry_fetcher): new approach to requesting file
1164and manifest deltas and full data. Tries to be more efficient
1165for the vcache of recontstructed data, and conceptually simpler
1166
1167* tests/t_netsync_unrelated.at: passes, remove XFAIL
1168
11692005-09-26 Benoît Dejean <benoit@placenet.org>
1170
1171* database.cc: Merged 3 strings.
1172
11732005-09-26 Matt Johnston <matt@ucc.asn.au>
1174
1175* commands.cc: add 'help' command
1176* monotone.cc: add -h alias for --help
1177
11782005-09-25 Matt Johnston <matt@ucc.asn.au>
1179
1180* netsync.cc: use lexical_cast on port numbers to avoid
1181strange-looking "port 5,253"
1182
11832005-09-25 Matthew Gregan <kinetik@orcon.net.nz>
1184
1185* sqlite/*: Update in-tree SQLite from 3.2.6 to 3.2.7.
1186
11872005-09-25 Benoît Dejean <benoit@placenet.org>
1188
1189* netsync.cc: 3 more i18n strings.
1190
11912005-09-25 Benoît Dejean <benoit@placenet.org>
1192
1193* cert.cc (cert_signable_text): F() vs. boost::format.
1194* lua.cc (monotone_guess_binary_file_contents_for_lua),
1195(monotone_include_for_lua), (monotone_includedir_for_lua):
1196* rcs_import.cc (import_cvs_repo): Merged some strings.
1197
11982005-09-25 Benoît Dejean <benoit@placenet.org>
1199
1200* lua.cc (monotone_guess_binary_file_contents_for_lua):
1201Fixed signednes warning and istream usage.
1202
12032005-09-25 Matt Johnston <matt@ucc.asn.au>
1204
1205* ui.cc: fallback to the default locale if locale("") fails.
1206
12072005-09-25 Matt Johnston <matt@ucc.asn.au>
1208
1209* botan/arc4.cpp: increase maximum keylength to 256 bytes.
1210
12112005-09-24 Benoît Dejean <benoit@placenet.org>
1212
1213* ChangeLog: Fixed.
1214I don't understand how xxdiff works :/ Please help.
1215
12162005-09-24 Satoru SATOH <ss@gnome.gr.jp>
1217
1218* po/ja.po: Updated Japanese translation.
1219
12202005-09-23 Benoît Dejean <benoit@placenet.org>
1221
1222 * std_hooks.lua: More i18n strings.
1223
1224 I don't know how to handle lua
1225 "multiline" ..
1226 "strings" because gettext doesn't join them.
1227
12282005-09-22 Benoît Dejean <benoit@placenet.org>
1229
1230 * sanity.{cc,hh}: Uninlined F() and FP().
1231 This happily saves ~100KB of .text on my ppc.
1232
12332005-09-22 Benoît Dejean <benoit@placenet.org>
1234
1235* netsync.cc: Reverted changes
1236from f0a632bf14468b6e03a488d6f1a64ef18b61d04c
1237to 4f7f638954c79c54460d04c3be111acad8b26dd3
1238
12392005-09-22 Benoît Dejean <benoit@placenet.org>
1240
1241* lua.cc (monotone_gettext_for_lua): New function.
1242* po/POTFILES.in: Added std_hooks.lua.
1243* std_hooks.lua: One more string for i18n.
1244
12452005-09-22 Benoît Dejean <benoit@placenet.org>
1246
1247* ui.{cc,hh} (get_user_locale): Returns a const &.
1248
12492005-09-21 Timothy Brownawell <tbrownaw@gmail.com>
1250
1251* contrib/usher.cc: better error checking
1252
12532005-09-20 Timothy Brownawell <tbrownaw@gmail.com>
1254
1255* restrictions.cc: Make calculate_unrestricted_revision work
1256with --exclude
1257* tests/t_restriction_with_exclude_iprint.at: remove XFAIL
1258
12592005-09-20 Patrick Mauritz <oxygene@studentenbude.ath.cx>
1260
1261* configure.ac: solaris needs librt for fdatasync
1262* sqlite/parse.c: #line and #include interactions aren't defined
1263
12642005-09-20 Matt Johnston <matt@ucc.asn.au>
1265
1266* database.cc (space_usage): workaround the issue that in sqlite
12673.2.6, SUM({empty set}) returns NULL. (this is part of the sql spec,
1268see http://www.sqlite.org/cvstrac/tktview?tn=1413 and the comment for
1269SUM() in sqlite docs).
1270
12712005-09-20 Matt Johnston <matt@ucc.asn.au>
1272
1273* ui.cc, ui.hh, sanity.hh: replace ui.user_locale with
1274get_user_locale(), so that we can guarantee that it will be
1275initialised when the global_sanity object (and probably other things)
1276are instantiated.
1277
12782005-09-20 Matthew Gregan <kinetik@orcon.net.nz>
1279
1280* tests/t_restriction_with_exclude_iprint.at: New test, variant of
1281t_restriction_exclude.at, but with inodeprints enabled. Mark as
1282XFAILed.
1283* testsuite.at: Add new test.
1284* sqlite/*: Update in-tree SQLite from 3.2.2 to 3.2.6.
1285* Makefile.am: Add sqlite/{analyze,vbdefifo,complete}.c to
1286SQLITE_SOURCES
1287* schema_migration.cc (calculate_schema_id): Explicitly exclude
1288sqlite_stat1 table from schema ID calculation. This is a new
1289magic table created by the 'analyze' command in SQLite >= 3.2.3.
1290
12912005-09-18 Nathaniel Smith <njs@pobox.com>
1292
1293* po/ja.po: New translation from Satoru SATOH <ss@gnome.gr.jp>.
1294* AUTHORS: Add Satoru SATOH.
1295
12962005-09-18 Matthew Gregan <kinetik@orcon.net.nz>
1297
1298* testsuite.at: Tweak default 'eveything' netsync glob to
1299something that works around the MinGW/Win32 globbing issues for
1300now.
1301* tests/t_log_brief.at: Canonicalise output on Win32.
1302
13032005-09-17 Timothy Brownawell <tbrownaw@gmail.com>
1304
1305* contrib/usher.cc: Remove stray "new int[2];' statements from
1306debugging. Remove connections from list when finished.
1307
13082005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
1309
1310* Makefile.am (EXTRA_DIST): add contrib/monotone-cvs-ignore.lua,
1311contrib/ciabot_monotone_hookversion.py, and contrib/usher.cc .
1312also remove duplicate of contrib/monoprof.sh
1313
13142005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
1315
1316* netsync.cc: finish renaming things, so it compiles again...
1317
13182005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
1319
1320* contrib/usher.cc: A simple usher/proxy server. It asks connecting
1321clients for their include pattern, and then forwards the connection
1322to an appropriate (as given in a config file) monotone server. Note
1323that all servers operating behind one usher need to have the same
1324server key.
1325
13262005-09-16 Timothy Brownawell <tbrownaw@gmail.com>
1327
1328* netcmd.{cc,hh}, netsync.cc: new netcmd types: usher_cmd and
1329usher_reply_cmd. They are not included in the HMAC, and do not
1330occur during normal communication. Purpose: running multiple servers
1331from the same port. This allows a special server to ask for the
1332client's include pattern, and then forward the connection to a real
1333monotone server.
1334
13352005-09-16 Matt Johnston <matt@ucc.asn.au>
1336
1337* botan/pkcs8.cpp: re-add the monotone-specific code for guessing if
1338a key is DER encoded or not.
1339
13402005-09-16 Matt Johnston <matt@ucc.asn.au>
1341
1342* botan/*: update to Botan 1.4.6
1343* Makefile.am: ditto
1344
13452005-09-15 Timothy Brownawell <tbrownaw@gmail.com>
1346
1347* app_state.{cc,hh}: restrictions now understand --exclude
1348* commands.cc: commit and revert now take OPT_EXCLUDE
1349* monotone.cc: update description of --exclude
1350* tests/t_restriction_with_exclude.at: new test
1351* testsuite.at: add it
1352
13532005-09-14 Timothy Brownawell <tbrownaw@gmail.com>
1354
1355* contrib/ciabot_monotone_hookversion.py: CIA bot client script
1356meant to be called from the note_netsync_revision_received hook.
1357* lua.{cc,hh}: hook_note_commit and hook_note_netsync_revision_received
1358now take the text of the revision as an argument.
1359* netsync.cc, commands.cc: Give hooks new argument.
1360* monotone.texi: Update documentation for those hooks.
1361
13622005-09-11 Benoît Dejean <benoit@placenet.org>
1363
1364* database.cc
1365* database_check.cc
1366* netsync.cc
1367* po/POTFILES.in
1368* po/POTFILES.skip
1369* rcs_import.cc: More i18n strings.
1370
13712005-09-07 Jim Meyering <jim@meyering.net>
1372
1373* tests/t_rename_dir_cross_level.at: When invoking mv to rename
1374a directory, do not include a trailing slash on the target -- that
1375is not portable.
1376
1377* Makefile.am (TESTS_ENVIRONMENT): Ensure that PATH starts with
1378the current directory, so we test the just-built monotone binary,
1379not some older version.
1380
13812005-09-07 Benoît Dejean <benoit@placenet.org>
1382
1383* std_hooks.lua: Don't spawn emacs with '-no-init-file'.
1384
13852005-09-09 Matthew Gregan <kinetik@orcon.net.nz>
1386
1387* paths.cc (save_initial_path): Default Boost's fs::path to
1388fs::native grammar.
1389* tests/t_unreadable_{db,MT}.at: Disable on Win32 for now.
1390* paths.cc: Consistency--use WIN32 rather than _WIN32.
1391* file_io.cc (walk_tree): Correct test for file existence.
1392
13932005-09-08 Matthew Gregan <kinetik@orcon.net.nz>
1394
1395* Makefile.am: Add '-f' argument to 'mv'; avoids build waiting on
1396 user confirmation in some cases.
1397
13982005-09-08 Nathaniel Smith <njs@pobox.com>
1399
1400* monotone.texi (Certificates): Remove mention of fcerts and
1401mcerts.
1402
14032005-09-07 Benoît Dejean <benoit@placenet.org>
1404
1405* ui.{cc,hh}: Added user_inferface::user_locale.
1406* sanity.hh: Made F() and FP() locale aware.
1407
14082005-09-06 Benoît Dejean <benoit@placenet.org>
1409
1410* monotone.cc: One more i18n string.
1411
14122005-09-06 Benoît Dejean <benoit@placenet.org>
1413
1414* po/fr.po: Updated French translation.
1415
14162005-09-06 Benoît Dejean <benoit@placenet.org>
1417
1418* commands.cc: No i18n for cert_revision_changelog.
1419
14202005-09-06 Matthew Gregan <kinetik@orcon.net.nz>
1421
1422* tests/t_netsync_read_permissions.at: Tweak tests so we aren't
1423trying to serve a bare '*'; works around test hangs due to glob
1424expansion sillyness on MinGW.
1425* tests/t_netsync_globs.at: Ditto.
1426* tests/t_netsync_exclude.at: Ditto.
1427* std_hooks.lua (ignore_file): Add Mac OS X (.DS_Store) and
1428Windows (desktop.ini) per-directory browser configuration files.
1429
1430
14312005-09-05 Benoît Dejean <benoit@placenet.org>
1432
1433* commands.cc: Fixed some strings (added ' around revisions).
1434Removed some whitespaces.
1435No i18n in diff output.
1436
14372005-09-05 Benoît Dejean <benoit@placenet.org>
1438
1439* sanity.{cc,hh}: boost::format vs. F(). Merged boost::format
1440and moved non-template code to sanity.cc.
1441
14422005-09-05 Matthew Gregan <kinetik@orcon.net.nz>
1443
1444* win32/terminal.cc (have_smart_terminal): We were returning false
1445in almost all circumstances; changed logic so that we at least
1446work when running in a cmd.exe window.
1447
14482005-09-05 Matt Johnston <matt@ucc.asn.au>
1449
1450* commands.cc (dump_diffs): don't use the terminal width to
1451print ===== seperators.
1452
14532005-09-05 Matthew Gregan <kinetik@orcon.net.nz>
1454
1455* paths.cc (find_and_go_to_working_copy): Create root and bookdir
1456paths as fs::native.
1457* main.cc: Tweak #ifdef to avoid exposing some unused SEH handling
1458on MinGW.
1459* configure.ac: Minor cleanup to Win32 configure test.
1460
14612005-09-04 Nathaniel Smith <njs@pobox.com>
1462
1463* monotone.cc (options): Remove default from the help string for
1464--count, since none of the options listed are actually the
1465default.
1466
14672005-09-04 Nathaniel Smith <njs@pobox.com>
1468
1469* tests/t_unreadable_db.at, testsuite.at: New test.
1470
14712005-09-03 Nathaniel Smith <njs@pobox.com>
1472
1473* po/Makevars (XGETTEXT_OPTIONS): N_ != ngettext.
1474Add c-format flags on F() and FP() calls (only partially
1475successful on latter, because of bug in xgettext).
1476
14772005-09-04 Grahame Bowland <grahame@angrygoats.net>
1478
1479* commands.cc: siplify the monotone cat command
1480to "monotone cat [-r] FIELNAME" (as in bug #12597)
1481* monotone.texi: update documentation of "monotone cat"
1482* tests/t_add_edge.at, tests/t_cat_file_by_name.at,
1483tests/t_change_empty_file.at, tests/t_cvsimport.at,
1484tests/t_cvsimport_deleted_invar.at, tests/t_cvsimport_drepper.at,
1485tests/t_cvsimport_drepper2.at, tests/t_cvsimport_manifest_cycle.at,
1486tests/t_cvsimport_samelog.at, tests/t_database_check.at,
1487tests/t_db_kill_rev_locally.at, tests/t_empty_id_completion.at,
1488tests/t_epoch.at, tests/t_epoch_server.at, tests/t_erename.at,
1489tests/t_i18n_file.at, tests/t_import.at, tests/t_merge_add_del.at,
1490tests/t_movedel.at, tests/t_movepatch.at, tests/t_netsync.at,
1491tests/t_netsync_exclude.at, tests/t_netsync_exclude_default.at,
1492tests/t_netsync_globs.at, tests/t_netsync_nocerts.at,
1493tests/t_netsync_permissions.at, tests/t_netsync_read_permissions.at,
1494tests/t_netsync_single.at, tests/t_normalized_filenames.at,
1495tests/t_persistent_server_revision.at, tests/t_remerge.at,
1496tests/t_rename.at, tests/t_renamed.at, tests/t_scan.at,
1497tests/t_set_default.at, tests/t_singlecvs.at,
1498tests/t_update_with_pending_add.at, tests/t_update_with_pending_drop.at,
1499tests/t_update_with_pending_rename.at, tests/t_versions.at:
1500use automation interface rather than "monotone cat"
1501
15022005-09-04 Grahame Bowland <grahame@angrygoats.net>
1503
1504* ChangeLog: fix up screwed up three-way merge
1505
15062005-09-04 Grahame Bowland <grahame@angrygoats.net>
1507
1508* automate.cc, commands.cc: add "automate get_file",
1509"automate get_revision" and "automate get_manifest" to
1510automation interface.
1511* monotone.texi: document new automation commands
1512* tests/t_automate_get_file.at, tests/t_automate_get_revision_at,
1513tests/t_automate_get_manifest.at: trivial testing of new
1514automation commands for output as specified, make sure they
1515do not complete IDs, make sure invalid IDs are caught.
1516* testsuite.at: add new tests
1517
15182005-09-03 Matthew Gregan <kinetik@orcon.net.nz>
1519
1520* tests/t_persistent_server_keys_2.at: 'commit' needs a commit
1521message. Un-XFAIL.
1522* tests/t_netsync_unrelated.at: Fix 'setup' syntax.
1523* tests/t_add_vs_commit.at: BASE_REVISION needs to be in the root
1524of a working copy to work. Un-XFAIL.
1525* tests/t_add_stomp_file.at: 'add' does not take a --branch
1526argument. BASE_REVISION needs to be in the root of a working copy
1527to work.
1528* annotate.cc (build_parent_lineage): Don't access uninitialized
1529memory--use resize() rather than reserve().
1530
15312005-09-02 Matthew Gregan <kinetik@orcon.net.nz>
1532
1533* monotone.cc: Use consistent case in option descriptions.
1534
15352005-09-02 Nathaniel Smith <njs@pobox.com>
1536
1537* paths.{hh,cc}: Add split_path typedef. Use it.
1538
15392005-09-02 Matt Johnston <matt@ucc.asn.au>
1540
1541* lua.cc (monotone_guess_binary_file_contents_for_lua): use a
1542temporary char* buffer rather than &string[], extra copying seems
1543to have negligible performance impact.
1544* tests/perf-test.sh: change path from tests/ to contrib/, make
1545executable.
1546* tests/parse-accounting.pl: make executable.
1547
15482005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
1549
1550* lua.cc, std_hooks.lua: use proper regexes for .mt-ignore
1551taken from a patch from Martin Dvorak
1552* contrib/monotone-cvs-ignore.lua: New file, from the same patch.
1553supports .cvsignore files
1554* tests/t_mt_ignore.at: check that a missing .mt-ignore
1555doesn't cause problems
1556
15572005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
1558
1559* tests/t_mt_ignore.at: use RAW_MONOTONE instead of ugly --rcfile
1560Also actually do "mtn add" this time.
1561
15622005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
1563
1564* tests/t_mt_ignore.at: new test, checks that .mt-ignore works
1565* testsuite.at: add it
1566
15672005-09-01 Timothy Brownawell <tbrownaw@gmail.com>
1568
1569* std_hooks.lua: support .mt-ignore
1570* monotone.texi: mention .mt-ignore and MT/wanted-testresults under
1571"Existing control files"
1572* .mt-ignore: ignore testsuite.dir
1573
15742005-09-03 Benoît Dejean <benoit@placenet.org>
1575
1576* commands.cc (ls_certs):
1577* netsync.cc (load_data): Merged strings.
1578
15792005-09-01 Benoît Dejean <benoit@placenet.org>
1580
1581* commands.cc: Merged one more "no such revision '%s'" string.
1582
15832005-09-01 Benoît Dejean <benoit@placenet.org>
1584
1585* commands.cc: Merged all "no such revision '%s'" strings.
1586(string_to_datetime): Merged catch blocks in order to merge error
1587messages.
1588
15892005-09-01 Benoît Dejean <benoit@placenet.org>
1590
1591* ChangeLog: Fixed.
1592
15932005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
1594
1595* ui.cc (user_interface): Avoid calling sync_with_stdio(false) on
1596Win32 for now to work around a bug in MinGW where unsynchronized
1597std::cin returns EOF earlier when reading a stream with DOS
1598newlines. Resolves 'db load' failure reported by Howard Spindel.
1599* database.cc (load): Don't bother executing an empty string.
1600* commands.cc (ALIAS(import, setup)): Remove alias.
1601
16022005-09-01 Matt Johnston <matt@ucc.asn.au>
1603
1604* schema.sql: add BEGIN, COMMIT to make it a single transaction,
1605improves db init performance significantly on OS X (avoids many
1606disk-cache flushes).
1607
16082005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
1609
1610* testsuite.at: Increase entropy used to generate port numbers
1611where we can and increase range of port numbers generated.
1612* monotone.texi: Fix a couple of minor typos.
1613
16142005-09-01 Matthew Gregan <kinetik@orcon.net.nz>
1615
1616* monotone.texi: Update 'setup' documentation and tutorial to
1617reflect new usage. Also update much of the monotone output in the
1618tutorials to reflect the output of more modern versions of
1619monotone. Correct some minor errors and typos while here.
1620* commands.cc (CMD(setup)): Require database and branch arguments.
1621(ALIAS(import,setup)): Add setup alias.
1622* testsuite.at, tests/*.at: Update 'setup' usage.
1623
16242005-08-31 Richard Levitte <richard@levitte.org>
1625
1626* lua.cc, std_hooks.lua: Rename
1627monotone_guess_binary_filename_for_lua and guess_binary_filename
1628to monotone_guess_binary_file_contents_for_lua and
1629guess_binary_file_contents.
1630
16312005-08-31 Benoît Dejean <benoit@placenet.org>
1632
1633* basic_io.cc (basic_io::input_source::err): Merged strings.
1634
16352005-08-31 Nathaniel Smith <njs@pobox.com>
1636
1637* file_io.cc (set_char_is_binary, guess_binary): static_cast chars
1638to uint8_t before using as array indices. Also replace some ints
1639with size_t's to quiet g++ warnings.
1640
16412005-08-30 Benoît Dejean <benoit@placenet.org>
1642
1643In function void set_char_is_binary(char, bool)
1644133: warning: array subscript has type char
1645In function void init_char_is_binary()
1646147: warning: comparison between signed and unsigned integer expressions
1647In function bool guess_binary(const std::string&)
1648160: warning: comparison between signed and unsigned integer expressions
1649162: warning: array subscript has type char
1650
16512005-08-30 Benoît Dejean <benoit@placenet.org>
1652
1653* file_io.cc (walk_tree): Fixed format.
1654
16552005-08-31 Marcel van der Boom <marcel@hsdev.com>
1656
1657* std_hooks.lua (execute_confirm): New function.
1658(merge2_opendiff_cmd, merge3_opendiff_cmd): Add.
1659
16602005-08-31 Matthew Gregan <kinetik@orcon.net.nz>
1661
1662* paths.cc (test_bookkeeping_path, test_system_path): Second
1663attempt at compile fixes; this time the unit tests actually pass
1664too.
1665
16662005-08-30 Matthew Gregan <kinetik@orcon.net.nz>
1667
1668* paths.cc (test_bookkeeping_path, test_system_path): Shift object
1669instantiation around a little to work around what seems to be a
1670bug in the gcc 3.3 parser.
1671* win32/inodeprint.cc (inodeprint_file): Update to use new path
1672handling code.
1673* win32/fs.cc (tilde_expand): Compile fix.
1674
16752005-08-30 Petr Baudis <pasky@suse.cz>
1676
1677* std_hooks.lua: Simple support for merging using merge(1) and vim.
1678
16792005-08-30 Benoît Dejean <benoit@placenet.org>
1680
1681* po/fr.po: Updated French translation.
1682
16832005-08-30 Benoît Dejean <benoit@placenet.org>
1684
1685* commands.cc: Merged some error messages.
1686
16872005-08-30 Benoît Dejean <benoit@placenet.org>
1688
1689* commands.cc: Merged complete(..., file_id) and
1690complete(..., manifest_id) into template complete(..., ID).
1691
16922005-08-30 Benoît Dejean <benoit@placenet.org>
1693
1694* commands.cc (ls_certs): Reworked for i18n.
1695(CMD(commit)): Merged 2 strings.
1696
16972005-08-30 Matthew Gregan <kinetik@orcon.net.nz>
1698
1699* revision.cc (ensure_parents_loaded): Don't reuse an iterator
1700after we've invalidated it. Fixes 'diff' crash reported by Howard
1701Spindel.
1702
17032005-08-30 Matt Johnston <matt@ucc.asn.au>
1704
1705* botan/allocate.cpp: avoid string comparison when looking up the
1706default allocator
1707* monotone.cc (cpp_main): set a default allocator
1708
17092005-08-28 Nathaniel Smith <njs@pobox.com>
1710
1711* tests/t_attributes.at: Delete checkout dir in between
1712checkouts.
1713
17142005-08-28 Matt Johnston <matt@ucc.asn.au>
1715
1716* keys.cc (keys_match): new function to compare whether two keys
1717match (ignoring whitespace as the database does, etc).
1718* packet.cc, keys.cc: use it for existing-key-comparison.
1719
17202005-08-27 Nathaniel Smith <njs@pobox.com>
1721
1722* commands.cc (checkout): Special-case "checkout ."
1723* tests/t_checkout_dir.at: Test it.
1724
17252005-08-26 Nathaniel Smith <njs@pobox.com>
1726
1727* file_io.hh: Remove comment describing old path types.
1728* paths.hh: Add comment describing new path types.
1729
17302005-08-26 Nathaniel Smith <njs@pobox.com>
1731
1732* app_state.cc (create_working_copy): Remove
1733fs::filesystem_exception catching.
1734* file_io.hh (mkdir_p): Remove comment noting app_state.cc's
1735dependence on a boost-based implementation.
1736
17372005-08-26 Nathaniel Smith <njs@pobox.com>
1738
1739* paths.cc: Include <string>. Helps build on g++ 3.3?
1740
17412005-08-26 Nathaniel Smith <njs@pobox.com>
1742
1743* commands.cc (get_log_message): Make the log message commentary a
1744little more descriptive for people who may not know what a log
1745message is...
1746(commit): When canceling a commit due to empty log message, say
1747so.
1748
17492005-08-26 Nathaniel Smith <njs@pobox.com>
1750
1751* std_hooks.lua: Check for both "vi" and "notepad.exe" as fallback
1752editors. If no editor was found, print a helpful message instead
1753of just running "vi" anyway. Print a message if the editor exited
1754with error.
1755
17562005-08-26 Nathaniel Smith <njs@pobox.com>
1757
1758* file_io.cc (mkdir_p, make_dir_for): Increase error checking.
1759* commands.cc (checkout): Make sure that checkout target directory
1760does not already exist. Also use system_path more uniformly.
1761* tests/t_checkout_dir.at: Test.
1762* tests/t_setup_existing_path.at: New test.
1763
17642005-08-26 Nathaniel Smith <njs@pobox.com>
1765
1766* commands.cc (read): Optionally take files on command line.
1767* tests/t_read_from_file.at, testsuite.at: New test.
1768* monotone.texi (Network Service): Show Jim using this.
1769(Packet I/O, Commands): Document.
1770* monotone.1: Likewise.
1771
17722005-08-26 Nathaniel Smith <njs@pobox.com>
1773
1774* change_set.cc (move_files_from_tmp_top_down): Typo again.
1775
17762005-08-26 Nathaniel Smith <njs@pobox.com>
1777
1778* database.cc (open): Convert stray line to paths.cc.
1779
17802005-08-26 Nathaniel Smith <njs@pobox.com>
1781
1782* change_set.cc (move_files_from_tmp_top_down): Typo.
1783
1784* file_io.cc (move_path): New function.
1785(move_file, move_dir): Minor cleanup -- use
1786require_path_is_nonexistent.
1787
1788* work.cc (build_deletions): Use delete_file, rather than unlink.
1789If file is already non-existent, do nothing.
1790(build_rename): Use move_path, rather than rename. If file
1791already appears to have been renamed, do nothing.
1792
17932005-08-26 Nathaniel Smith <njs@pobox.com>
1794
1795* app_state.cc (allow_working_copy): Make logging more sensible.
1796
17972005-08-26 Nathaniel Smith <njs@pobox.com>
1798
1799* transforms.cc (length):
1800* database.cc (sql, load, open):
1801* commands.cc (rename, attr):
1802* change_set.cc (move_files_to_tmp_bottom_up)
1803(move_files_from_tmp_top_down): Merge fixups.
1804
18052005-08-26 Nathaniel Smith <njs@pobox.com>
1806
1807* database_check.cc: Track and report on manifest and revision
1808parseability.
1809* tests/t_database_check_normalized.at: Update to expect "not
1810parseable" messages rather than "not normalized" messages.
1811All tests pass.
1812
18132005-08-26 Nathaniel Smith <njs@pobox.com>
1814
1815* tests/t_unreadable_MT.at: This test was called "do not fail on
1816unreadable MT/options". I do not know why we wanted such
1817behavior. I am making it "fail cleanly on unreadable
1818MT/options".
1819
18202005-08-26 Nathaniel Smith <njs@pobox.com>
1821
1822* paths.cc (check_fp_normalizes_to, test_file_path_internal):
1823Oops, there were more places testing for non-brokenness; break
1824them too.
1825
18262005-08-26 Nathaniel Smith <njs@pobox.com>
1827
1828* paths.cc (test_split_join): Test that you cannot create a path
1829in MT by joining.
1830(file_path): Implement it.
1831(split): Break, to match broken behavior of old splitter (easier
1832than fixing change_set.cc...)
1833(file_path_internal): Test for brokenness accordingly.
1834
18352005-08-26 Nathaniel Smith <njs@pobox.com>
1836
1837* commands.cc (cat): Hack so that 'cat file REV PATH' works
1838correctly both inside and outside of working copy, interpreting
1839path slightly differently in each case.
1840
18412005-08-26 Nathaniel Smith <njs@pobox.com>
1842
1843* tests/t_normalized_filenames.at: Internal unnormalized pathnames
1844are no longer silently normalized, but rather a hard error.
1845Adjust test accordingly.
1846
18472005-08-26 Nathaniel Smith <njs@pobox.com>
1848
1849* paths.hh (file_path_internal_from_user): New constructor.
1850* paths.cc (test_file_path_internal): Test it.
1851(file_path::file_path): Implement it.
1852* commands.cc (cat): Use it to create/validate passed in
1853filenames.
1854
18552005-08-26 Nathaniel Smith <njs@pobox.com>
1856
1857* paths.cc (test_system_path): Require that system_path normalize
1858out ..'s.
1859(system_path): Do so.
1860
18612005-08-26 Nathaniel Smith <njs@pobox.com>
1862
1863* work.cc (build_additions): Remove redundant (and now wrong)
1864code.
1865Test 53 now passes.
1866
18672005-08-26 Nathaniel Smith <njs@pobox.com>
1868
1869* file_io.cc (make_dir_for): Oops, this doesn't need a
1870fs::native.
1871Test 37 now passes.
1872
18732005-08-26 Nathaniel Smith <njs@pobox.com>
1874
1875* file_io.cc (mkdir): New function. Now with extra brain-eating
1876power.
1877(mkdir_p, make_dir_for, delete_file, delete_dir_recursive)
1878(move_file, move_dir, write_data_impl): Use it, to make all
1879fs::path's native and disable boost's random rejection of paths.
1880
18812005-08-26 Nathaniel Smith <njs@pobox.com>
1882
1883* paths.cc (test_file_path_external_prefix_a_b)
1884(test_file_path_external_no_prefix, test_file_path_internal): Test
1885for validity of more strange characters (,+@*%#$=).
1886
18872005-08-26 Nathaniel Smith <njs@pobox.com>
1888
1889* file_io.cc (ident_existing_file): Remove accidentally-left-in
1890code. Test 26 now passes.
1891* lua.cc (monotone_includedir_for_lua, load_rcfile): Add
1892fs::native's.
1893
18942005-08-25 Nathaniel Smith <njs@pobox.com>
1895
1896* paths.hh (system_path::system_path): Add new boolean argument
1897controlling some access_tracker behavior.
1898* app_state.cc (allow_working_copy): Use it.
1899* paths.cc (system_path): Implement it.
1900(test_system_path): Test it.
1901
19022005-08-25 Nathaniel Smith <njs@pobox.com>
1903
1904* file_io.cc (walk_tree): Return properly.
1905
19062005-08-25 Nathaniel Smith <njs@pobox.com>
1907
1908* paths.cc (test_file_path_internal): Add tests for
1909file_path.empty().
1910* file_io.cc (walk_tree_recursive): Add explicit fs::native.
1911
19122005-08-25 Nathaniel Smith <njs@pobox.com>
1913
1914* paths.cc: Many small changes. Unit tests now pass. 72
1915unexpected autotest failures.
1916
19172005-08-25 Nathaniel Smith <njs@pobox.com>
1918
1919* paths.cc (file_path): Fix up error reporting in external path
1920normalization.
1921(test_file_path_external_no_prefix): "" is always an invalid
1922path.
1923
19242005-08-25 Nathaniel Smith <njs@pobox.com>
1925
1926* database.cc (sql): Only check schema version when db actually
1927exists.
1928
19292005-08-25 Nathaniel Smith <njs@pobox.com>
1930
1931* file_io.cc (read_data_for_command_line): We are given a
1932system_path.
1933
19342005-08-25 Nathaniel Smith <njs@pobox.com>
1935
1936* paths.cc: Fix all unit test failures, except for two mysterious
1937boost::too_few_args exceptions.
1938
19392005-08-25 Nathaniel Smith <njs@pobox.com>
1940
1941* paths.cc, unix/fs.cc: Many, many fixes and some new tests too.
1942
19432005-08-25 Nathaniel Smith <njs@pobox.com>
1944
1945* paths.cc (struct access_tracker): Doh, initializer should set
1946'initialized'...
1947(test_file_path_internal): It's valid for a split file
1948to have a null component if the file is "".
1949
19502005-08-25 Nathaniel Smith <njs@pobox.com>
1951
1952* paths.cc (in_bookkeeping_dir): Last change didn't work out so
1953well; let's remove some negatives and see if I can understand what
1954the code does this way...
1955
19562005-08-25 Nathaniel Smith <njs@pobox.com>
1957
1958* paths.cc (not_in_bookkeeping_dir): Handle "MT" case.
1959Update tests to make sure it sticks...
1960
19612005-08-25 Nathaniel Smith <njs@pobox.com>
1962
1963* unit_tests.{cc,hh} (init_unit_test_suite): Remove
1964path_component_tests.
1965* unix/fs.cc (tilde_expand): Another compile fix.
1966
19672005-08-25 Nathaniel Smith <njs@pobox.com>
1968
1969* {unix,win32}/fs.cc: Misc. compile fixes.
1970
19712005-08-25 Nathaniel Smith <njs@pobox.com>
1972
1973* Makefile.am (UNIX_PLATFORM_SOURCES): Add unix/fs.cc
1974(WIN32_PLATFORM_SOURCES): Add win32/fs.cc
1975* paths.hh (bookkeeping_path): Implement default constructor.
1976
19772005-08-25 Nathaniel Smith <njs@pobox.com>
1978
1979* rcs_import.cc (import_cvs_repo):
1980* lua.cc (default_rcfilename):
1981* diff_patch.cc (get_version): Small compile fixes.
1982
19832005-08-25 Nathaniel Smith <njs@pobox.com>
1984
1985* paths.{cc,hh} (is_bookkeeping_path): New static method.
1986* file_io.cc (walk_tree_recursive): Use it. Now compiles.
1987paths.cc and file_io.cc now compile.
1988
19892005-08-25 Nathaniel Smith <njs@pobox.com>
1990
1991* file_io.cc (delete_dir_recursive): Implement.
1992Misc. compile fixes.
1993
19942005-08-25 Nathaniel Smith <njs@pobox.com>
1995
1996* file_io.cc (test_book_keeping_file): Remove.
1997
19982005-08-25 Nathaniel Smith <njs@pobox.com>
1999
2000* file_io.cc (walk_tree_recursive, walk_tree): Implement.
2001
20022005-08-25 Nathaniel Smith <njs@pobox.com>
2003
2004* paths.cc (const_system_path): Do tilde expansion.
2005
20062005-08-25 Nathaniel Smith <njs@pobox.com>
2007
2008* file_io.cc (read_localized_data, read_data_for_command_line)
2009(write_localized_data, write_data, write_data_impl): Implement.
2010
20112005-08-25 Nathaniel Smith <njs@pobox.com>
2012
2013* file_io.cc (read_data): Implement. Remove the base64<gzip<>>
2014versions.
2015
20162005-08-25 Nathaniel Smith <njs@pobox.com>
2017
2018* file_io.cc (move_file, move_dir): Implement.
2019
20202005-08-25 Nathaniel Smith <njs@pobox.com>
2021
2022* file_io.cc (assert_path_is_nonexistent, assert_path_is_file)
2023(assert_path_is_directory, require_path_is_nonexistent)
2024(require_path_is_file, require_path_is_directory)
2025(ident_existing_file, mkdir_p, make_dir_for, delete_file)
2026(delete_dir_recursive): Implement.
2027
20282005-08-25 Nathaniel Smith <njs@pobox.com>
2029
2030* Audit uses of 'file_exists', because its semantics have changed;
2031it now checks to see if a path exists and is a regular file,
2032rather than that it simply exists. A fair amount of code already
2033thought it meant that... other places now use 'path_exists'.
2034
20352005-08-25 Nathaniel Smith <njs@pobox.com>
2036
2037* file_io.cc (path_exists, directory_exists, file_exists):
2038Implement.
2039
20402005-08-25 Nathaniel Smith <njs@pobox.com>
2041
2042* platform.hh (get_path_status): New function.
2043* unix/fs.cc (get_path_status): Implement.
2044* win32/fs.cc (get_path_status): Implement inefficiently (does
2045win32 have stat?)
2046
20472005-08-25 Nathaniel Smith <njs@pobox.com>
2048
2049* file_io.cc (get_homedir, tilde_expand, book_keeping_file)
2050(book_keeping_dir): Remove.
2051
20522005-08-25 Nathaniel Smith <njs@pobox.com>
2053
2054* platform.hh (get_homedir): New function.
2055* {win32,unix}/fs.cc (get_homedir): Expose.
2056
20572005-08-25 Nathaniel Smith <njs@pobox.com>
2058
2059* Minor compile fixes.
2060
20612005-08-25 Nathaniel Smith <njs@pobox.com>
2062
2063* platform.hh (tilde_expand): New function.
2064* win32/fs.cc, unix/fs.cc: Implement it.
2065
20662005-08-25 Nathaniel Smith <njs@pobox.com>
2067
2068* paths.cc: Many more fixes. Now compiles with and without unit
2069tests.
2070
20712005-08-25 Nathaniel Smith <njs@pobox.com>
2072
2073* paths.cc: Lots of compile fixes for unit tests.
2074Add a test for access_tracker.
2075
20762005-08-25 Nathaniel Smith <njs@pobox.com>
2077
2078* paths.cc: Many fixes. Now compiles.
2079
20802005-08-25 Nathaniel Smith <njs@pobox.com>
2081
2082* paths.cc (system_path): Implement.
2083
20842005-08-24 Nathaniel Smith <njs@pobox.com>
2085
2086* paths.cc (fully_normalized_path): Use find_first_of.
2087
20882005-08-24 Nathaniel Smith <njs@pobox.com>
2089
2090* paths.cc (find_and_go_to_working_copy, save_initial_path)
2091(go_to_working_copy): Use new checked structure.
2092(operator <<): Make sure we can log our access_tracked values
2093without marking them as used.
2094
20952005-08-24 Nathaniel Smith <njs@pobox.com>
2096
2097* paths.cc (struct access_tracker): Add invariant checking on
2098lifetime usage of path roots.
2099
21002005-08-24 Nathaniel Smith <njs@pobox.com>
2101
2102* paths.hh (any_path::operator =): return *this.
2103
21042005-08-24 Nathaniel Smith <njs@pobox.com>
2105
2106* paths.{cc,hh}: More fixes.
2107
21082005-08-24 Nathaniel Smith <njs@pobox.com>
2109
2110* paths.{cc,hh}: Reorganize a bit. Implement file_path and
2111bookkeeping_path.
2112
21132005-08-24 Nathaniel Smith <njs@pobox.com>
2114
2115* paths.cc (file_path): Implement basic constructor.
2116Misc compile fixes.
2117Add single-character names to tests.
2118
21192005-08-24 Nathaniel Smith <njs@pobox.com>
2120
2121* paths.cc (go_to_working_copy): New function. Implement.
2122* app_state.cc (create_working_copy): Adjust accordingly.
2123
21242005-08-24 Nathaniel Smith <njs@pobox.com>
2125
2126* paths.cc (find_and_go_to_working_copy): Implement.
2127* app_state.cc (allow_working_copy): Adjust accordingly.
2128(relative_directory): Remove.
2129* file_io.cc (find_working_copy): Remove.
2130
21312005-08-24 Nathaniel Smith <njs@pobox.com>
2132
2133* paths.cc (save_initial_path): Update for previous changes.
2134
21352005-08-24 Nathaniel Smith <njs@pobox.com>
2136
2137* paths.cc (test_system_path): Add tests for the
2138from-any_path constructor. Add test for "~foo" handling.
2139Start cleaning up path roots.
2140* platform.hh: Note that get_current_working_dir() is
2141charset-broken (i.e., operations started inside non-utf8
2142directories are probably broken).
2143
21442005-08-24 Nathaniel Smith <njs@pobox.com>
2145
2146* app_state.cc (allow_working_copy):
2147* change_set.cc (print_insane_change_set): Two more small compile
2148fixes.
2149All remaining compile errors are localized to unimplemented
2150paths.cc/file_io.cc functionality.
2151
21522005-08-24 Nathaniel Smith <njs@pobox.com>
2153
2154* database.cc (initialize): Missing ;.
2155
21562005-08-24 Nathaniel Smith <njs@pobox.com>
2157
2158* monotone.cc (cpp_main): Handle message_file right.
2159
21602005-08-24 Nathaniel Smith <njs@pobox.com>
2161
2162* change_set.cc (print_insane_path_rearrangement):
2163* database.cc (initialize):
2164* monotone.cc (cpp_main): More small compile fixes.
2165
21662005-08-24 Nathaniel Smith <njs@pobox.com>
2167
2168* file_io.hh
2169({assert,require}_path_is_{nonexistent,file,directory}): New
2170functions.
2171Use them everywhere.
2172
21732005-08-24 Nathaniel Smith <njs@pobox.com>
2174
2175* basic_io.hh: #include "paths.hh".
2176* monotone.cc (add_rcfile): Remove obsolete absolutification, etc.
2177
21782005-08-24 Nathaniel Smith <njs@pobox.com>
2179
2180* paths.hh (system_path): Add a from-any_path constructor.
2181* Makefile.am (MOST_SOURCES): Remove path_component.{cc,hh}.
2182* basic_io.hh (push_file_pair): New method.
2183* change_set.cc (print_insane_change_set)
2184(print_insane_path_rearrangement): Use it.
2185
21862005-08-24 Nathaniel Smith <njs@pobox.com>
2187
2188* paths.hh (any_path::as_internal): On second thought, return a
2189std::string, not a utf8 -- utf8 would be better, but should wait
2190for some more general charset handling cleanup.
2191* Adjust other files accordingly.
2192
21932005-08-24 Nathaniel Smith <njs@pobox.com>
2194
2195* More compile fixes. All remaing compile errors are real
2196problems, yay.
2197
21982005-08-24 Nathaniel Smith <njs@pobox.com>
2199
2200* Lots and lots more compile fixes.
2201
22022005-08-24 Nathaniel Smith <njs@pobox.com>
2203
2204* paths.hh, monotone.cc, app_state.hh, app_state.cc:
2205* unix/inodeprint.cc: More compile fixes.
2206
22072005-08-24 Nathaniel Smith <njs@pobox.com>
2208
2209* manifest.hh: Include paths.hh.
2210* file_io.hh: Fix syntax errors, and fixup interface.
2211
22122005-08-24 Nathaniel Smith <njs@pobox.com>
2213
2214* paths.hh, sanity.hh: Compilation fixes.
2215
22162005-08-24 Nathaniel Smith <njs@pobox.com>
2217
2218* paths.cc: Update tests to use path_state_* and pass utf8
2219objects.
2220
22212005-08-24 Nathaniel Smith <njs@pobox.com>
2222
2223* paths.hh (file_path_external): Take a utf8() object, always.
2224
22252005-08-24 Nathaniel Smith <njs@pobox.com>
2226
2227* paths.hh (class file_path): Make "convenience functions"
2228required.
2229
22302005-08-24 Nathaniel Smith <njs@pobox.com>
2231
2232* Switch rest of instances to using convenience functions.
2233
22342005-08-24 Nathaniel Smith <njs@pobox.com>
2235
2236* Switch many instances to using convenience functions.
2237
22382005-08-24 Nathaniel Smith <njs@pobox.com>
2239
2240* paths.hh (file_path_internal, file_path_external): Define
2241convenience functions.
2242(file_path, bookkeeping_path, system_path): Add default
2243constructors.
2244
22452005-08-24 Nathaniel Smith <njs@pobox.com>
2246
2247* app_state.cc, change_set.cc, change_set.hh, commands.cc:
2248* inodeprint.cc, manifest.cc, rcs_import.cc, restrictions.cc:
2249* work.cc: Audit all calls to file_path() to add internal/external
2250notation.
2251
22522005-08-24 Nathaniel Smith <njs@pobox.com>
2253
2254* app_state.cc: More paths.hh conversion.
2255(app_state::prefix): Remove.
2256* commands.cc: Remove uses of app.prefix.
2257* automate.cc (automate_attributes): Likewise.
2258
22592005-08-23 Nathaniel Smith <njs@pobox.com>
2260
2261* paths.hh (any_path::as_internal): On second thought, return a
2262utf8 object.
2263* app_state.cc (set_database): Take a system_path.
2264(set_pidfile): Likewise.
2265* monotone.cc (cpp_main): Pass one.
2266
22672005-08-23 Nathaniel Smith <njs@pobox.com>
2268
2269* file_io.hh (get_homedir): Return a system_path.
2270* app_state.hh (app_state): Make pidfile a system_path.
2271* sanity.hh (sanity::filename): Make a system_path.
2272* monotone.cc (cpp_main): Adjust accordingly.
2273* paths.hh (any_path): Add as_internal() to interface.
2274* paths.cc: Add roundtripping tests.
2275
22762005-08-23 Nathaniel Smith <njs@pobox.com>
2277
2278* platform.hh, unix/fs.cc, win32/fs.cc
2279(change_current_working_dir): Take an any_path, not a string.
2280* rcs_import.{cc,hh}: Convert to paths.hh.
2281
22822005-08-23 Nathaniel Smith <njs@pobox.com>
2283
2284* commands.cc (pid_file): Remove fs::path.
2285
22862005-08-23 Nathaniel Smith <njs@pobox.com>
2287
2288* mkstemp.cc (monotone_mkstemp): Remove references to fs::path.
2289
22902005-08-23 Nathaniel Smith <njs@pobox.com>
2291
2292* change_set.cc (apply_rearrangement_to_filesystem): Oops, missed
2293some local_path's.
2294
22952005-08-23 Nathaniel Smith <njs@pobox.com>
2296
2297* path_component.{cc,hh}: Delete.
2298
22992005-08-23 Nathaniel Smith <njs@pobox.com>
2300
2301* change_set.cc (move_files_to_tmp_bottom_up)
2302(move_files_from_tmp_top_down): Convert to paths.hh.
2303Whole file: stop using path_component.hh.
2304
23052005-08-23 Nathaniel Smith <njs@pobox.com>
2306
2307* paths.cc (test_bookkeeping_path): Oops, "" is an invalid
2308bookkeeping_path.
2309
23102005-08-23 Nathaniel Smith <njs@pobox.com>
2311
2312* lua.cc, paths.cc: Few more tweaks for previous change.
2313
23142005-08-23 Nathaniel Smith <njs@pobox.com>
2315
2316* paths.{cc,hh}: Add / operators. Make that the usual way to use
2317bookkeeping_path's.
2318* work.cc: Adjust accordingly.
2319* lua.cc (working_copy_rcfilename): Likewise.
2320* commands.cc (update): Likewise.
2321
23222005-08-23 Nathaniel Smith <njs@pobox.com>
2323
2324* paths.{cc,hh} (operator <<): Implement for any_paths.
2325* paths.hh (class bookkeeping_path): Note that current design is
2326bogus to remind myself to fix it tomorrow...
2327
23282005-08-23 Nathaniel Smith <njs@pobox.com>
2329
2330* work.{hh,cc}: Convert to paths.hh.
2331
23322005-08-23 Nathaniel Smith <njs@pobox.com>
2333
2334* lua.{cc,hh}: Mostly convert to paths.hh. (Still uses boost::fs
2335internally for some directory iteration.)
2336* app_state.cc (load_rcfiles): Update accordingly.
2337* file_io.hh (path_state): De-templatify; take any_path instead of
2338a T.
2339
23402005-08-23 Nathaniel Smith <njs@pobox.com>
2341
2342* paths.cc (any_path): New base class.
2343(file_path, bookkeeping_path, system_path): Inherit from it.
2344* transforms.{hh,cc} (utf8_to_system): Actually, always take a
2345utf8 after all (but still have two return types).
2346
23472005-08-23 Nathaniel Smith <njs@pobox.com>
2348
2349* transforms.cc: Convert to paths.hh.
2350
23512005-08-23 Nathaniel Smith <njs@pobox.com>
2352
2353* transforms.{cc,hh} (localized, localized_as_string): Remove.
2354
23552005-08-23 Nathaniel Smith <njs@pobox.com>
2356
2357* transforms.cc (utf8_to_system): Make fast.
2358
23592005-08-23 Nathaniel Smith <njs@pobox.com>
2360
2361* transforms.hh (utf8_to_system): Add a string->string version.
2362* transforms.cc (utf8_to_system): Implement it.
2363
23642005-08-23 Nathaniel Smith <njs@pobox.com>
2365
2366* paths.cc (localized_path_str): New function.
2367Fix some tests.
2368
23692005-08-23 Nathaniel Smith <njs@pobox.com>
2370
2371* commands.cc: Convert to paths.hh.
2372* mkstemp.cc (monotone_mkstemp): Likewise.
2373
23742005-08-23 Nathaniel Smith <njs@pobox.com>
2375
2376* vocab_terms.hh, vocab.cc: Remove file_path, local_path.
2377* database.{hh,cc}, monotone.cc: Convert to paths.hh.
2378* file_io.{hh,cc}: Start to convert to paths.hh.
2379
23802005-08-23 Nathaniel Smith <njs@pobox.com>
2381
2382* paths.{cc,hh} (fully_normalized_path): Implement.
2383(external_path): Rename to system_path.
2384Misc. other updates.
2385
23862005-08-21 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
2387* file_io.cc, file_io.hh, lua.cc, std_hooks.lua: determine if a
2388file is binary by looking at it incrementally, rather than reading
2389it in entirely. Prepare for making it possible to control what
2390characters are considered "binary"
2391
23922005-08-20 Nathaniel Smith <njs@codesourcery.com>
2393
2394* paths.cc (is_absolute): New function.
2395(file_path::file_path(vector<path_component>))
2396(file_path::split): Implement.
2397
23982005-08-20 Nathaniel Smith <njs@pobox.com>
2399
2400* interner.hh (interner): Add a scary constructor that lets us
2401insert an initial value and assert that we already knew that the
2402value assigned to it would be. (This lets us make it an inlined
2403constant.)
2404
24052005-08-20 Nathaniel Smith <njs@pobox.com>
2406
2407* paths.cc: Yet more tests.
2408
24092005-08-20 Nathaniel Smith <njs@pobox.com>
2410
2411* paths.cc (save_initial_path): Implement.
2412Add more tests.
2413
24142005-08-20 Nathaniel Smith <njs@codesourcery.com>
2415
2416* paths.{cc,hh}: New files.
2417* Makefile.am (MOST_SOURCES): Add them.
2418* unit_tests.hh (add_paths_tests): Declare.
2419* unit_tests.cc (init_unit_test_suite): Add them.
2420* platform.hh (get_current_working_dir)
2421(change_current_working_dir): New functions.
2422* {unix,win32}/fs.cc: New files.
2423
24242005-08-19 Nathaniel Smith <njs@codesourcery.com>
2425
2426* monotone.texi (Tutorial): Tweak wording, use --db at more
2427appropriate places.
2428
24292005-08-26 Richard Levitte <richard@levitte.org>
2430
2431* database.cc (version): Revert the change done earlier, as it
2432aborted if the schema isn't the current one, rendering this method
2433useless.
2434
24352005-08-26 Matt Johnston <matt@ucc.asn.au>
2436
2437* change_set.cc (check_depth, confirm_proper_tree):
2438more efficient algorithm to check for no loops
2439* constants.hh: new constant max_path_depth to limit
2440recursion in check_depth.
2441
24422005-08-26 Benoît Dejean <benoit@placenet.org>
2443
2444* po/fr.po: Updated French translation.
2445
24462005-08-26 Richard Levitte <richard@levitte.org>
2447
2448* options.hh, monotone.cc: Add the '--execute' command-specific
2449option.
2450* monotone.cc (cpp_main): ... and process it.
2451* app_state.hh (class app_state): Add the 'execute' boolean.
2452* app_state.cc (app_state): Initialise it.
2453* commands.cc (CMD(drop)): Add '--execute' capability.
2454* commands.cc (CMD(rename)): Add '--execute' capability. Pass
2455'app' to build_rename.
2456* work.hh, work.cc (build_deletions, build_rename): Do the actual
2457work. This required the addition of an app_state parameter to
2458build_rename.
2459
2460* tests/t_drop_execute.at, tests/t_rename_execute.at: New tests.
2461* testsuite.at: Add them.
2462
24632005-08-26 Benoît Dejean <benoit@placenet.org>
2464
2465* mt_version.cc (print_full_version): Merged strings.
2466* change_set.cc: No i18n for unittests. Wow, this saves
246721 strings (total 781).
2468
24692005-08-25 Benoît Dejean <benoit@placenet.org>
2470
2471* commands.cc (safe_gettext): New function.
2472(explain_usage): Used there to avoid _("").
2473
24742005-08-25 Benoît Dejean <benoit@placenet.org>
2475
2476* sanity.{cc,hh} (sanity::do_format): Merged code from
2477sanity::{log, warning, progress} in order to merge
2478strings. Fixed exception rethrowing.
2479
24802005-08-25 Benoît Dejean <benoit@placenet.org>
2481
2482* commands.cc (CMD(lca)): One more string for i18n.
2483(CMD(trusted)): Merged all strings.
2484
24852005-08-25 Benoît Dejean <benoit@placenet.org>
2486
2487* po/fr.po: Updated French translation.
2488
24892005-08-25 Benoît Dejean <benoit@placenet.org>
2490
2491* database.cc (database::version): Marked string for i18n
2492and simplifed.
2493(database::info): Reworked to merge all strings for i18n.
2494
24952005-08-25 Benoît Dejean <benoit@placenet.org>
2496
2497* database.{cc,hh} (database::open, database::check_filename):
2498New functions to avoid error handling code and string duplicates.
2499
25002005-08-25 Matt Johnston <matt@ucc.asn.au>
2501
2502* transform.cc ({int,ext}ernalize_rsa_keypair_id): don't
2503convert the username portion of key ids to/from ACE.
2504* tests/t_genkey.at: check that foo+bar@example.com works
2505and foobar@exam+ple.com doesn't.
2506
25072005-08-24 Benoît Dejean <benoit@placenet.org>
2508
2509* database.cc (assert_sqlite3_ok): Somehow merged error messages.
2510
25112005-08-24 Benoît Dejean <benoit@placenet.org>
2512
2513* change_set.cc (move_files_to_tmp_bottom_up): Better strings.
2514* keys.cc (generate_key_pair): Merged 2 strings.
2515
25162005-08-24 Nathaniel Smith <njs@pobox.com>
2517
2518* database.cc (assert_sqlite3_ok): Remove accidentally-left-in
2519format string argument.
2520
25212005-08-24 Nathaniel Smith <njs@pobox.com>
2522
2523* revision.cc (check_sane_history): Add MM's for calculated
2524changesets.
2525
25262005-08-24 Nathaniel Smith <njs@pobox.com>
2527
2528* database.cc (assert_sqlite3_ok): Don't print the raw sqlite
2529error code. Do add some auxiliary information when sqlite errors
2530are confusing.
2531
25322005-08-24 Nathaniel Smith <njs@pobox.com>
2533
2534* Back out most changes since
2535b580c6ac5bf8eea1f442b8bddc60283b047ade1e. Handling charsets
2536properly by working in utf8 and then converting sucks. Problems
2537include
2538 - gettext hates you (wants to return stuff in local charset)
2539 - strerror hates you (same reason, but you can't turn it off)
2540 - can't report charset conversion errors
2541We thus return to our "sorta-correct, by accident" status quo.
2542Only change left in is signedness fix in
25435548868ab56d939c1fd8713aa2ac8caacd1184a1.
2544
25452005-08-23 Nathaniel Smith <njs@pobox.com>
2546
2547* ui.cc (sanitize): Fix signedness bug in comparison.
2548* unix/unix.{cc,hh}: New files.
2549* Makefile.am (UNIX_PLATFORM_SOURCES): Add them.
2550* unix/process.cc (is_executable, make_executable): Use new
2551function last_error.
2552
25532005-08-23 Nathaniel Smith <njs@pobox.com>
2554
2555* transforms.{cc,hh} (system_charset): Expose.
2556* monotone.cc (cpp_main): Use it to fiddle with gettext's charset
2557conversion and make --help output actually correct.
2558
25592005-08-23 Nathaniel Smith <njs@pobox.com>
2560
2561* transforms.cc (outprep): Don't sanitize all output; removes too
2562many valid characters (\r, \t, etc.).
2563* ui.cc: Call outprep on ticker output.
2564(inform): Do still sanitize ui.inform() output.
2565
25662005-08-23 Nathaniel Smith <njs@pobox.com>
2567
2568* transforms.cc (outprep): New function.
2569* ui.cc (inform): Use it.
2570* monotone.cc (cpp_main): Use it.
2571Everything that writes user-intended output directly (i.e., via
2572cout) must call outprep() on that data before printing it.
2573
25742005-08-23 Nathaniel Smith <njs@pobox.com>
2575
2576* monotone.cc (cpp_main): Trick popt into converting its generated
2577help messages into the current locale's charset.
2578
25792005-08-23 Nathaniel Smith <njs@pobox.com>
2580
2581* ui.cc (inform, sanitize): Convert all output from utf8 to
2582current locale's charset.
2583
25842005-08-23 Nathaniel Smith <njs@pobox.com>
2585
2586* monotone.cc (cpp_main): Use bind_textdomain_codeset to request
2587that all gettext'ed strings be returned in UTF-8.
2588
25892005-08-23 Nathaniel Smith <njs@pobox.com>
2590
2591* idna/nfkc.c (g_utf8_strlen): Expose.
2592* transforms.{cc,hh} (length): New function.
2593* ui.cc (write_ticks): Use length() instead of .size() to
2594calculate string widths; should support multibyte characters
2595better. (Still some problems relating to truncating strings to
2596avoid overflow -- calculate truncation by length, but perform
2597truncation by bytes...)
2598
25992005-08-24 Benoît Dejean <benoit@placenet.org>
2600
2601* po/fr.po: Updated French translation.
2602
26032005-08-24 Benoît Dejean <benoit@placenet.org>
2604
2605* monotone.cc:
2606* commands.cc: Two more i18n strings.
2607
26082005-08-23 Benoît Dejean <benoit@placenet.org>
2609
2610* lua.cc: boost::format vs. F.
2611
26122005-08-23 Nathaniel Smith <njs@pobox.com>
2613
2614* AUTHORS: Add Benoît Dejean <benoit@placenet.org>. Create new
2615section for translators. Add Benoît there too.
2616
26172005-08-23 Nathaniel Smith <njs@pobox.com>
2618
2619* commands.cc: N_("") -> "".
2620
26212005-08-23 Nathaniel Smith <njs@pobox.com>
2622
2623* commands.cc: Make all CMD() calls use N_() instead of _().
2624(commands): Insert _() everywhere usage strings are used. This is
2625icky.
2626
26272005-08-23 Nathaniel Smith <njs@pobox.com>
2628
2629* keys.cc (get_passphrase): Put back trailing ": " removed in
2630recent i18n changes.
2631
26322005-08-23 Benoît Dejean <benoit@placenet.org>
2633
2634* change_set.cc (dump_change_set): boost::format instead of F.
2635* commands.cc (get_log_message, notify_if_multiple_heads,
2636complete, CMD(attr)): Marked some strings for i18n. Replaced a
2637multiline string by prefix_lines_with(). Merged strings.
2638* diff_patch.cc (merge_provider::try_to_merge_files): Merged
2639strings.
2640* i18n.h: N_() stands for gettext_noop(), not plural.
2641* keys.cc (get_passphrase): Fixed string surgery.
2642* netsync.cc: i18nized tickers' labels. Added xgettext comment
2643as tickers do not play well with multibytes characters (like é).
2644(session::analyze_attachment): Fixed string surgery.
2645(session::process_hello_cmd): Merged many strings.
2646(session::process_data_cmd): Removed some leading/trailing
2647whitespaces.
2648* sanity.cc: Marked error prefixes for i18n.
2649* ui.cc (tick_write_count::write_ticks): Reworked and fixed
2650surgery. Merged some strings.
2651
26522005-08-23 Benoît Dejean <benoit@placenet.org>
2653
2654* commands.cc (CMD*): _("") -> "" as _("") returns the PO
2655header.
2656
26572005-08-23 Benoît Dejean <benoit@placenet.org>
2658
2659* transforms.cc (check_idna_encoding): No i18n for unittests.
2660
26612005-08-23 Benoît Dejean <benoit@placenet.org>
2662
2663* change_set.cc (dump_change_set): boost::format instead of F.
2664* commands.cc (get_log_message, notify_if_multiple_heads,
2665complete, CMD(attr)): Marked some strings for i18n. Replaced a
2666multiline string by prefix_lines_with(). Merged strings.
2667* diff_patch.cc (merge_provider::try_to_merge_files): Merged
2668strings.
2669* i18n.h: N_() stands for gettext_noop(), not plural.
2670* keys.cc (get_passphrase): Fixed string surgery.
2671* netsync.cc: i18nized tickers' labels. Added xgettext comment
2672as tickers do not play well with multibytes characters (like é).
2673(session::analyze_attachment): Fixed string surgery.
2674(session::process_hello_cmd): Merged many strings.
2675(session::process_data_cmd): Removed some leading/trailing
2676whitespaces.
2677* sanity.cc: Marked error prefixes for i18n.
2678* ui.cc (tick_write_count::write_ticks): Reworked and fixed
2679surgery. Merged some strings.
2680
26812005-08-23 Benoît Dejean <benoit@placenet.org>
2682
2683* netcmd.cc (test_netcmd_functions): Don't translate unittest
2684strings.
2685* rcs_import.cc (cvs_commit::cvs_commit):
2686* database.cc (version_cache::put):
2687* lua.cc (dump_stack): boost::format vs. F for strings that are
2688not messages.
2689
26902005-08-23 Benoît Dejean <benoit@placenet.org>
2691
2692* xdelta.cc: Don't translate unittest strings.
2693
26942005-08-23 Matthew Gregan <kinetik@orcon.net.nz>
2695
2696* monotone.texi: Bring 'update' syntax up to date.
2697
26982005-08-23 Nathaniel Smith <njs@pobox.com>
2699
2700* tests/t_diff_external.at: --diff-args without --external is an
2701error.
2702* commands.cc (diff): Likewise.
2703
27042005-08-22 Nathaniel Smith <njs@pobox.com>
2705
2706* contrib/ciabot_monotone.py (send_change_for): Handle author
2707names with spaces in.
2708
27092005-08-22 Matt Johnston <matt@ucc.asn.au>
2710
2711* HACKING: change the vim modeline to something that seems to work
2712better.
2713
27142005-08-23 Olivier Andrieu <oliv__a@users.sourceforge.net>
2715
2716* contrib/monotone.el: When running monotone commands, re-use
2717*monotone* buffers. Make the "status" command use the prefix
2718argument. Make the "tree"-restricted commands work in dired
2719buffers. Add the "--no-merges" option in the log command. Various
2720other innocuous changes.
2721
27222005-08-22 Nathaniel Smith <njs@pobox.com>
2723
2724* mt_version.cc (print_full_version): Typo.
2725
27262005-08-22 Nathaniel Smith <njs@pobox.com>
2727
2728* mt_version.cc: Include sanity.hh.
2729
27302005-08-22 Nathaniel Smith <njs@pobox.com>
2731
2732* netsync.cc (process_error_cmd, run_netsync_protocol): Remove
2733some newlines to avoid translation noise.
2734
27352005-08-22 Nathaniel Smith <njs@pobox.com>
2736
2737* po/LINGUAS, po/ja.po: Remove ja translation again, it seems to
2738be corrupt.
2739
27402005-08-22 Nathaniel Smith <njs@pobox.com>
2741
2742* commands.cc (update): Don't use F() to indent things.
2743
27442005-08-22 Nathaniel Smith <njs@pobox.com>
2745
2746* commands.cc (dump_diffs): Don't use F() to create diff headers.
2747(commands::process): Put '' in the log message to make Benoît
2748Dejean happy ;-).
2749
27502005-08-22 Nathaniel Smith <njs@pobox.com>
2751
2752* po/LINGUAS, po/ja.po: Add Japanese translation by Satoru SATOH.
2753
27542005-08-20 Benoît Dejean <benoit@placenet.org>
2755
2756* po/monotone.pot: Remove from version control.
2757* po/POTFILES.skip: New file.
2758* po/fr.po: French translation (initial version).
2759* po/LINGUAS: Add fr.
2760
27612005-08-22 Nathaniel Smith <njs@pobox.com>
2762
2763* commands.cc (read): Use FP (thanks to Benoît Dejean for
2764catch).
2765* mt_version.cc (print_version, print_full_version): Mark more
2766strings for i18n (also thanks to Benoît Dejean).
2767
27682005-08-22 Nathaniel Smith <njs@pobox.com>
2769
2770* commands.cc (commands): Revert previous changes, xgettext is
2771buggy.
2772Mark every CMD() string argument with _().
2773* i18n.h, Makefile.am: New file.
2774* sanity.hh: Include it.
2775* po/Makevars (XGETTEXT_OPTIONS): Learn about _() and N_() as
2776markers.
2777
27782005-08-22 Nathaniel Smith <njs@pobox.com>
2779
2780* commands.cc (commands): Oops, can't call gettext on a
2781std::string...
2782
27832005-08-22 Nathaniel Smith <njs@pobox.com>
2784
2785* monotone.cc (coptions, options): Use gettext_noop to mark usage
2786strings for i18n.
2787* commands.cc (commands): gettextify command descriptions
2788* po/Makevars (XGETTEXT_OPTIONS): Include the 2nd, 3rd, and 4th
2789arguments to CMD macro as translatedable strings.
2790
27912005-08-22 Nathaniel Smith <njs@pobox.com>
2792
2793* database.cc: Replace a bunch of F()'s by boost::format's,
2794because F is only for strings displayed to user.
2795
27962005-08-22 Nathaniel Smith <njs@pobox.com>
2797
2798* po/Makevars (XGETTEXT_OPTIONS): Extract FP'ed strings.
2799
28002005-08-22 Nathaniel Smith <njs@pobox.com>
2801
2802* sanity.hh (FP): New macro. Usage:
2803FP("frobbed %i bar", "frobbed %s bars", num_bars) % num_bars
2804
28052005-08-22 Richard Levitte <richard@levitte.org>
2806
2807* contrib/monotone-import.pl: When temporarly touching files that
2808have disappeared since last import, don't forget to create
2809intermediary directories as well (and to remove them later on).
2810Make sure all file arguments are quoted. Finally, pick up the
2811newly created revision by reading MT/revision instead of relying
2812on backquotes working.
2813Notofication and initial correction submitted by
2814BigFish <bigfische@gmail.com>.
2815
28162005-08-20 Matthew Gregan <kinetik@orcon.net.nz>
2817
2818* revision.hh: Delete doubled line of text in comment.
2819
28202005-08-20 Benoît Dejean <benoit@placenet.org>
2821
2822* monotone.cc (cpp_main): setlocale(LC_ALL).
2823* commands.cc (dropkey): Unify warning into a single string.
2824
28252005-08-20 Nathaniel Smith <njs@codesourcery.com>
2826
2827* contrib/monoprof.sh (test_commit): Kernel tarball unpacks to
2828linux-$KVER/, not $KVER/.
2829
28302005-08-19 Nathaniel Smith <njs@codesourcery.com>
2831
2832* contrib/monoprof.sh (SETUP): Put netsync hooks in the default
2833hook file.
2834
28352005-08-19 Nathaniel Smith <njs@codesourcery.com>
2836
2837* contrib/monoprof.sh: Give a sensible error message if $DATADIR
2838doesn't exist.
2839
28402005-08-20 Matt Johnston <matt@ucc.asn.au>
2841
2842* database.cc (put_revision): uncomment check_sane_history call
2843(was accidentally committed commented out)
2844
28452005-08-19 Nathaniel Smith <njs@codesourcery.com>
2846
2847* monotone.texi (Tutorial): Tweak wording, use --db at more
2848appropriate places.
2849
28502005-08-19 Matthew Gregan <kinetik@orcon.net.nz>
2851
2852* tests/t_crlf.at: Adjust expected line count to accomodate diff
2853output change.
2854* commands.cc (CMD(diff)): Include base revision ID in diff output
2855header when diffing against working copy. Useful to identify what
2856revision a patch was created against.
2857* std_hooks.lua (ignore_file): Ignore Visual SourceSafe junk.
2858
28592005-08-18 Timothy Brownawell <tbrownaw@gmail.com>
2860
2861* std_hooks.lua: accept_testresult_change now only cares about
2862testresults listed in MT/wanted-testresults
2863
28642005-08-18 Matthew Gregan <kinetik@orcon.net.nz>
2865
2866* INSTALL: Remove outdated references to configure options and
2867Solaris build workarounds.
2868* configure.ac: Lower gettext requirement from 0.12.1 to 0.11.5.
2869
28702005-08-17 Timothy Brownawell <tbrownaw@gmail.com>
2871
2872* sanity.cc (gasp()): When catching an error from dumping a MM'd
2873variable, do not discard output generated prior to the error. This
2874way, at least the header line (function name, file, line no.) is
2875printed.
2876* change_set.cc: write_insane_change_set: new function to write a
2877change set without sanity checking it, now used by dump().
2878
28792005-08-17 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2880
2881* unix/process.cc: missing include
2882* m4/fexceptions.m4, configure.ac, Makefile.am: remove hardcoded
2883-fexceptions in CFLAGS and add it only if compiler doesn't freak
2884out.
2885
28862005-08-17 Nathaniel Smith <njs@pobox.com>
2887
2888* work.cc (build_additions): Tweak wording.
2889
28902005-08-17 Nathaniel Smith <njs@pobox.com>
2891
2892* netsync.cc: Add IANA port assignment to the todo list.
2893
28942005-08-17 Nathaniel Smith <njs@pobox.com>
2895
2896* unix/process.cc (make_executable): Open the fd read-only, avoids
2897problems with read-only files, and a writeable fd doesn't seem to
2898be necessary to change permission bits.
2899
29002005-08-17 Nathaniel Smith <njs@pobox.com>
2901
2902* unix/process.cc (is_executable, make_executable): When reporting
2903an error in a syscall, include the actual error message.
2904
29052005-08-17 Nathaniel Smith <njs@pobox.com>
2906
2907* lua.cc (dump_stack): New function.
2908(Lua::fail): New method; use above.
2909(get, get_fn, get_tab, get_str, get_num, get_bool, extract_str)
2910(extract_int, extract_double, extract_bool, begin, next, pop): Use
2911it, to give better logging.
2912
29132005-08-17 Nathaniel Smith <njs@pobox.com>
2914
2915* Makefile.am (lib3rdparty_a_CFLAGS): Build 3rd party C code with
2916-fexceptions.
2917
29182005-08-17 Matthew Gregan <kinetik@orcon.net.nz>
2919
2920* win32/process.cc: Slightly smarter argv->cmdline munging.
2921* std_hooks.lua: Merge hooks for TortoiseMerge (part of
2922TortoiseSVN).
2923
29242005-08-17 Nathaniel Smith <njs@pobox.com>
2925
2926* lua.cc (lua_hooks): Re-enable panic thrower, we no longer
2927support Lua 4.
2928
29292005-08-16 Nathaniel Smith <njs@pobox.com>
2930
2931* netsync.cc: Add more netsync todos.
2932
29332005-08-15 Nathaniel Smith <njs@pobox.com>
2934
2935* tests/t_explicit_merge_with_anc.at: New test.
2936* testsuite.at: Add it.
2937
29382005-08-15 Nathaniel Smith <njs@pobox.com>
2939
2940* tests/t_log_brief.at: New test.
2941* testsuite.at: Add it.
2942
29432005-08-15 Nathaniel Smith <njs@pobox.com>
2944
2945* commands.cc (fcommit): Remove. This command has never been
2946documented, tested, or maintained; it also doesn't avoid the use
2947of temporary files (which was supposed to be its purpose). Has it
2948ever actually been used...?
2949
29502005-08-15 Nathaniel Smith <njs@pobox.com>
2951
2952* lua.cc (hook_init_attributes): Do more logging; use begin()
2953instead of starting iteration by hand.
2954
29552005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2956
2957* testsuite.at, tests/*.at: make testsuite less demanding:
2958- QGREP() and QEGREP() provide a portable [e]grep -q
2959- export FOO=bar -> FOO=bar; export FOO
2960- tail -n $x -> TAIL($x) with appropriate macro
2961
29622005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2963
2964* m4/typeof.m4: new test, looks if compiler knows the typeof()
2965extension
2966* configure.ac: use it
2967* sanity.hh: use the test, and boost's abstraction over
2968__PRETTY_FUNCTION__ and similar pseudo-macros
2969
29702005-08-15 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2971
2972* configure.ac (BOOST_FIX_VERSION): only apply that fix on gcc.
2973
29742005-08-14 Nathaniel Smith <njs@pobox.com>
2975
2976* configure.ac (BOOST_VERSION_CHECK, BOOST_FIX_VERSION): Fix for
2977cross-compilation. (Thanks to John Bowler <jbowler@acm.org>.)
2978
29792005-08-14 Matthew Gregan <kinetik@orcon.net.nz>
2980
2981* testsuite.at: Don't use agraph.
2982* Makefile.am: Minor cleanups.
2983
29842005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2985
2986* botan/gzip.cpp, botan/mutex.cpp: c functions via c* headers need
2987std:: prefix
2988
29892005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2990
2991* schema_migration.cc (lowercase): it's only used for processing sha1
2992values whos size we know: make array size constant
2993* transforms.cc (encode_hexenc, decode_hexenc): they have to work with
2994all kinds of string sizes, so at least make them nicer by using
2995boost::scoped_array
2996
29972005-08-13 Patrick Mauritz <oxygene@studentenbude.ath.cx>
2998
2999* revision.cc: make copy constructor of revision_set behave like
3000normal constructor in case it's copying a freshly created object
3001
30022005-08-13 Nathaniel Smith <njs@pobox.com>
3003
3004* testsuite.at: Use SEGV to kill netsync servers, in hopes it will
3005give better coverage information.
3006
30072005-08-13 Julio M. Merino Vidal <jmmv@NetBSD.org>
3008
3009* configure.ac: Remove an obsolete check to see if SQLite was
3010bundled or not, because the bundled version has been used
3011exclusively for quite some time.
3012
30132005-08-13 Julio M. Merino Vidal <jmmv@NetBSD.org>
3014
3015* database_check.cc: Remove trailing newline from error messages
3016when embedding them inside other strings, so that the trailing
3017closing parenthesis is printed correctly.
3018
30192005-08-13 Julio M. Merino Vidal <jmmv@NetBSD.org>
3020
3021* configure.ac: Add '-mt' as another possible suffix to detect the
3022Boost libraries. It's very common when these libraries are built
3023with the "native naming layout".
3024
30252005-08-13 Nathaniel Smith <njs@pobox.com>
3026
3027* monotone.1, monotone.texi: Don't mention agraph.
3028* tests/t_netsync_repeated.at: Don't use agraph.
3029* tests/t_netsync_unrelated.at: Likewise.
3030
30312005-08-13 Nathaniel Smith <njs@pobox.com>
3032
3033* commands.cc (agraph): Remove.
3034
30352005-08-13 Nathaniel Smith <njs@pobox.com>
3036
3037* tests/t_commit_log_writeback.at: New test.
3038* testsuite.at: Add it.
3039
30402005-08-12 Nathaniel Smith <njs@pobox.com>
3041
3042* commands.cc (commit): When user uses --message or
3043--message-file, don't require non-empty logs, and don't write out
3044message to MT/log. (This makes re-running a 'commit -m foo'
3045command line until it works possible; otherwise the second try
3046will get a 'MT/log non-empty and -m supplied' error.)
3047
30482005-08-11 Nathaniel Smith <njs@pobox.com>
3049
3050* netsync.cc: Add a list of ideas for improvement that will break
3051network compatibility and thus perhaps should go together.
3052
30532005-08-11 Nathaniel Smith <njs@pobox.com>
3054
3055* tests/t_commit_message_file.at: Un-double file contents.
3056
30572005-08-11 Nathaniel Smith <njs@pobox.com>
3058
3059* lua.cc (ok, extract_str, extract_int, extract_double)
3060(extract_bool): Add more logging.
3061
30622005-08-11 Patrick Mauritz <oxygene@studentenbude.ath.cx>
3063
3064* INSTALL: remove section about crypto++ on solaris
3065* config.rpath, mkinstalldirs, po/Makefile.in.in,
3066 various files in m4, ABOUT-NLS:
3067 remove as they're autogenerated
3068* hash_map.hh, m4/gnucxxhashmap.m4, m4/stlporthashmap.m4:
3069 new files, abstraction over hash_map differences in STL impls.
3070* m4/externtemplate.m4: new file, check if compiler is happy
3071 with "extern template"
3072* configure.ac: hook up the new autoconf tests
3073* Makefile.am: remove -Wall
3074* botan/gzip.cpp, botan/mutex.cpp: add includes
3075* constants.*: move values to .hh if used for array sizes
3076* interner.hh, xdelta.cc: use hash_map.hh
3077* merkle_tree.cc, unix/inodeprint.cc: make array size truly
3078 constant
3079* sanity.hh: work-around for missing typeof() and
3080 __PRETTY_FUNCTIONS on non-gcc compilers
3081* schema_migration.cc, transforms.cc: moved dynamically
3082 initialized array to heap
3083* transforms.hh, vocab.hh: use externtemplate autoconf test
3084
30852005-08-10 Matthew Gregan <kinetik@orcon.net.nz>
3086
3087* monotone.spec: include zlib-devel and texinfo as build
3088requirements, zlib as a runtime requirement.
3089
30902005-08-09 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
3091
3092* tests/perf-test.sh: A repeatable performance test harness
3093* tests/parse-accounting.pl: A script that parses the accounting
3094output into a nice tabular format
3095
30962005-08-09 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
3097
3098* Changes to significantly improve network pull performance
3099* string_queue.hh: created to store pending data and allow for
3100efficient removal from the front. The string queue automatically
3101reduces its buffer size if it is very empty.
3102* hmac.{cc,hh}: Add in a version of chained_hmac::process that can
3103operate on a string_queue for use during read.
3104* netcmd.{cc,hh}: update netcmd::read to use a string_queue rather
3105than a string, update all the regression tests also. This required
3106the somewhat ugly creation of a read_string function because the
3107netcmd read and write functions are no longer using the same type.
3108* netio.hh: introduce functions for operating on a string_queue. They
3109are identical to the equivalent string functions except for the type
3110of the argument.
3111* netsync.cc: Use a string_queue rather than a string for storing the
3112input and output buffers.
3113
3114* string_queue.cc: unit tests (Matt Johnston)
3115
31162005-08-09 Richard Li <richardl@redhat.com>
3117
3118* std_hooks.lua (merge2, merge3): explain a little better why
3119monotone can't find a merge command.
3120
31212005-08-09 Nathaniel Smith <njs@pobox.com>
3122
3123* commands.cc (update): Fix helpful error message to suggest
3124_current_ commandline syntax.
3125
31262005-08-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
3127
3128* contrib/monotone.el: a couple of fixes spotted by the compiler
3129* Changelog, contrib/colorize: utf8ize
3130
31312005-08-09 Nathaniel Smith <njs@pobox.com>
3132
3133* NEWS: Put a time in.
3134* po/monotone.pot: Regenerate.
3135
31362005-08-08 Nathaniel Smith <njs@pobox.com>
3137
3138* configure.ac, monotone.spec, debian/changelog:
3139* win32/monotone.iss: Bump version number.
3140
31412005-08-08 Nathaniel Smith <njs@pobox.com>
3142
3143* UPGRADE: Fix title.
3144* NEWS: Add --lca.
3145
31462005-08-08 Nathaniel Smith <njs@pobox.com>
3147
3148* commands.cc (merge, propagate): Take --lca.
3149* options.hh: Add OPT_LCA.
3150* monotone.cc (coptions, cpp_main): Support it it.
3151* app_state.{hh,cc} (app_state::usa_lca): New variable.
3152* revision.cc (find_common_ancestor_for_merge): Use LCA if user
3153passed --lca.
3154* tests/t_merge_lca.at: New test.
3155* testsuite.at: Add it.
3156* monotone.texi (Tree): Document --lca.
3157
31582005-08-08 Nathaniel Smith <njs@pobox.com>
3159
3160* NEWS: First-pass for 0.22 release.
3161* UPGRADE: Likewise.
3162
31632005-08-08 Nathaniel Smith <njs@pobox.com>
3164
3165* Makefile.am (BOTAN_SOURCES): Add botan headers.
3166* po/monotone.pot: Regenerate.
3167
31682005-08-07 Nathaniel Smith <njs@pobox.com>
3169
3170* netsync.cc (rebuild_merkle_trees, insert_with_parents): Make a
3171ticker for added revisions, since traversing the tree to pull in
3172ancestors causes a noticeable pause before the cert/key tickers
3173start up.
3174(insert_with_parents): Also simplify logic.
3175
31762005-08-07 Nathaniel Smith <njs@pobox.com>
3177
3178* commands.cc (pull): Clarify what the "doing anonymous pull"
3179message means and what you might do about it.
3180
31812005-08-07 Nathaniel Smith <njs@pobox.com>
3182
3183* monotone.texi (Network Service, Hooks): Document
3184get_netsync_read_permitted as getting a nil value on anonymous
3185connects.
3186* lua.{cc.hh} (hook_get_netsync_anonymous_read_permitted):
3187Remove. Replace with 1-argument version of
3188hook_get_netsync_write_permitted.
3189* netsync.cc (process_anonymous_cmd): Update.
3190* tests/t_netsync_permissions.at: Likewise.
3191
31922005-08-07 Matthew Gregan <kinetik@orcon.net.nz>
3193
3194* botan/{data_snk,es_file}.cpp: Open fstreams in binary mode.
3195These changes, plus the same change for data_src.cpp and
3196es_ftw.cpp, have been sent upstream.
3197
31982005-08-05 Nathaniel Smith <njs@pobox.com>
3199
3200* commands.cc (commit): Write out the log message to MT/log
3201_after_ making sure it's non-empty.
3202* tests/t_commit_cancelled.at: New test.
3203* testsuite.at: Add it.
3204
32052005-08-04 Nathaniel Smith <njs@pobox.com>
3206
3207* netsync.cc (rebuild_merkle_trees): Typo.
3208
32092005-08-04 Nathaniel Smith <njs@pobox.com>
3210
3211* netsync.cc (rebuild_merkle_trees): Tweak message ("rebuilding
3212merkle trees" does not mean anything to J. Random User...)
3213
32142005-08-04 Nathaniel Smith <njs@pobox.com>
3215
3216* manifest.cc (build_restricted_manifest_map): In 'missing files'
3217error message, explain how to recover.
3218
32192005-08-03 Nathaniel Smith <njs@pobox.com>
3220
3221* testsuite.at (NETSYNC_ADDRESS): New macro.
3222(NETSYNC_SERVE_N_START, NETSYNC_SERVE_START)
3223(NETSYNC_CLIENT_N_RUN): Use it.
3224
3225* tests/t_netsync_checks_server_key.at: Make sure can unset the
3226known-servers entry.
3227
32282005-08-03 Matthew A. Nicholson <matt@matt-land.com>
3229
3230* std_hooks.lua (get_preferred_merge2_command)
3231(get_preferred_merge3_command): Provide more information on how to
3232use vim as merge tool.
3233
32342005-08-03 graydon hoare <graydon@pobox.com>
3235
3236* unix/process.cc (make_executable): Fix race, set user/group/other.
3237
32382005-08-03 Matthew Gregan <kinetik@orcon.net.nz>
3239
3240* botan/data_src.cpp (DataSource_Stream::DataSourceStream): Open
3241fstream as binary file.
3242
32432005-08-03 Matthew Gregan <kinetik@orcon.net.nz>
3244
3245* win32/inodeprint.cc: Botan changes. Also, hash individual
3246FileTime structure members rather than the entire structure.
3247* keys.cc: Add explicit 'using' for Botan::byte.
3248* botan/es_win32.{cpp,h}: Add missing files.
3249* Makefile.am: Enable entropy collection via CryptoAPI and Win32
3250API.
3251
32522005-08-02 Matt Johnston <matt@ucc.asn.au>
3253
3254* botan/gzip.cpp: forgot to commit some semicolons
3255
32562005-08-02 Matt Johnston <matt@ucc.asn.au>
3257
3258* botan/gzip.{cpp,h}: rearranged the code to be clearer.
3259
32602005-08-01 Nathaniel Smith <njs@pobox.com>
3261
3262* netsync.cc (get_branches): Remove warning when there are no
3263branches.
3264
32652005-07-29 Nathaniel Smith <njs@pobox.com>
3266
3267* globish.cc (matcher::operator()): Log what's happening.
3268(checked_globish_to_regex_test): Fix previously added test.
3269
32702005-07-29 Nathaniel Smith <njs@pobox.com>
3271
3272* globish.cc (checked_globish_to_regex_test): Add another test for
3273quoted characters.
3274
32752005-07-28 Nathaniel Smith <njs@pobox.com>
3276
3277* update.cc (calculate_update_set): Only include current rev in
3278update set if it is an acceptable candidate.
3279* commands.cc (update): Clarify error message in this case.
3280* tests/t_update_branch.at: Update accordingly.
3281
32822005-07-28 Matthew Gregan <kinetik@orcon.net.nz>
3283
3284* monotone.spec: Require boost >= 1.32.
3285
32862005-07-27 Matthew Gregan <kinetik@orcon.net.nz>
3287
3288* tests/t_merge_add_del.at: 'drop' does not take a branch (test
3289now fails in expected place).
3290* tests/t_merge_add_rename_add.at: New test.
3291* testsuite.at: Add it.
3292
32932005-07-27 Nathaniel Smith <njs@pobox.com>
3294
3295* tests/t_update_branch.at: New test.
3296* testsuite.at: Add it.
3297(REVERT_TO): Do not preserve MT/options file (can setup invalid
3298branch).
3299* app_state.cc (make_branch_sticky): Call write_options when
3300already have a working copy.
3301* commands.cc (update): Call make_branch_sticky at appropriate
3302time.
3303
33042005-07-27 Nathaniel Smith <njs@pobox.com>
3305
3306* commands.cc: ALIAS(mv, rename). ALIAS(rm, drop).
3307
33082005-07-26 Nathaniel Smith <njs@pobox.com>
3309
3310* change_set.cc (dump): Add state_renumbering dumper.
3311(merge_disjoint_analyses): Add MM().
3312
33132005-07-26 Nathaniel Smith <njs@pobox.com>
3314
3315* change_set.cc (dump): Add path_analysis dumper.
3316(merge_change_sets): Add more MM()s.
3317
33182005-07-26 Nathaniel Smith <njs@pobox.com>
3319
3320* change_set.cc (dump): Add path_state dumper.
3321(sanity_check_path_state): Add MM().
3322
33232005-07-26 Richard Levitte <richard@levitte.org>
3324
3325* revision.cc (check_sane_history): Convert tabs to the
3326appropriate amount of spaces.
3327
33282005-07-26 Richard Levitte <richard@levitte.org>
3329
3330* sanity.hh, revision.cc (check_sane_history),
3331change_set.cc (concatenate_change_sets, merge_change_sets,
3332invert_change_set): Because boost currently uses the symbol M, we
3333have a clash. Therefore, let's rename M to MM, for now.
3334
33352005-07-26 Richard Levitte <richard@levitte.org>
3336
3337* commands.cc (CMD(privkey)): Change so both the public and
3338private key are printed.
3339
3340* tests/t_dropkey_2.at, tests/t_lua_privkey.at: Adapt to the new
3341private key format.
3342
33432005-07-24 Nathaniel Smith <njs@pobox.com>
3344
3345* sanity.cc (MusingI, ~MusingI): No-op when already in the middle
3346of dumping.
3347
33482005-07-25 Matthew Gregan <kinetik@orcon.net.nz>
3349
3350* Makefile.am, configure.ac: Remove BUNDLED_{LUA,SQLITE} tests and
3351clarify the comment for popt. Using external versions of these
3352tools didn't work anyway, so there's no point giving the
3353impression that it might.
3354
33552005-07-24 Nathaniel Smith <njs@pobox.com>
3356
3357* sanity.cc (gasp): Handle the possibility of multiple valid calls
3358to gasp(), 'db check' can trigger multiple invariants without
3359dying.
3360
33612005-07-24 Nathaniel Smith <njs@pobox.com>
3362
3363* sanity.{hh,cc} (sanity::already_dumping, gasp): Don't let gasp
3364be called recursively, in case a dump triggers an invariant.
3365
33662005-07-24 Nathaniel Smith <njs@pobox.com>
3367
3368* sanity.cc (gasp): Make more robust against new errors triggered
3369during error unwind. (write_change_set in particular likes to
3370blow up when handling in invalid change_set.)
3371
33722005-07-24 Nathaniel Smith <njs@pobox.com>
3373
3374* change_set.cc (merge_change_sets, check_sane)
3375(concatenate_change_sets, invert_change_set): Add M()s.
3376
33772005-07-24 Nathaniel Smith <njs@pobox.com>
3378
3379* sanity.{hh,cc} (dump): Remove templated version, add std::string
3380version.
3381* vocab.{hh,cc} (dump): Add ATOMIC/DECORATE/ENCODING dumpers.
3382* change_set.{hh,cc} (dump): Add change_set dumper.
3383* manifest.{hh,cc} (dump): Add manifest_map dumper.
3384* revision.cc (check_sane_history): Add some M()s.
3385
33862005-07-24 Nathaniel Smith <njs@pobox.com>
3387
3388* sanity.hh (class Musing, gasp, dump): Actually, take a
3389std::string instead of a std::ostream; fits our idioms better.
3390
33912005-07-24 Nathaniel Smith <njs@pobox.com>
3392
3393* sanity.cc (log, progress, warning): Append '\n' to strings when
3394necessary.
3395(gasp): Save string properly.
3396(M): Apply black magic. Now works correctly.
3397(dump): Write newline.
3398
33992005-07-24 Nathaniel Smith <njs@pobox.com>
3400
3401* sanity.hh (dump): Add a default 'dump' implementation for all
3402<<able objects.
3403
34042005-07-24 Nathaniel Smith <njs@pobox.com>
3405
3406* constants.{cc,hh} (default_terminal_width): New constant.
3407* ui.cc (guess_terminal_width): Use it.
3408
34092005-07-24 Nathaniel Smith <njs@pobox.com>
3410
3411* diff_patch.cc (unidiff_append_test): Fix typo.
3412
34132005-07-24 Nathaniel Smith <njs@pobox.com>
3414
3415* tests/t_annotate_no_rev.at: New test.
3416* testsuite.at: Add it.
3417
34182005-07-24 Nathaniel Smith <njs@pobox.com>
3419
3420* sanity.{hh,cc} (sanity, dump_buffer, invariant_failure)
3421(index_failure,MusingI, Musing, M): Implement macro M(), for
3422'musing', which marks data that monotone was musing over when an
3423invariant tripped.
3424* Makefile.am (MOST_SOURCES): Fix spacing.
3425
34262005-07-23 Nathaniel Smith <njs@pobox.com>
3427
3428* ui.{hh,cc} (guess_terminal_width): New function.
3429(tick_write_dot::chars_on_line): Make unsigned to quiet gcc warning.
3430(tick_write_dot::write_ticks): Use guess_terminal_width.
3431* commands.cc (dump_diffs): Take full responsibility for printing
3432=== lines, and use guess_terminal_width.
3433* diff_patch.cc (make_diff): Don't print === lines.
3434(unidiff_append_test): Adjust accordingly.
3435
34362005-07-23 Matthew Gregan <kinetik@orcon.net.nz>
3437
3438* commands.cc (CMD(annotate)): Check for a valid revision before
3439trying to fetch it from the database.
3440* lua/lundump.[ch], lua/ldump.c: Rename VERSION and VERSION0 to
3441LUA_DUMP_VERSION and LUA_DUMP_VERSION0 to avoid clashes with
3442VERSION from config.h.
3443
34442005-07-22 Nathaniel Smith <njs@pobox.com>
3445
3446* monotone.texi (Committing Work): Remove discussion of manifests.
3447
34482005-07-20 Nathaniel Smith <njs@pobox.com>
3449
3450* netsync.cc (rebuild_merkle_trees): Make 'including branch'
3451message L() instead of P(); it's nice information, but too much to
3452be useful with large databases.
3453
34542005-07-22 Matt Johnston <matt@ucc.asn.au>
3455
3456* database_check.cc: check that revisions and manifests
3457are normalised to the same for that they would be written as.
3458* tests/t_database_check_normalized.at: a test for it.
3459* testsuite.at: add it.
3460
34612005-07-21 Richard Levitte <richard@levitte.org>
3462
3463* contrib/monotone-import.pl: Now uses the given tag.
3464
34652005-07-20 Marcel van der Boom <marcel@hsdev.com>
3466
3467* database.{cc,hh} (get_branches): New method.
3468* commands.cc (ls_branches): Use it.
3469* netsync.cc (get_branches): Likewise.
3470* tests/t_ls_branches.at: New test.
3471* testsuite.at: Add it.
3472
34732005-07-20 Nathaniel Smith <njs@pobox.com>
3474
3475* commands.cc (db): Rename kill_branch_locally to
3476kill_branch_certs_locally.
3477* tests/t_db_kill_branch_locally.at: Rename to...
3478* tests/t_db_kill_branch_certs_locally.at: ...this. Update.
3479* testsuite.at: Update.
3480* monotone.texi (Database): Update.
3481
34822005-07-19 Nathaniel Smith <njs@pobox.com>
3483
3484* schema_migration.cc (migrator::migrate): Add a check for schemas
3485that are just... wrong.
3486* tests/t_migrate_broken_schema.at: New test.
3487
34882005-07-19 Nathaniel Smith <njs@pobox.com>
3489
3490* netcmd.cc (read): Make the bad HMAC error message clearer.
3491
34922005-07-19 Matthew Gregan <kinetik@orcon.net.nz>
3493
3494* tests/t_diff_external.at: Canonicalise output for Win32.
3495
34962005-07-18 Nathaniel Smith <njs@pobox.com>
3497
3498* keys.cc (get_passphrase): Do still error out if they keep typing
3499empty passphrases.
3500
35012005-07-18 Richard Levitte <richard@levitte.org>
3502
3503* database.cc: Move the inclusion of stdarg.h...
3504* database.hh: ... here.
3505
35062005-07-18 Matt Johnston <matt@ucc.asn.au>
3507
3508* keys.cc (get_passphrase): don't bomb out if they type an empty passphrase.
3509
35102005-07-18 Patrick Mauritz <oxygene@studentenbude.ath.cx>
3511
3512* work.cc, manifest.cc: Remove 'using namespace boost'.
3513
35142005-07-18 Nathaniel Smith <njs@pobox.com>
3515
3516* netsync.cc (received_items): New instance variable.
3517(session::session): Initialize it.
3518(note_item_arrived): Maintain it.
3519(item_request_outstanding): Rename it to...
3520(item_already_received): ...this, and have it check both
3521outstanding and fulfilled requests.
3522(queue_send_data_cmd, queue_send_delta_cmd): Call it via new
3523name.
3524
3525Hopefully this will eliminate cases where "revs in" is larger than
3526"revs written".
3527
35282005-07-17 Nathaniel Smith <njs@pobox.com>
3529
3530* constants.cc (legal_key_name_bytes): Allow + and _ to appear in
3531key names.
3532
35332005-07-17 Nathaniel Smith <njs@pobox.com>
3534
3535* ui.{cc,hh} (tick_write_dot::write_ticks): Start a new line when
3536too many dots have been written.
3537* netsync.cc (process_refine_cmd): Add comment noting a possible
3538optimization regarding subtree refinement.
3539
35402005-07-17 Nathaniel Smith <njs@pobox.com>
3541
3542* configure.ac, win32/monotone.iss, monotone.spec:
3543* debian/changelog: Bump version numbers to 0.21.
3544* NEWS: Commit to a timestamp.
3545
35462005-07-17 Nathaniel Smith <njs@pobox.com>
3547
3548* NEWS: Add diff changes, more tweaking.
3549* UPGRADE: Update for 0.21.
3550* AUTHORS: Add Vladimir Vukicevic.
3551
35522005-07-18 Matt Johnston <matt@ucc.asn.au>
3553
3554* netsync.cc: merge fixup
3555* botan/pipe_rw.cpp (read_all_as_string): make it smarter and faster
3556
35572005-07-18 Matt Johnston <matt@ucc.asn.au>
3558
3559* botan/sha160.{cpp,h}: new faster sha160 implementation from Jack Lloyd
3560and Kaushik Veeraraghavan.
3561
35622005-07-17 Nathaniel Smith <njs@pobox.com>
3563
3564* tests/t_diff_external.at: New test.
3565* testsuite.at: Add it.
3566
35672005-07-17 Nathaniel Smith <njs@pobox.com>
3568
3569* monotone.texi (Restrictions): diff -r -r does accept
3570restrictions now.
3571(CVS Phrasebook): Clarify diff section.
3572(Informative): Document diff [--unified|--context|--external],
3573--diff-args.
3574
35752005-07-17 Nathaniel Smith <njs@pobox.com>
3576
3577* app_state.{cc,hh}: Record whether --diff-args was passed, not
3578just a string value.
3579* lua.{cc,hh} (hook_external_diff): Take a diff_args_provided
3580variable.
3581* commands.cc (do_external_diff): Pass it.
3582
35832005-07-17 Nathaniel Smith <njs@pobox.com>
3584
3585* std_hooks.lua (external_diff_default_args): New variable.
3586(external_diff): Use it as a default, and use user-provided
3587diff_args otherwise.
3588* monotone.texi (Hooks): Document this.
3589
35902005-07-16 Vladimir Vukicevic <vladimirv@gmail.com>
3591
3592* lua.{cc,hh} (hook_external_diff): New hook.
3593* std_hooks.lua (external_diff): Add default definition.
3594* monotone.texi (Hooks): Document external_diff hook.
3595* app_state.{cc,hh}, options.hh, monotone.cc: Add --context,
3596--external, --unified, --diff-args options.
3597* commands.cc (do_external_diff): New function.
3598(dump_diffs): Put a == line between each file's diffs.
3599Pass file_ids of pre- and post-states to make_diff.
3600(diff): Take new options.
3601(cdiff): Remove.
3602* diff_patch.{cc,hh} (make_diff): Print file ids in diff file
3603headers.
3604(unidiff_append_test): Update.
3605(enum diff_type): Move to...
3606* vocab.hh: ...here.
3607* tests/t_restrictions.at, tests/t_crlf.at: Update.
3608
36092005-07-16 Nathaniel Smith <njs@pobox.com>
3610
3611* manifest.cc (build_restricted_manifest_map): Remove doubled
3612comment.
3613
36142005-07-16 Nathaniel Smith <njs@pobox.com>
3615
3616* NEWS: Mention need for 'db migrate'.
3617
36182005-07-17 Matthew Gregan <kinetik@orcon.net.nz>
3619
3620* lua/*: Import Lua 5.0.2 from upstream.
3621* lua/*: Fix up CVS $Id$ tags, which appear to have been trashed
3622since monotone existed in CVS.
3623
36242005-07-16 Nathaniel Smith <njs@pobox.com>
3625
3626* NEWS: Update for 0.21.
3627
36282005-07-16 Nathaniel Smith <njs@pobox.com>
3629
3630* database.cc (assert_sqlite3_ok): Remove dead function.
3631
36322005-07-16 Nathaniel Smith <njs@pobox.com>
3633
3634* app_state.cc (require_working_copy): Oops, make it compile.
3635
36362005-07-16 Nathaniel Smith <njs@pobox.com>
3637
3638* app_state.{cc,hh} (require_working_copy): Take an optional
3639argument to give more details about why a working copy was
3640required.
3641* commands.cc (log): Give said details.
3642
36432005-07-16 Nathaniel Smith <njs@pobox.com>
3644
3645* monotone.texi (CVS Phrasebook): Include 'log'.
3646
36472005-07-16 Nathaniel Smith <njs@pobox.com>
3648
3649* monotone.texi (Selectors): Document use of globs.
3650* tests/t_selector_globbing.at: New test.
3651* testsuite.at: Add it.
3652
36532005-07-16 Jordan Breeding <jordan.breeding@mac.com>
3654
3655* database.cc (selector_to_certname): Make 't:' selector match
3656exactly by default as well.
3657
36582005-06-25 Brian Downing <bdowning@lavos.net>
3659
3660* database.cc (selector_to_certname, complete): Makes 'b:'
3661selector be interpreted as a glob instead of as a partial string
3662match.
3663
36642005-07-16 Nathaniel Smith <njs@pobox.com>
3665
3666* netsync.cc: Revert accidentally committed changes.
3667
36682005-07-16 Nathaniel Smith <njs@pobox.com>
3669
3670* ChangeLog: Fix formatting.
3671
36722005-07-15 Matt Johnston <matt@ucc.asn.au>
3673
3674* netsync.cc (rebuild_merkle_trees): bad_branch_certs is a set of cert
3675hashes, not of revision idents.
3676
36772005-07-14 Nathaniel Smith <njs@pobox.com>
3678
3679* database.cc (get_revision_cert_index): "reserve" and "resize"
3680are different.
3681
36822005-07-14 Nathaniel Smith <njs@pobox.com>
3683
3684* netsync.cc (process_delta_cmd): Remove meaningless comment.
3685
36862005-07-14 Nathaniel Smith <njs@pobox.com>
3687
3688* database.hh: Pre-declare sqlite3_stmt, instead of including
3689sqlite3.h.
3690
36912005-07-14 Derek Scherger <derek@echologic.com>
3692
3693* commands.cc (lca,lcad,try_one_merge): call describe_revision for
3694logging common ancestors
3695(propagate): log final merged line after propagate completes
3696to indicate that it actually worked and to be consistent with merge
3697
36982005-07-13 Derek Scherger <derek@echologic.com>
3699
3700* ChangeLog: merge fixup
3701
37022005-07-13 Derek Scherger <derek@echologic.com>
3703
3704* database.cc (debug): delete stale comment
3705(delete_branch_named):
3706(delete_tag_named):
3707(clear): replace vprintf stuff with query parameters
3708
37092005-07-13 Nathaniel Smith <njs@pobox.com>
3710
3711* contrib/ciabot_monotone.py (main): Optimistically run 'db
3712migrate' before using database.
3713
37142005-07-13 Nathaniel Smith <njs@pobox.com>
3715
3716* schema_migration.cc (migrate_monotone_schema)
3717(migrator::migrate): Move the "nothing happened" check, and don't
3718vacuum unless a migration occurred.
3719
37202005-07-13 Nathaniel Smith <njs@pobox.com>
3721
3722* tests/t_restricted_diff_unchanged.at: New test.
3723* testsuite.at: Add it.
3724
37252005-07-13 graydon hoare <graydon@pobox.com>
3726
3727* rcs_import.cc (cvs_branch::cvs_branch): Initialize bools to false.
3728
37292005-07-13 Nathaniel Smith <njs@pobox.com>
3730
3731* monotone.texi (Database): Document kill_tag_locally.
3732
37332005-07-13 Nathaniel Smith <njs@pobox.com>
3734
3735* tests/t_kill_tag_locally.at, tests/t_ambiguous_tags.at: New
3736tests.
3737* testsuite.at: Add them.
3738
37392005-07-11 graydon hoare <graydon@pobox.com>
3740
3741* AUTHORS: Add Jordan.
3742* commands.cc (ls_tags): Do not uniquify tags.
3743* constants.{cc,hh} (cvs_window): Change to time_t, tighten to 5 minutes.
3744* rcs_import.cc (window): Remove.
3745(note_type): Remove dead code.
3746(is_sbr): Add test for synthetic branch roots.
3747(cvs_commit::is_synthetic_branch_root): New test.
3748(process_branch): Skip synthetic branch roots, push new branch
3749before picking branch to mark, rather than after.
3750(cvs_history::index_branchpoint_symbols): Handle vendor branches.
3751(cvs_history::push_branch): Do not duplicate root on private branches.
3752(import_branch): Fix up cluster inference.
3753(cluster_consumer::consume_cluster): New invariant.
3754* tests/t_cvsimport_drepper2.at: Modify to reflect fixes.
3755
37562005-07-11 Jordan Breeding <jordan.breeding@mac.com>
3757
3758* commands.cc (db): New subcommand "kill_tag_locally"
3759* database.{cc,hh} (delete_tag_named): New function.
3760
37612005-07-12 Nathaniel Smith <njs@pobox.com>
3762
3763* schema_migration.cc (migrator::migrate): When there is nothing
3764to be done, do nothing.
3765
37662005-07-12 Nathaniel Smith <njs@pobox.com>
3767
3768* netsync.cc (rebuild_merkle_trees): Reduce memory usage a bit,
3769and don't insert branch certs that the other side will just end up
3770throwing away (reduces network traffic).
3771
37722005-07-12 Nathaniel Smith <njs@pobox.com>
3773
3774* testsuite.at (NETSYNC_SERVE_START, NETSYNC_SERVE_N_START):
3775Really, really really fix up quoting. Really.
3776I hope.
3777
37782005-07-12 Nathaniel Smith <njs@pobox.com>
3779
3780* contrib/ciabot_monotone.py (config.project_for_branch): Clarify
3781comment text for non-Python programmers.
3782
37832005-07-12 Nathaniel Smith <njs@pobox.com>
3784
3785* testsuite.at (NETSYNC_SERVE_START, NETSYNC_SERVE_N_START): Fixup
3786quoting.
3787
37882005-07-11 Nathaniel Smith <njs@pobox.com>
3789
3790* crypto_tests.cc: New SHA1 correctness tests from Kaushik Veeraraghavan.
3791* unit_tests.cc (init_unit_test_suite):
3792* unit_tests.hh (add_crypto_tests):
3793* Makefile.am (unit_tests_SOURCES): Call them.
3794* AUTHORS: Add Kaushik Veeraraghavan.
3795
37962005-07-11 Nathaniel Smith <njs@pobox.com>
3797
3798* tests/t_netsync_exclude_default.at: New test.
3799* testsuite.at: Add it.
3800(NETSYNC_SERVE_N_START, NETSYNC_SERVE_START): Use '*' as pattern
3801when none is passed.
3802
38032005-07-11 Nathaniel Smith <njs@pobox.com>
3804
3805* monotone.texi (Network): Tweak documentation for netsync
3806commands.
3807
38082005-07-11 Nathaniel Smith <njs@pobox.com>
3809
3810* app_state.{hh,cc} (exclude_patterns, add_exclude):
3811* options.hh (OPT_EXCLUDE):
3812* monotone.cc (coptions, cpp_main): New option --exclude.
3813* commands.cc (pull, push, sync, serve): Accept it.
3814(process_netsync_args): Implement it.
3815* tests/t_netsync_exclude.at: New test.
3816* testsuite.at: Add it.
3817
38182005-07-11 Timothy Brownawell <tbrownaw@gmail.com>
3819
3820* options.hh, app_state.{hh,cc}, monotone.cc: New command specific
3821option, "--exclude=x", puts arg into a vector app.excludes .
3822Used by the netsync commands.
3823* commands.cc (netsync commands): accept said option
3824(process_netsync_args): Handle excludes.
3825* monotone.texi: document it
3826
38272005-07-11 Timothy Brownawell <tbrownaw@gmail.com>
3828
3829* interner.hh: make slightly faster
3830
38312005-07-11 Matt Johnston <matt@ucc.asn.au>
3832
3833* hmac.cc: <string> not <string.h>
3834
38352005-07-11 Matt Johnston <matt@ucc.asn.au>
3836
3837* keys.cc (encrypt_rsa): fix typo
3838* hmac.{cc,hh}: store key as SymmetricKey, pass correctly to
3839MAC_Filter
3840
38412005-07-10 Nathaniel Smith <njs@pobox.com>
3842
3843* ChangeLog, configure.ac: Re-remove mysteriously revived
3844jibberish.
3845
38462005-07-10 Nathaniel Smith <njs@pobox.com>
3847
3848* tests/t_netsync_read_permissions.at: New test.
3849* testsuite.at: Run it.
3850* netsync.cc (set_session_key, dispatch_payload)
3851(respond_to_auth_cmd): Refactor to key HMAC earlier, so error
3852packets will get the right HMAC.
3853
38542005-07-10 Richard Levitte <richard@levitte.org>
3855
3856* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS): Re-remove
3857previously removed stuff.
3858
3859* ChangeLog, configure.ac: Revert accidentally-recommitted changes.
3860
38612005-07-10 Richard Levitte <richard@levitte.org>
3862
3863* monotone.texi (Network), monotone.1: Mention the default port
3864number.
3865
38662005-07-10 Matthew Gregan <kinetik@orcon.net.nz>
3867
3868* configure.ac: Check for boost >= 1.32.
3869
38702005-07-09 Nathaniel Smith <njs@pobox.com>
3871
3872* schema.sql (revision_ancestry__child, revision_certs__id,
3873revision_certs__name_value): New indexes.
3874* database.cc (dump, dump_table_cb, dump_index_cb): Include
3875indexes in dumps.
3876(database::database):
3877* schema_migration.cc (migrate_monotone_schema)
3878(migrate_client_to_add_indexes):
3879* tests/t_migrate_schema.at: Corresponding migration gunk.
3880
38812005-07-09 Jordan Breeding <jordan.breeding@mac.com>
3882
3883* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS):
3884* configure.ac (BOOST_FIX_VERSION): Restrict boost compile kluges
3885to boost 1.32.
3886
38872005-07-09 Nathaniel Smith <njs@pobox.com>
3888
3889* schema_migration.cc (calculate_schema_id): Include indexes in
3890the schema id.
3891
38922005-07-09 Nathaniel Smith <njs@pobox.com>
3893
3894* ChangeLog, configure.ac: Revert accidentally-committed changes.
3895
38962005-07-09 Nathaniel Smith <njs@pobox.com>
3897
3898* monotone.texi (Generating Keys): Make it a little clearer that
3899we aren't necessarily recommending people store their passphrase
3900in plaintext.
3901
39022005-07-08 Matt Johnston <matt@ucc.asn.au>
3903
3904* propagate mainline to botan branch
3905
3906* constants.{cc,hh}: add sha1_digest_length as botan
3907doesn't provide a convenient definition.
3908* hmac.{cc,hh}: convert to use botan
3909* keys.cc (encrypt_rsa, decrypt_rsa): use botan
3910* transforms.{cc,hh}: use botan
3911
39122005-07-08 Matt Johnston <matt@ucc.asn.au>
3913
3914* tests/t_normalized_filenames.at: expect exit code of 1 not 3 for
3915"cat manifest" with a directory in MT/work
3916* file_io.cc, netcmd.cc, transforms.cc, vocab.hh: revert changes which
3917used swap() for strings and atomic types since strings are
3918copy-on-write.
3919
39202005-07-08 Matt Johnston <matt@ucc.asn.au>
3921
3922* file_io.cc (ident_existing_file): new function to calculate
3923the ident of a file failing gracefully if it doesn't exist
3924or is a directory.
3925* file_io.hh (classify_manifest_paths,
3926build_restricted_manifest_map): use ident_existing_file
3927* ui.cc: cast to avoid compiler warnings
3928
39292005-07-07 Nathaniel Smith <njs@pobox.com>
3930
3931* contrib/ciabot_monotone.py (Monotone.log): Fix to work with
39320.20.
3933
39342005-07-07 Nathaniel Smith <njs@pobox.com>
3935
3936* Makefile.am (monotone_CPPFLAGS, unit_tests_CPPFLAGS): Add
3937-DBOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP to work around g++
39384.0/boost 1.32.0 lossage.
3939
39402005-07-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
3941
3942* Makefile.am: Compile fix for FreeBSD.
3943
39442005-07-07 Nathaniel Smith <njs@pobox.com>
3945
3946* netsync.cc (process_hello_cmd, process_anonymous_cmd)
3947(process_auth_cmd): Change permission checking -- always build
3948merkle tree (even when a pure sink), send permission denied and
3949abort whenever client tries to read/write a branch they don't have
3950access to.
3951
39522005-07-07 Nathaniel Smith <njs@pobox.com>
3953
3954* ChangeLog: fixup formatting.
3955
39562005-07-06 Matt Johnston <matt@ucc.asn.au>
3957
3958* database.cc (assert_sqlite3_ok): database corruption and similar
3959problems are errors, not invariants.
3960
39612005-07-06 Nathaniel Smith <njs@pobox.com>
3962
3963* commands.cc (push, pull, sync): Fix --help description.
3964
39652005-07-06 Nathaniel Smith <njs@pobox.com>
3966
3967* options.hh (OPT_SET_DEFAULT):
3968* app_state.{hh,cc} (app_state::set_default):
3969* monotone.cc (coptions, cpp_main): New option.
3970* commands.cc (pull, push, sync): Accept it.
3971(process_netsync_args): Use it.
3972* tests/t_set_default.at, testsuite.at: New test.
3973
39742005-07-07 Matthew Gregan <kinetik@orcon.net.nz>
3975
3976* win32/monotone.iss: Bump version number.
3977
39782005-07-05 Nathaniel Smith <njs@pobox.com>
3979
3980* debian/rules (config.status): Use bundled sqlite.
3981* debian/control (Build-Depends): Remove popt and sqlite.
3982
39832005-07-05 Nathaniel Smith <njs@pobox.com>
3984
3985* NEWS: Add timestamp. Barring unforeseen issues, this is 0.20.
3986
39872005-07-05 Nathaniel Smith <njs@pobox.com>
3988
3989* Makefile.am (EXTRA_DIST): Include some missed contrib/ stuff.
3990
39912005-07-05 Nathaniel Smith <njs@pobox.com>
3992
3993* po/monotone.pot: Regenerate for release.
3994
39952005-07-05 Nathaniel Smith <njs@pobox.com>
3996
3997* configure.ac, debian/changelog, monotone.spec: Bump version
3998number.
3999* UPGRADE: Update for 0.20 release.
4000
40012005-07-05 Nathaniel Smith <njs@pobox.com>
4002
4003* ChangeLog, NEWS, AUTHORS: Fixup Eric Anderson's email address.
4004
40052005-07-05 Nathaniel Smith <njs@pobox.com>
4006
4007* monotone.texi (Database): Note that db kill_rev_locally also
4008will trigger "unreferenced manifest" warnings from db check.
4009
40102005-07-05 Nathaniel Smith <njs@pobox.com>
4011
4012* NEWS: Oops, 'automate select' was in 0.19 after all.
4013
40142005-07-05 Nathaniel Smith <njs@pobox.com>
4015
4016* contrib/ciabot_monotone.py: Fix multiple collection support.
4017
40182005-07-05 Richard Levitte <richard@levitte.org>
4019
4020* monotone.texi (Hooks): Add space after periods where there's
4021a lack of space.
4022
4023* NEWS: Correct the blurb about
4024get_netsync_{read,anonymous_read,write}_permitted
4025
40262005-07-05 Nathaniel Smith <njs@codesourcery.com>
4027
4028* NEWS: Add more explicit note on how to upgrade.
4029
40302005-07-05 Nathaniel Smith <njs@codesourcery.com>
4031
4032* NEWS: First cut at 0.20 release notes.
4033
40342005-07-03 Matthew Gregan <kinetik@orcon.net.nz>
4035
4036* sqlite/*, Makefile.am: Import SQLite 3.2.2 from upstream.
4037* sqlite/main.c: Compile fix.
4038* sqlite/{callback.c,prepare.c}: Add new files.
4039
40402005-07-03 Matthew Gregan <kinetik@orcon.net.nz>
4041
4042* sqlite/{sqlite3.h,tokenize.c} (sqlite3_complete_last): New
4043function to find the last valid SQL statement in a string; based
4044on sqlite3_complete. This change should be offered upstream, but
4045probably not before sqlite3_complete_last16 is implemented.
4046* database.cc (database::load): Load and execute dump in chunks,
4047fixes bug 13570.
4048
40492005-07-01 Eric Anderson <anderse-monotone@cello.hpl.hp.com>
4050
4051* file_io.cc: Pre-allocate space for the file read so that the
4052string doesn't have to be incrementally expanded during the read.
4053
40542005-07-01 Matthew Gregan <kinetik@orcon.net.nz>
4055
4056* tests/t_cvsimport_drepper2.at: Canonicalise monotone output so
4057that the test passes on Win32.
4058
40592005-06-30 Eric Kidd <eric.kidd@dartmouth.edu>
4060
4061* contrib/monotone-import.pl: Changed $branch to
4062$user_branch. This script may need more work, but at least Perl
4063compiles it now.
4064
40652005-06-30 Patrick Mauritz <oxygene@studentenbude.ath.cx>
4066
4067* automate.cc, basic_io.hh, cert.cc, change_set.cc,
4068cryptopp/config.h, cryptopp/integer.cpp, main.cc, merkle_tree.cc,
4069merkle_tree.hh, monotone.cc, netcmd.cc, netsync.cc,
4070netxx/osutil.h, packet.cc: Namespace and include file cleanup.
4071
40722005-06-29 graydon hoare <graydon@pobox.com>
4073
4074* tests/t_cvsimport_drepper2.at: New test.
4075* testsuite.at: Call it.
4076
40772005-06-23 graydon hoare <graydon@pobox.com>
4078
4079* rcs_import.cc (import_cvs_repo): Put branch imports inside
4080transaction blocks, add a couple tickers.
4081
40822005-06-22 graydon hoare <graydon@pobox.com>
4083
4084* rcs_file.cc: Track file:line numbers, accept files which violate
4085some lies in rcs file format.
4086* rcs_import.cc (cvs_tree_walker):
4087Warn rather than crash on parse errors.
4088(cvs_history)
4089(cvs_commit)
4090(cvs_cluster)
4091(prepared_revision)
4092(import_branch)
4093(import_cvs_repo): Support non-branch tags.
4094
40952005-06-21 graydon hoare <graydon@pobox.com>
4096
4097* rcs_import.{cc,hh} (import_rcs_file): Rename to test_parse_rcs_file.
4098* commands.cc (rcs_import): rename call.
4099
41002005-06-19 graydon hoare <graydon@pobox.com>
4101
4102* rcs_import.cc: Rewrite change set inference logic.
4103
41042005-06-28 Roland Illig <roland.illig@gmx.de>
4105
4106* app_state.cc: #include <unistd.h>, needed on NetBSD.
4107
41082005-06-28 Nathaniel Smith <njs@codesourcery.com>
4109
4110* std_hooks.lua (ignore_file): Ignore vim swap files and emacs
4111temp files.
4112
41132005-06-27 Nathaniel Smith <njs@codesourcery.com>
4114
4115* INSTALL: Bump required version of Boost to 1.32.
4116
41172005-06-26 Matthew Gregan <kinetik@orcon.net.nz>
4118
4119* app_state.cc (app_state::app_state()): Initialise no_merges to
4120false so that 'log' will show merges by default (the recently
4121added --no-merges option provides a means to disable the merge
4122entries).
4123
41242005-06-26 Matthew Gregan <kinetik@orcon.net>
4125
4126* tests/t_automate_stdio.at, tests/t_cvsimport_drepper.at,
4127tests/t_selector_later_earlier.at: Further canonicalisation of
4128monotone output to resolve test failures on Win32.
4129
41302005-06-25 Brian Campbell <brian.p.campbell@dartmouth.edu>
4131
4132* commands.cc (CMD(db)): Added db kill_branch_locally command.
4133* database.cc, database.hh (delete_branch_named): New function to
4134delete all branch certs with a given branch name.
4135* monotone.texi (Database): Added documentation for db
4136kill_branch_locally.
4137* tests/t_db_kill_branch_locally.at: New test for db
4138kill_branch_locally.
4139* testsuite.at: Add the test.
4140* AUTHORS: Add myself.
4141* ChangeLog: Change my email address on an old contribution to
4142match my pubkey.
4143
41442005-06-24 Nathaniel Smith <njs@codesourcery.com>
4145
4146* tests/t_db_kill_rev_locally.at: Clean up style.
4147
41482005-06-24 Nathaniel Smith <njs@codesourcery.com>
4149
4150* unix/process.cc (process_spawn): Format log output correctly.
4151
41522005-06-24 Nathaniel Smith <njs@codesourcery.com>
4153
4154* unix/process.cc (existsonpath): Reindent. Add logging, and use
4155'command -v' instead of 'which' (as per Matt Johnston's discovery
4156that it is more portable).
4157(process_spawn): Handle exec failure more properly.
4158* tests/t_existsonpath.at: New test.
4159* testsuite.at: Add it.
4160
41612005-06-25 Matthew Gregan <kinetik@orcon.net.nz>
4162
4163* monotone.cc: Log correct locale set for LC_MESSAGES.
4164
41652005-06-24 Nathaniel Smith <njs@codesourcery.com>
4166
4167* unix/process.cc: Remove tabs.
4168
41692005-06-24 Nathaniel Smith <njs@codesourcery.com>
4170
4171* std_hooks.lua (get_preferred_merge2_command)
4172(get_preferred_merge3_command): Move meld to the bottom of the
4173default merge tool search order. Also, use xemacs if it appears
4174in $EDITOR, otherwise use emacs.
4175* revision.cc (check_sane_history): Remove stale comment.
4176
41772005-07-05 Nathaniel Smith <njs@codesourcery.com>
4178
4179* globish.cc (combine_and_check_globish): Don't add unnecessary
4180{}'s.
4181* tests/t_netsync_globs.at, testsuite.at: New test.
4182
41832005-07-04 Nathaniel Smith <njs@codesourcery.com>
4184
4185* netcmd.cc (do_netcmd_roundtrip, test_netcmd_mac): Update for new
4186chained_hmac object.
4187* constants.hh (netsync_key_initializer): Update comment.
4188* hmac.hh (hmac_length): Expose length of MACs.
4189* hmac.cc: I() that it matches what CryptoPP wants to give.
4190* netcmd.cc: I() that it matches the length hard-coded into the
4191netsync protocol.
4192* vocab.cc (verify(netsync_hmac_value)): Fix error message.
4193
41942005-07-04 Nathaniel Smith <njs@codesourcery.com>
4195
4196* tests/t_netsync_defaults.at: Update for new var names. All
4197tests now pass.
4198
41992005-07-04 Nathaniel Smith <njs@codesourcery.com>
4200
4201* lua.cc (hook_get_netsync_write_permitted): Fix typo.
4202
42032005-07-04 Nathaniel Smith <njs@codesourcery.com>
4204
4205* globish.cc (globish_matcher_test): Add check for {foo} (no
4206commas).
4207
42082005-07-04 Nathaniel Smith <njs@codesourcery.com>
4209
4210* globish.cc (checked_globish_to_regex): Make the special case for
4211the empty pattern, actually work. Unit tests now pass.
4212
42132005-07-04 Nathaniel Smith <njs@codesourcery.com>
4214
4215* netcmd.cc (test_netcmd_functions): Update for new anonymous/auth
4216packet formats.
4217
42182005-07-04 Nathaniel Smith <njs@codesourcery.com>
4219
4220* monotone.texi, monotone.1: Update for new glob stuff.
4221* commands.cc (process_netsync_args, push, pull, sync, serve):
4222'serve' always requires arguments, rather than falling back on db
4223defaults.
4224
42252005-07-04 Nathaniel Smith <njs@codesourcery.com>
4226
4227* commands.cc (process_netsync_args, push, pull, sync, serve):
4228Adapt for patterns instead of regexen; slight refactoring too.
4229
42302005-07-03 Nathaniel Smith <njs@codesourcery.com>
4231
4232* netsync.cc: Finally self-consistent.
4233
42342005-07-03 Nathaniel Smith <njs@codesourcery.com>
4235
4236* netsync.hh (run_netsync_protocol): Fix prototype.
4237
42382005-07-03 Nathaniel Smith <njs@codesourcery.com>
4239
4240* globish.hh: Document the empty pattern as never matching.
4241* globish.cc (checked_globish_to_regex): Implement it.
4242(globish_matcher_test): Check it.
4243
42442005-07-03 Nathaniel Smith <njs@codesourcery.com>
4245
4246* monotone.texi (Network Service, Hooks):
4247* testsuite.at:
4248* tests/t_netsync_permissions.at:
4249* tests/t_netsync_single.at: Update to match new
4250get_netsync_write_permitted definition.
4251
42522005-07-03 Nathaniel Smith <njs@codesourcery.com>
4253
4254* lua.{cc,hh} (hook_get_netsync_write_permitted): Don't take a
4255branch argument; write permission is now all or none. (It really
4256was before anyway...)
4257* netsync.cc: Update accordingly.
4258
42592005-07-03 Nathaniel Smith <njs@codesourcery.com>
4260
4261* netsync.cc: More updating for pattern stuff; getting there...
4262
42632005-06-28 Nathaniel Smith <njs@codesourcery.com>
4264
4265* netsync.cc: Update low-level functions to use include_pattern
4266and exclude_pattern.
4267
42682005-06-28 Nathaniel Smith <njs@codesourcery.com>
4269
4270* netcmd.{cc,hh} (read_anonymous_cmd, write_anonymous_cmd)
4271(read_auth_cmd, write_auth_cmd): Take include_pattern and
4272exclude_pattern arguments.
4273
42742005-06-28 Nathaniel Smith <njs@codesourcery.com>
4275
4276* globish.{cc,hh}: New files.
4277* Makefile.am (MOST_SOURCES): Add them.
4278* transforms.{cc,hh}: Remove glob-related stuff.
4279* unit_tests.{cc,hh}: Call globish unit tests.
4280
42812005-06-27 Nathaniel Smith <njs@codesourcery.com>
4282
4283* transforms.cc (glob_to_regex, globs_to_regex, regexes_to_regex):
4284Choose "regex" as standard spelling. Clean up code, add code for
4285handling sets, start improving tests (don't currently pass).
4286* transforms.hh (glob_to_regex, globs_to_regex, regexes_to_regex):
4287Prototype.
4288
42892005-06-28 Matt Johnston <matt@ucc.asn.au>
4290
4291* constants.cc: increase db_version_cache_sz to 7 MB
4292* netsync.cc: use a deque<string> rather than a single
4293string buffer for outbuf.
4294* netsync.cc (arm): only queue data when there is
4295available space
4296* AUTHORS: added Eric Anderson
4297
42982005-06-26 Matt Johnston <matt@ucc.asn.au>
4299
4300* transforms.hh: remove extraneous #ifdef
4301* hmac.cc, hmac.hh: actually add them
4302
43032005-06-26 Matt Johnston <matt@ucc.asn.au>
4304
4305* netcmd.cc (netcmd::read, netcmd::write): change to using a HMACs
4306chained by including the previous HMAC in the input data, rather
4307than altering the key each time.
4308* netcmd.cc ({read,write}_{data,delta}_cmd): use encode_gzip/decode_gzip
4309 rather than raw xform.
4310* hmac.{cc,hh}: new chained_hmac abstraction
4311* Makefile.in: add them
4312* netsync.cc: each session keeps a chained_hmac for read/write
4313* transforms.hh: add a string variant for encode_gzip
4314
43152005-06-25 Nathaniel Smith <njs@codesourcery.com>
4316
4317* netsync.cc: Tweak comment.
4318
43192005-06-25 Nathaniel Smith <njs@codesourcery.com>
4320
4321* AUTHORS: Add Ethan Blanton <elb@elitists.net>.
4322
43232005-06-22 Nathaniel Smith <njs@codesourcery.com>
4324
4325* netcmd.hh (netcmd::read, netcmd::write): Don't have defaults for
4326key/hmac arguments.
4327* netcmd.cc (do_netcmd_roundtrip): New function.
4328(test_netcmd_functions): Use it. Also, make work with hmac
4329changes.
4330(test_netcmd_mac): New test.
4331(add_netcmd_tests): Call it.
4332
43332005-06-22 Nathaniel Smith <njs@codesourcery.com>
4334
4335* netcmd.cc (read): Remove unused variable.
4336* netsync.cc (call_server, process)
4337(arm_sessions_and_calculate_probe, handle_read_available): Give
4338better error message on bad_decode exceptions.
4339
43402005-06-22 Nathaniel Smith <njs@codesourcery.com>
4341
4342* netcmd.cc, netsync.cc: Revert backwards compatibility code; 0.19
4343and 0.20 can't be usefully compatible, and the code as it existed
4344would cause real version mismatch error reporting to not work
4345right. (Old client with new server would give a generic "server
4346disconnected" error message instead of something useful.)
4347
43482005-06-21 Nathaniel Smith <njs@codesourcery.com>
4349
4350* netsync.cc (rebuild_merkle_trees): Fix FIXME comments to match
4351reality.
4352* tests/t_netsync_diffbranch.at: No longer a bug, remove
4353priority.
4354
43552005-06-20 Nathaniel Smith <njs@codesourcery.com>
4356
4357* monotone.texi (Hook Reference): Oops, missed a @ref.
4358
43592005-06-20 Nathaniel Smith <njs@codesourcery.com>
4360
4361* monotone.texi (Default monotonerc): Rename section to...
4362(Default hooks): ...this, to emphasize is still read even when a
4363monotonerc exists.
4364
43652005-06-19 Richard Levitte <richard@levitte.org>
4366
4367* Makefile.am: There's no reason for monotone.pdf or .dvi to
4368depend on monotone.info, since they are built from the .texi
4369files. Also, make the monotone.html and html targets depend
4370on version.texi and std_hooks.lua as well.
4371
43722005-06-18 Matt Johnston <matt@ucc.asn.au>
4373
4374* INSTALL: fix typo, should be -Iboost_1_31_0 not -Iboost_1_31_2
4375
43762005-06-18 Riccardo Ghetta <birrachiara@tin.it>
4377* monotone.texi: include std_hooks.lua as an appendix and remove long
4378lua excerpts from hook reference.
4379* Makefile.am : make monotone.pdf/eps depend on monotone.info
4380
43812005-06-24 Matt Johnston <matt@ucc.asn.au>
4382
4383* transforms.{cc,hh}: combine gzip and base64 in one
4384pipe for pack()/unpack() to save memory
4385* vocab.hh: add swap() to encodings/atomics
4386* file_io.cc: use swap() to avoid copying
4387
43882005-06-21 Nathaniel Smith <njs@codesourcery.com>
4389
4390* commands.cc (do_diff): Use calculate_arbitrary_change_set,
4391instead of reimplementing it.
4392
43932005-06-21 Nathaniel Smith <njs@codesourcery.com>
4394
4395* revision.cc (find_least_common_ancestor): Handle left == right
4396case.
4397* tests/t_diff_currev.at: Un-XFAIL.
4398
43992005-06-21 Nathaniel Smith <njs@codesourcery.com>
4400
4401* netsync.cc (rebuild_merkle_trees): Fix FIXME comments to match
4402reality.
4403* tests/t_netsync_diffbranch.at: No longer a bug, remove
4404priority.
4405
44062005-06-20 Nathaniel Smith <njs@codesourcery.com>
4407
4408* monotone.texi (Hook Reference): Oops, missed a @ref.
4409
44102005-06-20 Nathaniel Smith <njs@codesourcery.com>
4411
4412* monotone.texi (Default monotonerc): Rename section to...
4413(Default hooks): ...this, to emphasize is still read even when a
4414monotonerc exists.
4415
44162005-06-19 Richard Levitte <richard@levitte.org>
4417
4418* Makefile.am: There's no reason for monotone.pdf or .dvi to
4419depend on monotone.info, since they are built from the .texi
4420files. Also, make the monotone.html and html targets depend
4421on version.texi and std_hooks.lua as well.
4422
44232005-06-18 Matt Johnston <matt@ucc.asn.au>
4424
4425* INSTALL: fix typo, should be -Iboost_1_31_0 not -Iboost_1_31_2
4426
44272005-06-18 Riccardo Ghetta <birrachiara@tin.it>
4428* monotone.texi: include std_hooks.lua as an appendix and remove long
4429lua excerpts from hook reference.
4430* Makefile.am : make monotone.pdf/eps depend on monotone.info
4431
44322005-06-17 Matt Johnston <matt@ucc.asn.au>
4433
4434* database.cc (database::execute()): truncate long query log messages
4435before copying, saving memory.
4436Patch from Eric Anderson <anderse-monotone@cello.hpl.hp.com>
4437
44382005-06-17 Riccardo Ghetta <birrachiara@tin.it>
4439Adds include()/includedir() to lua hooks and extend --rcfile
4440* lua.cc: handle --rcfile with directories, implement
4441include() and includedir()
4442* testsuite.at, t_lua_includedir.at, t_rcfile_dir.at:
4443test new functionality
4444* monotone.texi: document all functions available to hook
4445writers, including the new include() and includedir()
4446
44472005-06-16 Nathaniel Smith <njs@codesourcery.com>
4448
4449* diff_patch.cc (merge_extents): Typo caught by anonymous reader.
4450
44512005-06-16 Nathaniel Smith <njs@codesourcery.com>
4452
4453* commands.cc (cat): Account for being in a subdir in 'cat file
4454REV PATH'.
4455* tests/t_cat_file_by_name.at: Test.
4456
44572005-06-17 Richard Levitte <richard@levitte.org>
4458
4459* app_state.cc (app_state::app_state()): Avoid a gcc warning by
4460having the class members initialised in the same order they are
4461defined in the class.
4462
44632005-06-16 Nathaniel Smith <njs@pobox.com>
4464
4465* std_hooks.lua (ignore_file): Add Cons/SCons cache files to
4466default ignore list.
4467
44682005-06-16 Matt Johnston <matt@ucc.asn.au>
4469
4470* ui.cc: increase the divisor as required so that we don't get spurious
4471screen updates when we're using the kilobyte/megabyte tickers
4472
44732005-06-15 Matt Johnston <matt@ucc.asn.au>
4474
4475* monotone.texi: clarify some netsync parts of the tutorial
4476
44772005-06-15 Richard Levitte <richard@levitte.org>
4478
4479* netsync.cc (struct session): Add a pattern regex cache.
4480(analyze_ancestry_graph): Use the regex cache instead of the
4481pattern string itself. This is especially important when the
4482pattern is used as an old-style collection.
4483(process_hello_cmd): Recreate the pattern regex cache with the
4484conversion of the pattern to a regex when it's used as an
4485old-style collection.
4486(process_auth_cmd): When the pattern changes, change the regex
4487cache as well.
4488
44892005-06-14 Richard Levitte <richard@levitte.org>
4490
4491* std_hooks.lua (get_preferred_merge2_command,
4492get_preferred_merge3_command): EDITOR may be undefined. In that
4493case, os.getenv() returns nil, on which string.lower() chokes.
4494It's much better to check for that and default to an empty
4495string.
4496
44972005-06-11 Derek Scherger <derek@echologic.com>
4498
4499* commands.cc (complete_command): log command expansion messages
4500with L instead of P to reduce chatter
4501(status): add --brief option and corresponding output
4502(identify): add trailing space to comment gcc complains about
4503* monotone.cc: fix comment typo and add additional details for
4504command specific options
4505* monotone.texi (Automation): list inventory status code
4506combinations and descriptions
4507* tests/t_status.at: new test of status command and --brief option
4508* testsuite.at: add it
4509
45102005-06-11 Matt Johnston <matt@ucc.asn.au>
4511
4512* commands.cc: revert should ignore the ignore hooks, otherwise bad
4513things happen (revert a single ignored file, resultant empty ignore list
4514reverts the whole working copy).
4515* app_state.cc, app_state.hh: give set_restriction a flag to disregard
4516file-ignore hooks.
4517* tests/t_revert_restrict.at, testsuite.at: a test
4518
45192005-06-09 Riccardo Ghetta <birrachiara@tin.it>
4520
4521* std_hooks.lua: make binary_file return nil on unreadable/empty files
4522
45232005-06-10 Joel Reed <joelwreed@comcast.com>
4524
4525* commands.cc (CMD(cdiff)): Add OPT_DEPTH to command options.
4526* t_restrictions.at: Add to testcase.
4527
45282005-06-09 Joel Reed <joelwreed@comcast.com>
4529
4530* commands.cc (CMD(diff)): Add OPT_DEPTH back in, as it is used.
4531* t_restrictions.at: Add to testcase to increase likelihood of
4532keeping it around :)
4533
45342005-06-10 Richard Levitte <richard@levitte.org>
4535
4536* commands.cc (CMD(diff)): Remove OPT_DEPTH, as it was never
4537used.
4538
45392005-06-09 Richard Levitte <richard@levitte.org>
4540
4541* monotone.texi (Merging): I assume that "apposite" was supposed
4542to be "appropriate".
4543
45442005-06-09 Riccardo Ghetta <birrachiara@tin.it>
4545
4546* diff_patch.cc/hh: honor the new manual_merge attribute
4547* file_io.cc/hh: move here the guess_binary function
4548* lua.cc: let guess_binary available to lua
4549* std_hooks.lua: handle manual_merge as an add-time attribute and
4550initialize by default make it true if the file appears to be binary.
4551Make read_contents_of_file able to read "binary" files.
4552* tests/t_merge_manual.at: tests new behaviour, superceding the
4553old XFAIL t_merge_binary.at test.
4554* monotone.texi: document changes, adding a small section on merging.
4555
45562005-06-07 Nathaniel Smith <njs@codesourcery.com>
4557
4558* ChangeLog: Fixup.
4559
45602005-06-07 Nathaniel Smith <njs@codesourcery.com>
4561
4562* monotone.texi (Storage and workflow): Attempt to thwart some
4563common misconceptions.
4564
45652005-06-07 Nathaniel Smith <njs@codesourcery.com>
4566
4567* netsync.cc (rebuild_merkle_trees): Add a comment describing how
4568this code should work (and why it currently doesn't quite).
4569
45702005-06-05 Nathaniel Smith <njs@codesourcery.com>
4571
4572* tests/t_bad_packets.at: Expect certs on a non-existent rev to
4573fail. Run db check instead.
4574* commands.cc (complete): Let callers specify they're okay with
4575non-existent revisions.
4576(CMD(trusted)): So specify.
4577
45782005-06-05 Nathaniel Smith <njs@codesourcery.com>
4579
4580* tests/t_tags.at: 'tag' on a non-existent revid should fail.
4581* commands.cc (complete): Fail on non-existent revids.
4582
45832005-05-29 Nathaniel Smith <njs@codesourcery.com>
4584
4585* tests/t_epoch.at: Typo.
4586* tests/t_automate_certs.at, tests/t_selector_later_earlier.at:
4587Throw in some calls to CANONICALISE, maybe this will help on
4588Win32...
4589
45902005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
4591
4592* netsync.cc, netcmd.cc: Style cleanups (mostly whitespace).
4593
45942005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
4595
4596* netsync.cc (process_hello_cmd): Warn about collection/regex
4597usage when talking to an old server.
4598
45992005-06-04 Derek Scherger <derek@echologic.com>
4600
4601* commands.cc (update): update MT/work based on the changes
4602between the chosen revision and the new merge revision
4603* tests/t_update_with_pending_drop.at:
4604* tests/t_update_with_pending_add.at:
4605* tests/t_update_with_pending_rename.at: un-XFAIL and clean up now
4606that things work
4607
46082005-06-04 Timothy Brownawell <tbrownaw@gmail.com>
4609
4610* netcmd.{cc,hh}, netsync.cc: Move {read,write}_*_cmd_payload
4611to netcmd::{read,write}_*_cmd .
4612* netcmd.cc, netsync.cc: Compatibility infrastructure.
4613* netsync.cc: Interoperate with v4 servers.
4614
46152005-06-03 Timothy Brownawell <tbrownaw@gmail.com>
4616
4617* automate.cc (print_some_output): Fix compiler warning.
4618
46192005-06-04 Derek Scherger <derek@echologic.com>
4620
4621* app_state.cc (app_state): initialize diffs to false; it seemed
4622to be defaulting to true for me
4623
46242005-06-04 Derek Scherger <derek@echologic.com>
4625
4626* tests/t_update_with_pending_drop.at:
4627* tests/t_update_with_pending_add.at:
4628* tests/t_update_with_pending_rename.at:
4629* tests/t_restricted_commit_with_inodeprints.at: new bug reports
4630* testsuite.at: call them
4631
46322005-06-04 graydon hoare <graydon@pobox.com>
4633
4634* rcs_import.cc
4635(note_state_at_branch_beginning): Move time back when
4636there are known commits on a branch.
4637
46382005-06-03 Joel Reed <joelwreed@comcast.com>
4639
4640* commands.cc, monotone.texi: provide --verbose option for
4641monotone complete revision which adds date and author
4642completion output
4643* contrib/monotone.zsh_completion: use verbose output when
4644completing revisions
4645
46462005-06-02 graydon hoare <graydon@pobox.com>
4647
4648* rcs_import.cc
4649(cvs_key::is_synthetic_branch_founding_commit): New field.
4650(cvs_key::operator==): Handle synthetic case specially.
4651(cvs_key::operator<): Likewise.
4652(note_state_at_branch_beginning): Likewise.
4653* tests/t_cvsimport_drepper.at: Converted bug testcase.
4654* testsuite.at: Call it.
4655
4656* monotone.cc, commands.cc, options.hh
4657(OPT_NO_MERGES, OPT_DIFFS): New options.
4658* app_state.cc (app_state::no_merges, app_state::diffs): Likewise.
4659* commands.cc (log): Honor no_merges, diffs.
4660* contrib/color_logs.{sh,conf}: Helpers for reviewing work in a
4661nice colorized, easy-to-read fashion.
4662* contrib/colorize: A colorization script found on the net.
4663
4664* HACKING, ROADMAP: Expand a bit.
4665* commands.cc (changes_summary::print): Change macro to helper fn.
4666