Subversion CVS ChangeLog (static)

This ChangeLog shows all the commits in Subversion's now-obsolete CVS repository. Since Subversion is no longer kept under CVS, this ChangeLog stops on the day of the switchover (August 30, 2001). Development is now happening in a Subversion repository; use Subversion itself to see commit messages from there.

2001-08-30 22:25   Karl Fogel <>

	* www/project_status.html (1.34):

	Fix date.  

2001-08-30 22:25   Karl Fogel <>

	* www/inconveniences.html (1.3):

	Fix wording.  

2001-08-30 22:23   Karl Fogel <>

	* www/inconveniences.html (1.2):

	Fix formatting.  

2001-08-30 22:22   Karl Fogel <>

	* INSTALL (1.7), (1.105), notes/m3-checklist.txt
	(1.15), www/cvs-changelog.html (1.1), www/inconveniences.html
	(1.1), www/index.html (1.32), www/project_source.html (1.6),
	www/project_status.html (1.33):

	* INSTALL: Updated instructions.  
	* www/index.html: Note about self-hosting.  
	* www/project_source.html: New instructions for obtaining source.  
	* www/cvs-changelog.html: New file.  
	* www/inconveniences.html: New file.  
	* www/project_status.html: Update.  
	* notes/m3-checklist.txt: Update.  
	* (SVN_VERSION): M3.  

2001-08-30 20:39   Branko Cibej <>

	* subversion/libsvn_client/update.c (1.27):

	* update.c (svn_client_update): Always call svn_client_authenticate 
	with a directory path.  

2001-08-30 20:02   Branko Cibej <>

	* HACKING (1.41):

	Wups, fix typo in URL.  

2001-08-30 19:57   Branko Cibej <>

	* subversion/libsvn_ra_dav/.cvsignore (1.3):

	Ignore Debug and Release subdirs.  

2001-08-30 19:57   Karl Fogel <>

	* subversion/libsvn_ra_dav/props.c (1.14):

	(svn_ra_dav__get_props_resource): Fill in the error check that was 
	already here: if unable to obtain resource, return an error.  

2001-08-30 19:54   Branko Cibej <>

	* subversion/svnadmin/svnadmin.dsp (1.7):

	Link with neon.  

2001-08-30 19:52   Branko Cibej <>

	* subversion/libsvn_ra_dav/libsvn_ra_dav.dsp (1.3):

	Add include path and link depencency for neon.  

2001-08-30 19:50   Branko Cibej <>

	* subversion/clients/cmdline/subversion_client.dsp (1.8):

	Link with neon.  

2001-08-30 19:48   Branko Cibej <>

	* svn_private_config.hw (1.6):

	Enable linking with ra_dav.  

2001-08-30 19:47   Branko Cibej <>

	* subversion.dsw (1.19):

	(subversion_client, svnadmin): Add dependency on libsvn_ra_dav.  

2001-08-30 19:45   Branko Cibej <>

	* HACKING (1.40):

	Describe how to build with neon.  

2001-08-30 19:22   Branko Cibej <>

	* subversion/libsvn_client/status.c (1.24):

	* status.c (svn_client_status): Always call svn_client_authenticate 
	with a directory path.  

2001-08-30 19:19   Branko Cibej <>

	* subversion/libsvn_subr/io.c (1.47):

	* io.c (svn_io_check_path): Treat an empty path as a synonym for

2001-08-30 19:16   Branko Cibej <>

	* subversion/clients/cmdline/checkout-cmd.c (1.9):

	* checkout-cmd.c (svn_cl__checkout): Use the right path style when 
	splitting the URL.  

2001-08-30 18:51  C. Michael Pilato <>

	* subversion/libsvn_ra_dav/util.c (1.9):

	* util.c 
	  (svn_ra_dav__parsed_request): Make neon errors more informational.  

2001-08-30 15:38   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/tree.c (1.101),
	tests/clients/cmdline/ (1.17):

	Fix issue #469, whereby merge() was erroneously flagging conflicts.  
	* tree.c (merge):  add some new logic to make this function less
	* (merge_mixed_revisions):  one hell of a regression

2001-08-30 15:33   Karl Fogel <>

	* (1.29):

	(local-install): Don't depend on `install-sbin' rule, no one uses it 

2001-08-30 11:14   Karl Fogel <>

	* build.conf (1.32):

	(svnadmin): Install in bin, not sbin.  See thread "quick poll on 
	`svnadmin' install location" on the dev list for more.  

2001-08-29 17:14   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.c (1.31):

	Get rid of compiler warning about unused function `write_string': 
	(DELTIFYING): New #define, set to 0.  
	(write_string_baton, write_string): Guard definitions with
	(svn_fs__rep_deltify): Guard body with DELTIFYING.  

2001-08-29 16:57   Karl Fogel <>

	* svn_private_config.hw (1.5), subversion/bindings/apr.i (1.3),
	subversion/bindings/svn_client.i (1.2),
	subversion/bindings/svn_delta.i (1.2),
	subversion/bindings/svn_error.i (1.4), subversion/bindings/svn_fs.i
	(1.3), subversion/bindings/svn_io.i (1.2),
	subversion/bindings/svn_ra.i (1.2),
	subversion/bindings/svn_string.i (1.4),
	subversion/bindings/svn_types.i (1.3), subversion/bindings/svn_wc.i
	subversion/bindings/java/jni/org/tigris/subversion/SubversionExcept (1.2),
	a (1.3),
	a (1.3),
	subversion/bindings/java/jni/org/tigris/subversion/lib/TextdeltaHan (1.3),
	java (1.3),
	subversion/bindings/java/jni/org/tigris/subversion/lib/TextdeltaWin (1.3),
	subversion/bindings/java/jni/org/tigris/subversion/lib/TreeDeltaEdi (1.3),
	java (1.3), subversion/clients/cmdline/add-cmd.c (1.4),
	subversion/clients/cmdline/checkout-cmd.c (1.8),
	subversion/clients/cmdline/cl.h (1.18),
	subversion/clients/cmdline/cleanup-cmd.c (1.5),
	subversion/clients/cmdline/commit-cmd.c (1.10),
	subversion/clients/cmdline/delete-cmd.c (1.4),
	subversion/clients/cmdline/diff-cmd.c (1.4),
	subversion/clients/cmdline/diff.c (1.6),
	subversion/clients/cmdline/feedback.c (1.7),
	subversion/clients/cmdline/help-cmd.c (1.6),
	subversion/clients/cmdline/import-cmd.c (1.9),
	subversion/clients/cmdline/main.c (1.17),
	subversion/clients/cmdline/prompt.c (1.5),
	subversion/clients/cmdline/propdel-cmd.c (1.3),
	subversion/clients/cmdline/propget-cmd.c (1.4),
	subversion/clients/cmdline/proplist-cmd.c (1.5),
	subversion/clients/cmdline/props.c (1.7),
	subversion/clients/cmdline/propset-cmd.c (1.6),
	subversion/clients/cmdline/revert-cmd.c (1.2),
	subversion/clients/cmdline/status-cmd.c (1.8),
	subversion/clients/cmdline/status.c (1.9),
	subversion/clients/cmdline/trace-commit.c (1.9),
	subversion/clients/cmdline/trace-update.c (1.6),
	subversion/clients/cmdline/update-cmd.c (1.8),
	subversion/clients/cmdline/util.c (1.8),
	subversion/clients/win32/svn_com/MarshalArray.h (1.5),
	subversion/clients/win32/svn_com/SVN.cpp (1.10),
	subversion/clients/win32/svn_com/SVN.h (1.4),
	subversion/clients/win32/svn_com/SVNCOM.cpp (1.2),
	subversion/clients/win32/svn_com/SVNCOM.idl (1.2),
	subversion/clients/win32/svn_com/SVNStatus.cpp (1.3),
	subversion/clients/win32/svn_com/SVNStatus.h (1.4),
	subversion/clients/win32/svn_com/StdAfx.cpp (1.2),
	subversion/clients/win32/svn_com/StdAfx.h (1.4),
	subversion/clients/win32/svn_com/dlldatax.c (1.3),
	subversion/clients/win32/svn_com/dlldatax.h (1.3),
	subversion/clients/win32/svn_com/misc.cpp (1.2),
	subversion/clients/win32/svn_com/misc.h (1.4),
	subversion/clients/win32/svn_com/svn_comCP.h (1.4),
	subversion/include/svn_base64.h (1.11),
	subversion/include/svn_client.h (1.46),
	subversion/include/svn_config.h (1.3),
	subversion/include/svn_delta.h (1.157),
	subversion/include/svn_error.h (1.111),
	subversion/include/svn_error_codes.h (1.16),
	subversion/include/svn_fs.h (1.106), subversion/include/svn_hash.h
	(1.19), subversion/include/svn_io.h (1.43),
	subversion/include/svn_path.h (1.41),
	subversion/include/svn_pools.h (1.5),
	subversion/include/svn_quoprint.h (1.4),
	subversion/include/svn_ra.h (1.66), subversion/include/svn_repos.h
	(1.29), subversion/include/svn_sorts.h (1.5),
	subversion/include/svn_string.h (1.51),
	subversion/include/svn_test.h (1.18), subversion/include/svn_time.h
	(1.3), subversion/include/svn_types.h (1.67),
	subversion/include/svn_wc.h (1.112), subversion/include/svn_xml.h
	(1.34), subversion/libsvn_client/add.c (1.19),
	subversion/libsvn_client/apply_edits.c (1.18),
	subversion/libsvn_client/auth.c (1.8),
	subversion/libsvn_client/checkout.c (1.24),
	subversion/libsvn_client/cleanup.c (1.2),
	subversion/libsvn_client/client.h (1.14),
	subversion/libsvn_client/commit.c (1.60),
	subversion/libsvn_client/delete.c (1.12),
	subversion/libsvn_client/diff.c (1.4),
	subversion/libsvn_client/revert.c (1.2),
	subversion/libsvn_client/status.c (1.23),
	subversion/libsvn_client/update.c (1.26),
	subversion/libsvn_delta/compose_editors.c (1.19),
	subversion/libsvn_delta/default_editor.c (1.11),
	subversion/libsvn_delta/delta.h (1.56),
	subversion/libsvn_delta/svndiff.c (1.32),
	subversion/libsvn_delta/text_delta.c (1.37),
	subversion/libsvn_delta/track_editor.c (1.7),
	subversion/libsvn_delta/vdelta.c (1.11),
	subversion/libsvn_delta/xml_output.c (1.41),
	subversion/libsvn_delta/xml_parse.c (1.159),
	subversion/libsvn_fs/dag.c (1.123), subversion/libsvn_fs/dag.h
	(1.51), subversion/libsvn_fs/dbt.c (1.20),
	subversion/libsvn_fs/dbt.h (1.19), subversion/libsvn_fs/err.c
	(1.31), subversion/libsvn_fs/err.h (1.25),
	subversion/libsvn_fs/fs.c (1.74), subversion/libsvn_fs/fs.h (1.33),
	subversion/libsvn_fs/id.c (1.28), subversion/libsvn_fs/id.h (1.12),
	subversion/libsvn_fs/key-gen.c (1.4),
	subversion/libsvn_fs/key-gen.h (1.3),
	subversion/libsvn_fs/node-rev.c (1.24),
	subversion/libsvn_fs/node-rev.h (1.13),
	subversion/libsvn_fs/nodes-table.c (1.25),
	subversion/libsvn_fs/nodes-table.h (1.12),
	subversion/libsvn_fs/proplist.c (1.13),
	subversion/libsvn_fs/proplist.h (1.9),
	subversion/libsvn_fs/reps-strings.c (1.30),
	subversion/libsvn_fs/reps-strings.h (1.16),
	subversion/libsvn_fs/reps-table.c (1.6),
	subversion/libsvn_fs/reps-table.h (1.5),
	subversion/libsvn_fs/rev-table.c (1.17),
	subversion/libsvn_fs/rev-table.h (1.9), subversion/libsvn_fs/skel.c
	(1.36), subversion/libsvn_fs/skel.h (1.25),
	subversion/libsvn_fs/strings-table.c (1.13),
	subversion/libsvn_fs/strings-table.h (1.11),
	subversion/libsvn_fs/trail.c (1.12), subversion/libsvn_fs/trail.h
	(1.9), subversion/libsvn_fs/tree.c (1.100),
	subversion/libsvn_fs/tree.h (1.7), subversion/libsvn_fs/txn-table.c
	(1.29), subversion/libsvn_fs/txn-table.h (1.15),
	subversion/libsvn_fs/txn.c (1.47), subversion/libsvn_fs/txn.h
	(1.12), subversion/libsvn_fs/validate.c (1.7),
	subversion/libsvn_fs/validate.h (1.4),
	subversion/libsvn_ra/ra_loader.c (1.12),
	subversion/libsvn_ra_dav/commit.c (1.67),
	subversion/libsvn_ra_dav/fetch.c (1.71),
	subversion/libsvn_ra_dav/merge.c (1.15),
	subversion/libsvn_ra_dav/options.c (1.10),
	subversion/libsvn_ra_dav/props.c (1.13),
	subversion/libsvn_ra_dav/ra_dav.h (1.38),
	subversion/libsvn_ra_dav/session.c (1.37),
	subversion/libsvn_ra_dav/util.c (1.8),
	subversion/libsvn_ra_local/checkout.c (1.15),
	subversion/libsvn_ra_local/ra_local.h (1.18),
	subversion/libsvn_ra_local/ra_plugin.c (1.44),
	subversion/libsvn_ra_local/split_url.c (1.13),
	subversion/libsvn_repos/commit_editor.c (1.18),
	subversion/libsvn_repos/delta.c (1.55),
	subversion/libsvn_repos/hooks.c (1.18),
	subversion/libsvn_repos/lock.c (1.4),
	subversion/libsvn_repos/node_tree.c (1.6),
	subversion/libsvn_repos/reporter.c (1.16),
	subversion/libsvn_repos/rev_hunt.c (1.4),
	subversion/libsvn_subr/config.c (1.3),
	subversion/libsvn_subr/hashdump.c (1.27),
	subversion/libsvn_subr/io.c (1.46), subversion/libsvn_subr/path.c
	(1.41), subversion/libsvn_subr/quoprint.c (1.8),
	subversion/libsvn_subr/sorts.c (1.5),
	subversion/libsvn_subr/svn_base64.c (1.2),
	subversion/libsvn_subr/svn_error.c (1.77),
	subversion/libsvn_subr/svn_string.c (1.16),
	subversion/libsvn_subr/target.c (1.13),
	subversion/libsvn_subr/time.c (1.5), subversion/libsvn_subr/xml.c
	(1.43), subversion/libsvn_wc/adm_crawler.c (1.129),
	subversion/libsvn_wc/adm_files.c (1.86),
	subversion/libsvn_wc/adm_ops.c (1.85),
	subversion/libsvn_wc/entries.c (1.119),
	subversion/libsvn_wc/get_editor.c (1.195),
	subversion/libsvn_wc/lock.c (1.26), subversion/libsvn_wc/log.c
	(1.110), subversion/libsvn_wc/props.c (1.38),
	subversion/libsvn_wc/questions.c (1.60),
	subversion/libsvn_wc/status.c (1.40), subversion/libsvn_wc/util.c
	(1.20), subversion/libsvn_wc/wc.h (1.161),
	subversion/mod_dav_svn/activity.c (1.12),
	subversion/mod_dav_svn/dav_svn.h (1.37),
	subversion/mod_dav_svn/deadprops.c (1.17),
	subversion/mod_dav_svn/liveprops.c (1.24),
	subversion/mod_dav_svn/merge.c (1.16),
	subversion/mod_dav_svn/mod_dav_svn.c (1.21),
	subversion/mod_dav_svn/repos.c (1.62),
	subversion/mod_dav_svn/update.c (1.11),
	subversion/mod_dav_svn/util.c (1.19),
	subversion/mod_dav_svn/version.c (1.32), subversion/svnadmin/main.c
	(1.26), subversion/svnlook/main.c (1.21),
	subversion/tests/fs-helpers.c (1.10), subversion/tests/fs-helpers.h
	(1.6), subversion/tests/svn_test_editor.c (1.28),
	subversion/tests/svn_tests_main.c (1.24),
	subversion/tests/libsvn_delta/deltaparse-test.c (1.73),
	subversion/tests/libsvn_delta/random-test.c (1.26),
	subversion/tests/libsvn_delta/svndiff-test.c (1.13),
	subversion/tests/libsvn_delta/vdelta-test.c (1.9),
	subversion/tests/libsvn_delta/xml-output-test.c (1.18),
	subversion/tests/libsvn_fs/fs-test.c (1.104),
	subversion/tests/libsvn_fs/key-test.c (1.3),
	subversion/tests/libsvn_fs/skel-test.c (1.24),
	subversion/tests/libsvn_fs/strings-reps-test.c (1.10),
	subversion/tests/libsvn_ra_local/ra-local-test.c (1.13),
	subversion/tests/libsvn_repos/dir-delta-editor.c (1.7),
	subversion/tests/libsvn_repos/dir-delta-editor.h (1.4),
	subversion/tests/libsvn_repos/md5args.c (1.4),
	subversion/tests/libsvn_repos/repos-test.c (1.13),
	subversion/tests/libsvn_subr/hashdump-test.c (1.24),
	subversion/tests/libsvn_subr/path-test.c (1.7),
	subversion/tests/libsvn_subr/stringtest.c (1.11),
	subversion/tests/libsvn_subr/target-test.c (1.12),
	subversion/tests/libsvn_wc/checkout-test.c (1.46),
	subversion/tests/libsvn_wc/commit-test.c (1.35),
	tools/ (1.5):

	* tools/ Change to reflect new license.  
	* everything with a license: Updated with text acknowledging 
	contributors and advising how to track contribution history.  
	Suggested by C. Scott Ananian <>.  

2001-08-29 16:31   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.73):

	Patch from Sander Striker <>: 
	(cleanup_fs_db): Ignore DB_INCOMPLETE error on db->close.  

2001-08-29 12:27  C. Michael Pilato <>

	* subversion/libsvn_wc/adm_crawler.c (1.128):

	"Working copy locked" gone with no compiler warnings.  
	* adm_crawler.c 
	  (do_lock): Don't try to declare a variable you won't use.  That

2001-08-29 12:18  C. Michael Pilato <>

	* subversion/libsvn_wc/adm_crawler.c (1.127):

	"Working copy locked" gone.  
	* adm_crawler.c 
	  (do_lock): Don't try to lock a directory we've locked in the past.  

2001-08-29 10:31  C. Michael Pilato <>

	* tools/ (1.2):

	  Echo the per-commit "banner".  

2001-08-29 07:33  C. Michael Pilato <>

	* subversion/mod_dav_svn/repos.c (1.61):

	* repos.c 
	  (dav_svn_open_stream): DAV expects to see the whole of the svndiff 
	  data.  Reflect this expectation in code (thanks, gstein).  

2001-08-28 18:19  C. Michael Pilato <>

	* subversion/libsvn_delta/svndiff.c (1.31):

	* svndiff.c 
	  (write_handler): Um...remove debugging printfs.  

2001-08-28 18:15  C. Michael Pilato <>

	* subversion/libsvn_delta/svndiff.c (1.30):

	Karl and Mike, trying to nail the DAV svndiff-data-is-hosed bug: 
	* svndiff.c 
	  (write_handler): Empower this function to create more than a single 
	  window if has enough data to do so.  

2001-08-28 17:08   Branko Cibej <>

	* subversion.dsw (1.18):

	* subversion.dsw (__check__): Add dependency for 

2001-08-28 17:06   Branko Cibej <>

	* subversion/libsvn_repos/libsvn_repos.dsp (1.7):

	This fixes L4098 warnings in the Win32 Release build. Thanks to Bill
	Tutt for finding the bug.  
	* libsvn_repos.dsp: Change project settings.  

2001-08-28 11:07  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/ (1.6):

	  Changed syntax from `func ()' to `func()'.  
	  (nested_adds): Changed function description.  

2001-08-28 11:01  C. Michael Pilato <>

	* .cvsignore (1.11):

	* .cvsignore 
	  Ignore `builtin' db/ directory.  

2001-08-28 09:44   Daniel Stenberg <>

	* ac-helpers/ (1.2):

	The test command's stderr is now passed to /dev/null, the selection
	loop now picks the FIRST diff command in the PATH that matches the
	criteria (previously, it picked the last one) and it bails out of
	the loop as soon as it has found a diff that seems to be working.  
	PR: Obtained from: Submitted by: Reviewed by: 

2001-08-28 06:20   Greg Stein <>

	* (1.104), ac-helpers/berkeley-db.m4 (1.11):

	We are now looking for DB 3.3.11 

2001-08-28 04:15   Greg Stein <>

	* tools/: find-textfiles (1.1), (1.1):

	Two scripts to generate a script containing a long series of
	commits. The usage information is in comments in the header of each

2001-08-27 18:49   Branko Cibej <>

	* .cvsignore (1.10), HACKING (1.39), svn_private_config.hw (1.4),
	subversion/clients/cmdline/subversion_client.dsp (1.7),
	subversion/libsvn_fs/libsvn_fs.dsp (1.16),
	subversion/svnadmin/svnadmin.dsp (1.6),
	subversion/svnlook/svnlook.dsp (1.4),
	subversion/tests/libsvn_test_main.dsp (1.7),
	subversion/tests/libsvn_delta/deltaparse_test.dsp (1.7),
	subversion/tests/libsvn_delta/random_test.dsp (1.5),
	subversion/tests/libsvn_delta/svndiff_test.dsp (1.5),
	subversion/tests/libsvn_delta/vdelta_test.dsp (1.5),
	subversion/tests/libsvn_delta/xml_output_test.dsp (1.5),
	subversion/tests/libsvn_fs/fs_test.dsp (1.7),
	subversion/tests/libsvn_fs/skel_test.dsp (1.7),
	subversion/tests/libsvn_repos/repos_test.dsp (1.3),
	subversion/tests/libsvn_subr/hashdump_test.dsp (1.6),
	subversion/tests/libsvn_subr/string_test.dsp (1.6),
	subversion/tests/libsvn_wc/checkout_test.dsp (1.5),
	subversion/tests/libsvn_wc/commit_test.dsp (1.7):

	Reworked the Win32 build again. No more environment variables, no
	more special settings in MSVC. The Berkeley DB includes and libs
	must now live under db3-win32 in the root of the Subversion source
	Also fixed some test driver .dsps so that all tests can now be built 
	in Release mode.  
	* .cvsignore: Added db3-win32 
	* HACKING: New build instructions.  
	* svn_private_conftg.hw: Change SVN_FS_WANT_DB_* to require 3.3.11.  
	* *.dsp: Look for DB3 includes in .../db3-win32/include; look for 
	import libs in .../db3-win32/lib. Fix library paths in several test 
	driver projects.  

2001-08-27 15:31  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/: (1.16), (1.8), (1.5),

	  Uh...can't use traceback without importing the traceback module.  

2001-08-27 15:29  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/: (1.14), (1.15), (1.7),
	(1.4), (1.4):

	  Add a warning about the need for Python 2.1 when a SyntaxError 
	  occurs importing the svntest module.  

2001-08-27 15:03   Karl Fogel <>

	* subversion/libsvn_fs/fs.h (1.32):

	* fs.h (SVN_FS__REPOS_CUSTOM_DIR): Remove.  This was unused, and the 
	need for it is no longer clear.  If we do end up desiring a
	designated user space in the repository, it's easy enough to add
	later.  But we aren't using such an area in the initial M3
	repository, so it's premature to support it now.  
	Note: if we eventually decide to implement this, I
	( have a diff that already implements most of it.  

2001-08-27 14:38   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.72):

	(create_hooks): Use a realistic example for the post-commit

2001-08-27 12:26  C. Michael Pilato <>

	* subversion/: include/svn_delta.h (1.156), libsvn_delta/svndiff.c
	(1.29), libsvn_delta/xml_parse.c (1.158), libsvn_fs/reps-strings.c
	(1.29), mod_dav_svn/repos.c (1.60),
	tests/libsvn_delta/random-test.c (1.25):

	Implement Karl's suggestion for svndiff streams, that upon closing
	the stream, if all the svndiff data has not been handled, it is only 
	considered an error if the stream's creator so requests.  
	* subversion/libsvn_delta/svndiff.c 
	  (struct decode_baton): Added ERROR_ON_EARLY_CLOSE member.  
	  (close_handler): Return SVN_ERR_SVNDIFF_UNEXPECTED_END only if the 
	  baton was created with ERROR_ON_EARLY_CLOSE set to TRUE.  
	  (svn_txdelta_parse_svndiff): Added ERROR_ON_EARLY_CLOSE argument to 
	  populate new member of decode_baton structure.  
	* subversion/include/svn_delta.h 
	  (svn_txdelta_parse_svndiff): Added ERROR_ON_EARLY_CLOSE argument to 
	  populate new member of decode_baton structure.  
	* subversion/libsvn_delta/xml_parse.c 
	  (do_begin_textdelta): Request an error if we close the svndiff 
	  stream too early.  
	* subversion/tests/libsvn_delta/random-test.c 
	  (main): Request an error if we close the svndiff stream too early.  
	* subversion/libsvn_fs/reps-strings.c 
	  (rep_read_range): Request that we do NOT get an error for closing 
	  the svndiff stream early.  This means we no longer need to trap an 
	  error when closing the stream.  
	* subversion/mod_dav_svn/repos.c 
	  (dav_svn_open_stream): Request that we do NOT get an error for 
	  closing the svndiff stream early.  

2001-08-27 11:33   Karl Fogel <>

	* subversion/clients/cmdline/status.c (1.8):

	When printing only modified files, show conflicted and even merged 
	files too.  
	This resolves issue #448, but we still need regression tests, so 
	instead of closing the issue, I've reblorgified it to be about

2001-08-27 11:10  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/ (1.3):

	Just keeping myself busy here writing tests (read: Hey, if you're 
	wondering how *you* can contribute to Subversion, consider writing 
	  (delete_files, delete_dirs): New test functions.  
	  (test_list): Add references to new test functions.  

2001-08-27 11:05   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.c (1.28):

	(svn_fs__rep_deltify): Turn off deltification.  

2001-08-27 11:03   Karl Fogel <>

	* notes/m3-checklist.txt (1.14):

	Revert accidental commit 1.13, now back to contents of rev 1.12.  

2001-08-27 10:11  C. Michael Pilato <>

	* subversion/libsvn_wc/get_editor.c (1.194):

	* get_editor.c 
	  (svn_wc_get_actual_target): Fixes for Issue #444.  It isn't enough 
	  to simply check to see if the parent is under revision control. 
	  We gotta make the parent is versioned *as our parent* ! 

2001-08-26 19:02   Branko Cibej <>

	* HACKING (1.38), subversion/clients/cmdline/subversion_client.dsp
	(1.6), subversion/libsvn_fs/libsvn_fs.dsp (1.15),
	subversion/libsvn_ra/libsvn_ra.dsp (1.2),
	subversion/libsvn_ra_dav/libsvn_ra_dav.dsp (1.2),
	subversion/libsvn_ra_local/libsvn_ra_local.dsp (1.2),
	subversion/libsvn_repos/libsvn_repos.dsp (1.6),
	subversion/svnadmin/svnadmin.dsp (1.5),
	subversion/svnlook/svnlook.dsp (1.3),
	subversion/tests/libsvn_test_main.dsp (1.6),
	subversion/tests/libsvn_fs/fs_test.dsp (1.6),
	subversion/tests/libsvn_fs/skel_test.dsp (1.6),
	subversion/tests/libsvn_repos/repos_test.dsp (1.2):

	Change from Roman Neuhauser <>: 
	Update Win32 build to db-3.3.11, and remove the dependency on the 
	SVN_DB3_WIN32 environment variable.  
	* HACKING: New Win32 build instructions.  * *.dsp: Remove references
	to SVN_DB3_WIN32, ling win libdb33.  

2001-08-24 17:47   Ben Collins-Sussman <>

	* subversion/clients/cmdline/: cl.h (1.17), main.c (1.16),
	status-cmd.c (1.7), status.c (1.7):

	Stupid status tricks:  'svn st -M' is now equivalent to 'svn st |
	grep "^M"'.  Just a shortcut.  
	* cl.h (svn_cl__opt_state_t):  add 'modified' flag.  
	* main.c (main): add '--modified'/ '-M' commandline switch.  
	* status.c (svn_cl__print_status_list): filter if modify-flag set.  
	* status-cmd.c (svn_cl__status): pass opt_state->modified to above.  

2001-08-24 14:16   Karl Fogel <>

	* notes/m3-checklist.txt (1.13):

	(svn_fs__rep_deltify): Turn off deltification.  

2001-08-24 13:21  Kevin Pilch-Bisson <>

	* subversion/libsvn_client/auth.c (1.7):

	Fix echoing of passwords to screen.  
		auth.c(auth_simple_password): Change HIDE flag to 1(true)when
			prompting for passwords.  
	This fixes Issue #464.  

2001-08-24 12:05  C. Michael Pilato <>

	* subversion/tests/: clients/cmdline/ (1.13),
	libsvn_fs/fs-test.c (1.103):

	* clients/cmdline/ 
	  (test_list): Enable update_binary_file_2 test.  
	* libsvn_fs/fs-test.c 
	  (get_file_digest): Readjust back to a big buffer (with a 
	  docstring and bug report to boot).  
	  (large_file_integrity): Make filesize bigger than 
	  svn_txdelta__window_size for regression testing usefulness.  

2001-08-24 11:07  C. Michael Pilato <>

	* subversion/: include/svn_error_codes.h (1.15),
	libsvn_delta/svndiff.c (1.28), libsvn_fs/reps-strings.c (1.27):

	Woohoo.  I think this nails the svn_txdelta__window_size-ed files
	* include/svn_error_codes.h 
	  SVN_ERR_SVNDIFF_UNEXPECTED_END): New error codes for svndiff data.  
	* libsvn_delta/svndiff.c 
	  (write_handler, close_handler): Use new SVN_ERR_SVNDIFF_* error
	* libsvn_fs/reps-strings.c 
	  (rep_read_range): Fixed some early-loop-exit logic bugs.  Also, 
	  closing a delta stream early causes a specific error 
	  (SVN_ERR_SVNDIFF_UNEXPECTED_END) now, so we can test for that
	  error and handle it appropriately.  

2001-08-23 16:27   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.126):

	* adm_crawler.c (svn_wc_crawl_local_mods): apply gstein's change; 
	  if we have two return two errors, link them together and return

2001-08-23 15:59  C. Michael Pilato <>

	* subversion/libsvn_subr/svn_error.c (1.76):

	Make pool debugging stuff print out more neatly.  
	* svn_error.c 
	  (svn_pool_create_debug, svn_pool_clear_debug,
	  svn_pool_destroy_debug): Make output columnar.  

2001-08-23 15:00   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.99):

	Working with Ben on the fs memory usage problem: 
	* tree.c (merge): Take a target node instead of target_root, now;
	use target_path only for conflict error reporting.  Also, just check
	for mutability instead of forcing it, since in normal operation
	anything we call merge on must be mutable.  This should result in
	many fewer calls to svn_fs__get_node_revision.  
	(get_dag_mutable): Remove this now-unused function.  
	(txn_body_merge): Change call to merge to match above.  Doc fix.  

2001-08-23 14:53  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.102):

	* fs-test.c 
	  (large_file_integrity): Oops.  Check in non-broken version.  

2001-08-23 14:51  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.101):

	* fs-test.c 
	  (large_file_integrity): Reverse order of final MD5 testing.  Test 
	  the trivial (fulltext) revision first, then increase in complexity 
	  as deltas are stored back to revision 1.  

2001-08-23 14:16  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.100):

	* fs-test.c 
	  (get_file_digest): Drop buffer size down to 4096.  
	  (random_data_to_buffer): Helper function for writing pseudo-random 
	  data to a buffer.  
	  (large_file_integrity): Make sure we are using a file bigger than 
	  svn_txdelta__window_size since we've had bugs with files that big.  
	  Also, use random_data_to_buffer() 'cause it makes debugging so
	  much easier (what, you won't want to step through a pseudo-random
	  number of for() loops?).  

2001-08-23 14:15  C. Michael Pilato <>

	* subversion/libsvn_delta/svndiff.c (1.27):

	* svndiff.c 
	  (window_handler): Docstring spelling fix.  

2001-08-23 13:45   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.98):

	(merge): We already have node IDs, so don't redundantly refetch

2001-08-23 13:38   Karl Fogel <>

	* subversion/clients/cmdline/: prompt.c (1.4), trace-commit.c

	Ben recommended fixing issue #450 a different way: 
	* trace-commit.c (replace_root): Revert change of 2001-08-20.  
	* prompt.c (svn_cl__prompt_user): Print a newline if user's newline 
	won't be shown.  

2001-08-23 12:09   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.97):

	(merge): Less inaccurate error code (this is subtly different from 
	being "more accurate", by the way).  

2001-08-23 11:54   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.96):

	(txn_body_merge): Add explanatory comments in the places where Ben
	had questions.  

2001-08-23 11:34  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/ (1.12):

	  (update_binary_file_2): New test function.  
	  (test_list): Add reference to new test function,
	  update_binary_file_2().  Currently, this is commented out (cuz it
	don't pass).  

2001-08-22 12:29   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.125):

	* adm_crawler.c (svn_wc__crawl_local_mods):  main logic moved in
	  (svn_wc_crawl_local_mods):  public API is now a wrapper that passes 
	  lockhash to static func, and catches *all* crawl errors and
	  unlocks dirs.  

2001-08-21 19:51   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.71):

	(svn_fs_close_fs): Oops, leave instrumenting off by default.  

2001-08-21 19:51   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.70):

	(svn_fs_close_fs): Remove inaccurate comment -- turned out to be a 
	case of installed libs interfering with local compilation again.  

2001-08-21 18:44   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.69):

	(svn_fs_close_fs): Set up lock and txn instrumentation, #ifdef'd out 
	for normal operation.  

2001-08-21 17:11   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.68):

	* fs.c (cleanup_fs): Add comment about wait time, so future readers 
	will know.  

2001-08-21 17:10   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.67):

	* fs.c (cleanup_fs): Whoa, revert previous change to wait time.  
	apr_sleep() takes microseconds, not milliseconds.  Thanks to Greg 
	Stein for pointing this out.  From now on, Karl relies on docs, not 
	his eminently fallible memory.  

2001-08-21 15:15   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.66):

	* fs.c (cleanup_fs): Just wait one minute, not sixteen, before 
	re-attempting a checkpoint.  

2001-08-21 15:01   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.65):

	* fs.c (cleanup_fs): Fix cut-and-pastos in error strings passed to 
	cleanup_fs_db.  Next, investigate the sleep() call in the 
	DB_INCOMPLETE case immediately following this fix, which Mike Pilato 
	just noticed over my shoulder...  

2001-08-21 14:55  C. Michael Pilato <>

	* subversion/libsvn_delta/svndiff.c (1.26):

	* svndiff.c 
	  (write_handler): Fixed formatting.  

2001-08-21 14:16   Karl Fogel <>

	* subversion/libsvn_wc/Makefile (1.7):

	Remove again, so this file doesn't appear in 'export -D tomorrow'.  

2001-08-21 14:02   Karl Fogel <>

	* (1.6):

	Ensure successful `cd's before going further.  Ben accidentally had 
	"make distclean" run in the top level of his working copy (oops!)
	when we failed to cd into the dist sandbox's apr/ subdir for

2001-08-21 11:12   Ben Collins-Sussman <>

	* subversion/mod_dav_svn/util.c (1.18):

	Patch from Michael Parker <>, fixes compile: 
	* util.c (dav_svn_simple_parse_uri):  apr-util symbol name change.  

2001-08-21 11:10   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.124):

	* adm_crawler.c (svn_wc_crawl_local_mods): replace all SVN_ERR calls 
	  with blocks that cleanup lockfiles.  This might resolve a 
	  locked-working-copy bug seen in very large commit tests.  Thanks
	  to Yoshiki Hayashi <> for noticing this problem.  

2001-08-20 16:55   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.11), (1.14), (1.6),
	(1.2), (1.3), svntest/ (1.13),
	svntest/ (1.20), svntest/ (1.10):

	Tweak python tests:  *always* print unexpected errors, *never* print 
	expected errors.  This keeps our test output clean.  
	* (run_svn):  take 'error_expected' arg, so we can control 
	  whether stderr is printed.  
	*,,,,,,   change all

2001-08-20 16:23   Ben Collins-Sussman <>

	* subversion/clients/cmdline/trace-commit.c (1.7):

	This should fix issue #450.  

2001-08-20 15:32  C. Michael Pilato <>

	* subversion/: clients/cmdline/feedback.c (1.6),
	clients/cmdline/trace-commit.c (1.6),
	tests/clients/cmdline/ (1.10),
	tests/clients/cmdline/ (1.13),
	tests/clients/cmdline/ (1.5),
	tests/clients/cmdline/ (1.2),
	tests/clients/cmdline/svntest/ (1.9):

	* clients/cmdline/feedback.c 
	  Added #defines and #includes for APR string function support.  
	* clients/cmdline/trace-commit.c 
	  (close_directory): Changed (sent?) verb "Changing" to "Sending" 
	  (issue #451).  
	  (close_file): Add "(bin)" to printed statement for files determined 
	  to be binary files.  Also, use "Sending" instead of "Changing".  
	  (struct file_baton): Added BINARY field.  
	  (add_file): Initialize BINARY field to NULL.  
	  (change_file_prop): Pay attention to special mime-type property 
	* tests/clients/cmdline/ 
	  (basic_commit, commit_one_file, commit_multiple_targets, 
	  commit_multiple_targets_2, basic_update, basic_merge, 
	  basic_conflict, update_binary_file): Use "Sending" instead of 
	  "Changing" for commit output.  
	* tests/clients/cmdline/svntest/ 
	  (build_tree_from_commit): Update regexp to support new 
	  output from commit trace editor.  
	* tests/clients/cmdline/ 
	  (test_youngest, list_revs): Use "Sending" instead of "Changing" for 
	  commit output.  
	* tests/clients/cmdline/ 
	  (commit_one_file, commit_inclusive_dir, commit_top_dir): Use 
	  "Sending" instead of "Changing" for commit output.  
	* tests/clients/cmdline/ 
	  (commit_props, update_props, downdate_props): Use "Sending" instead 
	  of "Changing" for commit output.  

2001-08-20 15:32   Karl Fogel <>

	* (1.28):

	Fix up doc building and cleaning; make sure it works when build dir
	is different from src dir.  Large portions of this change
	contributed by 
	C. Scott Ananian <>.  
	* (DOC_DIRS): New var.  
	(mkdir-init): Make doc dirs too.  
	(doc-clean): New rule.  
	(local-clean): Depend on `doc-clean'.  
	( Do no cleanup, now that `doc-clean' works.  

2001-08-20 15:12   Karl Fogel <>

	* subversion/mod_dav_svn/util.c (1.17):

	Follow apr_uri_ rename.  Submitted by C. Scott Ananian 
	<>, who writes: 
	  From: "C. Scott Ananian" <> 
	  Subject:  path: apache 2.0 apr_uti_components name change 
	  Date: Mon, 20 Aug 2001 14:18:13 -0400 (EDT) 
	  In the most recent CVS version of apache 2.0, the type 
	  'apr_uri_components' mentioned in subversion/mod_dav_syn/util.c
	  has been renamed to 'apr_uri_t'.  The following patch against
	  current CVS is required to allow subversion + mod_dav_svn to
	   compile.  --s 

2001-08-20 12:31  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.20):

	* svnlook/main.c 
	  (INT_ERR, main): Explicitly clean up the FS before exiting.  

2001-08-20 12:29  C. Michael Pilato <>

	* subversion/libsvn_client/commit.c (1.59):

	* libsvn_client/commit.c 
	  (import_file): Detect the mime-type on import, and send it up as a 
	  property of the file.  

2001-08-17 11:53   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.70):

	* fetch.c: Use apr_want.h rather than string.h, and fix comment.  

2001-08-17 11:50   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.69):

	* fetch.c (start_element): Fix uninitialized variable warning at 
	line 855.  

2001-08-17 11:31  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.19),
	tools/hook-scripts/ (1.4):

	* subversion/svnlook/main.c 
	  (svnlook_cmd_t): Added svnlook_cmd_info and svnlook_cmd_tree (new 
	  (do_info): New function.  
	  (do_default): Use do_info() function.  
	  (do_usage): Renamed from usage().  Added TREE and INFO subcommands.  
	  Changed default output to be INFO + TREE.  
	  (main): Handle new subcommand cases.  
	* tools/hook-scripts/ 
	  Use svnlook's info command to get the author, date, and log in one 
	  foul swoop.  Also, uses arrays for tracking the changed nodes 
	  instead of a weird hash nonsense.  

2001-08-17 11:31  C. Michael Pilato <>

	* build.conf (1.31):

	* build.conf 
	  Added to the test framework.  

2001-08-17 11:24  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/ (1.1):

	* subversion/tests/clients/cmdline/ 
	  New file.  Tests for WC scheduling stuff (add, unadd, delete, 

2001-08-17 05:16   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.59):

	Install a warning function for the FS so we can log problems rather 
	than abort() on them.  

2001-08-16 23:01   Karl Fogel <>

	* subversion/libsvn_wc/adm_crawler.c (1.123):

	* adm_crawler.c (svn_wc_crawl_local_mods): Invalidate dir_baton when 
	the next target is not in the directory we had been processing.  
	This may be related to issue #444.  

2001-08-16 16:03   Karl Fogel <>

	* INSTALL (1.6):

	Add note about building statically.  

2001-08-16 14:45  C. Michael Pilato <>

	* (1.47):

	  Added some code to chmod +x scripts and such needed by  
	  It sucks to check out the subversion tree and have to hack at it
	  to build it.  

2001-08-16 14:45   Karl Fogel <>

	* HACKING (1.37):

	(Building from a working copy): Mention the x-bit 

2001-08-16 14:34   Karl Fogel <>

	* notes/m3-checklist.txt (1.12):

	More notes.  

2001-08-16 14:27   Karl Fogel <>

	* (1.5):

	Make sure is executable, since later, when this dist
	script exports the tree using subversion, the permissions won't be
	right.  Until we get permission versioning done, at least. :-) 
	Also, format sections more clearly.  

2001-08-16 13:43  C. Michael Pilato <>

	* subversion/: libsvn_repos/libsvn_repos.dsp (1.5),
	svnlook/svnlook.dsp (1.2):

	* subversion/libsvn_repos/libsvn_repos.dsp 
	  (node_tree.c): Added to Source Files 
	* subversion/svnlook/svnlook.dsp 
	  (editors.c, nodetree.c): Removed obsolete Source Files 
	  (svnlook.h): Removed obsolete Header Files 

2001-08-16 12:38  C. Michael Pilato <>

	* subversion/: include/svn_repos.h (1.28),
	libsvn_ra_local/checkout.c (1.14), libsvn_repos/node_tree.c (1.5),
	libsvn_wc/adm_ops.c (1.84), svnlook/main.c (1.18):

	* subversion/libsvn_ra_local/checkout.c 
	  (walk_tree): Try a per-iteration pool out for size.  
	* subversion/include/svn_repos.h 
	  (svn_repos_node_t): Removed ID member.  
	  (svn_repos_node_editor): Added NODE_POOL argument.  Now memory used 
	  to build linked-list tree is not necessarily the same memory used
	  to during the editor drive.  
	* subversion/svnlook/main.c 
	  (print_tree): Remove SHOW_IDS and POOL argument.  This function 
	  won't handle ID printing anymore.  
	  (print_ids_tree): New function for printing trees with their IDs.  
	  (do_tree): Call print_ids_tree() if we're printing ids, else use 
	* subversion/libsvn_repos/node_tree.c 
	  (struct edit_baton): Added NODE_POOL member.  
	  (replace_root, replace_directory, add_directory, replace_file, 
	  add_file): All calls to create_node(), create_child_node(), and 
	  create_sibling_node() use the editor's new NODE_POOL now instead
	  of the editor's POOL.  Removed all calls to svn_fs_node_id()
	  throughout (there's no longer an ID member in the svn_repos_node_t
	  (svn_repos_node_editor): Add NODE_POOL argument, used to initialize 
	  the edit baton's new NODE_POOL member.  
	* subversion/libsvn_wc/adm_ops.c 
	  (svn_wc_delete, svn_wc_unadd, svn_wc_undelete): Make sure ENTRY is 
	  non-NULL before dereferencing its members.  

2001-08-16 03:49   Greg Stein <>

	* subversion/libsvn_wc/props.c (1.37):

	Fix a typo in an error message.  

2001-08-16 03:23   Greg Stein <>

	* subversion/: libsvn_ra_dav/fetch.c (1.68), mod_dav_svn/update.c

	Implement (fill in) the "missing WC files" functionality. The client
	sends svn:missing elements to the server to record the missing WC
	Some bug fixes in the update report generation.  
	* libsvn_ra_dav/fetch.c (reporter_delete_path,
	    reporter_abort_report): implement these functions.  
	* mod_dav_svn/update.c (add_helper): the add-* element should not be
	    an empty element (leave it open).  
	  (upd_apply_textdelta): if the file was noted as "added", then
	    there is no reason to tell the client to fetch it -- it will
	  automagically do so.  
	(dav_svn__update_report): detect and handle svn:missing elements by 
	    calling svn_repos_delete_path.  

2001-08-15 22:22   Karl Fogel <>

	* subversion/libsvn_repos/node_tree.c (1.4):

	Use APR_WANT_STRFUNC and apr_want.h, as Greg Stein pointed out.  

2001-08-15 21:47   Karl Fogel <>

	* notes/m3-checklist.txt (1.11):

	Turned into a short-term task list, now.  

2001-08-15 21:36   Karl Fogel <>

	* tools/hook-scripts/ (1.3):

	Documentation fix.  

2001-08-15 21:35   Karl Fogel <>

	* tools/hook-scripts/ (1.2):

	Finish remaining work; seems to be working now.  

2001-08-15 21:32   Greg Stein <>

	* subversion/: include/svn_repos.h (1.27), libsvn_repos/hooks.c
	(1.17), mod_dav_svn/activity.c (1.11):

	Add the author name for a commit, and run the precommit hook.  
	* libsvn_repos/hooks.c (svn_repos_fs_begin_txn_for_commit): allow a
	    NULL log_msg since mod_dav_svn doesn't have it at the time it
	    creates the txn. (it comes along later, and we apply it directly to
	the txn props) 
	* include/svn_repos.h (svn_repos_fs_begin_txn_for_commit): update
	    docs to note the NULL log_msg 
	* mod_dav_svn/activity.c (dav_svn_create_activity): call 
	    svn_repos_fs_begin_txn_for_commit to run the precommit hooks,
	    and to attach the author name (which comes from
	    repos->username). no log_msg at this point, so pass NULL.  

2001-08-15 21:17   Karl Fogel <>

	* subversion/libsvn_repos/node_tree.c (1.3):

	#include <string.h>, for strcmp().  

2001-08-15 21:13   Karl Fogel <>

	* notes/m3-checklist.txt (1.10):

	Bring up-to-date, getting closer...  

2001-08-15 21:09   Karl Fogel <>

	* subversion/tests/clients/cmdline/ (1.4):

	(downdate_props): New test, but don't run it.  It doesn't actually 
	work yet.  

2001-08-15 21:05   Karl Fogel <>

	* tools/hook-scripts/: README (1.1), (1.1):

	Committing work on commit-email script.  Mike Pilato really wrote 
	this, I'm just checking it in.  

2001-08-15 20:37   Greg Stein <>

	* subversion/mod_dav_svn/update.c (1.9):

	Fix some bugs related to updating.  
	(update_ctx_t {}): add 'anchor' member to note the base path when 
	  replace_root is called. all update paths will be built off this
	(upd_replace_root): use the new anchor member, rather than assuming
	(dav_svn__update_report): set up the uc.anchor member.  
	  HACK: if the node is a directory, then append "/." to it so that 
	  begin_report will see the correct directory after it does a split
	  on the param. Will fix post-M3 when begin_report grows another

2001-08-15 18:06  Bill Tutt <>

	* subversion/libsvn_ra_dav/: commit.c (1.66), session.c (1.36):

	* libsvn_ra_dav/commit.c: (commit_resource) Add cast to (void *) to
	make MSVC happy.  
	* libsvn_ra_dav/session.c: Include apr_general.h to pick up
	strcasecmp prototype.  

2001-08-15 17:25  C. Michael Pilato <>

	* subversion/libsvn_repos/node_tree.c (1.2):

	* node_tree.c (create_node): Use apr_pcalloc() to zero out memory.  

2001-08-15 16:23  C. Michael Pilato <>

	* build.conf (1.30):

	* build.conf 
	  (svnlook): Removed the INSTALL line for this build target.  Hoping 
	  this means it will install the same way the `svn' binary does.  

2001-08-15 15:50  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.17):

	* main.c 
	  (do_diff): Fix for build warning.  

2001-08-15 15:16   Ben Collins-Sussman <>

	* subversion/libsvn_ra_dav/session.c (1.35):

	(dav_plugin):  remove AUTH_USERNAME support for M3.  We'll make the 
	client smarter later on;  right now it would attempt to use this 
	method, even though the hosting httpd process wouldn't accept it.  

2001-08-15 12:55   Karl Fogel <>

	* (1.4):

	Defang the APR subtree so that it's no longer a working copy, as 
	suggested by Greg Stein.  

2001-08-15 12:51   Karl Fogel <>

	* (1.3):

	Fix typo in comment.  

2001-08-15 11:48  C. Michael Pilato <>

	* subversion/: include/svn_repos.h (1.26), libsvn_repos/node_tree.c
	(1.1), svnlook/editors.c (1.4), svnlook/main.c (1.16),
	svnlook/nodetree.c (1.4), svnlook/svnlook.h (1.4):

	Moving code that from svnlook into the libsvn_repos library (because 
	we plan to make svnadmin use it, too) 
	* subversion/include/svn_repos.h 
	  (struct svn_repos_node_t): Moved from svnlook/svnlook.h (where it 
	  was just repos_node_t.  
	  (svn_repos_node_editor): Moved from svnlook/svnlook.h (where it was 
	  called svnlook_tree_delta_editor).  
	  (svn_repos_node_from_baton): Moved from svnlook/svnlook.h (where it 
	  was called svnlook_edit_baton_tree).  
	* subversion/libsvn_repos/node_tree.c 
	  New file (with contents + edits from subversion/svnlook/editors.c 
	  and subversion/svnlook/nodetree.c) 
	* subversion/svnlook/editors.c 
	* subversion/svnlook/nodetree.c 
	* subversion/svnlook/svnlook.h 
	  Removed obsolete files.  
	* subversion/svnlook/main.c 
	  Lots of renamed things (see above).  
	  (open_writable_binary_file, dump_contents): New helper functions.  
	  (contents_to_tmp_file): Removed obsolete function.  
	  (print_diff_tree): Updated to use new helper functions.  Diff output 
	  is prettier now.  
	  (do_diff): Cleanup temporary dirs.  

2001-08-15 10:42   Karl Fogel <>

	* subversion/libsvn_wc/questions.c (1.59):

	Fix issue #439; bug report and fix both submitted by Yoshiki Hayashi 
	* questions.c (timestamps_equal_p): Check for null entry.  

2001-08-15 10:33   Karl Fogel <>

	* (1.2):

	Append $VERSION to $DISTNAME, as Greg Stein suggested, so the
	tarball unpacks into subversion-<ver>/, not subversion/.  

2001-08-15 10:12   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/README (1.10):

	Update documentation.  

2001-08-15 10:02   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/svntest/ (1.19):

	More tweaks to work over ra_dav.  

2001-08-15 09:49  C. Michael Pilato <>

	* subversion/libsvn_client/status.c (1.22):

	* status.c 
	  (svn_client_status): Bug fix.  If you can't get the ancestry from a 
	  file target, try looking in its parent.  

2001-08-15 09:42   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/svntest/: (1.12), (1.18):

	Switch to the symlink method, for dav testing.  

2001-08-15 09:39  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.118):

	* entries.c 
	  (take_from_entry): Doc fix.  

2001-08-15 09:14  C. Michael Pilato <>

	* subversion/libsvn_subr/io.c (1.45):

	* io.c 
	  (svn_io_detect_mimetype): Bug fix for Issue #440 

2001-08-14 19:28   Karl Fogel <>

	* INSTALL (1.5):


2001-08-14 19:23   Karl Fogel <>

	* INSTALL (1.4), (1.27), (1.1):

	* New file, builds tarball.  
	* (dist): Just invoke 
	* INSTALL: Say only true things.  

2001-08-14 17:31   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/svntest/: (1.11), (1.17):

	Rewrite argv parsing.  take "--url" arg instead.  

2001-08-14 14:18   Ben Collins-Sussman <>

	* subversion/libsvn_wc/get_editor.c (1.193):

	* get_editor.c (close_file): bugfix -- duh.  only execute the new 
	  textual merge logic if the update involved a textual change.  

2001-08-14 13:52   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.111), libsvn_subr/io.c (1.44),
	libsvn_wc/get_editor.c (1.192), libsvn_wc/props.c (1.36),
	libsvn_wc/questions.c (1.58), tests/clients/cmdline/
	(1.9), tests/clients/cmdline/svntest/ (1.16),
	tests/clients/cmdline/svntest/ (1.8):

	Finish issue #432:  make updates of binary files work.  
	If a file is locally modified, then a working text file will have 
	changes 'merged' in via diff/patch, and a working binary file will 
	simply be backed up to a unique '.orig' (right next to the newly 
	received version of the file.) 
	If has file has no local mods, then the newly received version just 
	overwrites the working file, regardless of text/binary type.  
	* get_editor.c (close_file):  rewrite logic as described above! 
	 to handle updates of 
	  binary files.  Also, if there are no local mods, then just
	  overwrite the working file *regardless* of text/binary type.  
	* svn_wc.h, questions.c (svn_wc_has_binary_prop):  new helper
	* (update_binary_file):  new test for binary file 
	  updates;  checks for .orig file backup locally modified file.  
	  (detect_extra_files):  fancy singleton handler for verifying 
	  contents of the extra '.orig' file.  
	* (get_props):  split property on ' : ' instead of ':',
	  since prop names often have colons in them.  
	  (SVNTreeNode):  treenodes now contain 'path' field, a full path to 
	  itself in the tree.   how did we ever live without this? 
	* (run_tests): bugfix. `try' clause was too big -- it was 
	  catching ValueErrors from the actual test being run! 
	* io.c (apr_copy_file): unrelated bugfix.  this routine wasn't 
	  truncating before, sometimes leaving trailing data.  
	* props.c (svn_wc_prop_list): unrelated bugfix.  remove bogus check, 
	  as it defeats correct behavior of svn_wc__prop_path.  

2001-08-14 13:46   Karl Fogel <>

	* (1.26):

	(dist): Making this work...  

2001-08-14 12:46   Karl Fogel <>

	* (1.25):

	(dist): Note emphemeral, fleeting nature.  

2001-08-14 11:57  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.117):

	* entries.c 
	  (svn_wc__entries_write): Remove dangerous and poorly though-out 
	  code.  Smack the author two or three times.  

2001-08-14 11:22  C. Michael Pilato <>

	* subversion/libsvn_fs/tree.c (1.95):

	* tree.c 
	  (merge): Oops.  What, you mean I need to follow ANSI C coding 

2001-08-14 11:12  C. Michael Pilato <>

	* subversion/libsvn_fs/: strings-table.c (1.12), tree.c (1.94):

	* strings-table.c 
	  (svn_fs__string_size): Removed obsolete "todo" comment.  
	* tree.c 
	  (txn_body_copy, svn_fs_apply_textdelta): Updated "todo" comment.  
	  (merge): Logic reorganization and some "todo" cleanups.  

2001-08-14 10:26   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/theta.png (1.1):

	Temporarily adding binary file for testing.  

2001-08-13 22:51   Greg Stein <>

	* subversion/mod_dav_svn/deadprops.c (1.16):

	BIG HACK. Map the incoming names from mod_dav's current scheme
	(NAMESPACE-ID ":" NAME) into a "normal" string for use in the FS.
	Also take care of the property values that mod_dav expects: they
	begin with a language value and contain embedded NUL characters.  
	This is a temporary solution. The final solution (in the next day, 
	hopefully) will be a reworking of the interface between mod_dav and
	its backend modules (e.g. mod_dav_svn).  
	(dav_db{}): add a working buffer for the various remapping 
	(fix_name): new function to tweak a property name from the mod_dav
	  style to the FS style.  
	(dav_svn_db_open): prep the working buffer 
	(dav_svn_db_fetch): if the "METADATA" pseudo-property is requested,
	  then return a fake one. (we no longer store this property). remap
	  the name via fix_name(). format the result value properly.  
	(dav_svn_db_store): don't store the "METADATA" pseudo-property.
	  remap the name. handle the value reformat.  
	(dav_svn_db_remove, dav_svn_db_exists): remap the name.  
	(get_key): pass in db to do the hack-work. remap the name from the
	  FS style to the mod_dav style.  
	(dav_svn_db_firstkey, dav_svn_db_nextkey): pass new param to

2001-08-13 22:44   Greg Stein <>

	* subversion/libsvn_ra_dav/commit.c (1.65):

	When sending properties to the server, don't use the custom
	namespace if the property name already begins with "svn:".  
	(do_setprop): test the name for "svn:" and use the right namespace
	(do_proppatch): define the "C" prefix for the custom namespace and
	  use "S" for the normal "svn:" namespace. For deletes, use the
	  correct prefix based on the property name.  

2001-08-13 22:41   Greg Stein <>

	* subversion/: mod_dav_svn/liveprops.c (1.23), mod_dav_svn/update.c
	(1.8), include/svn_xml.h (1.33), libsvn_ra_dav/fetch.c (1.67),
	libsvn_ra_dav/props.c (1.12), libsvn_ra_dav/ra_dav.h (1.37):

	Rationalize some of the XML namespaces and property name/prefix
	WARNING: DAV-based working copies will be broken by this change
	  because of a local property name change.  
	* mod_dav_svn/update.c (dav_svn__update_report): update some error
	    text -- the svn:target-revision element name is lower-case.  
	* mod_dav_svn/liveprops.c (dav_svn_namespace_uris[]): use
	    SVN_PROP_PREFIX for the property prefix to ensure we get the
	    lower-cased prefix for the property names.  
	* libsvn_ra_dav/ra_dav.h (SVN_RA_DAV__LP_NAMESPACE): use
	    SVN_PROP_WC_PREFIX to ensure that we get the proper prefix; toss the
	    long URL in favor of a simpler prefix.  
	    use SVN_PROP_PREFIX to get the lower-cased version of the prefix.  
	* libsvn_ra_dav/props.c (neon_descriptions[]): use SVN_PROP_PREFIX
	    to get the right case for the property prefix.  
	* libsvn_ra_dav/fetch.c (starting_props[]): use SVN_PROP_PREFIX to
	    get the right case for the property prefix.  
	* include/svn_xml.h (SVN_XML_NAMESPACE): use the simpler "svn:"

2001-08-13 22:32   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.58):

	add missing svn_repos.h header 

2001-08-13 19:54   Karl Fogel <>

	* INSTALL (1.3):

	Document installation procedure.  

2001-08-13 19:53   Karl Fogel <>

	* README (1.14):

	Mention libsvn_repos.  

2001-08-13 17:07   Karl Fogel <>

	* STACK (1.97):

	No more M3 stuff here.  A few administrative tasks remain; they're 
	listed in notes/m3-checklist.txt.  

2001-08-13 16:59   Karl Fogel <>

	* notes/m3-checklist.txt (1.9):

	A few more M3 things.  

2001-08-13 16:53   Karl Fogel <>

	* notes/m3-checklist.txt (1.8):

	Some more M3 stuff.  

2001-08-13 15:18   Karl Fogel <>

	* subversion/libsvn_repos/delta.c (1.54):

	Fix issue #431: 
	(delta_proplists): Pass null value to delete a property.  Also,
	check for trivial case first, though this is only a performance
	enhancement and doesn't affect behavior.  

2001-08-13 14:54  C. Michael Pilato <>

	* subversion/libsvn_wc/get_editor.c (1.191):

	* get_editor.c 
	  (svn_wc_get_actual_target): Bug fix.  APR won't tell us that "" is a 
	  directory -- we need to supply ".".  

2001-08-13 14:40  C. Michael Pilato <>

	* subversion.dsw (1.17), subversion/svnadmin/svnadmin.dsp (1.4),
	subversion/tests/libsvn_fs/fs-test.c (1.99),
	subversion/tests/libsvn_repos/repos_test.dsp (1.1),
	subversion/tests/libsvn_repos/tests_libsvn_repos_test.dsp (1.3):

	* subversion.dsw 
	  (__check__): Added repos test.  
	  (tests_libsvn_repos_repos): Renamed from tests_libsvn_repos_test.  
	* subversion/svnadmin/svnadmin.dsp 
	  Added include path to Berkeley.  
	* subversion/tests/libsvn_fs/fs-test.c 
	  (check_old_revisions): Windows compiler greatly frowned upon newline 
	  characters inside my string.  
	* subversion/tests/libsvn_repos/repos_test.dsp 
	  New file (with the old contents of tests_libsvn_repos_test.dsp).  
	* subversion/tests/libsvn_repos/tests_libsvn_repos_test.dsp 
	  Removed this file (see above).  

2001-08-13 13:50  Bill Tutt <>

	* subversion/libsvn_repos/libsvn_repos.dsp (1.4):

	* subversion/libsvn_repos/libsvn_repos.dsp: Add lock.c as another
	source file to bulid. This fixes the svn_repos_open symbol problem.  

2001-08-13 10:34  C. Michael Pilato <>

	* subversion/clients/cmdline/feedback.c (1.5):

	* feedback.c 
	  (report_added_item, report_unadded_item, report_deleted_item, 
	  report_undeleted_item): Stop caring about file/directory-ness of
	  the reported item.  

2001-08-13 10:15  C. Michael Pilato <>

	* subversion/: clients/cmdline/feedback.c (1.4), include/svn_io.h
	(1.42), include/svn_pools.h (1.4), include/svn_types.h (1.66),
	libsvn_subr/io.c (1.43), libsvn_subr/svn_error.c (1.75),
	libsvn_wc/adm_ops.c (1.83):

	* svn_io.h 
	  (svn_io_detect_mimetype): New function.  
	* io.c 
	  (svn_io_detect_mimetype): New function.  
	* svn_pools.h 
	  (svn_pool_feedback_t): Added new callback functions -- 
	  report_added_item(), report_unadded_item(), report_deleted_item(), 
	* feedback.c 
	  (report_added_item, report_unadded_item, report_deleted_item, 
	  report_undeleted_item): New functions.  
	  (svn_cl__init_feedback_vtable): Initialize function pointers to new 
	* svn_types.h 
	  (SVN_PROP_MIME_TYPE, SVN_PROP_CHARSET): New property #defines.  
	* adm_ops.c 
	  (mark_tree): Call feedback functions for reporting schedule changes.  
	  (svn_wc_add_file): Detect mimetype and store as a property on the 
	  file, then call the report_added_item() feedback function.  
	  (svn_wc_add_directory): Call report_added_item() feedback function.  
	  (svn_wc_unadd): Call report_unadded_item() feedback function.  
	  (svn_wc_undelete): Call report_undeleted_item() feedback function.  
	  (svn_wc_delete): Call report_deleted_item() feedback fction.  
	* svn_error.c 
	  (report_added_item, report_unadded_item, report_deleted_item, 
	  report_undeleted_item): New dummy functions.  
	  (svn_error_init_pool): Initialize new callback function pointers 
	  with new dummies.  

2001-08-13 06:02   Greg Stein <>

	* subversion/: mod_dav_svn/dav_svn.h (1.36),
	mod_dav_svn/deadprops.c (1.15), mod_dav_svn/repos.c (1.57),
	libsvn_ra_dav/commit.c (1.64), libsvn_ra_dav/fetch.c (1.66),
	libsvn_ra_dav/ra_dav.h (1.36):

	Send the log message to the server via a property on the working
	* mod_dav_svn/dav_svn.h (dav_svn_root): add the FS transaction
	    handle for later use.  
	* mod_dav_svn/deadprops.c (dav_svn_db_open): baselines now have
	    properties, so allow them in. add a check for a R/W against R/O
	(dav_svn_db_fetch, dav_svn_db_exists, dav_svn_db_firstkey): fetch 
	    properties from transaction and revision roots when applicable.  
	  (dav_svn_db_store, dav_svn_db_remove): remove properties from
	    transactions when applicable.  
	* mod_dav_svn/repos.c (dav_svn_prep_working): set up working
	    baselines.  remember the FS transaction handle.  
	* libsvn_ra_dav/commit.c (log_message_prop): new property name for
	    the log message (to be used in a PROPPATCH).  
	  (do_proppatch): use DEBUG_CR rather than EOL. minor formatting
	(get_baseline_url): no longer needed; folded into apply_log_message 
	  (apply_log_message): new function to transfer the log message to
	    the server.  
	  (svn_ra_dav__get_commit_editor): shift baseline fetching and
	    checkout to the new apply_log_message function.  
	* libsvn_ra_dav/fetch.c, ra_dav.h (DEBUG_CR): move from fetch.c to

2001-08-12 22:46   Karl Fogel <>

	* subversion/svnadmin/main.c (1.25):

	* svnadmin/main.c: #include "db.h", for DB_RUNRECOVERY check.  
	(main.c): Ignore DB_RUNRECOVERY when opening fs.  Also, open db 
	lockfile for writing/appending, so the resulting filehandle is 
	suitable for obtaining an exclusive lock.  This resolves issue #429, 
	though I must admit I don't understand why the flags on the
	filehandle should affect the type of lock you can get.  Add new
	comment regarding issue #430.  

2001-08-12 22:13   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.105), libsvn_fs/fs.c (1.64),
	svnadmin/main.c (1.24):

	Finish db recovery code, at least in theory.  Thanks to Greg Stein
	for answering many questions.  
	In practice, whenever I run `svnadmin recover' on a repository -- 
	which should be a successful no-op when there's nothing to recover 
	from -- `svnadmin' fails in apr_file_lock(), which in turn fails 
	because fcntl() is returning -1, with errno set indicating "Bad file 
	descriptor".  I don't know why; the lockfile is certainly there. 
	Any thoughts, folks? 
	* svnadmin/main.c (main, usage): New `recover' subcommand.  
	* svn_fs.h (svn_fs_db_env_path): Declare new func.  
	(svn_fs_repository): Doc fix.  
	* fs.c (create_locks): Fix explanatory text in lockfile.  

2001-08-12 18:12   Karl Fogel <>

	* STACK (1.96), build.conf (1.29), subversion/include/svn_fs.h
	(1.104), subversion/include/svn_repos.h (1.25),
	subversion/libsvn_fs/fs.c (1.63),
	subversion/libsvn_ra_local/ra_plugin.c (1.43),
	subversion/libsvn_repos/hooks.c (1.16),
	subversion/libsvn_repos/lock.c (1.3),
	subversion/mod_dav_svn/repos.c (1.56), subversion/svnadmin/main.c
	(1.23), subversion/svnlook/main.c (1.15):

	More fs locking work: 
	* lock.c (clear_and_close): Replaces unlock_repository, finished.  
	* svn_repos.h (svn_repos_open): Doc fix.  
	* svn_fs.h (svn_fs_new, svn_fs_open_berkeley): Doc fixes.  
	* fs.c (svn_fs_open_berkeley): Set up hook and lock paths.  
	* svn_fs.h, fs.c (svn_fs_repository, svn_fs_conf_dir,
	svn_fs_lock_dir, svn_fs_db_lockfile, svn_fs_hook_dir): Take pool
	argument, allocate path in it; all callers changed.  This will
	lessen the impact of fixing issue #428, when we get around to that.  
	* ra_plugin.c (authenticate): Call svn_repos_open(), instead of 
	svn_fs_new() followed by svn_fs_open_berkeley().  
	* repos.c (dav_svn_get_resource): Same.  
	* svnlook/main.c (main): Same.  
	* svnadmin/main.c (main): Same.  
	* build.conf (svnadmin): Depend on libsvn_repos too.  

2001-08-11 08:41  Kevin Pilch-Bisson <>

	* subversion/clients/win32/svn_com/: SVN.cpp (1.9), SVNStatus.cpp

	Fix the win32 build.  This fixes a Microsoft Bug, involving
	duplicate definitions for InlineIsEqualGUID.  For more information
	Submitted by:	Cynic <> Reviewed by:	Kevin Pilch-Bisson

2001-08-11 07:56  Kevin Pilch-Bisson <>

	* subversion/: clients/win32/svn_com/SVN.cpp (1.8),
	libsvn_subr/libsvn_subr.dsp (1.9):

	Catch up the win32 build a little, still not quite there.  
		* libsvn_subr.dsp - change base64.c to svn_base64.c 
		* SVN.cpp - Add g_pool argument to apr_hash_first 

2001-08-10 21:31   Karl Fogel <>

	* subversion/: include/svn_error_codes.h (1.14), libsvn_fs/fs.c
	(1.62), libsvn_repos/lock.c (1.2):

	* fs.c (create_hooks): Improved initial contents of template files,
	as promised Mike on phone.  
	* lock.c (svn_repos_open): Added some more code, still unfinished.  
	* svn_error_codes.h (SVN_ERR_REPOS_LOCKED): New error.  

2001-08-10 21:02   Karl Fogel <>

	* subversion/libsvn_subr/config.c (1.2):

	#include <string.h> for strlen.  

2001-08-10 20:40   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.61):

	* fs.c (create_locks): Better initial contents for the lockfile.  

2001-08-10 20:13   Karl Fogel <>

	* subversion/libsvn_fs/fs.c (1.60):

	Fix wronglets noticed by Greg Stein: 
	* fs.c (create_locks): Don't call apr_psprintf unnecessarily.  
	Unrelatedly, clarify scoping.  
	(svn_fs_db_lockfile, svn_fs_start_commit_hook,
	svn_fs_pre_commit_hook, svn_fs_post_commit_hook,
	svn_fs_read_sentinel_hook, svn_fs_write_sentinel_hook): Use
	apr_pstrcat, not apr_psprintf.  

2001-08-10 17:42   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.103), include/svn_repos.h
	(1.24), libsvn_fs/fs.c (1.59), libsvn_fs/fs.h (1.31),
	libsvn_repos/README (1.3), libsvn_repos/lock.c (1.1),
	tests/clients/cmdline/ (1.12),
	tests/clients/cmdline/svntest/ (1.15):

	Set up lock area in repository.  And while we're at it, set up hook 
	area separate from conf area.  
	SVN_FS__REPOS_DB_LOCKFILE): New #defines.  
	(svn_fs_t): New fields `hook_path' and `lock_path'.  
	* fs.c (create_hooks, create_locks): Replaces create_conf().  
	(svn_fs_create_berkeley): Use new func create_hooks() to create the 
	hooks directory, and just create the conf dir by hand.  Also create 
	new lock directory by hand, and the single db file in it.  
	(svn_fs_hook_dir, svn_fs_lock_dir, svn_fs_db_lockfile): New funcs.  
	(svn_fs_start_commit_hook, svn_fs_pre_commit_hook, 
	svn_fs_post_commit_hook, svn_fs_read_sentinel_hook, 
	svn_fs_write_sentinel_hook): Fix to use new hook dir path.  
	* svn_fs.h (svn_fs_hook_dir, svn_fs_lock_dir): Declare new funcs.  
	* (greek_tree): Fix paths to repository hooks.  
	* (test_list): Comment out `hook_test'.  It's
	failing now, need to find out why, but want to get the rest of this
	stuff committed first.  
	These changes are also part of the new locking and DB_RUN_RECOVERY 
	work, but they have no effect yet and nothing above depends on them: 
	* lock.c (unlock_repository, svn_repos_open): New file, new funcs.  
	* README: Mention above.  
	* svn_repos.h (svn_repos_open): Declare new func.  

2001-08-10 17:40   Greg Stein <>

	* subversion/mod_dav_svn/activity.c (1.10):

	The SVN_FS__ symbol wasn't publicly available. All of those will be
	moved to libsvn_repos stuff post-M3. For now, just use a hard-coded
	(ACTIVITY_DB): use "dav/activities" for the path to the activity db 

2001-08-10 16:54   Ben Collins-Sussman <>

	* subversion/mod_dav_svn/activity.c (1.9):

	Put activity.db in the dav/ subdirectory of the repository.  

2001-08-10 16:18   Greg Stein <>

	* subversion/libsvn_ra_dav/commit.c (1.63):

	(record_prop_change): escape the property value that gets sent to
	  the server. Since we embed the value in XML, we must escape it.  
	(get_baseline_url): new function to fetch the URL of the most recent 
	(svn_ra_dav__get_commit_editor): check out the baseline.  
	  near future: we will be attaching the log_msg to it via PROPPATCH 

2001-08-10 16:09   Branko Cibej <>

	* subversion/include/svn_config.h (1.2):

	Doc fixes.  

2001-08-10 16:09   Branko Cibej <>

	* subversion/libsvn_subr/config.c (1.1):

	Skeleton implementation of the configuration module.  This code is
	still untested; all I'm sure of is that it builds on Unix.  

2001-08-10 16:06   Greg Stein <>

	* subversion/libsvn_ra_dav/: fetch.c (1.65), props.c (1.11),
	ra_dav.h (1.35):

	Add svn_ra_dav__get_one_prop() function to simplify some prop
	* ra_dav.h (svn_ra_dav__get_one_prop): new declaration 
	  (svn_ra_dav__vcc_prop, svn_ra_dav__checked_in_prop): new
	    declaration of some (constant) structures for fetching a property.  
	* props.c (svn_ra_dav__get_one_prop): new function 
	  (svn_ra_dav__vcc_prop, svn_ra_dav__checked_in_prop): new constants 
	* fetch.c (vcc_props): removed; obsolete by intro of
	(fetch_props): no longer needed since we fetch all props 
	  (version_name_prop): added. used to fetch just the
	  DAV:version-name prop 
	(begin_checkout): use svn_ra_dav__get_one_prop to fetch the baseline
	    URL from the VCC.  
	  (svn_ra_dav__get_latest_revnum): simplify by using

2001-08-10 16:00   Greg Stein <>

	* subversion/libsvn_ra_dav/session.c (1.34):

	Add missing ne_auth.h header.  

2001-08-10 15:40   Ben Collins-Sussman <>

	* subversion/clients/cmdline/: cl.h (1.16), main.c (1.15),
	status-cmd.c (1.6):

	Implement nonrecursive commandline switch ('-n').  Make 'svn st' use
	 it.  ### Todo:  make 'up' and other subcommands notice it too
	* cl.h (svn_cl__opt_state_t):  add 'nonrecursive' commandline
	* main.c (main):  same.  
	* status-cmd.c (svn_cl__status): notice nonrecursive switch.  

2001-08-10 14:54  C. Michael Pilato <>

	* subversion/clients/cmdline/util.c (1.7):

	* util.c 
	  (svn_cl__args_to_target_array): Canonicalize all incoming paths.  

2001-08-10 14:46   Karl Fogel <>

	* HACKING (1.36):

	Fix Apache CVS location.  

2001-08-10 14:44  C. Michael Pilato <>

	* subversion/tests/fs-helpers.c (1.9):

	* fs-helpers.c 
	  (svn_test__stream_to_string): Added some comments.  

2001-08-10 13:55  C. Michael Pilato <>

	* subversion/: libsvn_subr/path.c (1.40),
	tests/libsvn_subr/path-test.c (1.6):

	Bug fixes (and a test) for svn_path_split().  
	* path-test.c 
	  (test_path_is_child): Trivial edit.  
	  (test_path_split): New test function for svn_path_split().  
	  (test_funcs): Added reference to new test test_path_split().  
	* path.c 
	  (svn_path_split): Bug fixes.  

2001-08-10 11:57  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/ (1.11):

	  (hook_test): Write out /bin/sh scripts for doing the "echo"s now.  
	  (test_list): Re-enable the hook_test().  

2001-08-10 11:57  C. Michael Pilato <>

	* subversion/libsvn_repos/hooks.c (1.15):

	* hooks.c 
	  (run_cmd_with_output): New helper function.  
	  (run_start_commit_hook, run_pre_commit_hook, run_post_commit_hook): 
	  Use new helper run_cmd_with_output().  

2001-08-10 11:32   Karl Fogel <>

	* HACKING (1.35):

	Note about unspoken conventions.  

2001-08-10 11:27   Karl Fogel <>

	* HACKING (1.34):

	Note about author lines, for the future.  

2001-08-10 11:16  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.14):

	* main.c 
	  (print_diff_tree): Use svn_io_run_cmd() instead of system().  

2001-08-10 11:01  C. Michael Pilato <>

	* subversion/libsvn_repos/hooks.c (1.14):

	* hooks.c 
	  (run_start_commit_hook, run_pre_commit_hook, run_post_commit_hook): 
	  Oops.  Cut-n-paste-o(h, no!) 

2001-08-10 10:58  C. Michael Pilato <>

	* subversion/libsvn_fs/fs.c (1.58):

	* fs.c 
	  (create_conf): Update the text that appears in the .tmpl files.  

2001-08-10 10:34  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/svntest/ (1.14):

	  (get_start_commit_hook_path, get_pre_commit_hook_path, 
	  get_post_commit_hook_path): Oops!  Defined these to return the
	  right thing.  

2001-08-10 09:54  C. Michael Pilato <>

	* subversion/: clients/cmdline/diff.c (1.5), include/svn_fs.h
	(1.102), include/svn_io.h (1.41), include/svn_wc.h (1.110),
	libsvn_fs/fs.c (1.57), libsvn_fs/fs.h (1.30), libsvn_repos/hooks.c
	(1.13), libsvn_subr/io.c (1.42), libsvn_wc/log.c (1.109),
	tests/clients/cmdline/ (1.10),
	tests/clients/cmdline/svntest/ (1.13):

	Hooks in Subversion are now called as programs with ordered 
	arguments.  More to come on this soon.  
	* subversion/include/svn_fs.h 
	  (svn_fs_start_commit_hook): Renamed from svn_fs_start_commit_conf().  
	  (svn_fs_pre_commit_hook): Renamed from svn_fs_pre_commit_conf().  
	  (svn_fs_post_commit_hook): Renamed from svn_fs_post_commit_conf().  
	  (svn_fs_read_sentinel_hook): Renamed from
	(svn_fs_write_sentinel_hook): Renamed from
	* subversion/libsvn_fs/fs.h 
	  SVN_FS__REPOS_HOOK_WRITE_SENTINEL): Renamed and redefined to have
	  no extension.  These refer to actual scripts or programs now, not
	  just a plaintext config file.  Users modified.  
	  (SVN_FS__REPOS_HOOK_DESC_EXT): New #define.  
	* subversion/libsvn_fs/fs.c 
	  (svn_fs_start_commit_hook): Renamed from svn_fs_start_commit_conf().  
	  (svn_fs_pre_commit_hook): Renamed from svn_fs_pre_commit_conf().  
	  (svn_fs_post_commit_hook): Renamed from svn_fs_post_commit_conf().  
	  (svn_fs_read_sentinel_hook): Renamed from
	(svn_fs_write_sentinel_hook): Renamed from
	  (create_conf): Write new .tmpl template files for hook scripts.  
	* subversion/include/svn_io.h 
	* subversion/include/svn_wc.h 
	* subversion/libsvn_wc/log.c 
	* subversion/libsvn_subr/io.c 
	* subversion/clients/cmdline/diff.c 
	  (svn_io_run_cmd): Moved from libsvn_wc (where it was called 
	  svn_wc_run_cmd_in_directory().  Also, PATH argument changed to a 
	  const char * instead of svn_stringbuf_t *.  Callers changed.  
	* subversion/libsvn_repos/hooks.c 
	  (run_start_commit_hook, run_pre_commit_hook, run_post_commit_hook): 
	  Renamed from *_hooks (), and changed to call the hook as a
	  program, not a parse-able list of programs.  Callers changed.  
	  (svn_repos_fs_commit_txn): Abort transaction if the pre-commit hook 
	  (svn_repos_fs_begin_txn_for_commit): Call to run_post_commit_hook(s) 
	  (read_char, eat_to_eol, expand, is_irrelevant_line, read_hook_line, 
	  run_hook_file): I know Karl worked hard on these...but they are
	  now obsolete.  Functions removed.  
	  (test_list): Commented out hook_test call -- this test is completely 
	  bogus now.  
	  (get_post_commit_hook_path, get_pre_commit_hook_path, 
	  get_start_commit_hook_path): Removed the ".txt" from the paths
	  these functions return.  

2001-08-10 02:50  XelaRellum

	* subversion/bindings/java/jni/org/tigris/subversion/lib/: (1.2), (1.2), (1.2), (1.2), (1.2),
	(1.2), (1.2), (1.2), (1.2), (1.2):

	Removed @author and @version tags 

2001-08-09 20:38   Greg Stein <>

	* subversion/: include/svn_xml.h (1.32), libsvn_subr/xml.c (1.42):

	Const-ify the input value to svn_xml_escape_string() 
	* svn_xml.h (svn_xml_escape_string): add const to STRING param 
	* xml.c (svn_xml_escape_string): add const to STRING param 

2001-08-09 18:42   Branko Cibej <>

	* subversion/include/svn_config.h (1.1):

	This painting tells the dreamtime story of our ancestors hunting for
	goanna in the sand hills mear Mt Lebig.  
	We certify that this original artwork belongs to the artist and 
	accordingle the copyright to this piece of art belongs to the artist
	and may not be reproduced without the artist's permission 
	Paul Ah Chee -- Manager Pwerte Marnte Marnte Aboriginal Corporation 

2001-08-09 17:47   Ben Collins-Sussman <>

	* subversion/: clients/cmdline/status.c (1.6),
	libsvn_client/status.c (1.21):

	Close issue #383.  'svn status' no longer errors out if network is
	* cmdline/status.c (svn_cl__print_status): print '?' instead of
	  'none' if revnum is invalid.  
	* libsvn_client/status.c (svn_client_status):  if any network errors 
	  occur, ignore them, and set repository revision to

2001-08-09 17:22   Karl Fogel <>

	* notes/m3-checklist.txt (1.7):

	Remove finished stuff, so the checklist only shows unfinished tasks.  

2001-08-09 17:11   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.9),
	svntest/ (1.10):

	* (commit_inclusive_dir, commit_top_dir):  finish 
	  anchor/target commit tests.  this closes issue #400.  

2001-08-09 16:52   Karl Fogel <>

	* notes/m3-checklist.txt (1.6):

	(DB_RUN_RECOVERY): note exactly how in progress.  

2001-08-09 16:45   Karl Fogel <>

	* notes/m3-checklist.txt (1.5):

	(DB_RUN_RECOVERY): in progress.  

2001-08-09 15:56  C. Michael Pilato <>

	* subversion/: libsvn_fs/reps-strings.c (1.26), svnlook/main.c

	* subversion/svnlook/main.c 
	  (print_diff_tree): Okay.  Done testing.  We can clean up those 
	  temporary files now. *blush* 
	* subversion/libsvn_fs/reps-strings.c 
	  (window_handler): Some little logic rearrangements (read: bug 

2001-08-09 14:33   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: README (1.9),
	svntest/ (1.9), svntest/ (1.12):

	Adjust python test system to work over DAV.  (issue #423) Of course,
	this isn't *really* tested until we know that ra_dav is working
	again.  :-) 
	* (run_tests):  new global 'DAV_mode' variable.  
	* (guarantee_greek_repository):  in DAV mode, use http:// 
	  url for doing initial import.  
	  (make_repo_and_wc):  in DAV mode, use http:// for checkout.  
	                       also append to .htaccess file.  
	* README:  keep python-test documentation up-to-date.  

2001-08-09 14:27   Brian Fitzpatrick <>

	* www/subversion-diagram.png (1.3):

	Updated the diagram at Ben's request to the latest and greatest
	general high-level not-too-detailed design of Subversion. :) 

2001-08-09 12:24  XelaRellum

	* subversion/bindings/java/jni/org/tigris/subversion/: .cvsignore
	(1.1), .dir_nonempty (1.2), (1.1),
	lib/.cvsignore (1.1), lib/ (1.1), lib/ (1.1),
	lib/ (1.1), lib/ (1.1), lib/
	(1.1), lib/ (1.1), lib/ (1.1),
	lib/ (1.1), lib/ (1.1),
	lib/ (1.1):

	First checkin of the Java interface definitions and very basic
	classes.  Caution: right now these files are only interfaces and
	they are not at the right place in the directory yet.  

2001-08-09 12:19  C. Michael Pilato <>

	* subversion/libsvn_fs/reps-strings.c (1.25):

	* reps-strings.c 
	  (window_handler): Optimization.  Don't handle any more ops if we 
	  know their results won't fit into our output buffer.  

2001-08-09 12:04   Karl Fogel <>

	* (1.24), build.conf (1.28), (1.21),
	doc/user/manual/dirversioning.texi (1.2):

	Get "make doc" to work: 
	* (, .texi.dvi, .texi.txt, .texi.html): Fix 
	include paths.  
	(doc-info, doc-dvi, doc-txt, doc-html, doc-ps, doc-pdf): Build user 
	manual too.  
	* build.conf, Revert my changes of yesterday, they were 
	* dirversioning.texi (Directory Versioning): Fix menu format.  

2001-08-09 12:00  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.12):

	* subversion/svnlook/main.c 
	  (contents_to_tmp_file): Create tmp files based on the basenames of 
	  the originals, not the full paths.  
	  (print_diff_tree): Print "Added", "Deleted", or "Modified" instead 
	  of "Index" in the headers of file diffs for whom we know the 
	  relevant action.  

2001-08-09 12:00  C. Michael Pilato <>

	* subversion/libsvn_fs/reps-strings.c (1.24):

	* reps-strings.c 
	  (window_handler): Bug fix.  This function was never discarding 
	  data that was part of a necessary window and that appeared
	  *before* the requested range.  
	  (svn_fs__rep_contents): Fixed spelling in error string.  

2001-08-09 11:50  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.98):

	* fs-test.c 
	  (large_file_integrity): Oops.  We were never testing the head 

2001-08-09 10:41   Karl Fogel <>

	* subversion/bindings/java/jni/: README (1.1),
	org/tigris/subversion/.dir_nonempty (1.1):

	Sandbox for JNI bindings.  Alexander Mueller 
	<> is working on these.  

2001-08-09 06:03   Greg Stein <>

	* subversion/libsvn_ra_dav/: ra_dav.h (1.34), session.c (1.33):

	More tweaks for the user/pass stuff in ra_dav.  
	* ra_dav.h (svn_ra_session_t): add fields for the user and pass 
	* session.c (request_auth): new callback function for Neon to do 
	  (auth_authenticate): set up the Neon authentication callback 

2001-08-09 06:00   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.35), repos.c (1.55),
	update.c (1.7):

	Add username field to dav_svn_repos so that we can have a user
	throughout the FS operations.  
	* dav_svn.h (dav_svn_repos): add username field 
	* repos.c (dav_svn_get_resource): remember the username 
	* update.c (dav_svn__update_report): use the stored username for
	    running the report.  

2001-08-09 05:58   Greg Stein <>

	* subversion/mod_dav_svn/merge.c (1.15):

	Add missing parameter to svn_repos_dir_delta(). Currently a NULL (no 
	specific entry; diff the whole dir), but it probably should be
	something else...  

2001-08-09 05:57   Greg Stein <>

	* subversion/mod_dav_svn/version.c (1.31):

	Add svn_repos.h to pick up a prototype.  

2001-08-09 03:18   Greg Stein <>

	* subversion/clients/cmdline/cl.h (1.15):

	tweak the path to svn-dev.el 

2001-08-08 19:35   Greg Stein <>

	* subversion/: include/svn_ra.h (1.65), libsvn_client/auth.c (1.6),
	libsvn_ra_dav/session.c (1.32), libsvn_ra_local/ra_plugin.c (1.42):

	Revamp the authenticator stuff. Enable the use of constant
	structures so that it is easier to return vtables. Splitting the
	baton out helps with this.  
	* svn_ra.h (svn_ra_username_authenticator_t, 
	    svn_ra_simple_password_authenticator_t): remove the pbaton
	    field.  add "const" to the username/password fields.  
	  (svn_ra_plugin_t): get_authenticator now returns a baton. the 
	    authenticator is now "const" 
	* libsvn_ra_local/ra_plugin.c (get_authenticator, set_username):
	    update for above changes 
	* libsvn_ra_dav/session.c (svn_ra_get_authenticator,
	    auth_set_username, auth_set_password, auth_authenticate): implement
	new functions.  
	* libsvn_client/auth.c (authorize_username,
	    authorize_simple_password): update for above changes -- take a baton
	    field and constify the authenticator.  
	  (svn_client_authenticator): get an auth_baton from the
	    get_authenticator.  constify the authenticator.  

2001-08-08 17:53   Karl Fogel <>

	* STACK (1.95):

	I'd rather be rich than stupid.  

2001-08-08 17:52   Karl Fogel <>

	* STACK (1.94):

	Clean up my stack, note remaining M3 items.  

2001-08-08 17:45   Karl Fogel <>

	* build.conf (1.27), (1.20):

	Try to get "make doc" working in the new build system, but not done 
	yet.  Hints from Greg Stein most welcome, naturally.  
	* (main): Start handling .texi files where the objects 
	list is built.  But not working yet.  
	(Target): Start handling `doc' type.  But not working yet.  
	* build.conf (svn-design, user-manual, svnlook-manual): New
	sections, for docs.  

2001-08-08 17:25   Ben Collins-Sussman <>

	* subversion/svnadmin/main.c (1.22):

	Make svnadmin print log messages attached to revisions and 

2001-08-08 16:31   Ben Collins-Sussman <>

	* subversion/: include/svn_path.h (1.40), include/svn_wc.h (1.109),
	libsvn_wc/adm_files.c (1.85), libsvn_wc/adm_ops.c (1.82),
	libsvn_wc/wc.h (1.160):

	Write authentication data into the SVN/ area atomically.  
	* wc.h, adm_files.c (svn_wc__open_auth_file,
	  svn_wc__close_auth_file): new interface, consistent with existing
	'atomic' write interfaces.  
	* adm_ops.c (svn_wc_set_auth_file): use the new interface.  
	* svn_wc.h (svn_wc_get_auth_file, svn_wc_set_auth_file):
	  documentation clarification.  
	* svn_path.h (svn_path_add_component):  same.  
	* adm_files.c (v_extend_with_adm_name): same.  

2001-08-08 15:48  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.11):

	* main.c 
	  Include apr_thread_proc.h and svn_private_config.h.  
	  (do_diff): Get base root to pass along.  
	  (contents_to_tmp_file): New helper function.  
	  (print_diff_tree): Began putting real guts in this function.  
	  Calling discipline modified.  
	  (do_diff): Call to print_diff_tree() obeys new calling discipline.  

2001-08-08 15:17   Karl Fogel <>

	* (1.23), (1.103),
	subversion/libsvn_subr/base64.c (1.21),
	subversion/libsvn_subr/svn_base64.c (1.1),
	ac-helpers/berkeley-db.m4 (1.10):

	Patch from Mo DeJong <> to build Berkeley DB in
	the subversion source tree if it is present as top-level subdir
	`db'.  My memory is that there was consensus on this being a good
	thing, but that no one got around to applying it.  See Mo's original
	mail to dev: 

	See also my mail with the subject line 
	   Subject: applied Mo DeJong's built-in DB patch 
	for some discussion related to this commit.  
	* (EXTERNAL_PROJECT_DIRS): list optional @DB_SUBDIR@.  
	* Configure DB_SUBDIR.  
	* ac-helpers/berkeley-db.m4: Look for db in the subversion source 
	Associated change, but not part of Mo's patch: 
	* subversion/libsvn_subr/svn_base64.c: New name for base64.c, to
	avoid linker conflict with neon's base64.c.  

2001-08-08 13:36   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/svntest/ (1.8):

	Python tests:  Check for errors from initial 'svn import'.  

2001-08-08 13:34   Ben Collins-Sussman <>

	* subversion/libsvn_client/: commit.c (1.58), import.c (1.5):

	* import.c:  delete this old crufty file.  
	* commit.c (send_to_repos):  duh, don't call the auth storage
	  callback when finished with an import! 

2001-08-08 13:26   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_files.c (1.84), lock.c (1.25), log.c
	(1.108), wc.h (1.159):

	When creating SVN/auth/ and SVN/tmp/auth/, set perms to 700.  
	* adm_files.c, wc.h (svn_wc__make_adm_thing):  add PERMS argument.  
	 (init_adm, init_adm_temp_area):  change calls to above as
	* lock.c (svn_wc__lock):  change call.  
	* log.c (log_do_committed): change call.  

2001-08-08 12:57   Ben Collins-Sussman <>

	* subversion/libsvn_wc/questions.c (1.57):

	Fix bug #421.  
	* questions.c (svn_wc_props_modified_p):  if property file exists
	  and prop-base doesn't, this does NOT mean that local mods have 
	  happened.  The property file might be empty... check for this.  

2001-08-08 11:56   Ben Collins-Sussman <>

	* subversion/libsvn_client/auth.c (1.5):

	Little bugfix on authentication storage.  
	* auth.c (store_auth_info):  don't call svn_wc_set_auth_file() on a 
	  path unless it's a directory.  
	  (authorize_username):  tolerate any failure of
	(authorize_simple_password): same.  

2001-08-07 17:25   Karl Fogel <>

	* (1.22):

	(dist): New rule, still in progress.  Do not try to make a dist with 
	this; there's a whole release procedure doc still to be written.  

2001-08-07 17:25   Karl Fogel <>

	* notes/m3-checklist.txt (1.4):

	Remove some obsolete verbiage.  

2001-08-07 16:53   Ben Collins-Sussman <>

	* build.conf (1.26),
	subversion/tests/clients/cmdline/ (1.1),
	notes/dav_setup.txt (1.11), notes/m3-checklist.txt (1.3),
	subversion/tests/clients/cmdline/svntest/ (1.11):

	New python tests for 'svnadmin'.  
	*  four new tests.  
	* (run_svnadmin):  return stdout, stderr.  
	* build.conf:  add svnadmin tests to 'make check' rule.  
	* m3-checklist.txt:  tweaking.  

2001-08-07 16:32   Karl Fogel <>

	* subversion/tests/libsvn_repos/repos-test.c (1.12):

	(verify_hooks): Removed; hooks are tested in the python suite now.  
	(test_funcs): Adjust for above.  

2001-08-07 15:35  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.10):

	* main.c 
	  (do_diff): Put some cheesy skeleton code in place.  Woohoo.  

2001-08-07 13:19  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.9):

	* subversion/svnlook/main.c 
	  (do_date): Stop using 'time' as a variable name.  FreeBSD doesn't 
	  really like that.  

2001-08-07 10:56   Ben Collins-Sussman <>

	* subversion/: include/svn_repos.h (1.23),
	libsvn_ra_local/ra_plugin.c (1.41), libsvn_repos/hooks.c (1.12),
	libsvn_repos/reporter.c (1.15):

	New repos wrapper for creating temporary 'update' transactions.  
	[ Note to gstein: this is the third wrapper that mod_dav_svn should
	be using (see the bottom of svn_repos.h for all three.)  However, if 
	mod_dav_svn is already using the 'reporter' within libsvn_repos,
	then you don't need to do a thing here -- the reporter has been
	upgraded. ] 
	* hooks.c (svn_repos_fs_begin_txn_for_update): new wrapper, stores 
	  username property on transaction.  This is a Good Thing, since 
	  updates often take longer, and are more likely to be orphaned from
	  a dropped connection.  A sysadmin 'svnadmin rmtxn' will want to
	  know the txn's creator when cleaning it up.  
	* reporter.c, svn_repos.h (svn_repos_begin_report): add username
	(svn_repos_report_baton_t): add username field.  
	  (svn_repos_set_path):  call new wrapper when creating update txn.  
	* ra_plugin.c (do_update): pass session_baton->username into

2001-08-07 10:43  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.8):

	* subversion/svnlook/main.c 
	  (print_changed_tree): Only print the node if it has text or property 
	  modifications.  Docstring edit.  
	  (print_tree): Docstring edit.  

2001-08-07 09:57  C. Michael Pilato <>

	* subversion/libsvn_wc/: adm_ops.c (1.81), entries.c (1.116):

	* entries.c 
	  (svn_wc__entries_write): If there is no "this dir" entry in our 
	  entries hash, assume this directory is no longer under revision 
	  control, and simply destroy the administrative area.  
	* adm_ops.c 
	  (mark_tree): Pay attention to the order in which state changes need 
	  to happen during recursion.  

2001-08-07 09:55   Ben Collins-Sussman <>

	* subversion/: clients/cmdline/checkout-cmd.c (1.7),
	clients/cmdline/cl.h (1.14), clients/cmdline/commit-cmd.c (1.9),
	clients/cmdline/import-cmd.c (1.8), clients/cmdline/main.c (1.14),
	clients/cmdline/prompt.c (1.3), clients/cmdline/status-cmd.c (1.5),
	clients/cmdline/update-cmd.c (1.7), include/svn_client.h (1.45),
	libsvn_client/auth.c (1.4), libsvn_client/checkout.c (1.23),
	libsvn_client/commit.c (1.57), libsvn_client/status.c (1.20),
	libsvn_client/update.c (1.25), libsvn_wc/adm_ops.c (1.80):

	Expand authentication design: allow top-level applications to 
	(optionally) provide authentication data to libsvn_client.  (e.g.
	via command-line arguments.) 
	* svn_client.h (svn_client_auth_t): new class^H^H^H^H^H struct to
	  hold authentication data and callback methods.  :-) 
	  (svn_client_authenticate): new prototype, greatly simplified by 
	  using svn_client_auth_t.  
	* auth.c (authorize_username, authorize_simple_password): rewrite to 
	  use new struct.  
	* checkout.c (svn_client_checkout):  tweak to use new struct.  
	* update.c (svn_client_update): same.  
	* commit.c (send_to_repos):  same.  
	* status.c (svn_client_status): same.  
	* cl.h (enum svn_cl__longopt_t, svn_cl_opt_state_t):  create 
	  username/password fields for commandline args.  
	* main.c (main):  add auth args to options[], and to switch
	* prompt.c, cl.h (svn_cl__make_auth_obj): new helper routine.  
	* checkout-cmd.c (svn_cl__checkout):  call the helper.  
	* update-cmd.c (svn_cl__update): same.  
	* import-cmd.c (svn_cl__import): same.  
	* commit-cmd.c (svn_cl__commit): same.  
	* status-cmd.c (svn_cl__status): same.  
	* adm_ops.c (svn_wc_set_auth_file):  bugfixes.  

2001-08-07 09:20   Ben Collins-Sussman <>

	* subversion/libsvn_wc/README (1.62):

	Document 'auth/' subdirectory.  

2001-08-06 16:53  C. Michael Pilato <>

	* build.conf (1.25), subversion/tests/clients/cmdline/

	* build.conf 
	  (paths): Added to the test framework.  
	* subversion/tests/clients/cmdline/ 
	  (update_props): Bug fixes for this test (hey, who tests the tests?) 

2001-08-06 16:13  C. Michael Pilato <>

	* subversion/svnlook/: editors.c (1.3), main.c (1.7), svnlook.h

	Yep, still more work on the svnlook program.  She now works with 
	* main.c 
	  (INT_ERR): Actually return on error.  
	  (generate_delta_tree): New function.  
	  (do_tree, print_tree): Added SHOW_IDS boolean parameter (and use
	  (do_default): Call do_tree() with id display disabled.  
	  (print_changed_tree): Make output look like 'svn update'.  
	  (do_dirs_changed, do_changed, do_tree): Now use
	  (svnlook_cmd_t): Add svnlook_cmd_ids for new "ids" subcommand.  
	  (usage): Add "ids" to usage display.  
	  (main): Parse and understand new "ids" subcommand.  Call do_tree() 
	  with id display enabled.  
	* svnlook.h 
	  (repos_node_t): Added node id field ID.  
	  (svnlook_txn_changes_editor): Removed.  
	  (svnlook_tree_delta_editor): Renamed from
	* editors.c 
	  (struct window_handler_baton): New structure.  
	  (window_handler): Check for non-NULL windows before claiming text 
	  (apply_textdelta): Actually use the window handler baton.  
	  (svnlook_txn_changes_editor): Removed.  
	  (svnlook_tree_delta_editor): Renamed from

2001-08-06 15:55  C. Michael Pilato <>

	* subversion/: include/svn_fs.h (1.101), libsvn_fs/dag.c (1.122),
	libsvn_fs/tree.c (1.93), libsvn_repos/delta.c (1.53):

	Some changes to the props and contents diff-detection functions.  
	* include/svn_fs.h 
	  (svn_fs_contents_changed, svn_fs_props_changed): Make these 
	  functions take one path for each root.  
	* libsvn_fs/tree.c 
	  (svn_fs_contents_changed, svn_fs_props_changed, ): Make these 
	  functions take one path for each root.  
	  (struct things_changed_args): Removed PATH, Added PATH1 and PATH2.  
	  (txn_body_contents_changed, txn_body_props_changed): Use two 
	  different paths under their respective roots for the comparison.  
	* libsvn_fs/dag.c 
	  (svn_fs__things_different): Implemented this function.  
	* libsvn_repos/delta.c 
	  (delta_proplists): Use svn_fs_props_changed() to optimize the search 
	  for property differences.  
	  (delta_files): Use svn_fs_contents_changed() to avoid sending text 
	  delta windows when there are no textual diffs.  

2001-08-06 15:43   Karl Fogel <>

	* subversion/libsvn_fs/skel.c (1.35):

	(svn_fs__skels_are_equal): Check for the trivial case first.  

2001-08-06 14:29   Ben Collins-Sussman <>

	* subversion/svnadmin/main.c (1.21):

	svnadmin:  bikeshed touchup.  

2001-08-06 13:25   Karl Fogel <>

	* subversion/include/svn_fs.h (1.100):

	Get rid of tmp comment.  

2001-08-06 13:24   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.99), libsvn_fs/dag.c (1.121),
	libsvn_fs/dag.h (1.50), libsvn_fs/tree.c (1.92):

	* svn_fs.h (svn_fs_props_changed, svn_fs_contents_changed): New 
	* tree.c (svn_fs_props_changed, svn_fs_contents_changed, 
	props_changed_args, contents_changed_args, txn_body_props_changed, 
	txn_body_contents_changed): New funcs.  
	* dag.h, dag.c (svn_fs__things_different): New func, still skeletal.  

2001-08-06 12:32   Karl Fogel <>

	* subversion/tests/libsvn_repos/md5args.c (1.3):

	#include <string.h>.  

2001-08-06 12:32   Ben Collins-Sussman <>

	* subversion/svnadmin/main.c (1.20):

	New svnadmin subcommands:  'rmtxn', 'createtxn'.  Finally, this tool 
	is no longer read-only.  :-) 

2001-08-06 12:12   Ben Collins-Sussman <>

	* notes/alpha-checklist.txt (1.8):

	Notes about svnadmin features 

2001-08-03 16:57   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.44), include/svn_wc.h
	(1.108), libsvn_client/auth.c (1.3), libsvn_client/checkout.c
	(1.22), libsvn_client/commit.c (1.56), libsvn_client/status.c
	(1.19), libsvn_client/update.c (1.24), libsvn_wc/adm_files.c
	(1.83), libsvn_wc/adm_ops.c (1.79), libsvn_wc/wc.h (1.158):

	New libsvn_client feature: ability to store authentication data in 
	working copy, after prompting for it the first time.  This code path 
	has not yet been tested, but will be on Monday.  
	* svn_client.h (svn_client_authenticate):  now (possibly) returns a 
	  callback that allows authenticator-driver to store info in working 
	  (svn_client_auth_storage_callback_t):  new function type.  
	* auth.c (authorize_username): take same args as other authenticator 
	  driver, for consisitency.  Return NULL for storage callback.  
	  (authorize_simple_password):  complexification.  
	  (store_auth_info):  new helper and baton.  
	* svn_wc.h, adm_ops.c (svn_wc_get_auth_file, svn_wc_set_auth_file): 
	  declare and implement new API.  
	* adm_files.c (init_adm, init_adm_tmp_area):  create ADM_AUTH_DIR in
	* checkout.c (svn_client_checkout): call storage_callback if
	* update.c (svn_client_update): same.  
	* commit.c (send_to_repos): same.  
	* status.c (svn_client_status): same.  

2001-08-03 16:06  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.6):

	More work toward getting svnlook working with transactions.  
	* subversion/svnlook/main.c 
	  (svnlook_ctxt_t): Store the TXN_NAME now.  
	  (do_dirs_changed, do_changed): Now works for transactions, too.  
	  (do_tree): Little bug fix.  
	  (main): Bug fixes.  

2001-08-03 15:35   Karl Fogel <>

	* notes/m3-checklist.txt (1.2):

	Don't be in outline mode.  

2001-08-03 15:34   Karl Fogel <>

	* notes/: alpha-checklist.txt (1.7), m3-checklist.txt (1.1):

	Moved M3 stuff to its own file for the home stretch, leave alpha
	stuff in alpha-checklist.txt.  

2001-08-03 01:27  C. Michael Pilato <>

	* subversion/: include/svn_fs.h (1.98), libsvn_fs/dag.c (1.120),
	libsvn_fs/dag.h (1.49), libsvn_fs/txn.c (1.46),
	tests/libsvn_fs/fs-test.c (1.97):

	Reveal a way for folks to figure out what revision (if any) a 
	transaction was based upon.  This is very useful for
	svn_fs_dir_delta() as used in svnlook.  
	* subversion/include/svn_fs.h 
	  (svn_fs_txn_base_revision): New function.  
	* subversion/libsvn_fs/txn.c 
	  (struct svn_fs_txn_t): Added BASE_REV field.  
	  (svn_fs_txn_base_revision): New function.  
	  (make_txn): Added BASE_REV argument for populated svn_txn_t
	* subversion/libsvn_fs/dag.h 
	* subversion/libsvn_fs/dag.c 
	  (svn_fs__dag_get_revision): New function.  
	* subversion/libsvn_fs/fs-test.c 
	  (check_root_revision): New test function.  
	  (test_funcs): Reference new test function.  

2001-08-02 09:35  C. Michael Pilato <>

	* subversion/: clients/cmdline/props.c (1.6), include/svn_hash.h
	(1.18), libsvn_client/status.c (1.18), libsvn_fs/tree.c (1.91),
	libsvn_ra/ra_loader.c (1.11), libsvn_ra_dav/fetch.c (1.64),
	libsvn_ra_dav/merge.c (1.14), libsvn_ra_local/checkout.c (1.13),
	libsvn_repos/delta.c (1.52), libsvn_subr/hashdump.c (1.26),
	libsvn_subr/sorts.c (1.4), libsvn_subr/svn_error.c (1.74),
	libsvn_subr/xml.c (1.41), libsvn_wc/adm_crawler.c (1.122),
	libsvn_wc/adm_ops.c (1.78), libsvn_wc/entries.c (1.115),
	libsvn_wc/log.c (1.107), libsvn_wc/props.c (1.35),
	libsvn_wc/status.c (1.39), mod_dav_svn/deadprops.c (1.14),
	mod_dav_svn/repos.c (1.54), svnadmin/main.c (1.19),
	tests/fs-helpers.c (1.8), tests/libsvn_subr/hashdump-test.c (1.23):

	Catching up with APR API changes.  apr_hash_first() now takes an 
	apr_pool_t * argument, and apr_pool_sub_make() is now populates a
	pool pointer (instead of just returning it).  The following files
	where changed.  
	* subversion/clients/cmdline/props.c 
	* subversion/libsvn_client/status.c 
	* subversion/libsvn_fs/tree.c 
	* subversion/libsvn_ra/ra_loader.c 
	* subversion/libsvn_ra_dav/fetch.c 
	* subversion/libsvn_ra_dav/merge.c 
	* subversion/libsvn_ra_local/checkout.c 
	* subversion/libsvn_repos/delta.c 
	* subversion/libsvn_subr/hashdump.c 
	* subversion/libsvn_subr/sorts.c 
	* subversion/libsvn_subr/svn_error.c 
	* subversion/libsvn_subr/xml.c 
	* subversion/libsvn_wc/adm_crawler.c 
	* subversion/libsvn_wc/adm_ops.c 
	* subversion/libsvn_wc/entries.c 
	* subversion/libsvn_wc/log.c 
	* subversion/libsvn_wc/props.c 
	* subversion/libsvn_wc/status.c 
	* subversion/mod_dav_svn/deadprops.c 
	* subversion/mod_dav_svn/repos.c 
	* subversion/svnadmin/main.c 
	* subversion/tests/fs-helpers.c 
	* subversion/tests/libsvn_subr/hashdump-test.c 
	  These contains calls to apr_hash_first() or apr_pool_sub_make().  
	* subversion/include/svn_hash.h 
	* subversion/libsvn_subr/hashdump.c 
	  (svn_hash_write): Added POOL argument (to pass to apr_hash_first).  

2001-08-01 16:54   Ben Collins-Sussman <>

	* notes/alpha-checklist.txt (1.6):

	tweaking checklist some more.  

2001-08-01 15:16   Ben Collins-Sussman <>

	* notes/alpha-checklist.txt (1.5):

	tweaking checklist.  

2001-08-01 15:02  C. Michael Pilato <>

	* subversion.dsw (1.16),
	subversion/clients/cmdline/subversion_client.dsp (1.5),
	subversion/include/svn_error.h (1.110),
	subversion/libsvn_client/libsvn_client.dsp (1.11),
	subversion/libsvn_subr/svn_error.c (1.73):

	Keeping this here Winderz build up-to-date.  
	* subversion.dsw 
	  (__build__): Added 'svnlook' dependency.  
	* subversion/clients/cmdline/subversion_client.dsp 
	  (prompt.c): Added to Source Files.  
	* subversion/include/svn_error.h 
	* subversion/libsvn_subr/svn_error.c 
	  (svn_error_compose): Rename NEW args to NEW_ERR to prevent MSVC++ 
	  from fussing about the use of "new" as a symbol.  
	Index: subversion/libsvn_client/libsvn_client.dsp 
	  (auth.c): Added to Source Files.  

2001-08-01 14:35  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/: (1.8),
	svntest/ (1.7), svntest/ (1.10):

	* subversion/tests/clients/cmdline/ 
	  (hook_test): New test.  
	  (test_list): Reference new test.  
	* subversion/tests/clients/cmdline/svntest/ 
	  (guarantee_greek_repository): Bug fix.  
	* subversion/tests/clients/cmdline/svntest/ 
	  (svnlook_binary): New global variable for location of svnlook 
	  (get_start_commit_hook_path, get_pre_commit_hook_path, 
	  get_post_commit_hook_path): New functions.  

2001-08-01 14:34  C. Michael Pilato <>

	* subversion/clients/cmdline/: checkout-cmd.c (1.6), cl.h (1.13),
	commit-cmd.c (1.8), import-cmd.c (1.7), main.c (1.13),
	propdel-cmd.c (1.2), propset-cmd.c (1.5), util.c (1.6):

	Added a 'quiet' option to the command-line client.  This may morph 
	into something with better granularity in the future.  
	* subversion/clients/cmdline/cl.h 
	  Added "quiet" option.  
	* subversion/clients/cmdline/checkout-cmd.c 
	  (svn_cl__checkout): Only use the trace editor when not asked to be 
	* subversion/clients/cmdline/commit-cmd.c 
	  (svn_cl__commit): Only use the trace editor when not asked to be 
	* subversion/clients/cmdline/import-cmd.c 
	  (svn_cl__import): Only use the trace editor when not asked to be 
	* subversion/clients/cmdline/main.c 
	  (main): Added "quiet" option to option list.  Also, parse 
	  command-line options for 'q' (which sets the quiet option) 
	* subversion/clients/cmdline/propdel-cmd.c 
	* subversion/clients/cmdline/propset-cmd.c 
	* subversion/clients/cmdline/util.c 
	  Trivial formatting changes.  

2001-08-01 14:33  C. Michael Pilato <>

	* subversion/tests/libsvn_repos/md5args.c (1.2):

	* subversion/tests/libsvn_repos/md5args.c 
	  (main): Information errors...this applet is sure to die soon.  

2001-08-01 14:33  C. Michael Pilato <>

	* subversion/svnlook/main.c (1.5):

	* subversion/svnlook/main.c 
	  Added '### todo' docstring.  

2001-08-01 13:55   Ben Collins-Sussman <>

	* subversion/: clients/cmdline/cl.h (1.12),
	clients/cmdline/prompt.c (1.2), include/svn_client.h (1.43),
	libsvn_client/auth.c (1.2), libsvn_ra_dav/session.c (1.31),
	libsvn_wc/wc.h (1.157):

	Start working on username/password authentication module.  
	* wc.h (SVN_WC__ADM_AUTH_DIR): new subdirectory of SVN/.  
	  (SVN_WC__ADM_AUTH_USERNAME): name of file to store username.  
	  (SVN_WC__ADM_AUTH_PASSWORD): name of file to store password.  
	* prompt.c, cl.h (svn_cl__prompt_user): try using apr_password_get() 
	  if HIDE flag is set.  it might work.  also use const char *prompt, 
	  and make tweaks to ensure the HIDE flag works.  
	* svn_client.h (svn_client_auth_info_callback_t): use const char *.  
	* auth.c (authorize_simple_password): implement simple draft.  
	  (authorize_username):  take callback arg for consistency.  

2001-08-01 11:43   Ben Collins-Sussman <>

	* subversion/: clients/cmdline/checkout-cmd.c (1.5),
	clients/cmdline/cl.h (1.11), clients/cmdline/commit-cmd.c (1.7),
	clients/cmdline/import-cmd.c (1.6), clients/cmdline/prompt.c (1.1),
	clients/cmdline/status-cmd.c (1.4), clients/cmdline/update-cmd.c
	(1.6), include/svn_client.h (1.42), include/svn_error_codes.h
	(1.13), include/svn_ra.h (1.64), libsvn_client/auth.c (1.1),
	libsvn_client/checkout.c (1.21), libsvn_client/commit.c (1.55),
	libsvn_client/status.c (1.17), libsvn_client/update.c (1.23),
	libsvn_ra_dav/commit.c (1.62), libsvn_ra_dav/props.c (1.10),
	libsvn_ra_dav/ra_dav.h (1.33), libsvn_ra_dav/session.c (1.30),
	libsvn_ra_dav/util.c (1.7), libsvn_ra_local/ra_local.h (1.17),
	libsvn_ra_local/ra_plugin.c (1.40), libsvn_subr/target.c (1.12),
	svnadmin/main.c (1.18):

	Big changes: new authentication architecture based on the PAM model.  
	RA_local now uses "username only" authentication, and now usernames 
	are passed all the way through to transactions and revisions. 
	RA_dav compiles, but is (temporarily) non-functional until we
	upgrade it to use either "username only" and/or "username/password"
	The next step on the agenda is to allow storage of usernames & 
	passwords in the working copy.  
	* svn_ra.h 
	  (svn_ra_simple_password_authenticator): "authenticator" vtable
	  (svn_ra_username_authenticator):  another "authenticator" object.  
	  (svn_ra_plugin_t):  remove open().  
	                      new replacement method: get_authenticator().  
	                      new 'auth_methods' flag.  
	* auth.c:  new file and routines, the implementation of...  
	* svn_client.h (svn_client_authenticate):  new master interface.  
	  (svn_client_auth_info_callback_t):  new function type, added as a 
	  new argument to all svn_client.h interfaces that use repositories.  
	* svn_error_codes.h (SVN_ERR_RA_NOT_AUTHORIZED):  renamed, added RA
	(SVN_ERR_RA_UNKNOWN_AUTH):  new error val.  
	* libsvn_ra_dav/props.c (svn_ra_dav__get_props): rename to 
	  (process_results): comment out pc variable to remove warning.  
	* libsvn_ra_dav/util.c (svn_ra_dav__parsed_request): rename to 
	* libsvn_ra_dav/session.c (svn_ra_get_authenticator): dummy func.  
	  (svn_ra_open): now deprecated and unused.  needs to be rewritten
	  as dummy func above.  
	* libsvn_ra_dav/commit.c, ra_dav.h (svn_ra_dav__get_commit_editor): 
	  remove the bogus user argument.  It should already be living in
	  'cc' after authentication finishes.  
	* libsvn_ra_local/ra_plugin.c (get_authenticator):  implement.  
	  (authenticate):  essentially renamed & hacked from open().  
	  (set_username):  implement.  
	  (close):  don't free whole pool, since we're no longer subpooling.  
	  (get_commit_editor):  send session_baton->username to
	* libsvn_ra_local/ra_local.h (svn_ra_local__session_baton_t): add 
	  username field.  
	* commit.c (send_to_repos): replace ra->open() call with 
	  svn_client_authenticate() call.  
	* status.c (svn_client_status): same.  
	* update.c (svn_client_update): same.  
	* checkout.c (svn_client_checkout): same.  
	* prompt.c (svn_cl__prompt_user):  new file and callback routine.  
	* cl.h (svn_cl__prompt_user): declare.  
	* checkout-cmd.c (svn_cl__checkout):  send callback to
	svn_client_*() call.  
	* commit-cmd.c (svn_cl__commit): same.  
	* import-cmd.c (svn_cl__import): same.  
	* update-cmd.c (svn_cl__update): same.  
	* status-cmd.c (svn_cl__status): same.  
	* target.c (svn_path_get_absolute): rename to
	* svnadmin/main.c (main):  make svnadmin print authors.  

2001-08-01 10:10  C. Michael Pilato <>

	* notes/alpha-checklist.txt (1.4):

	* alpha-checklist.txt 
	  cvs2svn is now a 1.0 requirement, not M3.  

2001-07-31 16:19   Karl Fogel <>

	* subversion/: libsvn_repos/hooks.c (1.11),
	tests/libsvn_repos/repos-test.c (1.11):

	Hook system now passes all hand-tests.  
	The automated test (see tests/libsvn_repos/repos-test.c) is
	commented out because it still doesn't pass.  I think it's something
	to do with the test itself, or maybe with the fact that "$user"
	isn't usefully expanded yet because the auth system is still being
	worked on.  
	* hooks.c: include ctype.h, for character class tests.  
	(read_char, eat_to_eol, expand, is_irrelevant_line): New funcs.  
	(read_hook_line): Rewrite, using above new funcs.  

2001-07-31 12:28  C. Michael Pilato <>

	* build.conf (1.24), subversion/tests/libsvn_repos/.cvsignore
	(1.3), subversion/tests/libsvn_repos/md5args.c (1.1),
	subversion/tests/libsvn_repos/repos-test.c (1.10):

	* build.conf 
	  (md5args): New binary for repos hook testing.  
	* subversion/tests/libsvn_repos/md5argcs.c 
	  New file (for new binary, md5args).  
	* subversion/tests/libsvn_repos/.cvsignore 
	  Ignore new binary md5args.  
	* subversion/tests/libsvn_repos/repos-test.c 
	  (verify_hooks): New function.  
	  (test_funcs): References new test function, verify_hooks() -- 
	  currently #ifdef'd out because the test fails.  

2001-07-31 11:39   Karl Fogel <>

	* subversion/include/svn_fs.h (1.97):

	(svn_fs_repository): Doc fix.  

2001-07-31 09:12   Karl Fogel <>

	* (1.46):

	Fix APR cvs checkout instructions.  Thanks to Frank Finger for the 
	patch; this finally fixes issue #415.  

2001-07-30 22:51  C. Michael Pilato <>

	* subversion/svnlook/svnlook.dsp (1.1):

	* svnlook.dsp 
	  Did I forget to 'cvs add' this new file earlier? 

2001-07-30 19:43   Karl Fogel <>

	* subversion/libsvn_repos/hooks.c (1.10):

	(read_hook_line): Note improvements to make tomorrow morning, when 
	have Mike's test suite to lean on.  

2001-07-30 19:24   Karl Fogel <>

	* subversion/: include/svn_error.h (1.109), libsvn_repos/hooks.c
	(1.9), libsvn_subr/svn_error.c (1.72):

	* svn_error.h, svn_error.c (svn_error_compose): New func.  
	* hooks.c (read_hook_line, run_hook_file): Make these work.  

2001-07-30 16:43   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.96), libsvn_fs/fs.c (1.56),
	libsvn_fs/fs.h (1.29), libsvn_repos/hooks.c (1.8):

	More hook driver coding: 
	* svn_fs.h (svn_fs_repository): Declare new func.  
	* fs.h (svn_fs_t): New `path' field.  
	* fs.c (svn_fs_create_berkeley): Initialize path.  
	(svn_fs_repository): New func.  
	(svn_fs_open_berkeley): Initialize all paths.  
	* hooks.c (read_hook_line): Filled in.  
	(run_hook_file): Filling in.  

2001-07-30 15:20   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.95), include/svn_repos.h (1.22),
	libsvn_fs/fs.c (1.55), libsvn_fs/fs.h (1.28), libsvn_repos/hooks.c

	Started writing hook driver code, with Mike Pilato: 
	* svn_fs.h (svn_fs_begin_txn): Doc fix.  
	(svn_fs_start_commit_conf): Declare.  
	* svn_repos.h (svn_repos_fs_begin_txn_for_commit): Doc fix.  
	* hooks.c (read_hook_line, run_hook_file): New funcs, skeletal.  
	(run_start_commit_hooks): New func.  
	(svn_repos_fs_begin_txn_for_commit): Use it.  
	(run_pre_commit_hooks, run_post_commit_hooks): Implement.  
	* fs.c (create_conf): Create a start-commit-hooks.txt file again,
	now that we have the svn_repos_fs_begin_txn_for_commit() wrapper. 
	This is essentially a reversion of the 1.53 change, plus some more
	(svn_fs_start_commit_conf): New func.  
	SVN_FS__REPOS_CONF_WRITE_SENTINELS): Change extensions so these
	don't claim to be ".conf" files.  
	essentially a reversion of the 1.92 change, plus see change to fs.c

2001-07-30 11:46  C. Michael Pilato <>

	* subversion/svnlook/: editors.c (1.2), main.c (1.4), svnlook.h

	* editors.c 
	  (edit_baton): Add BASE_ROOT field.  
	  (delete_entry): Check for file/dir in the BASE_ROOT (since it 
	  doesn't exist in ROOT).  
	  (svnlook_rev_changes_editor): Add BASE_ROOT parameter for baton 
	* main.c 
	  (INT_ERR): Geez...not every error is fatal, C-Mike.  
	  (do_dirs_changed, do_changed, do_tree) 
	  (print_tree): Only indent 1 space now.  
	* svnlook.h 
	  (svnlook_rev_changes_editor): Add BASE_ROOT parameter for baton 

2001-07-30 09:35   Karl Fogel <>

	* subversion/svnlook/nodetree.c (1.3):

	#include <string.h>, for strcmp.  

2001-07-30 09:35   Karl Fogel <>

	* subversion/svnlook/nodetree.c (1.2):

	Fix svn-dev.el load path.  

2001-07-30 09:34   Karl Fogel <>

	* subversion/libsvn_repos/hooks.c (1.6):

	#include <string.h>, for strlen.  

2001-07-29 15:34  C. Michael Pilato <>

	* subversion/: include/svn_repos.h (1.21), libsvn_repos/delta.c
	(1.51), libsvn_repos/reporter.c (1.14), svnlook/main.c (1.3),
	tests/libsvn_repos/repos-test.c (1.9):

	* include/svn_repos.h 
	  (svn_repos_dir_delta): Finally got around to merging the old 
	  svn_repos_dir_delta() and svn_repos_update() functions back into
	  one routine.  
	  (svn_repos_update): no more.  
	* libsvn_repos/delta.c 
	  (add_file_or_dir, replace_file_or_dir): Swapped some argument 
	  ordering for consistency with other functions in this suite.  All 
	  callers changed.  
	  (not_a_dir_error): New little helper function.  
	  (svn_repos_dir_delta): Revamped to merge functionality of old 
	  svn_repos_dir_delta() and svn_repos_update() functions.  
	  (svn_repos_update): ...lives only in the shadows of revision 
	* libsvn_repos/reporter.c 
	* svnlook/main.c 
	* tests/libsvn_repos/repos-test.c 
	  Callers of svn_repos_update() or svn_repos_dir_delta() changed.  

2001-07-26 23:54  C. Michael Pilato <>

	* subversion.dsw (1.15),
	subversion/clients/cmdline/subversion_client.dsp (1.4),
	subversion/libsvn_client/libsvn_client.dsp (1.10),
	subversion/libsvn_repos/libsvn_repos.dsp (1.3),
	subversion/svnadmin/svnadmin.dsp (1.3):

	Trying to keep the Win32 build up-to-date...  
	* subversion.dsw 
	  (subversion_client.dsp): Fixed incorrect location for this project.  
	  (svnlook.dsp): New project for svnlook binary.  
	* subversion/clients/cmdline/subversion_client.dsp 
	  (revert-cmd.c): Added to Source Files 
	* subversion/libsvn_client/libsvn_client.dsp 
	  (revert.c): Added to Source Files 
	* subversion/libsvn_repos/libsvn_repos.dsp 
	  (hooks.c): Added to Source Files 
	* subversion/svnadmin/svnadmin.dsp 
	  Link with libsvn_fs, not libsvn_client.  

2001-07-26 14:25  C. Michael Pilato <>

	* subversion/libsvn_repos/hooks.c (1.5):

	This insignificant change is shorter than the log message that
	mentions it 

2001-07-26 14:21  C. Michael Pilato <>

	* subversion/: include/svn_repos.h (1.20),
	libsvn_repos/commit_editor.c (1.17), libsvn_repos/hooks.c (1.4):

	Changes so that RADAV and RALocal can both share code for setting
	the commit's author and log message.  This code brought to you by
	* include/svn_repos.h 
	* libsvn_repos/hooks.c 
	  (svn_repos_fs_begin_txn_for_commit): New wrapper function for 
	  svn_fs_begin_txn() in the commit case.  Using this, both RALocal
	  and RADAV can set authors and log messages.  
	* libsvn_repos/commit_editor.c 
	  (replace_root): Call svn_repos_fs_begin_txn_for_commit() instead of 
	  (close_edit): Don't mess with author and log message properties 
	   anymore -- they were already set by replace_root().  

2001-07-26 12:16   Ben Collins-Sussman <>

	* subversion/libsvn_ra_dav/: commit.c (1.61), fetch.c (1.63),
	props.c (1.9), ra_dav.h (1.32):

	Committing Joe Orton's R/W dav props patch;  it's a good place to 
	start for making dav props work.  
	* ra_dav.h (SVN_RA_DAV__CUSTOM_NAMESPACE): new svn prop namespace 
	* commit.c (do_proppatch): use custom namespace for svn props 
	* fetch.c (add_props): new function.  
	  (fetch_dirents): get all props, so SVN:custom ones can be found.  
	  (fetch_file): add the properties.  
	* props.c (create_private):   use different pool (?) 
	  (add_to_hash): new func.  
	  (process_results): call ne_propset_iterate().  
	  (svn_ra_dav__get_props):  possibly get specific props.  

2001-07-26 12:03   Ben Collins-Sussman <>

	* subversion/include/svn_error_codes.h (1.12):

	Change over-specific error description.  

2001-07-26 11:01  C. Michael Pilato <>

	* build.conf (1.23), subversion/svnlook/editors.c (1.1),
	subversion/svnlook/main.c (1.2), subversion/svnlook/nodetree.c
	(1.1), subversion/svnlook/svnlook.h (1.1),
	doc/user/svnlook/svnlook.texi (1.2):

	Start to really fill out the svnlook program.  
	* build.conf 
	  (svnlook): Link with libsvn_repos.  
	* doc/user/svnlook/svnlook.texi 
	  Update DATE format to reflect GMT time usage.  
	* subversion/svnlook/main.c 
	  (struct svnlook_ctxt_t): New context structure.  
	  (get_property, get_root, do_log, do_date, do_author, 
	  print_dirs_changed_tree, do_dirs_changed, print_changed_tree, 
	  do_changed, do_diff, print_tree, do_tree, do_default): New 
	  (usage): Update usage message.  
	  (main): Lots of parsing changes, changed to use the context 
	  structure, and tons of other goodies.  This function now has guts.  
	* subversion/svnlook/editors.c 
	* subversion/svnlook/nodetree.c 
	* subversion/svnlook/svnlook.h 
	  New files.  

2001-07-25 13:19  C. Michael Pilato <>

	* subversion/libsvn_repos/commit_editor.c (1.16):

	* commit_editor.c 
	  (close_edit): Minor variable rename.  

2001-07-25 12:43   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.94), libsvn_fs/fs.c (1.54):

	* svn_fs.h, fs.c (svn_fs_conf_dir, svn_fs_pre_commit_conf, 
	svn_fs_post_commit_conf, svn_fs_conf_read_sentinel_conf, 
	svn_fs_conf_write_sentinel_conf): New functions.  
	* fs.c (create_conf): Use them.  

2001-07-25 12:42   Karl Fogel <>

	* www/index.html (1.31):

	Note about i18n and multi-lingual support.  

2001-07-25 10:53   Karl Fogel <>

	* www/project_tasks.html (1.8):

	Remove task "Send usage to stdout or stderr as appropriate", which
	was issue #402.  
	The patch to fix it was submitted by Chris Conrad 
	<>, applied by Brian Fitzpatrick 
	<>, and reviewed with only minor tweaks by Karl
	Fogel <>.  See related commits of today and

2001-07-25 10:48   Karl Fogel <>

	* subversion/clients/cmdline/help-cmd.c (1.5):

	(svn_cl__help): Make `-v' and `--version' work again.  Make `help' 
	print a full usage message to stdout, like `-h' and `--help'.  
	(print_version_info): Shorter version message, remove leading

2001-07-25 10:21   Karl Fogel <>

	* subversion/: include/svn_error_codes.h (1.11), include/svn_fs.h
	(1.93), include/svn_repos.h (1.19), libsvn_fs/hooks.c (1.2),
	libsvn_fs/hooks.h (1.2), libsvn_fs/tree.c (1.90), libsvn_fs/txn.c
	(1.45), libsvn_repos/commit_editor.c (1.15), libsvn_repos/hooks.c
	(1.3), mod_dav_svn/version.c (1.30),
	tests/libsvn_repos/repos-test.c (1.8):

	Re-acquire grip on sanity (confessing a faint hope that Brane will 
	make some re-mark about how "re" is a prefix and needs no hyphen).  
	We will indeed do hooks and sentinels in libsvn_repos, adding a few 
	public accessor functions to the fs interface where necessary.  This 
	is basically a partial reversion of my change of 2001-07-24 18:36, 
	plus some more coding.  
	* include/svn_fs.h (svn_fs_commit_txn): Doc fix.  
	(svn_fs_txn_pool): New func.  
	* svn_error_codes.h (svn_errno_t): New error 
	* libsvn_fs/tree.c (svn_fs_commit_txn): Don't run pre- and
	post-commit hooks here, we'll do it in libsvn_repos instead.  
	* libsvn_fs/txn.c (svn_fs_txn_pool): Define.  
	* libsvn_fs/hooks.c, libsvn_fs/hooks.h: Remove these files.  
	* libsvn_repos/hooks.c: Restore this file.  
	(run_pre_commit_hooks, run_post_commit_hooks): New funcs.  
	(svn_repos_fs_commit_txn): Define.  
	* include/svn_repos.h (svn_repos_fs_commit_txn): Re-declare.  
	* libsvn_repos/commit_editor.c (close_edit): Use 
	svn_repos_fs_commit_txn, instead of svn_fs_commit_txn.  
	* mod_dav_svn/version.c (dav_svn_merge): Same.  

2001-07-24 23:56   Brian Fitzpatrick <>

	* www/project_tasks.html (1.7):

	'Whack.' Ball's in your court, Karl.  

2001-07-24 23:49   Brian Fitzpatrick <>

	* subversion/clients/cmdline/help-cmd.c (1.4):

	This patch submitted by Christopher Conrad <> 
	Issue 402 has been worked out as follows: 
	svn --no-such-option -> stderr, non-zero exit code svn --help
	->stdout, zero exit code svn help -> stdout, zero exit code (it
	prints the same message as svn help help) 
	* clients/cmdline/help-cmd.c (print_command_info,
	print_generic_help): Added FILE *stream to parameter lists to allow
	callers to select the output stream to use.  Switched all printf's
	to fprintf's to take advantage of the new parameter.  
	* clients/cmdline/help-cmd.c (svn_cl__help): Added a case to handle
	when svn is invoked with help or --help.  Updated calls to
	print_generic_help and print_command_info to use new parameter list.  
	* clients/cmdline/help-cmd.c (svn_cl__subcommand_help): Updated call 
	to print_command_info to use new parameter list.  

2001-07-24 18:51   Karl Fogel <>

	* subversion/libsvn_fs/: hooks.c (1.1), hooks.h (1.1), tree.c

	* hooks.c, hooks.h: New files, with empty hook driver definitions.  
	* tree.c (svn_fs_commit_txn): Run hooks.  

2001-07-24 18:36   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.92), include/svn_repos.h (1.18),
	libsvn_fs/fs.c (1.53), libsvn_fs/fs.h (1.27), libsvn_fs/tree.c
	(1.88), libsvn_repos/commit_editor.c (1.14), libsvn_repos/hooks.c
	(1.2), mod_dav_svn/version.c (1.29),
	tests/libsvn_repos/repos-test.c (1.7):

	Remove start-commit hooks.  They are useless -- we don't know at 
	txn-creation time whether the txn is being created for reading or 
	writing purposes, so we can't put a write guard there.  Instead, the 
	write sentinels will take care of that.  
	Remove the recent svn_repos_fs_commit_txn() function, change all 
	callers back to svn_fs_commit_txn().  We will run the hooks from 
	libsvn_fs, not libsvn_repos; put notes at those spots.  

2001-07-24 18:20   Karl Fogel <>

	* subversion/: clients/cmdline/commit-cmd.c (1.6),
	clients/cmdline/import-cmd.c (1.5), include/svn_client.h (1.41),
	include/svn_fs.h (1.91), include/svn_ra.h (1.63),
	include/svn_repos.h (1.17), include/svn_types.h (1.65),
	libsvn_client/commit.c (1.54), libsvn_ra_dav/commit.c (1.60),
	libsvn_ra_dav/ra_dav.h (1.31), libsvn_ra_local/ra_plugin.c (1.39),
	libsvn_repos/commit_editor.c (1.13), libsvn_repos/hooks.c (1.1),
	mod_dav_svn/version.c (1.28), tests/libsvn_repos/repos-test.c

	Pass a username around, in anticipation of hooks that use it, and
	wrap svn_fs_commit_txn() with svn_repos_fs_commit_txn().  The latter
	honors hooks.  
	Note that the user arg added everywhere is `const char *'.  This is 
	inconsistent with the many `svn_string_buf_t *' args around it, but 
	there's no point perpetuating the insanity, even though we haven't 
	gotten around to cleaning up the svn_string_t/svn_stringbuf_t stuff 
	* libsvn_ra_local/ra_plugin.c (get_commit_editor): Take new `user' 
	arg, pass it along.  
	* include/svn_ra.h (svn_ra_plugin_t): Adjust prototype and doc for 
	* include/svn_repos.h (svn_repos_get_editor): New `user' arg.  
	(svn_repos_fs_commit_txn): New prototype.  
	* libsvn_client/commit.c (send_to_repos): Take new `user' arg.  
	* libsvn_ra_dav/commit.c (commit_ctx_t): New `user' field.  
	(svn_ra_dav__get_commit_editor): Take new `user' arg.  
	* libsvn_ra_dav/ra_dav.h (svn_ra_dav__get_commit_editor): Adjust 
	prototype for above.  
	* libsvn_client/commit.c (svn_client_import, svn_client_commit):
	Take new `user' arg, pass it along.  
	* include/svn_client.c (svn_client_import, svn_client_commit): Doc 
	* libsvn_repos/commit_editor.c (edit_baton): New `user' field.  
	(svn_repos_get_editor): Take new `user' arg, store in edit baton.  
	(close_edit): Set author prop on the txn, as well as date.  
	* libsvn_repos/hooks.c (svn_repos_fs_commit_txn): Define.  
	* clients/cmdline/commit-cmd.c (svn_cl__commit): Pass new `user'
	* clients/cmdline/import-cmd.c (svn_cl__import): Pass new `user'
	* include/svn_types.h (SVN_PROP_REVISION_AUTHOR): New #define.  
	* include/svn_fs.h (svn_fs_commit_txn): Warn callers that they 
	probably want to use svn_repos_fs_commit_txn.  All callers changed 
	except for fs tests.  

2001-07-24 17:21   Karl Fogel <>

	* www/project_tasks.html (1.6):

	Note that Chris Conrad has taken issue 402.  

2001-07-24 16:32   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/node-rev.c (1.23), libsvn_fs/tree.c
	(1.87), tests/clients/cmdline/ (1.2):

	Fix two genuine filesystem bugs.  Ben drives, Karl finds.  
	(` 2' now passes. #3, however, still
	fails due to ancient bug #352.  This needs to be fixed.) 
	* node-rev.c (deltify):  don't deltify identical reps.  
	* tree.c (svn_fs_commit_txn):  return *all* errors from commit, 
	  preventing false positives.  
	* (commit_props, update_props):  a number is not a

2001-07-24 16:25   Karl Fogel <>

	* subversion/include/svn_repos.h (1.16):

	(svn_repos_commit_hook_t, svn_repos_get_editor): Doc fixes.  

2001-07-24 15:30  C. Michael Pilato <>

	* build.conf (1.22), subversion/svnlook/.cvsignore (1.1),
	subversion/svnlook/main.c (1.1):

	Beginning work on 'svnlook' repos inspection tool.  
	* build.conf 
	  (svnlook): New section for building 'svnlook' repos inspection tool.  
	* subversion/svnlook/.cvsignore 
	* subversion/svnlook/main.c 
	  New files.  

2001-07-24 14:54   Karl Fogel <>

	* subversion/libsvn_fs/: fs.c (1.52), fs.h (1.26):

	* fs.h (SVN_FS__REPOS_CONF_START_COMMIT_HOOKS): New #define for a
	conf file.  
	SVN_FS__REPOS_CONF_POSTCOMMIT_HOOKS respectively; an underscore was 
	added to each.  
	* fs.c (create_conf): Create new conf file.  Improve initial
	contents of other conf files.  

2001-07-24 14:48   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.8), (1.1), svntest/ (1.6):

	* new file with (for now) three new tests that verify 
	  property behaviors.  (The last two are known to fail right now,
	  but this bug will be fixed shortly.) 
	* (run_and_verify_update):  add `check_props' arg that
	  can be passed through to build_tree_from_wc().  Change all callers.  

2001-07-24 14:30   Karl Fogel <>

	* subversion/libsvn_fs/fs.h (1.25):

	(svn_fs_t): Doc fix.  

2001-07-24 14:29   Karl Fogel <>

	* subversion/libsvn_fs/: fs.c (1.51), fs.h (1.24):

	More repository organization, including a new conf area, in 
	preparation for hooks: 
	SVN_FS__REPOS_DAV_DIR): New #defines, for new standard subdirs in
	the repository.  
	SVN_FS__REPOS_CONF_WRITE_SENTINELS): New #defines, for standard conf 
	(svn_fs_t): New `dav_path' and `conf_path' fields.  
	* fs.c (create_conf): New function, helper for below.  
	(svn_fs_create_berkeley): Create aforementioned new directories and 
	conf files.  

2001-07-24 14:17  C. Michael Pilato <>

	* doc/user/svnlook/svnlook.texi (1.1):

	* svnlook.texi 
	  A(n intentionally) misnamed file for tracking the design of the 
	  'svnlook' binary.  

2001-07-24 13:49   Karl Fogel <>

	* subversion/libsvn_repos/hooks.txt (1.2):

	Trivial change, in anticipation of larger upcoming commit.  

2001-07-24 10:00  C. Michael Pilato <>

	* subversion/: clients/cmdline/cl.h (1.10),
	clients/cmdline/cleanup-cmd.c (1.4), clients/cmdline/main.c (1.12),
	clients/cmdline/revert-cmd.c (1.1), include/svn_client.h (1.40),
	include/svn_wc.h (1.107), libsvn_client/revert.c (1.1),
	libsvn_wc/adm_ops.c (1.77), tests/clients/cmdline/

	Initial code for 'svn revert' subcommand.  
	* clients/cmdline/main.c 
	  (svn_cl__cmd_table):  Added 'revert' subcommand.  
	* clients/cmdline/cl.h 
	  (svn_cl__revert):  New function prototype.  
	* include/svn_client.h 
	  (svn_client_revert): New function prototype.  
	* clients/cmdline/revert-cmd.c 
	* libsvn_client/revert.c 
	  New file(s).  
	* libsvn_wc/adm_ops.c 
	  (svn_wc_revert): New function.  
	* include/svn_wc.h 
	  (svn_wc_revert): New function prototype.  
	* clients/cmdline/cleanup-cmd.c 
	  Drop the unnecessary #includes.  
	* tests/clients/cmdline/ 
	  (basic_revert): New test function.  
	  (test_list): Add reference to new test basic_revert().  

2001-07-23 15:53   Karl Fogel <>

	* subversion/libsvn_repos/: README (1.2), hooks.txt (1.1):

	* hooks.txt: New file, describe the hook system.  
	* README: Reword, point to new file hooks.txt.  

2001-07-23 15:53   Karl Fogel <>

	* notes/alpha-checklist.txt (1.3):

	Bring up-to-date.  

2001-07-23 10:57  C. Michael Pilato <>

	* subversion/: libsvn_wc/log.c (1.106),
	tests/clients/cmdline/ (1.6):

	* libsvn_wc/log.c 
	  (svn_wc_cleanup): Slap NULL onto end of va_args-y function call.  
	* tests/clients/cmdline/ 
	  (basic_cleanup): Print stderr output if any exists after running

2001-07-23 10:17   Ben Collins-Sussman <>

	* notes/dav_setup.txt (1.10):

	Duh, change these addresses too.  

2001-07-23 10:10   Ben Collins-Sussman <>

	* notes/dav_setup.txt (1.9):

	Update location of httpd-2.0 tree.  

2001-07-23 10:02  C. Michael Pilato <>

	* subversion/: clients/cmdline/cleanup-cmd.c (1.3),
	libsvn_wc/adm_files.c (1.82), libsvn_wc/log.c (1.105),
	libsvn_wc/wc.h (1.156):

	Some little changes to make the `svn cleanup' subcommand clean out
	the tmp area as part of its duties.  
	* clients/cmdline/cleanup-cmd.c 
	  (svn_cl__cleanup): Push the implied '.' target when no other target 
	  is supplied.  
	* libsvn_wc/wc.h 
	  (svn_wc__adm_cleanup_tmp_area): New function prototype.  
	* libsvn_wc/adm_files.c 
	  (init_adm_tmp_area): Helper func for a touch o' abstraction.  
	  (init_adm): Use helper func init_adm_tmp_area().  SVN_ERR'd a bunch 
	  of "if err return err" chunks.  
	  (svn_wc__adm_cleanup_tmp_area): New function.  
	* libsvn_wc/log.c 
	  (svn_wc_cleanup): Clean out "tmp" area, too.  

2001-07-23 10:01  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/ (1.7):

	  (get_standard_status_list, nested_dir_replacements): Add 'locked' 
	  attribute to new node's status.  

2001-07-20 17:06   Ben Collins-Sussman <>

	* www/project_status.html (1.32):

	Update weekly status page.  

2001-07-20 16:57   Ben Collins-Sussman <>

	* doc/user/manual/: dirversioning.texi (1.1), model.texi (1.3),
	svn-manual.texi (1.5):

	New user-manual documentation on the Greg Hudson Problems.  

2001-07-20 16:07  C. Michael Pilato <>

	* subversion/: clients/cmdline/status.c (1.5), include/svn_wc.h
	(1.106), libsvn_wc/status.c (1.38),
	tests/clients/cmdline/ (1.5),
	tests/clients/cmdline/ (1.6),
	tests/clients/cmdline/svntest/ (1.5),
	tests/clients/cmdline/svntest/ (1.9),
	tests/clients/cmdline/svntest/ (1.7):

	Added new column to status reporting to show locked directories 
	(means, "go run cleanup") 
	* clients/cmdline/status.c 
	  (generate_status_codes): Add (and use) LOCKED paramater.  Callers 
	* include/svn_wc.h 
	  (svn_wc_status_t): Add LOCKED field.  
	* libsvn_wc/status.c 
	  (assemble_status): Determine if a directory is locked.  
	* tests/clients/cmdline/ 
	  (basic_cleanup): New test for cleanup subcommand.  
	  (test_list): Added reference to new cleanup test.  
	* tests/clients/cmdline/ 
	  (hudson_part_1_variation_2): Bug fix.  Expect the right revision.  
	* tests/clients/cmdline/svntest/ 
	  (get_virginal_status_list): Add 'locked' attribute 
	  (lock_admin_dir): New function.  
	* tests/clients/cmdline/svntest/ 
	  (get_admin_name): New function.  
	* tests/clients/cmdline/svntest/ 
	  (build_tree_from_status): Modified to notice 'locked' attribute in 
	  status output.  

2001-07-20 14:53   Karl Fogel <>

	* subversion/svnadmin/main.c (1.17):

	(usage, main): Make it "lstxns" instead of "lstxn", because more 
	intuitive and consistent with "lsrevs".  

2001-07-20 14:41   Karl Fogel <>

	* (1.45):

	Use PREREQ_FAILED to report on multiple problems at once, instead of 
	only reporting the earliest-detected problem in each run.  

2001-07-20 14:32   Karl Fogel <>

	* (1.44):

	Resolve issue #415 by pointing to new apr site.  

2001-07-20 14:28   Karl Fogel <>

	* subversion/: libsvn_fs/tree.c (1.86),
	libsvn_repos/commit_editor.c (1.12),
	tests/clients/cmdline/ (1.4):

	Resolve issue #416: 
	* commit_editor.c (replace_file): Use svn_fs_link.  
	* tree.c (merge): Fix comments.  
	* (basic_merge): Unbreak.  

2001-07-20 14:03   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.96):

	(link_test): New test.  
	(test_funcs): Run it.  

2001-07-20 12:49   Karl Fogel <>

	* subversion/svnadmin/main.c (1.16):

	(print_tree): Print node id.  

2001-07-20 11:39   Karl Fogel <>

	* subversion/: include/svn_delta.h (1.155), include/svn_fs.h
	(1.90), libsvn_fs/dag.c (1.119), libsvn_fs/dag.h (1.48),
	libsvn_fs/tree.c (1.85), libsvn_repos/commit_editor.c (1.11),
	libsvn_repos/reporter.c (1.13),
	tests/libsvn_repos/dir-delta-editor.c (1.6):

	Resolve issue #417, by implementing svn_fs_link() and calling it 
	instead of svn_fs_copy() where appropriate: 
	* svn_fs.h (svn_fs_link): New func.  
	(svn_fs_copy): Doc fix.  
	* tree.c (copy_args): New field `preserve_history'.  
	(txn_body_copy): Pass it along.  
	(svn_fs_copy, svn_fs_link): Use above new field.  
	* dag.h, dag.c (svn_fs__dag_copy): Take new `preserve_history' 
	parameter, use it to determine whether to copy or just link.  
	* dir-delta-editor.c (add_or_replace_dir, add_or_replace_file): 
	(test_add_directory, test_replace_directory, test_add_file, 
	test_replace_file): Unfactored.  Handle base_revision, 
	copyfrom_revision, and copyfrom_path correctly.  
	* svn_delta.h (svn_delta_edit_fns_t): Doc fixes for add_directory, 
	replace_directory, add_file, replace_file.  
	* commit_editor.c (replace_directory): Use svn_fs_link.  
	* reporter.c (svn_repos_set_path): Same.  
	* dir-delta-editor.c (add_or_replace_dir): 

2001-07-20 11:12  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.114):

	* libsvn_wc/entries.c 
	  (fold_state_changes): Recent changes to Subversion (namely, actually
	  using the existence field in WC entries) highlight some login
	  flaws that this patch attempts to repair.  

2001-07-20 10:55   Karl Fogel <>

	* subversion/tests/clients/cmdline/xmltests/ (1.4):

	Redirect stderr to stdout, so it ends up in tests.log, as Brane 

2001-07-20 09:50   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/svntest/ (1.8):

	* (run_tests):  what an embarrassing bug.  :-) 

2001-07-20 09:34   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/README (1.8):

	Update contents of README.  

2001-07-20 09:31   Ben Collins-Sussman <>

	* subversion/include/svn_error_codes.h (1.10):

	* svn_error_codes.h (SVN_ERR_WC_BAD_ADM_LOG):  improve description.  
	Logfiles are almost never "corrupted".  Instead, this is the
	top-level error returned whenever *anything* goes wrong while
	running a log.  

2001-07-19 17:02   Karl Fogel <>

	* subversion/tests/clients/cmdline/xmltests/ (1.3):

	Redirect stderr to Albemuth where necessary.  

2001-07-19 16:44   Karl Fogel <>

	* subversion/libsvn_wc/: adm_ops.c (1.76), wc.h (1.155):

	Make xml test number 9 in pass again, by making 
	svn_wc_remove_from_revision_control() more robust: 
	* adm_ops.c (remove_file_if_present): New helper func.  
	(svn_wc_remove_from_revision_control): Rewrite file case.  
	* wc.h (svn_wc__text_base_path): Indentation fix.  

2001-07-19 15:48   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/skel.c (1.34), libsvn_fs/tree.c (1.84),
	tests/clients/cmdline/ (1.5):

	Fix part 2 of the Greg Hudson Directory Versioning Problem.  
	* tree.c (merge): new logic check --merge will fail if target dir's 
	  and ancestor dir's prop-keys aren't the same, i.e. if a propchange 
	  was committed on an out-of-date directory.  (see issue #418 about 
	  the inelegance of this.) 
	* (hudson_part_2):  new regression test for this
	* skel.c (svn_fs__skels_are_equal):  fix braino.  

2001-07-19 15:15  C. Michael Pilato <>

	* subversion/: libsvn_fs/tree.c (1.83), tests/libsvn_fs/fs-test.c

	* subversion/libsvn_fs/tree.c 
	  (merge): Allow as a non-conflicting case where: 
	     Entry E exists in ANCESTOR but has been deleted from SOURCE.  
	     Entry E exists in ANCESTOR and in TARGET, but is not the same
	* subversion/tests/libsvn_fs/fs-test.c 
	  (merging_commit): Modify this test to verify the above new

2001-07-19 13:22   Karl Fogel <>

	* subversion/tests/clients/cmdline/svntest/ (1.7):

	(svn_binary, svnadmin_binary): Make paths absolute, so tests can 
	safely chdir.  

2001-07-19 12:54   Karl Fogel <>

	* subversion/tests/clients/cmdline/svntest/ (1.6):

	(svn_binary, svnadmin_binary): Fix paths.  

2001-07-19 12:37   Karl Fogel <>

	* subversion/: libsvn_client/add.c (1.18), libsvn_client/commit.c
	(1.53), libsvn_delta/default_editor.c (1.10),
	libsvn_fs/nodes-table.c (1.24), libsvn_fs/txn-table.c (1.28),
	libsvn_ra/ra_loader.c (1.10), libsvn_repos/rev_hunt.c (1.3),
	libsvn_subr/io.c (1.41), libsvn_subr/time.c (1.4),
	libsvn_wc/adm_crawler.c (1.121), libsvn_wc/adm_ops.c (1.75),
	libsvn_wc/entries.c (1.113), libsvn_wc/log.c (1.104),
	libsvn_wc/questions.c (1.56), libsvn_wc/status.c (1.37),
	tests/svn_test_editor.c (1.27), tests/libsvn_subr/path-test.c
	(1.5), tests/libsvn_wc/commit-test.c (1.34):

	#include <string.h>, to eliminate warnings about mem* and str*

2001-07-19 12:36  C. Michael Pilato <>

	* subversion/libsvn_subr/ (1.2):

	* subversion/libsvn_subr/ 
	  Little docstring edit.  

2001-07-19 12:26  C. Michael Pilato <>

	* svn_config.dsp (1.5), subversion/libsvn_repos/libsvn_repos.dsp
	(1.2), subversion/libsvn_subr/ (1.1),
	subversion/libsvn_subr/libsvn_subr.dsp (1.8):

	NOW the Win32 build is up-to-date.  Thanks for the (perhaps 
	inadvertant) push on this, Bill Tutt. 
	* subversion/libsvn_subr/ 
	  New file. 
	* svn_config.dsp 
	  ( Added to Source Files.  A custom build step copies
	  this to getdate.c (which is generated by yacc in Unix) 
	* subversion/libsvn_repos/libsvn_repos.dsp 
	  (rev_hunt.c): Added to Source Files. 
	* subversion/libsvn_subr/libsvn_subr.dsp 
	  (getdate.c, time.c): Added to Source Files.  

2001-07-19 12:05   Karl Fogel <>

	* subversion/libsvn_fs/skel.h (1.24):

	(svn_fs__skels_are_equal): Doc fix.  

2001-07-19 12:03   Karl Fogel <>

	* subversion/libsvn_fs/: skel.c (1.33), skel.h (1.23):

	(svn_fs__skels_are_equal): New func, for Ben.  

2001-07-18 19:17  C. Michael Pilato <>

	* subversion/: clients/cmdline/subversion_client.dsp (1.3),
	libsvn_client/libsvn_client.dsp (1.9), libsvn_wc/libsvn_wc.dsp

	Trying to catch up the Win32 build again.  NOTE:  I was not entirely 
	successful, since the getdate.c (generated from getdate.y) has no
	way of appearing under non-cygwin Win32 at this point in time.  
	* subversion/clients/cmdline/subversion_client.dsp 
	  (cleanup-cmd.c, propdel-cmd.c): Added to Win32 Source Files 
	* subversion/libsvn_client/libsvn_client.dsp 
	  (cleanup.c): Added to Win32 Source Files 
	* subversion/libsvn_wc/libsvn_wc.dsp 
	  (local_changes.c): Removed from Win32 Source Files 

2001-07-18 16:42   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.4):

	* (hudson_part_1, hudson_part_1_variation_1, 
	  hudson_part_1_variation_2):   new tests for the first part of the 
	  "Greg Hudson" directory versioning problem.  
	   NOTE:  the last test is currently known to fail, due to a bug in 
	   the logic of the fs's merge() routine.  Karl/Mike will fix this
	   bug tomorrow.  

2001-07-18 15:30   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.39), include/svn_wc.h
	(1.105), libsvn_client/commit.c (1.52), libsvn_client/update.c
	(1.22), libsvn_wc/adm_crawler.c (1.120), libsvn_wc/adm_ops.c
	(1.74), libsvn_wc/entries.c (1.112), libsvn_wc/get_editor.c
	(1.190), libsvn_wc/log.c (1.103), libsvn_wc/props.c (1.34),
	libsvn_wc/status.c (1.36):

	Solve the "Greg Hudson Paradox", part 1.  Tests forthcoming.  
	* log.c (log_do_committed): new code for marking "existence=deleted" 
	  whenever a committed, deleted object has a different version
	  number than its parent directory.  If the revisions are the same,
	  however, then it's safe to remove the object's entry completely.  
	* adm_ops.c (svn_wc__ensure_uniform_revision): if an updated item 
	  still has a `deleted' flag, remove the whole entry from revision 
	* svn_wc.h (svn_wc_entry, svn_wc_entries_read): 
	  Change ALL callers of these two routines, especially those that loop 
	  over entries.  Make sure that they are properly ignoring `deleted' 
	      /* If the entry's existence is `deleted', skip it. */ 
	      if (entry->existence == svn_wc_existence_deleted) 
	        continue;  /* or maybe return an error instead */ 
	  List of changed callers (most callers changed, but not all): 
	  * adm_ops.c (svn_wc__ensure_uniform_revision, mark_tree, 
	               svn_wc_delete, svn_wc_add_directory, svn_wc_add_file) 
	  * props.c (svn_wc__get_existing_prop_reject_file) 
	  * status.c (svn_wc_statuses, svn_wc_status) 
	  * adm_crawler.c (verify_tree_deletion, crawl_dir,
	* commit.c (send_to_repos) 
	  * status.c (svn_client_status) 
	  * update.c (svn_client_update) 
	* entries.c (svn_wc__atts_to_entry):  fix copy-and-paste-o from
	Mike. :-) 
	* status.c (assemble_status):  status `D' for existence==deleted,
	  not just schedule==delete.  
	  (svn_wc_statuses, svn_wc_status): `deleted' entries are no longer 
	  printed by recursive status commands; they can only be seen if
	  they are the direct target of `svn st'.  However, if entry is
	  `deleted' and scheduled for `add' simultaneously, then it's ok to
	* svn_wc.h, status.c (svn_wc_statuses):  if any children of PATH are 
	  `deleted', do *not* return them in the hash.  
	* get_editor.c (add_or_replace_file): add comments.  If the user 
	  updates to a tree where a `deleted' file exists again, the 
	  update-editor should simply re-create the entry.  
	* adm_crawler.c (report_single_mod):  if a target is both `deleted' 
	  and schedule for addition, then the crawler must delete() and
	  add() to ensure a correct transaction.  
	  (report_revisions):  if an entry is `deleted', report it as missing 
	  to the transaction.  

2001-07-18 15:21  C. Michael Pilato <>

	* subversion/: clients/cmdline/cleanup-cmd.c (1.2),
	include/svn_client.h (1.38), include/svn_error_codes.h (1.9),
	include/svn_wc.h (1.104), libsvn_client/cleanup.c (1.1),
	libsvn_wc/log.c (1.102), libsvn_wc/wc.h (1.154):

	`svn cleanup' command.  This is untested, but doesn't really affect 
	any current code branches.  
	* clients/cmdline/cleanup-cmd.c 
	  (svn_cl__cleanup): Actually call the cleanup code.  
	* libsvn_client/cleanup.c 
	  New file with cleanup interface code.  
	* include/svn_client.h 
	  (svn_client_cleanup): New function.  
	* include/svn_error_codes.h 
	* include/svn_wc.h 
	* libsvn_wc/log.c 
	  (svn_wc_cleanup): Was non-public function svn_wc__cleanup().  
	  Cleaned up (heh!) and made production-ready.  
	* Index: libsvn_wc/wc.h 
	  Some ittybitty formatting changes, corrected misspeelngs, and 
	  removed svn_wc__cleanup()'s obsolete prototype.  

2001-07-18 14:45  C. Michael Pilato <>

	* subversion/libsvn_subr/.cvsignore (1.6):

	* libsvn_subr/.cvsignore 
	  Ignore getdate.c (which is generated from some Python script

2001-07-18 10:40  C. Michael Pilato <>

	* subversion/clients/cmdline/: cl.h (1.9), cleanup-cmd.c (1.1),
	main.c (1.11):

	Skeleton for the `svn cleanup' sub-command.  
	* clients/cmdline/main.c 
	  (svn_cl__cmd_table):  Added "cleanup" command.  
	* clients/cmdline/cl.h 
	  (svn_cl__cleanup):  New function declaration.  
	* clients/cmdline/cleanup-cmd.c 
	  New file (containing svn_cl__cleanup).  

2001-07-18 10:10  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.94):

	* tests/libsvn/fs-test.c 
	  (attempt_merge, merge_trees): Removed obsolete functions.  
	  (unexpected_node_id): New helper function.  
	  (merge_re_id): New test function.  
	  (merging_commit): Kick up the filesize to 100,000 bytes, and drop 
	  the number of commits from 100 to 10.  
	  (test_funcs): Removed reference to merge_trees(), add reference to 

2001-07-17 20:35   Karl Fogel <>

	* subversion/: include/svn_error_codes.h (1.8),
	libsvn_wc/adm_crawler.c (1.119), libsvn_wc/entries.c (1.111),
	tests/clients/cmdline/ (1.3),
	tests/clients/cmdline/ (1.3),
	tests/clients/cmdline/svntest/ (1.4),
	tests/clients/cmdline/svntest/ (1.5),
	tests/clients/cmdline/svntest/ (1.6):

	Fix segmentation fault reported by Jon Trowbridge.  This bug didn't 
	last long enough to get an issue number, so here's the report info: 
	   From: Jon Trowbridge <> 
	   Date: 17 Jul 2001 03:20:55 -0500 
	   Subject:  svn segfaults if you commit a file that hasn't been
	   added Message-Id: <995358055.16975.5.camel@morimoto> 
	This is the fix: 
	* svn_error_codes.h (svn_errno_t): New error 
	* adm_crawler.c (svn_wc_crawl_local_mods): If target is an
	unversioned resource, throw the appropriate error.  
	With Ben Collins-Sussman <>, write a regression
	test for above.  This entailed a genreal improvement to the
	error-checking in the Python test framework: 
	* (commit_unversioned_thing): New test.  
	* (basic_merge): Expect a conflict error halfway 
	through, though this is not known to be correct.  See issue #416.  
	* (run_and_verify_commit): Handle errors too.  
	* (run_svn): Return stderr as well as stdout.  All callers 
	* entries.c (svn_wc_entry): Silly comment fix.  

2001-07-17 19:23   Karl Fogel <>

	* subversion/clients/cmdline/main.c (1.10):

	(main): Print error to stderr, not stdout.  

2001-07-17 17:55   Karl Fogel <>

	* subversion/libsvn_client/status.c (1.16):

	(svn_client_status): Indentation fixes.  

2001-07-17 17:55   Karl Fogel <>

	* subversion/libsvn_client/status.c (1.15):

	(svn_client_status): If no such entry, just return without
	attempting to fill in more status information.  

2001-07-17 17:04   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.89), libsvn_fs/dag.c (1.118),
	libsvn_fs/dag.h (1.47), libsvn_fs/node-rev.h (1.12),
	libsvn_fs/nodes-table.c (1.23), libsvn_fs/structure (1.51),
	libsvn_fs/tree.c (1.82), tests/libsvn_fs/fs-test.c (1.93):

	Do history-preserving fs copies: 
	* svn_fs.h (svn_fs_node_copied_from): New func.  
	* dag.c (stabilize_node): Don't special-case copies.  
	(dag_node_kind_t): Remove `dag_node_kind_copy'.  
	(svn_fs__dag_get_node): Don't handle copy nodes anymore.  
	(node_rev_make_mutable): Remove copy history from the node rev.  
	* dag.c, dag.h (svn_fs__dag_is_copy, svn_fs__dag_make_copy, 
	svn_fs__dag_get_copy): Removed these obsolete functions.  
	(svn_fs__dag_copy, svn_fs__dag_copied_from): New funcs.  
	* tree.c (copied_from_args, txn_body_copied_from, 
	svn_fs_node_copied_from): New struct and functions.  
	(txn_body_copy): Use the new dag copying interface.  
	* node-rev.h: Doc fixes for all the accessor macros.  
	(SVN_FS__NR_HDR_COPY): New accessor macro.  
	* nodes-table.c (is_valid_option): Replaces is_valid_flag(), all 
	callers changed.  Test for copy option now, instead of obsolete 
	mutability flag.  
	* fs-test.c (copy_test): Test copy history preservation.  
	* structure: Minor clarification.  

2001-07-17 12:17  C. Michael Pilato <>

	* subversion/libsvn_fs/tree.c (1.81):

	* libsvn_fs/tree.c 
	  (merge, txn_body_merge): After merge() returns, we can re-ID the 
	  target's node to reflect its new true ancestry information.  I
	  have about 60% confidence in this change -- Karl or Jim, **please

2001-07-16 14:54   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.50):

	Settle on a plan for ancestry-recording fs copies.  

2001-07-16 14:37   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.117), dag.h (1.46), tree.c

	* dag.c (svn_fs__dag_set_entry): Constify id parameter.  
	* tree.c (txn_body_copy): Remove now-unnecessary cast from id 
	parameter.  Also, abort when source of copy is a txn root.  
	(merge): Add comment for Ben, who is about to add an extra safeguard 
	to the logic here.  

2001-07-16 10:57   Ben Collins-Sussman <>

	* subversion/include/svn_client.h (1.37):

	Change API docstrings:  before & after editors are *optional*.  

2001-07-16 09:34   Ben Collins-Sussman <>

	* HACKING (1.33):

	Remove BSD comment.  

2001-07-13 14:31  C. Michael Pilato <>

	* subversion/: libsvn_fs/reps-strings.c (1.23),
	tests/libsvn_fs/fs-test.c (1.92):

	Well, some testing of large(r) files revealed some more little buggy 
	boogers in the deltification code.  I *think* all that remains to be 
	addressed is some efficiency/memory usage stuff.  
	* libsvn_fs/reps-strings.c 
	  (window_handler): More bug fixes.  Window relevance check was a 
	  touch off, and now the function is careful not to overrun the
	  output buffer.  
	* tests/libsvn_fs/fs-test.c 
	  (get_file_digest): New helper function.  
	  (large_file_integrity): New test function.  
	  (test_funcs): Added reference to new test, large_file_integrity().  

2001-07-13 11:37   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.c (1.22):

	Pool optimizations: 
	(window_handler_baton_t): Redocument `pool' field.  
	(window_handler): Clear pool for reuse.  
	(rep_read_range): Initialize pool to a subpool of trail->pool.  

2001-07-13 10:35   Karl Fogel <>

	* HACKING (1.32):

	(Participating in the community): Update, mention commit access 

2001-07-13 09:52  C. Michael Pilato <>

	* notes/guis/planning.txt (1.2):

	* notes/guis/planning.txt 
	  Use grammar common to educated Americans in the year 2001.  

2001-07-13 09:49  C. Michael Pilato <>

	* notes/guis/planning.txt (1.1):

	* notes/guis/planning.txt 
	  New file for tracking developers interested in assisting with 
	  Subversion GUIs and related topics.  

2001-07-12 19:23   Karl Fogel <>

	* www/project_status.html (1.31):

	Update status.  

2001-07-12 19:16   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.c (1.21):

	(window_handler): Finish documenting, clarify comments.  
	(rep_read_range): Clarify comment.  
	(svn_fs__rep_deltify): Protect against cycles.  

2001-07-12 16:05   Karl Fogel <>

	* www/variance-adjusted-patching.html (1.1),
	notes/variance-adjusted-patching.html (1.3):

	Moved this document from notes/ to www/.  

2001-07-12 15:13  C. Michael Pilato <>

	* subversion/: libsvn_fs/reps-strings.c (1.20), tests/fs-helpers.h
	(1.5), tests/libsvn_fs/fs-test.c (1.91):

	* libsvn_fs/reps-strings.c 
	  (svn_fs__rep_deltify): Enable deltification for all the world to 
	  use.  Confidence or stupidity -- you be the judge.  
	* tests/libsvn_fs/fs-test.c 
	  (validate_revisions): New helper function.  
	  (check_all_revisions): New test function.  
	  (test_funcs): Added reference to new test check_all_revisions().  
	* tests/fs-helpers.h 
	  Minor docstring correction.  

2001-07-12 14:06  C. Michael Pilato <>

	* subversion/tests/: fs-helpers.c (1.7), fs-helpers.h (1.4),
	libsvn_repos/repos-test.c (1.5):

	Some little changes to assist in forthcoming test cases.  
	* fs-helpers.c 
	  (svn_test__txn_script_exec): Use new command codes, support fs copy.  
	* fs-helpers.h 
	  (svn_test__txn_script_command_t): Redefine command codes (adding 
	  support for "copy"), rename CONTENTS to PARAM1.  
	* libsvn_repos/repos-test.c 
	  Changed use of command codes in svn_test__txn_script_command_t 
	  arrays throughout.  

2001-07-12 10:59  C. Michael Pilato <>

	* subversion/: libsvn_fs/reps-strings.c (1.19), tests/fs-helpers.c
	(1.6), tests/libsvn_fs/fs-test.c (1.90):

	Hey, hey -- does this mean that deltified storage is all good?! 
	Future commits of test cases will be the judge...  
	* libsvn_fs/reps-strings.c 
	  (window_handler): Fix off-by-one error in window relevance check, 
	  couple of other small (yet significant) bugs.  
	  (svn_fs__rep_deltify): Keep the database clean when not deltifying.  
	* tests/fs-helpers.c 
	  (validate_tree_entry): Changed argument list to take PATH and 
	  CONTENTS instead of svn_test__tree_entry_t *ENTRY.  
	  (svn_test__validate_tree): Make this function give much more details 
	  about any problems it finds while validating repository trees.  
	* tests/libsvn_fs/fs-test.c 
	  (check_old_revisions): Added another small test sub-case.  

2001-07-11 15:38   Greg Hudson <>

	* subversion/clients/cmdline/: cl.h (1.8), main.c (1.9):

	Rename --setlocale to --locale.  (Branko said I could paint the bike
	shed this color.) 

2001-07-11 10:44   Ben Collins-Sussman <>

	* build.conf (1.21):

	Add to `make check`.  

2001-07-11 09:38   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.2),
	svntest/ (1.3), svntest/ (1.5):

	* (nested_dir_replacements):  new regression test for
	bug #391 
	* (path_index):  new utility func for hash-like lookup.  
	* (attribute_merge, SVNTreeNode.add_child): allow tree-node 
	  attributes to "stack" and create new values.  (i.e. "Deleting" + 
	  "Adding" ==> "Replacing") 

2001-07-10 21:45   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.c (1.18):

	Grammar and wording fix.  

2001-07-10 21:43   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.c (1.17):

	More undeltification work, very close now: 
	Note: to debug this code, you have to toggle deltification on, see
	the end of svn_fs__rep_deltify().  Toggling it on will cause some
	fs-tests to fail, most notably fs-test 26, check_old_revisions().  
	Mike Pilato, Brane, and anyone else, feel free to rip into this
	stuff.  I will be effectively out of this code for a couple of days,
	so I'll just see what you did when I go back to it on Friday.  
	* reps-strings.c: Fix long explanatory comment; #include assert.h.  
	(window_handler): Changed some field names, added new fields.  
	(window_handler_baton_t): Progress.  
	(rep_read_range): Set up new fields in baton.  Prototype early in
	the file.  

2001-07-10 20:14   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.c (1.16):

	* reps-strings.c (window_handler_baton_t, window_handler): New
	struct and func, respectively.  In progress.  
	(rep_read_range): Parse svndiff data, using above handler and
	(write_string): Remove old debugging check.  
	(ACTUALLY_DO_DELTIFICATION): Remove this #define, see below.  
	(svn_fs__rep_deltify): Just mark out deltification with #if 0, see 

2001-07-10 19:55   Branko Cibej <>

	* subversion/clients/cmdline/: cl.h (1.7), main.c (1.8):

	Added option --setlocale. For now, the initial locale at program
	start-up remains "C", but using this option actually does change the
	locale. Later on, when `svn' becomes localisable, we should set the
	locale from the environment at start-up.  
	* clients/cmdline/cl.h (svn_cl__longopt_t): New enumerator 
	* clients/cmdline/main.c (main): Handle option --setlocale.  

2001-07-10 18:28   Karl Fogel <>

	* subversion/: libsvn_fs/reps-strings.c (1.15),
	libsvn_fs/reps-strings.h (1.15), libsvn_fs/structure (1.49),
	tests/libsvn_fs/fs-test.c (1.89):

	Prepare for undeltification code, but keep the switch points 
	conditioned out with `ACTUALLY_DO_DELTIFICATION', a #define which
	was introduced in the previous commit (rev 1.14 of reps-strings.c),
	but which Mike and I forgot to mention in that log message. 
	Remaining undeltification work is now isolated to one case in
	* structure: Describe new SIZE field in DELTA representations.  
	* reps-strings.c: (svn_fs__rep_deltify): Record the fulltext size.  
	Also, build the checksum the way `structure' says to; Mike and I
	both missed this one when we were tandem coding earlier today.  
	(svn_fs__rep_contents_size): Get size from delta reps too.  
	(rep_write): Error if reach delta case, since that "can't happen".  
	(rep_read_range): Expand delta case in preparation for code.  
	(svn_fs__rep_contents): Rewrite to handle all cases.  
	(string_key): Return error, so can complain usefully if see 
	non-svndiff delta.  All callers changed.  
	(make_mutable_fulltext_rep_skel): New helper func.  
	(svn_fs__get_mutable_rep): Handle the delta case; also, improve code 
	flow, and use above helper func.  
	(read_rep_args): Indentation fix.  
	* reps-strings.h (svn_fs__rep_contents): Doc fix.  
	(svn_fs__get_mutable_rep): Doc fix.  
	* fs-test.c (check_old_revisions): New test, can be expected to
	break if undeltification is implemented wrong.  
	(test_funcs): Add new test.  
	(commit_date): Fix cut-and-paste-o.  

2001-07-10 18:24   Joe Orton <>

	* (1.21):

	Fix insanity. Run python tests in the appropriate subdirectory
	again, and remove need for the eval mess.  

2001-07-10 18:11   Joe Orton <>

	* subversion/clients/cmdline/propset-cmd.c (1.4):

	Fix another svn-dev.el path.  

2001-07-10 18:11   Joe Orton <>

	* (1.20):

	Minor cleanups for ChangeLog rules. Include ac-helpers directory in 
	changes tracked.  

2001-07-10 17:52   Joe Orton <>

	* (1.19):

	* (check): Run any tests containing '.py' using
	configure python binary.  

2001-07-10 17:46   Joe Orton <>

	* (1.102):

	* Check for a "python2" binary then a "python" binary, 
	substitute as PYTHON into Makefile.  

2001-07-10 16:51   Joe Orton <>

	* (1.101):

	* Expand comment on passing down arguments to neon's 
	configure script.  

2001-07-10 15:31  C. Michael Pilato <>

	* subversion/clients/cmdline/: cl.h (1.6), main.c (1.7),
	propdel-cmd.c (1.1), propset-cmd.c (1.3):

	Empower users of the command-line client with the ability to delete 
	properties with a new "propdel" subcommand.  Code by Joe Orton.  
	* clients/cmdline/main.c 
	  (svn_cl__cmd_table): Add subcommand info for "propdel".  
	* clients/cmdline/propset-cmd.c 
	  (svn_cl__propset): Don't worry about property deletions any more.  
	* clients/cmdline/cl.h 
	  (svn_cl__cmd_proc_t): Added svn_cl__propdel to list of command 
	* clients/cmdline/propdel-cmd.c 
	  New file for property deletion subcommand.  

2001-07-10 15:12  C. Michael Pilato <>

	* (1.100):

	  Changed use of $host_alias to $host.  Patch submitted by Mo DeJong.  

2001-07-10 13:06  C. Michael Pilato <>

	* subversion/: include/svn_delta.h (1.154),
	include/svn_error_codes.h (1.7), libsvn_delta/text_delta.c (1.36),
	libsvn_fs/node-rev.c (1.22), libsvn_fs/reps-strings.c (1.14):

	Implement checksums in deltification and bring FS deltification code 
	closer to actually working.  
	* include/svn_delta.h 
	  (svn_txdelta_md5_digest): New function prototype.  
	* include/svn_error_codes.h 
	  (SVN_ERR_DELTA_MD5_CHECKSUM_ABSENT): New error code.  
	* libsvn_delta/text_delta.c 
	  (struct svn_txdelta_stream_t):  Added MD5 stuffs.  
	  (svn_txdelta): Initialize MD5 processing.  
	  (svn_txdelta_md5_digest): New function.  
	  (svn_txdelta_next_window): Calculate MD5 digest "on-the-fly".  
	* libsvn_fs/reps-strings.c 
	  (svn_fs__rep_deltify): Prepare new representation skel.  Also, abort 
	  the deltification if the result will be a bigger chunk o' data
	  than what we started out with.  
	Unrelated bug fix: 
	* libsvn_fs/node-rev.c 
	  (deltify): Only call deltification functions when we know that we 
	  have a) something to deltify, and b) something to deltify against.  

2001-07-09 15:03   Ben Collins-Sussman <>

	* subversion/libsvn_wc/log.c (1.101):

	Fix bug #391.  Test coming soon.  
	* log.c (log_do_committed):  if a (R)eplaced directory contains any 
	  immediate children scheduled for deletion, then remove them from 
	  revision control.  

2001-07-07 17:27   Karl Fogel <>

	* subversion/libsvn_fs/: reps-strings.c (1.13), reps-strings.h

	Hide those parts of the representations code which no longer need to 
	be exposed: 
	* reps-strings.h, reps-strings.c (string_key): Replaces 
	svn_fs__string_key_from_rep, now static.  All callers changed.  
	(rep_read_range, rep_write): Just use string_key func.  
	(rep_is_mutable): Replaces svn_fs__rep_is_mutable, now static.  All 
	callers changed.  
	(svn_fs__get_mutable_rep, svn_fs__make_rep_immutable 
	svn_fs__delete_rep_if_mutable, svn_fs__rep_contents_size 
	svn_fs__rep_contents, svn_fs__rep_contents_read_stream 
	svn_fs__rep_contents_write_stream, svn_fs__rep_contents_clear, 
	svn_fs__rep_deltify): Doc and parameter name fixes.  

2001-07-07 17:02   Karl Fogel <>

	* subversion/libsvn_fs/: node-rev.c (1.21), reps-strings.c (1.12),
	reps-strings.h (1.13):

	Move deltification code from node-rev.c to reps-strings.c.  Now only 
	representation code knows how deltified storage is done.  
	* reps-strings.h, reps-strings.c (svn_fs__rep_deltify): New func.  
	* node-rev.c (deltify): Call svn_fs__rep_deltify to do the real

2001-07-07 16:42   Karl Fogel <>

	* (1.18):

	(check): Make output more compact.  

2001-07-07 16:42   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.116), node-rev.c (1.20),
	reps-strings.c (1.11), reps-strings.h (1.12):

	Give the rep contents storage and retrieval functions consistent 
	names, to distinguish them from the stuff in reps-table.h.  
	* reps-strings.h, reps-strings.c: 
	(svn_fs__rep_contents_size): Replaces svn_fs__rep_size.  
	(svn_fs__rep_contents_read_stream): Replaces
	(svn_fs__rep_contents_write_stream): Replaces
	(svn_fs__rep_contents_clear): Replaces svn_fs__rep_clear.  
	All callers changed.  

2001-07-07 16:28   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.115), reps-strings.c (1.10),
	reps-strings.h (1.11):

	Finish converting dag.c over to the rep contents interface.  Now 
	nothing in dag.c touches a string directly -- all storage and 
	retrieval is done through the representations code.  
	* dag.c (svn_fs__dag_set_proplist, delete_entry, 
	svn_fs__dag_file_length, svn_fs__dag_set_contents): Use 
	representations interface instead of manipulating strings directly.  
	* reps-strings.h, reps-strings.c (svn_fs__rep_size): New func.  
	(svn_fs__rep_contents): Replaces svn_fs__string_from_rep(), now
	takes a rep key instead of rep skel.  All callers changed.  

2001-07-07 16:01   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.88):

	Removed exclamation points from test descriptions.  

2001-07-07 15:26   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.114), reps-strings.c (1.9),
	reps-strings.h (1.10), structure (1.48):

	* reps-strings.h, reps-strings.c (svn_fs__rep_clear): New func.  
	(svn_fs__string_key_from_rep): Handle delta case.  
	* dag.c (set_entry): Use only the rep-writing interface, don't touch 
	any strings directly.  

2001-07-07 14:16   Karl Fogel <>

	* subversion/libsvn_subr/getdate.y (1.3):

	Get rid of "function declaration isn't a prototype" warnings: 
	(ToSeconds, Convert, DSTcorrect, RelativeDate, RelativeMonth, 
	LookupWord, difftm, svn_parse_date, main): Use ANSI prototypes.  

2001-07-07 06:17   Joe Orton <>

	* subversion/clients/cmdline/: diff-cmd.c (1.3), diff.c (1.4),
	import-cmd.c (1.4), propget-cmd.c (1.3), proplist-cmd.c (1.4),
	props.c (1.5), status-cmd.c (1.3), status.c (1.4), update-cmd.c
	(1.5), util.c (1.5):

	Fix more svn-dev.el locations.  

2001-07-07 06:15   Joe Orton <>

	* subversion/clients/cmdline/: add-cmd.c (1.3), checkout-cmd.c
	(1.4), commit-cmd.c (1.5), delete-cmd.c (1.3), feedback.c (1.3),
	help-cmd.c (1.3), trace-commit.c (1.5), trace-update.c (1.5):

	Fix svn-dev.el locations.  

2001-07-07 06:03   Joe Orton <>

	* subversion/libsvn_subr/getdate.y (1.2):

	Fix the most of the warnings.  
	* getdate.y: Make prototypes proper ANSI prototypes, and constify
	some strings.  

2001-07-07 05:39   Joe Orton <>

	* subversion/clients/cmdline/props.c (1.4):

	* props.c: Fix comment.  

2001-07-07 05:35   Joe Orton <>

	* subversion/clients/cmdline/proplist-cmd.c (1.3):

	* proplist-cmd.c: Fix comment.  

2001-07-06 18:56   Karl Fogel <>

	* www/project_status.html (1.30):

	Adjust bar widths.  

2001-07-06 18:54   Karl Fogel <>

	* www/project_status.html (1.29):

	Edit for recent status.  

2001-07-06 18:37   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.113), dag.h (1.45), node-rev.c
	(1.19), reps-strings.c (1.8), reps-strings.h (1.9), tree.c (1.79):

	Hide the hideable parts of the rep/string reading and writing 
	interfaces, expose only the streams.  Again, in preparation for
	making dag.c respect the representation boundary and stop
	manipulating strings on its own: 
	* reps-strings.h, reps-strings.c (svn_fs__rep_read_stream, 
	svn_fs__rep_write_stream): New funcs.  
	Old public interface now strictly internal to reps-strings.c: 
	   (rep_read_baton):        replaces   struct svn_fs__rep_read_baton_t 
	   (rep_read_get_baton):    replaces   svn_fs__rep_read_get_baton 
	   (rep_read_contents)      replaces   svn_fs__rep_read_contents 
	   (rep_write_baton):       replaces   svn_fs__rep_write_baton_t 
	   (rep_write_get_baton):   replaces   svn_fs__rep_write_get_baton 
	   (rep_write_contents):    replaces   svn_fs__rep_write_contents 
	* node-rev.c (deltify): Use above new interface.  
	* dag.c (svn_fs__dag_get_contents): Same.  
	Unrelated: fix pool lifetime issue: 
	* dag.c, dag.h (svn_fs__dag_get_contents): Take a pool, allocate the 
	returned stream in it.  
	* tree.c (file_contents_baton_t): New `pool' field.  
	(svn_fs_file_contents): Store pool in baton.  
	(txn_body_get_file_contents): Pass pool along to 
	(txn_body_get_mutable_source_stream): Same.  
	* svn_fs.h (svn_fs_file_contents): Remove note from doc string.  
	Also unrelated: 
	(svn_fs__rep_write_contents): Doc fix.  

2001-07-06 18:12   Joe Orton <>

	* subversion/libsvn_ra_dav/commit.c (1.59):

	Fix some code formatting, no functional change.  

2001-07-06 17:58   Karl Fogel <>

	* subversion/: include/svn_error_codes.h (1.6), libsvn_fs/dag.c
	(1.112), libsvn_fs/node-rev.c (1.18), libsvn_fs/reps-strings.c
	(1.7), libsvn_fs/reps-strings.h (1.8):

	Make a generic rep/string writing interface, to match the one
	offered by svn_fs__rep_read_contents() and friends.  This is part of
	isolating all deltification/undeltification knowledge into the
	representations code, so it doesn't clutter up dag.c, node-rev.c,
	* svn_error_codes.h (svn_errno_t): Add SVN_ERR_FS_REP_NOT_MUTABLE.  
	* reps-strings.h (svn_fs__rep_write_baton_t): New struct.  
	(svn_fs__rep_write_get_baton): New func, constructor for above.  
	(svn_fs__rep_write_contents): New func, svn_write_fn_t.  
	(rep_write, txn_body_write_rep): New funcs.  
	* dag.c (set_entry): Use above new interface to initialize the
	entries list.  This is the first step of a larger change to replace
	all direct string writes here.  
	* reps-strings.h (svn_fs__rep_read_contents): Doc fix.  
	* node-rev.c (write_string): Remove printf.  

2001-07-06 17:44   Joe Orton <>

	* subversion/libsvn_ra_dav/commit.c (1.58):

	Commit the right file this time.  
	* commit.c: (resource_baton_t): Use a table for name/value pairs of 
	properties to change, and an array for properties to delete.  
	(record_prop_change):  Take resource baton, modify array and table 
	appropriately.  (do_setprop): New function.  (do_proppatch): Take a 
	resource baton, build up the PROPPATCH body appropriately and
	dispatch the request.  (all callers modified) 

2001-07-06 17:34   Joe Orton <>

	* subversion/libsvn_ra_dav/props.c (1.8):

	Revert back to rev1.6 of props.c.  

2001-07-06 17:24   Joe Orton <>

	* subversion/libsvn_ra_dav/: props.c (1.7), ra_dav.h (1.30):

	Add support for setting properties. The namespace SVN:custom is used
	for property names. (Deleting properties is untested) 
	* ra_dav.h: Add a pool to the svn_ra_dav_resource_t.  
	* commit.c: (resource_baton_t): Use a table for name/value pairs of 
	properties to change, and an array for properties to delete.  
	(record_prop_change):  Take resource baton, modify array and table 
	appropriately.  (do_setprop): New function.  (do_proppatch): Take a 
	resource baton, build up the PROPPATCH body appropriately and
	dispatch the request.  (all callers modified) 

2001-07-06 16:43   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.111):

	(set_entry): Remove useless assert(), in preparation for new 
	rep-writing interface.  

2001-07-06 16:40   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.h (1.7):

	(svn_fs__get_mutable_rep): Doc fix.  

2001-07-06 16:31   Karl Fogel <>

	* subversion/libsvn_fs/node-rev.c (1.17):

	(deltify): Remove spurious comment.  

2001-07-06 16:24   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.110), node-rev.c (1.16),
	reps-strings.c (1.6), reps-strings.h (1.6):

	Write svndiffs into the strings table, but don't hook them up to 
	representations yet: 
	* node-rev.c (write_string_baton, write_string): New struct and 
	svn_write_fn_t func, respectively.  
	(deltify): Write deltified data to new target string.  
	* reps-strings.c (svn_fs__rep_read_get_baton): Return the baton.  
	* reps-strings.h (svn_fs__get_mutable_rep): Doc fix.  
	In the You've-Got-To-Be-Kidding-Me-Right? Department: 
	* dag.c (svn_fs__dag_set_contents): Fix confusion between rep keys
	and string keys.  You're not going to *believe* the bug that was
	latent here: 
	The fs tests have been passing only because, by sheer coincidence, 
	they always created exactly the same number of reps and strings, and 
	did so in such a way that new rep keys were always the same as the
	new strings to which the reps referred.  Thus, even though this
	function got a rep key ... mistook it for a string key and wrote
	data to that string ... then innocently stored the rep key in the
	node revision ... everything still worked, because the rep and
	string happened to be a matching pair anyway! 
	It all fell apart when deltify() finally started writing svndiff
	data into new strings.  Even though the code was not "hooked up" and
	those new strings were not yet referred to by any representations,
	merely creating them was enough to throw the correspondence off, so
	files contents started being randomly wrong.  Whew.  

2001-07-06 15:54   Joe Orton <>

	* STACK (1.93):

	Stuff I'm working on.  

2001-07-06 13:04   Ben Collins-Sussman <>

	* (1.99):

	Patch to fix builddir != srcdir, from Mo DeJong

2001-07-06 12:54   Karl Fogel <>

	* subversion/libsvn_fs/node-rev.c (1.15):

	(deltify): Code rearrangement, plus remember to initialize
	This probably fixes issue #410; Ben will confirm before closing the 
	issue, however.  

2001-07-06 12:46   Karl Fogel <>

	* subversion/libsvn_fs/: reps-table.c (1.5), strings-table.c

	Note code affected by issue #409.  

2001-07-06 11:17   Ben Collins-Sussman <>

	* notes/dav_setup.txt (1.8):

	Updating & modernizing the Subversion Server HOWTO.  

2001-07-06 10:21   Ben Collins-Sussman <>

	* (1.43):

	Add pointer to dav_setup.txt, to avoid developer confusion.  

2001-07-05 16:41   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.109), node-rev.c (1.14),
	reps-strings.c (1.5), reps-strings.h (1.5):

	* reps-strings.h, reps-string.c (svn_fs__rep_read_baton_t): Moved 
	structure definition into .c file, type in header is now just a 
	forwarding declaration.  
	(svn_fs__rep_read_get_baton): New func.  
	* dag.c (svn_fs__dag_get_contents): Use above new constructor func.  
	* node-rev.c (deltify): Get delta windows.  

2001-07-05 16:13   Karl Fogel <>

	* subversion/include/svn_fs.h (1.88):

	(svn_fs_file_contents): Note concern in doc string.  

2001-07-05 16:00   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.1),
	svntest/ (1.2), svntest/ (1.4):

	*  new suite of commit tests, testing 
	  anchor/targets.  not finished, but we're ready to write them now 
	  when Mike P. gets back.  
	* svntest/  stop specifying exact svn binary;  use the one
	in $PATH.  
	* (run_and_verify_status):  don't pass `None' args to 
	  compare trees.  

2001-07-05 15:50   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.108):

	(svn_fs__dag_get_contents): Clarifying comment.  

2001-07-05 13:16   Karl Fogel <>

	* subversion/: include/svn_error_codes.h (1.5), libsvn_fs/dag.c
	(1.107), libsvn_fs/libsvn_fs.dsp (1.14), libsvn_fs/node-rev.c
	(1.13), libsvn_fs/node-rev.h (1.11), libsvn_fs/nodes-table.c
	(1.22), libsvn_fs/nodes-table.h (1.11), libsvn_fs/reps-strings.c
	(1.4), libsvn_fs/reps-strings.h (1.4):

	Take the file reading code from dag.c, generalize it to do generic 
	representation reading, and put it in reps-strings.[ch].  Prepare to 
	use the newly generalized code in the now-resurrected files 
	node-rev.[ch], as part of deltification: 
	* svn_error_codes.h (svn_errno_t): New, more general error 
	Moved to resurrected node-rev.h and renamed.  All callers changed.  
	(file_content_baton_t, read_file_contents_args, 
	txn_body_read_file_contents, read_file_contents): Moved to 
	reps-strings.h and reps-strings.c, there to be renamed and tweaked.  
	All callers changed.  
	(svn_fs__dag_get_contents): Set the new `trail' field to null in the 
	svn_fs__rep_read_baton_t, which was formerly a file_content_baton_t.  
	* reps-strings.h, reps-strings.c: 
	(svn_fs__rep_read_baton_t): New name for `file_content_baton_t'.  
	(svn_fs__rep_read_contents): New name for `read_file_contents'.  If 
	received a trail, use it, otherwise do svn_fs__retry_txn() as
	(rep_read_range): Replaces svn_fs__rep_read_range, now static.  
	* nodes-table.c, nodes-table.h (svn_fs__create_node, 
	svn_fs__create_successor, deltify, svn_fs__stable_node, 
	svn_fs__delete_node_revision): Moved to node-rev.c, node-rev.h, see 
	* node-rev.c, node-rev.h: Resurrected these files: 
	* node-rev.h (SVN_FS__NR_HEADER, SVN_FS__NR_PROP_KEY, 
	Accessor macros moved here from dag.c.  
	* node-rev.c (deltify): Take new `fs' parameter; caller changed.  
	Finish, but leave deactivated while we finish undeltification.  
	* libsvn_fs.dsp: Notice node-rev.c and node-rev.h again.  

2001-07-05 12:06   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.106):

	(svn_fs__dag_get_contents): Use the NR_DATA_KEY accessor macro.  

2001-07-05 10:31   Ben Collins-Sussman <>

	* www/project_status.html (1.28):

	Fix broken link.  

2001-07-04 15:20   Karl Fogel <>

	* www/project_tasks.html (1.5):

	Fix bad html comment termination.  

2001-07-04 15:18   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.87), libsvn_fs/id.c (1.27),
	libsvn_fs/nodes-table.c (1.21):

	Deltification code path: 
	* svn_fs.h, id.c (svn_fs_predecessor_id): New func.  
	* nodes_table.c (deltify): New func, incomplete.  
	(svn_fs__stable_node): Call deltify() on the predecessor of the
	stable node.  

2001-07-04 15:11   Karl Fogel <>

	* subversion/clients/cmdline/main.c (1.6):

	Cast parameter to svn_parse_date() to avoid warning; see issue #408.  

2001-07-04 15:10   Karl Fogel <>

	* www/project_tasks.html (1.4):

	Add new task.  

2001-07-04 14:42   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.47):

	Slight clarification.  

2001-07-04 14:32   Karl Fogel <>

	* www/project_tasks.html (1.3):

	Add new task.  

2001-07-04 14:13   Karl Fogel <>

	* www/project_tasks.html (1.2):

	Don't include image.  

2001-07-04 14:13   Karl Fogel <>

	* www/: index.html (1.30), project_nav.html (1.9),
	project_tasks.html (1.1):

	New task list page, plus links to it.  

2001-07-04 13:04   Karl Fogel <>

	* www/project_status.html (1.27):

	Update milestones based on new information about resource

2001-07-04 08:37   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/txn.c (1.44), svnadmin/main.c (1.15),
	tests/libsvn_fs/fs-test.c (1.87):

	* libsvn_fs/txn.c (svn_fs_begin_txn): automatically put a datestamp 
	  property on newly created transactions.  This will help admin 
	  identify long-abandoned txns that may need to be hand-removed. 
	  When a txn is promoted to a revision, this property will be
	  automatically overwritten with a revision datestamp.  
	* svnadmin/main.c (main):  make `lsrevs' print revision datestamps.  
	                           make `lstxn' print transaction
	* fs_test.c (transaction_props):  make fs-test #13 pass, by telling
	  it to expect a datestamp among the properties.  

2001-07-04 07:12   Ben Collins-Sussman <>

	* (1.42), subversion/clients/cmdline/checkout-cmd.c
	(1.3), subversion/clients/cmdline/cl.h (1.5),
	subversion/clients/cmdline/main.c (1.5),
	subversion/clients/cmdline/update-cmd.c (1.4),
	subversion/include/svn_client.h (1.36),
	subversion/include/svn_error_codes.h (1.4),
	subversion/include/svn_ra.h (1.62), subversion/include/svn_repos.h
	(1.15), subversion/include/svn_time.h (1.2),
	subversion/libsvn_client/checkout.c (1.20),
	subversion/libsvn_client/update.c (1.21),
	subversion/libsvn_fs/dag.c (1.105),
	subversion/libsvn_ra_dav/fetch.c (1.62),
	subversion/libsvn_ra_dav/ra_dav.h (1.29),
	subversion/libsvn_ra_dav/session.c (1.29),
	subversion/libsvn_ra_local/ra_plugin.c (1.38),
	subversion/libsvn_repos/rev_hunt.c (1.2),
	subversion/libsvn_subr/getdate.y (1.1):

	Add date-parsing to subversion, and the ability to checkout or
	update using dates.  (`svn co URL -D 17-03-2001' or `svn up -D last
	* getdate.y:  a parser of human-readable dates.  stolen from CVS
	              (code is public domain, no copyright.)  slightly tweaked.  
	*  invoke bison or yacc to produce getdate.c 
	* svn_time.h (svn_parse_date):  declare API in getdate.y 
	* dag.c (txn_body_dag_init_fs):  put a datestamp on revision 0, too! 
	* rev_hunt.c: (svn_repos_dated_revision): add boundary checks.  
	* svn_ra.h (get_dated_revision):  new RA vtable routine.  
	* libsvn_ra_local/ra_plugin.c (get_dated_revision):  implement as a 
	  simple pass-through to svn_repos_dated_revision().  
	  (ra_local_plugin):  add get_dated_revision.  
	* libsvn_ra_dav/fetch.c (svn_ra_dav__get_dated_revision): dummy
	  func, to be marshalled over network later.  
	  ra_dav.h (svn_ra_dav__get_dated_revision):  declare.  
	  session.c (dav_plugin):  add svn_ra_dav__get_dated_revision.  
	* svn_repos.h (svn_repos_dated_revision):  change `time' var to
	* main.c (main):  add -D flag.  (wow!  how often do we get to edit
	* cl.h (svn_cl__opt_state_t):  add 'date' field.  
	* svn_error_codes.h (SVN_ERR_CL_MUTUALLY_EXCLUSIVE_ARGS):  new
	* svn_client.h, checkout.c (svn_client_checkout):  add time field! 
	* checkout-cmd.c (svn_cl__checkout):  pass date to
	* svn_client.h, update.c (svn_client_update):  add time field! 
	* update-cmd.c (svn_cl__update):  pass date to svn_client_update() 

2001-07-04 02:32   Branko Cibej <>

	* subversion/: libsvn_subr/time.c (1.3), tests/libsvn_fs/fs-test.c

	Fix even more timestamp breakage -- make sure we read what we wrote.  
	We were usiing %03d to print/scan the tm_usec field and, while
	(apr_p)sprintf will expand the field to print all significant
	digits, it seems sscanf was confused.  
	This should really, finally fix issue 404.  
	* libsvn_subr/time.c (timestamp_format): Use %06d for tm_usec.  
	* tests/libsvn_fs/fs-test.c (commit_date): Remove the #if 0 and

2001-07-03 15:38   Ben Collins-Sussman <>

	* subversion/: include/svn_repos.h (1.14), libsvn_repos/rev_hunt.c

	* svn_repos.h (svn_repos_dated_revision):  declare.  
	* rev_hunt.c (svn_repos_dated_revision):  implement, with helper.  

2001-07-03 15:19   Karl Fogel <>

	* www/project_status.html (1.26):

	Make milestone dates fall on weekdays.  

2001-07-03 14:59   Karl Fogel <>

	* www/project_status.html (1.25):

	Update dates to be more conservative (and therefore more reliable).  

2001-07-03 14:41   Karl Fogel <>

	* notes/alpha-checklist.txt (1.2):

	Update based on recent progress.  

2001-07-03 14:17   Karl Fogel <>

	* notes/: alpha-checklist.txt (1.1), alpha_short (1.9):

	Renamed alpha_short to alpha-checklist, as we always planned to.  

2001-07-02 16:59   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.46):

	Note about the one-to-one mapping of reps to strings.  

2001-07-02 16:46   Karl Fogel <>

	* notes/fs-improvements.txt (1.12):

	Remove obsolete stuff.  

2001-07-02 16:17   Karl Fogel <>

	* subversion/libsvn_subr/time.c (1.2):

	Mention the APR dev discussions between Branko and David Reid in the 
	comment here, for context.  

2001-07-02 15:47   Karl Fogel <>

	* subversion/: include/svn_time.h (1.1), include/svn_types.h
	(1.64), libsvn_fs/dag.c (1.104), libsvn_fs/rev-table.c (1.16),
	libsvn_fs/rev-table.h (1.8), libsvn_subr/time.c (1.1),
	libsvn_wc/entries.c (1.110), libsvn_wc/local_changes.c (1.33),
	libsvn_wc/questions.c (1.55), libsvn_wc/wc.h (1.153),
	tests/libsvn_fs/fs-test.c (1.85):

	Librarize the time/date helpers that used to live in libsvn_wc. 
	They are now part of libsvn_subr: 
	* wc.h, local_changes.c (svn_wc__time_to_string, 
	svn_wc__string_to_time): Moved to the new svn time library below.  
	* svn_time.h, time.c: New files.  
	(svn_time_from_string, svn_time_to_string): Replace 
	svn_wc__string_to_time and svn_wc__time_to_string respectively, all 
	callers changed.  
	Record the date of each commit, as requested by Ben: 
	* rev-table.h, rev-table.c (svn_fs__set_rev_prop): New func.  
	* rev-table.c (txn_body_change_rev_prop): Just call above new func.  
	* svn_types.h (SVN_PROP_REVISION_DATE): New #define.  
	* fs-test.c: #include apr_time.h and svn_time.h.  
	(commit_date): New test.  
	(test_funcs): Add it.  
	(revision_props, transaction_props): Allow the presence of other 
	revision properties.  

2001-07-02 15:33   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.2):

	*  auto-generate more intelligible names for each 
	test's repository and working copy.  

2001-07-02 14:36   Karl Fogel <>

	* subversion/include/svn_path.h (1.39):


2001-07-02 12:59   Ben Collins-Sussman <>

	* build.conf (1.20):

	* build.conf:  tell `make check` the new name of our python tests.  

2001-07-02 12:57   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: README (1.7),
	(1.1), (1.19), svntest/ (1.3),
	svntest/ (1.1), svntest/ (1.3), svntest/

	Big reorganization of python test suite.  Move most of the testing
	API out of and into the `svntest' module.  This will
	make it easier to test ra_dav and xml access someday -- since all
	but one function are inspecific to ra_local already.  
	* svntest/   the big API calls live here now.  
	* svntest/   inherit some globals from 
	* svntest/  add 
	*  renamed from `'.  Change all calls 
	  into svntest module -- svntest.actions.*() 
	* README:  keep our documentation up-to-date.  :-) 

2001-07-02 12:48   Karl Fogel <>

	* subversion/: include/svn_error_codes.h (1.3), libsvn_fs/dag.c
	(1.103), libsvn_fs/reps-strings.c (1.3), libsvn_fs/reps-strings.h
	(1.3), libsvn_fs/structure (1.45):

	Make the world safe for deltification.  Now background deltification 
	will not interfere with file content reading, because we re-read the 
	representation each time we access the contents.  If the file gets 
	deltified, the representation will simply be different on the next 
	fetch, which is fine -- that's why we have reps in the first place.  
	* reps-strings.h, reps-strings.c (svn_fs__rep_read_range): Take a
	rep key instead of a rep skel.  
	* dag.c (file_content_baton_t): Store a rep key, instead of a rep
	(txn_body_read_file_contents): Use a rep key instead of a rep skel. 
	Better error checking.  Document.  
	(svn_fs__dag_get_contents): Store rep key into baton, not rep skel.  
	* svn_error_codes.h (svn_errno_t): New error
	* structure: Update for above.  

2001-07-02 12:41   Karl Fogel <>

	* subversion/libsvn_fs/proplist.h (1.8):

	(svn_fs__get_prop): Doc fix.  

2001-07-02 11:34   Karl Fogel <>

	* subversion/: include/svn_delta.h (1.153), include/svn_fs.h
	(1.86), include/svn_wc.h (1.103), libsvn_fs/proplist.h (1.7):

	* svn_fs.h (svn_fs_revision_prop): Note issue #406.  
	(svn_fs_revision_proplist): Same as above, plus doc fix.  
	* svn_delta.h (svn_prop_t, svn_delta_edit_fns_t): Note issue #406.  
	* svn_wc.h (svn_wc_get_prop, svn_wc_set_prop): Note issue #406.  
	(svn_wc_prop_list): Same as above, plus doc fix.  
	* proplist.h (svn_fs__get_prop): Note issue #406.  
	(svn_fs__make_prop_hash): Same as above, plus doc fix.  

2001-07-02 11:34   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.102):

	Paranoid parenthesization.  

2001-06-30 04:55   Branko Cibej <>

	* subversion/libsvn_wc/local_changes.c (1.32):

	I hope this clears up issue 404.  
	* libsvn_wc/local_changes.c (svn_wc__string_to_time): Use
	apr_implode_gmt instead of apr_implode_time.  

2001-06-29 15:02  C. Michael Pilato <>

	* subversion/clients/win32/svn_com/: SVN.cpp (1.7), StdAfx.h (1.3):

	What the heck...may as well get SVN-COM building in Windows, too...  
	* subversion/clients/win32/svn_com/SVN.cpp 
	  Some minor fixes throughout to get this to build.  
	* subversion/clients/win32/svn_com/StdAfx.h 
	  Include svn_pools.h now.  

2001-06-29 15:02   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.18),
	svntest/ (1.2), svntest/ (1.3):

	Fix a design flaw in our python trees.  
	* (SVNTreeNode): extend class to contain *two* distinct 
	  hashes.  "props" are now actual subversion properties, while
	  "atts" holds the status information we've been using all along to
	  parse commandline output.  
	  (compare_file_nodes):       update accordingly.  
	  (create_from_path):         update accordingly.  
	  (build_generic_tree):       update accordingly.  
	  (build_tree_from_checkout): update accordingly.  
	  (build_tree_from_commit):   update accordingly.  
	  (build_tree_from_status):   update accordingly.  
	* (greek_tree):  update accordingly.  
	  (get_virginal_status_list):   update accordingly.  
	  (make_repo_and_wc):           update accordingly.  
	  (guarantee_greek_repository): update accordingly.  
	  (basic_commit):               update accordingly.  
	  (commit_one_file):            update accordingly.  
	  (commit_multiple_targets):    update accordingly.  
	  (commit_mulitple_targets2):   update accordingly.  
	  (basic_update):               update accordingly.  
	  (basic_merge):                update accordingly.  
	  (basic_conflict):             update accordingly.  

2001-06-29 13:55   Ben Collins-Sussman <>

	* (1.17), build.conf (1.19),
	subversion/tests/clients/cmdline/xmltests/ (1.2),
	subversion/tests/clients/cmdline/xmltests/ (1.2):

	Finish cleanup of `make check` rule, as per older email discussion.  
	*,  stop requiring a $srcdir argument.  
	* (check):  stop passing $srcdir to every single test.  
	* build.conf:  update with new locations of xml test scripts.  
	(As I mentioned before, nobody freak over this please.  We don't
	have vpath builds working yet, and these xml-scripts will be
	converted to python soon anyway.) 

2001-06-29 13:46  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c (1.101), structure (1.44):

	Mike and Karl whipping up on revision numbers and flags in 
	* libsvn_fs/structure 
	  Generally updated to reflect changes to the NODE-REVISION skels.  
	  Namely, there is now a REV item in the header, and there are no 
	* libsvn_fs/dag.c 
	  (HDR_FLAGS): no more.  
	  (node_rev_is_mutable): Replaces (with some edits) 
	  node_rev_has_mutable_flag.  All callers changed.  
	  (node_rev_make_mutable): Replaces (with some edits) 
	  node_rev_set_mutable_flag.  No longer takes a parent id or a pool.  
	  (make_node_immutable): Now takes a REV argument, and uses that to 
	  set the revision for the node (which indicates its freshly
	  acquired immutability).  
	  (stabilize_node): Now takes a REV argument (to pass to 
	  (svn_fs__dag_commit_txn): Call stabilize_node *after* acquiring the 
	  new revision number.  
	  (make_entry): Build the NODE-REVISION skels properly (no flags).  

2001-06-29 13:35   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.4),
	xmltests/.cvsignore (1.1), xmltests/ (1.1),
	xmltests/ (1.1):

	* clients/cmdline/tests/:  nuke this directory and tests.  
	* tests/clients/cmdline/xmltests/:  move them over here.  

2001-06-29 13:25   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.17):

	Cleanup tmp_dir preemptively at startup.  This problem was causing 
	occasional what-looked-like-bugs.  

2001-06-29 12:58   Ben Collins-Sussman <>

	* subversion/: libsvn_wc/get_editor.c (1.189),
	tests/clients/cmdline/ (1.16),
	tests/clients/cmdline/svntest/ (1.2):

	Task: get #9 to pass, by exercising control over
	backup file names (from conflicts) and improving the way we detect
	* get_editor.c (close_file):  when subversion invokes GNU `patch', 
	  force backup files to be prefixed with ".#" 
	* (compare_trees):  singleton_handler funcs now take batons.  
	  (default_singleton_handler):  take a baton.  
	* (basic_conflict): tweaky cleanup, formatting,
	  (detect_conflict_files): renamed (and completely rewritten) from 
	  (extra_files):  no longer a global hash;  now local list.  
	  (basic_conflict):  pass extra_files as a baton to
	  (run_and_verify_checkout):  take singleton batons.  
	  (run_and_verify_update):    take singleton batons.  
	  (run_and_verify_commit):    take singleton batons.  

2001-06-29 11:04  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.100):

	* libsvn_fs/dag.c 
	  (txn_body_dag_init_fs): Initialize root node to revision `0' (not 
	  `0.0' -- CVS what?) 
	  (make_entry): Updated docstring.  
	  (make_node_immutable): Oops -- missed opportunity for use of new 
	  accessor macros! 

2001-06-29 10:19  C. Michael Pilato <>

	* subversion/libsvn_fs/fs.c (1.50):

	* subversion/libsvn_fs/fs.c 
	  (cleanup_fs): Don't forget to clean up our new tables.  

2001-06-29 09:48  C. Michael Pilato <>

	* subversion/libsvn_fs/libsvn_fs.dsp (1.13):

	Catching up the Windows build after the recent libsvn_fs branch
	* libsvn_fs.dsp 
	  (node-rev.c, convert-size.h, node-rev.h, revision.h): Removed from 
	  (reps-strings.c, reps-strings.h): Added to build.  

2001-06-28 19:12   Joe Orton <>

	* (1.98):

	* Fix ra_dav when --disable-shared isn't given (the 
	default).  neon now defaults to not building shared libraries, so
	force it to do whatever we do.  

2001-06-28 18:21   Karl Fogel <>

	* subversion/: libsvn_fs/dag.c (1.99), libsvn_fs/dag.h (1.44),
	libsvn_fs/err.c (1.30), libsvn_fs/fs.c (1.49), libsvn_fs/key-gen.c
	(1.3), libsvn_fs/node-rev.c (1.12), libsvn_fs/node-rev.h (1.10),
	libsvn_fs/nodes-table.c (1.20), libsvn_fs/nodes-table.h (1.10),
	libsvn_fs/proplist.c (1.12), libsvn_fs/reps-strings.c (1.2),
	libsvn_fs/reps-strings.h (1.2), libsvn_fs/reps-table.c (1.4),
	libsvn_fs/reps-table.h (1.4), libsvn_fs/strings-table.c (1.10),
	libsvn_fs/strings-table.h (1.10), libsvn_fs/structure (1.43),
	libsvn_fs/this-branch.txt (1.2), libsvn_fs/tree.c (1.78),
	libsvn_fs/txn.c (1.43), tests/libsvn_fs/strings-reps-test.c (1.9)
	(utags: postmerge_strings-reps-dev):

	Merged `strings-reps-dev' branch into trunk.  

2001-06-28 18:11   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c, structure (strings-reps-dev.[18,2])
	(utags: strings-reps-dev-done):

	HDR_FLAGS): New macros.  Use them everywhere, instead of unpacking 
	node revision skels by hand.  
	* structure: Notes on deltification.  

2001-06-28 17:17   Joe Orton <>

	* (1.97):

	* Fix diffutils URL.  

2001-06-28 16:44   Ben Collins-Sussman <>

	* (1.96), ac-helpers/ (1.1):

	*  require (and locate) non-hacked version of GNU diff 

2001-06-28 16:17  C. Michael Pilato <>

	* svn_config.dsp (1.4),
	subversion/clients/cmdline/subversion_client.dsp (1.2),
	subversion/libsvn_client/libsvn_client.dsp (1.8),
	subversion/libsvn_fs/libsvn_fs.dsp (1.12,
	postmerge_strings-reps-dev, premerge_strings-reps-dev):

	Getting the Windows build up-to-date.  
	* svn_config.dsp 
	  (svn_private_config.h): Exclude this file from the build.  
	* subversion/clients/cmdline/subversion_client.dsp 
	  This got moved from another location.  
	* subversion/libsvn_client/libsvn_client.dsp 
	  (feedback.c): Added to Source Files 
	* subversion/libsvn_fs/libsvn_fs.dsp 
	  (convert-size.c): Remove.  
	  (key-gen.c, rep-table.c): Added to Source Files 
	  (key-gen.h, rep-table.h): Added to Header Files 

2001-06-28 13:43   Joe Orton <>

	* (1.95):

	* Get any extra libraries that neon needs from the 
	'neon-config' script and use these if building statically.  

2001-06-28 12:54   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (strings-reps-dev.17):

	(node_rev_has_mutable_flag): Got rid of last ### tweakit comment.  

2001-06-28 12:53   Joe Orton <>

	* subversion/: include/svn_ra.h (1.61), libsvn_ra/ra_loader.c
	(1.9), libsvn_ra_dav/session.c (1.28), libsvn_ra_local/ra_plugin.c

	Change RA interface to allow plugins to handle >1 URL scheme.  
	* ra_loader.c (svn_ra_init_ra_libs): Pass through the scheme->plugin 
	hash table to the plugin's init function.  
	* svn_ra.h: Prototypes updated accordingly.  
	* ra_plugin.c (svn_ra_local_init): Updated accordingly.  
	* session.c (svn_ra_dav_init): Updated accordingly, and also support 
	https: URLs.  

2001-06-28 10:37  C. Michael Pilato <>

	* subversion/libsvn_fs/fs.c (tags: strings-reps-dev-done)

	* libsvn_fs/fs.c 
	  (svn_fs_open_berkeley): Hm.  We should probably remember to open the 
	  strings and representations tables as well.  

2001-06-27 21:39   Branko Cibej <>

	* subversion/libsvn_wc/local_changes.c (1.31):

	Comment fixes.  

2001-06-27 21:03   Branko Cibej <>

	* subversion/libsvn_wc/local_changes.c (1.30):

	Hopefully temporary fix for timestamp weirdness.  
	* libsvn_wc/local_changes.c (svn_wc__string_to_time): Adjust the
	time to take account of the time zone's GMT offset.  

2001-06-27 15:52  C. Michael Pilato <>

	* subversion/: libsvn_fs/key-gen.c (tags: strings-reps-dev-done)
	(strings-reps-dev.1), tests/libsvn_fs/fs-test.c (1.84),
	tests/libsvn_fs/key-test.c (1.2):

	Yahoo!  All fs-test's now PASS! 
	* libsvn_fs/key-gen.c 
	  (svn_fs__next_key): Grr...freakin' OBO error wasting my whole day...  
	* tests/libsvn_fs/key-test.c 
	  (next_key): Added another test case to catch a stupid OBO error 

2001-06-27 14:46   Ben Collins-Sussman <>

	* (1.94), ac-helpers/ (1.1):

	*  require and locate a version of GNU patch.  

2001-06-27 11:02  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c, tree.c (tags:
	strings-reps-dev-done) (strings-reps-dev.[16,3]):

	Chugging along, making the fs-test's pass.  Right now 17 and 24
	FAIL, and 20 SEGFAULTs.  
	* libsvn_fs/dag.c 
	  (svn_fs__dag_file_length): Doh!  I can't *beLIEVE* I tried to check 
	  the length of a list skel with skel->len...  
	  (make_node_immutable): Add some segfault protection.  
	* libsvn_fs/tree.c 
	  Itty bitty formatting fix 

2001-06-26 20:40   Karl Fogel <>

	* subversion/tests/libsvn_fs/strings-reps-test.c (tags:
	strings-reps-dev-done) (strings-reps-dev.3):

	Avoid newlines in string literals, as per Joe Orton's change to the 
	trunk on 2001-06-26 20:08, but use \n's to make sure the resulting 
	string still contains actual newlines where Mike Pilato had them.  
	This will conflict with Joe's change when we merge, but it'll be
	easy to resolve in favor of the branch.  

2001-06-26 20:29   Joe Orton <>

	* PORTING (1.7):

	Tru64 5.0 update.  

2001-06-26 20:21   Joe Orton <>

	* subversion/clients/cmdline/cl.h (1.4):

	* cl.h: Remove another trailing comma.  

2001-06-26 20:08   Joe Orton <>

	* subversion/tests/libsvn_fs/strings-reps-test.c (1.8,

	* strings-reps-test.c: Don't carry string literals over new-lines,
	Tru64 cc can't parse it.  

2001-06-26 20:05   Joe Orton <>

	* (1.16):

	* (check): Carry on past test failures with non-GNU make 
	too. (I think this is useful behaviour since you get to see all the
	test results in front of you, even if some early ones fail) 

2001-06-26 19:55   Joe Orton <>

	* subversion/tests/libsvn_subr/ (1.5):

	* Set $PWD explicitly, some shells don't update this 
	automatically. (e.g. Tru64 /bin/sh) 

2001-06-26 19:28   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c, reps-strings.c (tags:
	strings-reps-dev-done), reps-strings.h (tags:
	strings-reps-dev-done) (strings-reps-dev.[15,4,4]):

	* reps-strings.h, reps-string.c (svn_fs__delete_rep_if_mutable): New 
	* dag.c (svn_fs__dag_delete_if_mutable): Delete any mutable 
	representations referred to by this node, too.  
	Mike Pilato, this is my last commit for today.  If you want to code
	at home, or on the train coming to work tomorrow, don't worry about 
	conflicts with my stuff.  Tests 1-15 in fs-test.c pass now... and
	test 16 seg faults.  Good luck. :-) 

2001-06-26 19:09   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (strings-reps-dev.14):

	This fixes fs-test 15 ("delete mutable nodes from directories"): 
	* reps-strings.h, reps-string.c (svn_fs__make_rep_immutable): New 
	* dag.c (delete_entry): Test for target's emptiness correctly.  
	(make_node_immutable): Immutate representations too.  Loop over
	header correctly.  Don't use a subpool, we don't need it anymore.  
	(svn_fs__dag_delete_if_mutable): Note necessary future work.  

2001-06-26 19:05   Joe Orton <>

	* subversion/libsvn_fs/fs.c (1.48, premerge_strings-reps-dev):

	* fs.c (cleanup_fs_db): Use pool-based allocation rather than
	alloca(), which isn't portable unless you jump through hoops.  

2001-06-26 18:49   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c, reps-strings.c, reps-strings.h

	More work on fs-test 15 ("delete mutable nodes from directories"), 
	still not there: 
	* reps-strings.h, reps-string.c (svn_fs__make_rep_immutable): New 
	* dag.c (make_node_immutable): Immutate representations too.  Loop
	over header correctly now.  Don't use a subpool, we don't need it 

2001-06-26 18:49   Joe Orton <>

	* subversion/include/svn_wc.h (1.102):

	* svn_wc.h: Remove trailing commas from enumerator list (kill
	warnings from Tru64 cc).  

2001-06-26 18:45   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.61):

	* fetch.c: Fix initializer syntax of report_head and report_tail.
	(don't know why gcc didn't notice this but Tru64 cc did) 

2001-06-26 18:26   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (strings-reps-dev.12):

	More debugging.  This does not completely fix test 15 ("delete
	mutable nodes from directories") in fs-test.c, but brings us closer: 
	* dag.c (find_dir_entry): Return previous entry too.  
	(dir_entry_from_node, set_entry): Call find_dir_entry correctly.  
	(delete_entry): Get a previous entry from find_dir_entry, use it.  
	Clear the old entries list, so we're overwriting, not appending.  
	Remember to use the SVN_ERR macro.  

2001-06-26 17:27   Karl Fogel <>

	* subversion/: libsvn_fs/dag.c, libsvn_fs/proplist.c (tags:
	strings-reps-dev-done) (strings-reps-dev.[11,1]),
	tests/libsvn_ra_local/ra-local-test.c (1.12):

	More debugging.  Test 14 ("set and get some node properties") in 
	fs-test.c passes now: 
	* proplist.c (svn_fs__set_prop): Check value exists before adding a 
	new property.  
	* dag.c (svn_fs__dag_set_proplist): Remember to set the new rep key
	in the node revision, if created a new rep key.  Also, use 
	svn_fs__validate_proplist() instead of inline code, and return an 
	error if it's invalid, instead of calling abort().  
	(svn_fs__dag_get_proplist): Fetch the rep skel before using it.  
	Unrelated change: 
	* tests/libsvn_delta/ra-local-test.c: Make compilation warnings go 
	away.  This whole test is listed as "skip" in build.conf anyway.  

2001-06-26 16:39   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (strings-reps-dev.10):

	This fixes fs-test #8, reading and writing of files.  Now
	fs-test:1-13 are passing.  Test 14 seg faults, though. :-) 
	* dag.c (svn_fs__dag_get_contents): Handle non-existent reps by 
	setting the baton's rep skel to null.  This case covers files that 
	have never had contents.  
	(txn_body_read_file_contents): Handle null rep skel.  
	(file_content_baton_t): Document meaning of a null rep skel.  

2001-06-26 16:22   Karl Fogel <>

	* subversion/libsvn_fs/this-branch.txt (tags:
	strings-reps-dev-done) (strings-reps-dev.8):

	List `svn_fs__dag_set_contents' as done.  Now to debug everyone...  

2001-06-26 16:18   Karl Fogel <>

	* subversion/: libsvn_fs/reps-strings.c, libsvn_fs/reps-strings.h,
	tests/libsvn_fs/strings-reps-test.c (strings-reps-dev.[2,2,2]):

	* reps-strings.h, reps-strings.c (svn_fs__get_mutable_rep): Handle 
	non-keys gracefully.  
	* tests/libsvn_fs/strings-reps-test.c (write_null_string): New test.  
	(test_funcs): Run new test.  

2001-06-26 15:24   Joe Orton <>

	* subversion/libsvn_ra_dav/session.c (1.27):

	* session.c (svn_ra_open): TLS upgrades are not yet useful.  

2001-06-26 15:17  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c, this-branch.txt

	* libsvn_fs/dag.c 
	  (svn_fs__dag_get_proplist): Safety first!  Added code for trivial
	  (svn_fs__dag_set_proplist): Converted this to use new reps/strings
	* this-branch.txt 
	  (svn_fs__dag_set_proplist): Completed.  

2001-06-26 15:08   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c, this-branch.txt

	* dag.c (svn_fs__dag_set_contents): Use reps/strings code.  
	* this-branch.txt: note that these are done now: 
	     read_file_contents (The latter was actually done in a previous

2001-06-26 15:08   Joe Orton <>

	* subversion/libsvn_ra_dav/util.c (1.6):

	* util.c (svn_ra_dav__parsed_request): ne_request_create cannot
	fail, no need to cope with NULL return value.  

2001-06-26 15:00   Joe Orton <>

	* (1.41):

	* Require neon 0.15.3.  

2001-06-26 14:59   Joe Orton <>

	* subversion/libsvn_ra_dav/: commit.c (1.57), fetch.c (1.60),
	merge.c (1.13), options.c (1.9), props.c (1.6), ra_dav.h (1.28),
	session.c (1.26), util.c (1.5):

	Updated to neon 0.15. s/(dav_|hip_|http_)/ne_/g 
	* props.c: Removed replacement propfind() implementation.  
	(svn_ra_dav__get_props): Use new PROPFIND API.  
	* util.c (svn_ra_dav__parsed_request): Take an integer fd rather
	than a FILE *: all callers changed. Pass the request body length to 
	Unrelated cleanup: 
	* session.c, util.c: Use apr_want.h.  

2001-06-26 14:15   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.c (1.1):

	file reps-strings.c was initially added on branch strings-reps-dev.  

2001-06-26 14:15   Karl Fogel <>

	* subversion/libsvn_fs/reps-strings.h (1.1):

	file reps-strings.h was initially added on branch strings-reps-dev.  

2001-06-26 14:15   Karl Fogel <>

	* subversion/: libsvn_fs/dag.c, libsvn_fs/dag.h (tags:
	strings-reps-dev-done), libsvn_fs/reps-strings.c,
	libsvn_fs/reps-strings.h, libsvn_fs/reps-table.c (tags:
	strings-reps-dev-done), libsvn_fs/reps-table.h (tags:
	strings-reps-dev-done), libsvn_fs/strings-table.c (tags:
	strings-reps-dev-done), libsvn_fs/strings-table.h (tags:
	strings-reps-dev-done), libsvn_fs/this-branch.txt,
	libsvn_fs/tree.c, tests/libsvn_fs/strings-reps-test.c
	(strings-reps-dev.[7,2,1,1,6,5,2,2,5,2,1]), include/svn_fs.h

	Mike Pilato and I are not just on the same page, we are on the same 
	medulla oblongata: 
	* include/svn_fs.h (svn_fs_file_contents): Doc fix.  
	* libsvn_fs/tree.c (txn_body_get_mutable_source_stream): Doc fix.  
	(svn_fs_apply_textdelta): Add a note for the future.  
	* libsvn_fs/reps-strings.h, libsvn_fs/reps-strings.c: New files.  
	svn_fs__string_key_from_rep, svn_fs__string_from_rep, 
	svn_fs__get_mutable_rep, svn_fs__rep_is_mutable,
	rep_set_mutable_flag, rep_is_fulltext): Moved here from reps-table.h
	and reps-table.c.  
	(svn_fs__rep_read_range): New func.  
	* libsvn_fs/dag.h (svn_fs__dag_get_contents): Doc fix.  
	* libsvn_fs/dag.c: Read file contents streamily, using the new 
	strings/reps code.  
	(file_content_baton_t): Store a rep skel and fs, instead of a 
	node_revision skel.  
	(svn_fs__dag_get_contents): Set up baton appropriately.  
	(read_file_contents_args, txn_body_read_file_contents): New struct
	and func, respectively.  
	(read_file_contents): Rewritten to use above.  
	* strings-table.h, strings-table.c (svn_fs__string_read): Change 
	placement of buf argument.  All callers changed.  
	* libsvn_fs/this-branch.txt: Note that the following are now done: 
	* tests/libsvn_fs/strings-reps-test.c: Put this file on the 
	`strings-reps-dev' branch too.  
	(txn_body_string_copy, copy_string): Re-enable.  
	(test_funcs): Run `copy_string' test.  
	(rep_args): Constify key.  

2001-06-26 13:47   Ben Collins-Sussman <>

	* (1.93):

	*  get SVN_VERSION defined again, so we can see it in 
	                 'svn -v'.  

2001-06-26 13:10   Ben Collins-Sussman <>

	* subversion/tests/libsvn_fs/strings-reps-test.c (1.7):

	Disable code in mainline branch, as it only compiles in 
	"strings-reps-dev" branch (which Mike & Karl are working on.) 

2001-06-26 12:38   Joe Orton <>

	* ac-helpers/berkeley-db.m4 (1.9):

	* berkeley-db.m4 (SVN_LIB_BERKELEY_DB): Add locations used by Red
	Hat Linux db3 packages to standard places to look.  [Raw Hide has
	db3-3.2.9 RPMs now] 

2001-06-26 09:54  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c, reps-table.c, reps-table.h

	* libsvn_fs/dag.c 
	  (get_dir_entries): Added some error-checking.  
	  (set_entry): Make sure to clear the old string before writing a new 
	  (make_entry): Cut-n-paste-o repair.  
	  (delete_entry): Update to use reps and skels.  
	* reps-table.c 
	* reps-table.h 
	  (svn_fs_string_key_from_rep): Take POOL argument so we can assure a 
	  null-terminated string return.  All callers changed.  

2001-06-25 14:48   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c, reps-table.c, reps-table.h,
	this-branch.txt (strings-reps-dev.[5,4,3,4]):

	More tandem coding with Mike Pilato: 
	* dag.c (make_entry): Finished.  
	(set_entry): Replaces add_new_entry, new calling discipline.  All 
	callers changed.  
	(replace_dir_entry): Removed, just use set_entry now.  
	(add_new_entry_skel): Removed, code folded into set_entry, see
	(svn_fs__dag_file_length): Get the string key from the right skel.  
	(svn_fs__dag_make_copy): Abort immediately, so no one is tempted to 
	use this perpetually in-progress function.  
	* reps-table.h, reps-table.c (svn_fs__string_key_from_rep): Simplify 
	calling discipline.  All callers changed.  
	* this-branch.txt: Note that the following are done: 

2001-06-25 11:26   Karl Fogel <>

	* subversion/libsvn_fs/reps-table.c (strings-reps-dev.3):

	Tandem coding with Mike Pilato: 
	* reps-table.c (svn_fs__string_key_from_rep,
	svn_fs__string_from_rep, svn_fs__rep_is_mutable): Removed redundant
	doc strings.  

2001-06-25 11:20   Karl Fogel <>

	* subversion/libsvn_fs/: reps-table.c, reps-table.h

	Tandem coding with Mike Pilato: 
	* reps-table.h, reps-table.c (svn_fs__get_mutable_rep): Finish.  
	(svn_fs__write_new_rep): Add `const' to arg.  

2001-06-25 10:48   Karl Fogel <>

	* (1.15):

	(changelog): show branches and tags.  

2001-06-25 10:45  C. Michael Pilato <>

	* subversion/: libsvn_fs/dag.c, libsvn_fs/reps-table.c,
	libsvn_fs/reps-table.h, libsvn_fs/strings-table.c,
	libsvn_fs/strings-table.h (strings-reps-dev.[4,1,1,1,1]),
	tests/libsvn_fs/strings-reps-test.c (1.6):

	* subversion/libsvn_fs/dag.c 
	  (rep_has_mutable_flag, rep_set_mutable_flag, string_from_rep, 
	  string_key_from_rep): Moved to reps-table.c.  
	  (txn_body_dag_init_fs): Write a valid skel for the root node, 
	  (make_entry): Build a valid skel for the new node.  
	  (svn_fs__dag_file_length): svn_fs__string_key_from_rep only needs a 
	  const char *, so why use an svn_string_t? 
	* subversion/libsvn_fs/reps-table.c 
	  (rep_is_fulltext):  New helper function.  
	  (svn_fs__string_key_from_rep): Was dag.c:string_key_from_rep().  
	  (svn_fs__string_from_rep): Was dag.c:string_from_rep().  
	  (svn_fs__rep_is_mutable): Was dag.c:rep_is_mutable().  
	  (rep_set_mutable_flag): Moved from dag.c 
	  (svn_fs__get_mutable_rep): New function.  
	* subversion/libsvn_fs/reps-table.h 
	  (svn_fs__string_key_from_rep): Was dag.c:string_key_from_rep().  
	  (svn_fs__string_from_rep): Was dag.c:string_from_rep().  
	  (svn_fs__rep_is_mutable): Was dag.c:rep_is_mutable().  
	  (svn_fs__get_mutable_rep): New function.  
	* subversion/libsvn_fs/strings-table.c 
	  (svn_fs__string_copy): New function 
	* subversion/libsvn_fs/strings-table.h 
	  (svn_fs__string_copy): New function 
	* subversion/tests/libsvn_fs/strings-reps-test.c 
	  (txn_body_string_copy, copy_string): New funcs.  
	  (test_funcs): Include new copy_string() test.  

2001-06-22 15:20  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c, dag.h, structure, this-branch.txt,
	tree.c (strings-reps-dev.[3,1,1,3,1]):

	Mike and Karl, still pluggin' away at FS changes.  
	* libsvn_fs/dag.h 
	  (svn_fs__dag_file_length): Length argument is now an apr_size_t.  
	* libsvn_fs/dag.c 
	  (string_key_from_rep): New helper function.  
	  (string_from_rep): Use string_key_from_rep.  
	  (svn_fs__dag_file_length): Use new strings/reps stuff.  Also, length 
	  argument is now an apr_size_t.  
	  (svn_fs__dag_commit_txn): Remove to-done "todo".  
	* libsvn_fs/tree.c 
	  (file_length_args): Changed type for 'length'.  
	* libsvn_fs/structure 
	  "Correct brain-o" --kfogel 

2001-06-22 14:11  C. Michael Pilato <>

	* subversion/: libsvn_fs/dag.c, libsvn_fs/err.c (tags:
	strings-reps-dev-done), libsvn_fs/node-rev.c, libsvn_fs/node-rev.h,
	libsvn_fs/nodes-table.c (tags: strings-reps-dev-done),
	libsvn_fs/nodes-table.h (tags: strings-reps-dev-done),
	libsvn_fs/this-branch.txt, libsvn_fs/txn.c (tags:
	strings-reps-dev-done) (strings-reps-dev.[2,1,1,1,1,1,2,1]),
	tests/libsvn_fs/fs-test.c (1.83):

	* libsvn_fs/nodes-rev.h 
	* libsvn_fs/nodes-rev.c 
	  Removed (contents now in nodes-table.h and .c).  
	* libsvn_fs/nodes-table.h 
	  (svn_fs__get_rep, svn_fs__put_rep): Removed obsolete functions.  
	  (svn_fs__get_node_revision, svn_fs__put_node_revision, 
	  svn_fs__create_node, svn_fs__create_successor,
	  svn_fs__stable_node, svn_fs__delete_node_revision): Moved from
	* libsvn_fs/err.c 
	* libsvn_fs/err.h 
	  (svn_fs__err_corrupt_representation): Removed function.  
	* libsvn_fs/nodes-table.c 
	  Dump a bunch of junk formerly found in node-rev.c 
	  (is_valid_header, is_valid_node_revision): Updated to handle New and 
	  Improved (tm) node revision skels.  
	  (is_valid_representation): Removed function.  
	  (svn_fs__get_node_revision): New home for former contents of 
	  now-absent function svn_fs__get_rep().  
	  (svn_fs__put_node_revision): Now write the node-revision skel to the 
	  database (reps live elsewhere).  Replaces svn_fs__put_rep().  
	  (svn_fs__create_node, svn_fs__create_successor, svn_fs__stable_node, 
	  svn_fs__delete_node_revision): Moved from node-rev.c but NOT
	* libsvn_fs/dag.c 
	  No longer #include node-rev.h (cuz it's GONE!).  
	  Some formatting fixes throughout (Gnu-style, if you will).  
	  (get_node_revision, set_node_revision, svn_fs__dag_get_node, 
	  svn_fs__dag_dir_entries_hash): Remove ### tweakit comment.  
	  (dir_entry_from_node): Now use svn_fs__dag_dir_entries_skel.  
	  (svn_fs__dag_get_proplist): Implement using reps/strings.  
	  (get_dir_entries): Moved some sanity checking into here from 
	  (svn_fs__dag_dir_entries_skel, dir_entry_from_node): Compactified.  
	* tests/libsvn_fs/fs-test.c 
	  (txn_body_check_id): Use svn_fs__get_node_revision instead of 
	  now-defunct svn_fs__get_rep.  
	* libsvn_fs/txn.c 
	  No longer #include node-rev.h (cuz it's GONE!).  
	* libsvn_fs/this-branch.txt 
	  Status updated.  

2001-06-22 12:42   Karl Fogel <>

	* subversion/libsvn_fs/this-branch.txt (strings-reps-dev.1):

	Scratch pad Mike and I can use to help us keep track of what remains 
	to be done for this change.  

2001-06-22 12:42   Karl Fogel <>

	* subversion/libsvn_fs/this-branch.txt (1.1):

	file this-branch.txt was initially added on branch strings-reps-dev.  

2001-06-22 10:31  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/strings-reps-test.c (1.5):

	* tests/libsvn_fs/strings-reps-test.c 
	  (abort_string): New test for Mike's peace of mind.  Abort a trail 
	  after writing a new string to the strings table, and make sure the 
	  write did NOT take.  
	  (test_funcs): Add abort_string().  

2001-06-21 15:07   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (strings-reps-dev.1):

	Start on code to use the `strings' and `reps' tables, with Mike 
	Pilato.  This is happening on branch "strings-reps-dev" until it's 
	ready to be merged into the main line.  
	* dag.c: #include reps-table.h, strings-table.h.  
	(node_rev_has_mutable_flag, node_rev_set_mutable_flag): New names
	for `has_mutable_flag' and `set_mutable_flag' respectively, since
	these only handle node revisions.  
	(rep_has_mutable_flag, rep_set_mutable_flag): New funcs.  
	(string_from_rep, get_dir_entries, find_dir_entry): New func.  
	(dir_entry_from_node): Replace `find_dir_entry_skel', wrapping above 
	new funcs.  All callers changed.  
	(svn_fs__dag_open): Removed redundant doc string in source file, fix 
	(make_entry): Use svn_error_create instead of svn_error_createf.  

2001-06-21 12:28   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.42, premerge_strings-reps-dev):

	Explain mutability flags for representations; plus a few

2001-06-20 10:38  C. Michael Pilato <>

	* subversion/: libsvn_fs/strings-table.c (1.9,
	premerge_strings-reps-dev), libsvn_fs/strings-table.h (1.9,
	premerge_strings-reps-dev), tests/libsvn_fs/strings-reps-test.c

	* subversion/libsvn_fs/strings-table.h 
	  (svn_fs__string_delete): Renamed from svn_fs__delete_string for 
	* subversion/libsvn_fs/strings-table.c 
	  (svn_fs__string_read): Provide ugly workaround for a bug in Berkeley 
	  3.2.9 (and yes, a patch is being submitted to Sleepycat).  
	  (svn_fs__string_size): Expect ENOMEM from request for string size as 
	  documented in Berkeley C API.  
	  (svn_fs__string_append): Only check size of strings presumed to 
	  (svn_fs__string_delete): Renamed from svn_fs__delete_string for 
	* subversion/tests/libsvn_fs/strings-reps-test.c 
	  (txn_body_write_new_rep, txn_body_write_rep, txn_body_read_rep, 
	  txn_body_delete_rep): Dinky little pointless edit, really.  
	  (struct string_args, verify_expected_record, txn_body_verify_string, 
	  txn_body_string_append, txn_body_string_clear, 
	  txn_body_string_delete, txn_body_string_size): New helper
	  structure and functions for string tests.  
	  (bigstring1, bigstring2, bigstring3): Data for strings tests.  
	  (test_strings): New Strings Table test.  
	  (test_funcs): Added test_strings() test.  

2001-06-20 10:28  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/svntest/ (1.2):

	Not including "" in this package yet.  

2001-06-19 11:58   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.4), (1.15):

	*  obsolete, nuke.  
	*  trying a suggeston from comp.python.lang, which 
	  might make python 1.X compilers not choke hideously on our

2001-06-19 11:50   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/README (1.6):

	Keep README up-to-date with new package reorganization.  

2001-06-19 11:42   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/svntest/.cvsignore (1.1):

	Ignore .pyc files in the package 

2001-06-19 11:40   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.14), (1.5), (1.12), (1.5),
	svntest/ (1.1), svntest/ (1.1), svntest/
	(1.1), svntest/ (1.1):

	Organize our python framework into a single package 'svntest', 
	contained in its own subdirectory.  Mmmm, convenience, yessssss...  
	Renamed some routines as well, and changed all callers.  
	* svntest/__init__py:  define 'svntest' package.  
	* svntest/  renamed from 
	  (run_one_test):  renamed from run_test() 
	  (run_tests):     renamed from client_tests() 
	* svntest/  renamed from 
	  (get_props):  invoke main.run_svn(), using new module name.  
	* svntest/ renamed from (unused module right
	*  import the 'svntest' package, change all calls
	  into this new namespace.  

2001-06-18 18:13   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.98, premerge_strings-reps-dev):

	Start noting what will need to change to switch us to the new node 
	contents representation scheme; search for "### tweakit".  
	Reviewed to line 855, the beginning of the "Proplists" section. 
	More to come.  
	Development context: Mike Pilato is finishing up the implementations 
	and tests for the strings table; when that's done, we're ready to 
	start the switchover.  

2001-06-18 16:00   Karl Fogel <>

	* subversion/libsvn_fs/strings-table.c (1.8):

	(svn_fs__string_append): Fix comments, compactify error handling.  

2001-06-18 15:52  C. Michael Pilato <>

	* subversion/libsvn_fs/: reps-table.c (1.3,
	premerge_strings-reps-dev), strings-table.c (1.7), strings-table.h

	* subversion/libsvn_fs/reps-table.c 
	  Removed printf's.  Karl's debugger works now! :-) 
	* subversion/libsvn_fs/strings-table.c 
	  (svn_fs__open_strings_table): Make sure to initialize the 'next-key' 
	  table entry.  
	  (svn_fs__string_read, svn_fs__string_append, svn_fs__string_clear): 
	  Re-implement based on new interface.  
	* subversion/libsvn_fs/strings-table.h 
	  (svn_fs__string_append): Updated docstring to explain that new keys 
	  are allocated in trail.  

2001-06-18 14:24   Karl Fogel <>

	* subversion/libsvn_fs/: strings-table.c (1.6), strings-table.h

	Reorganize strings interface to give caller control over trail
	scope, and simplify while we're at it: 
	(svn_fs__read_string_stream, svn_fs__write_string_stream, 
	svn_fs__new_string_stream, svn_fs__append_string_stream): Removed.  
	(svn_fs__string_clear, svn_fs__string_append, svn_fs__string_size, 
	svn_fs__string_read): New functions.  No implementations yet, just
	an interface that compiles and does nothing.  
	(svn_fs__delete_string): Doc fix.  

2001-06-18 10:36   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.41):

	Make text fit context better.  

2001-06-18 10:35   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.40):

	Solution to the problem of storing in each node revision the
	revision number when it was created.  Comments welcome.  

2001-06-17 22:25   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.13):

	*  rename some tests for clarity and consistency.  
	  (basic_commit):   used to be "commit_from_wc_top" 
	  (basic_update):   used to be "update_from_wc_top" 
	  (basic_merge):    used to be "merge_from_wc_top" 
	  (basic_conflict): used to be "conflict_from_wc_top" 

2001-06-17 22:05   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.12):

	Make sure this script returns an errorvalue to the operating system, 
	so that `make check` works properly.  

2001-06-17 19:51   Ben Collins-Sussman <>

	* build.conf (1.18):

	Reexamine all our old tests.  It seems like a whole bunch ought to
	be removed, or fixed, or rewritten.  
	* build.conf 
	  ([test-scripts]): better document all scripts being run by `make 
	  check`.  Also, no need to run redundant checkout-test if we're 
	  running all the other XML tests.  
	  (Build Targets):  better documentation 
	  (Test Targets):  better documentation, categorize for later cleanup.  

2001-06-17 15:34   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.11):

	*  remove sanity check, it doesn't work.  is there 
	  any way for a python module to "require" a certain version of
	  python and error out gracefully? 
	  (client_test):  add resilience to bogus arguments.  script arg is 
	  either an integer or "list";  anything else (or no args) just runs 
	  all the tests.  

2001-06-16 15:12   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.39):

	Food for thought.  

2001-06-16 14:47   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.84), libsvn_fs/fs.c (1.47),
	libsvn_fs/fs.h (1.23, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done):

	Wrap an outer directory around the Berkeley DB portion of a 
	repository, so we have an area inside the repository, yet outside
	the Berkeley namespace, to use for our own purposes.  
	* fs.c (dir_empty): New helper func.  
	(svn_fs_create_berkeley): Create tiered repository.  
	(svn_fs_open_berkeley, svn_fs_berkeley_recover): Handle tiered 
	(svn_fs_delete_berkeley): Handle tiered repository, and use Ben's 
	apr_dir_remove_recursively() to remove the directory; no point
	having two implementations of directory removal.  
	(check_apr): Removed, as it is now unused.  
	* fs.h (SVN_FS__REPOS_README, SVN_FS__REPOS_DB_DIR): New #defines.  
	(svn_fs_t): Update documentation of `env_path' member.  
	* svn_fs.h (svn_fs_create_berkeley): Document new error convention, 
	and change parameter name to `path' instead of `env'.  Interestingly 
	enough, it was already called `path' in the function definition.  
	(svn_fs_open_berkeley): Change parameter name to `path' instead of 
	`env', adjust doc string accordingly.  Suspiciously enough, it was 
	already called `path' in the function definition.  
	(svn_fs_berkeley_recover): Adjust doc string to refer to `path' 
	instead of `env'.  Provocatively enough, it was already called
	`path' in both the prototype and the definition.  

2001-06-15 12:07   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/README (1.5):

	Little tweaks.  

2001-06-15 12:00   Karl Fogel <>

	* INSTALL (1.2):

	Point to developer installation instructions.  

2001-06-15 11:59   Ben Collins-Sussman <>

	* subversion/tests/README (1.7):

	Heavily update this file.  It had fallen way behind in documenting
	the current state of our testing systems.  

2001-06-15 11:23   Karl Fogel <>

	* subversion/: include/svn_error.h (1.108),
	include/svn_error_codes.h (1.2), libsvn_subr/svn_error.c (1.71):

	Finish conversion to Greg Stein's new error system: 
	* svn_error.h: Get rid of old system, add comments for new one.  
	(svn_strerror): Document new behavior.  
	* svn_error.c: Got rid of top-level conditionals.  
	(svn_handle_error): Use the new system.  
	(svn_strerror): Removed old implementation of this function.  
	(set_error_hash, initialize_svn_error_descriptions): Removed.  
	* svn_error_codes.h: Added explanatory comment.  Reformatted error 
	list and removed redundant comments.  

2001-06-15 00:07  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/strings-reps-test.c (1.3):

	So that the record may forever be kept in version control history, 
	the following tests (and the fact that they all passed as soon as
	they were written) are a testament to the fact that Karl Fogel wrote
	the entirety of the reps-table code seemingly without err.  Way to
	go, Karl! 
	* tests/libsvn_fs/strings-reps-test.c 
	  (rep_args): Renamed from write_new_rep_args.  
	  (txn_body_write_rep, txn_body_read_rep, txn_body_delete_rep): New 
	  helper-ish functions for representation table tests.  
	  (write_rep, read_rep, delete_rep): New representation table tests.  
	  (test_funcs): Now include write_rep, read_rep, and delete_rep.  

2001-06-14 18:16   Karl Fogel <>

	* subversion/svnadmin/main.c (1.14):

	Revert previous accidental commit of in-progress work.  

2001-06-14 17:34   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_ops.c (1.73):

	(svn_wc_remove_from_revision_control):  if this routine runs with
	the `destroy' flag, it not only preserves local mods, but now
	unversioned objects too.  
	No, no tests yet;  they'll be coming soon.  But Karl and I *did*
	find an APR bug in apr_read_dir().  Will commit that fix tomorrow
	morning.  .  

2001-06-14 15:24   Karl Fogel <>

	* subversion/libsvn_fs/strings-table.h (1.6):

	Fix obsolete comment.  

2001-06-14 12:41  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/: .cvsignore (1.8),
	strings-reps-test.c (1.2):

	* tests/libsvn_fs/strings-reps-test.c 
	  (write_new_rep): Don't use illegal characters in your skels, please.  
	  Double-quotes are disallowed per the table in skel.c.  
	* tests/libsvn_fs/.cvsignore 
	  (strings-reps-test): Ignore me.  

2001-06-14 12:20   Karl Fogel <>

	* subversion/tests/libsvn_fs/strings-reps-test.c (1.1):

	Mike Pilato here, using Karl's computer.  
	* tests/libsvn_fs/strings-reps-test.c 
	  New test file.  

2001-06-14 12:07  C. Michael Pilato <>

	* subversion/libsvn_wc/adm_crawler.c (1.118):

	* libsvn_wc/adm_crawler.c 
	  (crawl_dir): Oops!  Forgot to set the adds_only variable when I 
	  supposed to do so.  

2001-06-14 11:28   Karl Fogel <>

	* subversion/svnadmin/main.c (1.13):

	[no log message] 

2001-06-14 11:28   Karl Fogel <>

	* build.conf (1.17), subversion/libsvn_fs/key-gen.c (1.2,
	premerge_strings-reps-dev), subversion/libsvn_fs/key-gen.h (1.2,
	postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done), subversion/libsvn_fs/reps-table.c (1.2),
	subversion/libsvn_fs/reps-table.h (1.3, premerge_strings-reps-dev),
	subversion/libsvn_fs/strings-table.h (1.5),
	subversion/tests/libsvn_fs/ (1.7):

	* subversion/libsvn_fs/reps-table.h (svn_fs__write_rep, 
	svn_fs__write_new_rep): Prototype fixes.  
	* subversion/libsvn_fs/reps-table.c (svn_fs__write_new_rep): 
	(svn_fs__open_reps_table): Initialize the "next-key" entry.  
	* subversion/libsvn_fs/strings-table.h (svn_fs__new_string_stream): 
	New func.  
	* subversion/libsvn_fs/strings-table.c (svn_fs__new_string_stream): 
	* subversion/libsvn_fs/key-gen.h (svn_fs__next_key_key): Replaces 
	`next_key_key', doc fix.  All references changed.  
	New tests for strings and representations interfaces: 
	* subversion/tests/libsvn_fs/strings-reps-test.c: New file.  
	* build.conf (strings-reps-test): New target.  

2001-06-14 11:01  C. Michael Pilato <>

	* subversion/: clients/cmdline/commit-cmd.c (1.4),
	clients/cmdline/update-cmd.c (1.3), include/svn_wc.h (1.101),
	libsvn_client/commit.c (1.51), libsvn_wc/adm_crawler.c (1.117),
	libsvn_wc/get_editor.c (1.188):

	Fixes for the commit process, allowing commits of a single directory 
	to actually commit that directory (not just the things in it).  
	* include/svn_wc.h 
	  (svn_wc_get_actual_target): renamed from
	* libsvn_wc/adm_crawler.c 
	  (struct target_baton): No longer need prop_modified_p.  
	  (struct stack_object): Added a pool to this structure (so we 
	  don't have to pass this through all the recursion layers).  
	  (push_stack, pop_stack): Use new pool.  
	  (do_dir_replaces): No longer need temporarily pool.  
	  (do_dir_closures, do_apply_textdelta, do_prop_deltas): Code 
	  (report_single_mod): New function, code broken out from old 
	  (crawl_dir): Was report_local_mods.  
	  (svn_wc_crawl_local_mods): Modified to allow for commits of single 
	* libsvn_client/commit.c 
	  (svn_client_commit): Use svn_wc_get_actual_target to get a valid 
	  base_dir and target when committing a single target.  
	* clients/cmdline/commit-cmd.c 
	  (svn_cl__commit): Use svn_wc_get_actual_target to calculate the 
	  base_dir the same way that svn_client_commit does.  
	* clients/cmdline/update-cmd.c 
	  (svn_cl__update): svn_wc_get_actual_target renamed from 
	* libsvn_wc/get_editor.c 
	  (svn_wc_get_actual_target): renamed from
	  (make_editor): svn_wc_get_actual_target renamed from 

2001-06-14 10:51  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/ (1.11):

	* tests/clients/cmdline/ 
	  (run_and_verify_commit): Don't try to pop from an empty array! 

2001-06-14 04:48   Greg Stein <>

	* subversion/: include/svn_error.h (1.107),
	include/svn_error_codes.h (1.1), libsvn_subr/svn_error.c (1.70):

	Check in a new error string system, per discussion on list.  
	NOTE: this is /not/ enabled yet (no obvious conclusions on the list
	yet).  tweak svn_error.h to define TEST_ALTERNATE_ERROR_SYSTEM to
	try it out 
	* include/svn_error.h: include svn_error_codes.h to pick up the
	    enumerated constants. use a different signature for svn_strerror() 
	* include/svn_error_codes.h: new file. this file defines all of the
	    custom error codes (when normally included). svn_error.c includes it
	    with a magic incantation to construct a lookup table instead.  
	* libsvn_subr/svn_error.c: redefine svn_strerror() with the new
	    signature, and using the error_table[] array built by
	    svn_error_codes.h. if the error isn't found, fall back to
	    apr_strerror() (which will fill in a default if it doesn't know the

2001-06-13 08:04  C. Michael Pilato <>

	* subversion/clients/cmdline/feedback.c (1.2):

	* clients/cmdline/feedback.c 
	  Squashed some compiler warnings.  

2001-06-13 04:10   Greg Stein <>

	* subversion/: clients/cmdline/commit-cmd.c (1.3),
	clients/cmdline/diff.c (1.3), clients/cmdline/import-cmd.c (1.3),
	clients/cmdline/main.c (1.4), clients/cmdline/props.c (1.3),
	clients/cmdline/status.c (1.3), clients/cmdline/trace-commit.c
	(1.4), clients/cmdline/trace-update.c (1.4), clients/cmdline/util.c
	(1.4), include/svn_string.h (1.50), libsvn_client/add.c (1.17),
	libsvn_client/apply_edits.c (1.17), libsvn_client/commit.c (1.50),
	libsvn_client/status.c (1.14), libsvn_client/update.c (1.20),
	libsvn_delta/svndiff.c (1.25), libsvn_delta/text_delta.c (1.35),
	libsvn_delta/track_editor.c (1.6), libsvn_delta/xml_output.c
	(1.40), libsvn_delta/xml_parse.c (1.157), libsvn_fs/dag.c (1.97),
	libsvn_fs/id.c (1.26, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done),
	libsvn_fs/proplist.c (1.11, premerge_strings-reps-dev),
	libsvn_fs/skel.c (1.32, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done), libsvn_fs/tree.c
	(1.77, premerge_strings-reps-dev), libsvn_ra/ra_loader.c (1.8),
	libsvn_ra_dav/commit.c (1.56), libsvn_ra_dav/fetch.c (1.59),
	libsvn_ra_dav/merge.c (1.12), libsvn_ra_dav/options.c (1.8),
	libsvn_ra_dav/ra_dav.h (1.27), libsvn_ra_dav/util.c (1.4),
	libsvn_ra_local/checkout.c (1.12), libsvn_ra_local/split_url.c
	(1.12), libsvn_repos/commit_editor.c (1.10), libsvn_repos/delta.c
	(1.50), libsvn_repos/reporter.c (1.12), libsvn_subr/base64.c
	(1.20), libsvn_subr/io.c (1.40), libsvn_subr/path.c (1.39),
	libsvn_subr/quoprint.c (1.7), libsvn_subr/svn_string.c (1.15),
	libsvn_subr/target.c (1.11), libsvn_subr/xml.c (1.40),
	libsvn_wc/adm_crawler.c (1.116), libsvn_wc/adm_files.c (1.81),
	libsvn_wc/adm_ops.c (1.72), libsvn_wc/entries.c (1.109),
	libsvn_wc/get_editor.c (1.187), libsvn_wc/local_changes.c (1.29),
	libsvn_wc/log.c (1.100), libsvn_wc/props.c (1.33),
	libsvn_wc/questions.c (1.54), libsvn_wc/status.c (1.35),
	libsvn_wc/util.c (1.19), mod_dav_svn/activity.c (1.8),
	mod_dav_svn/liveprops.c (1.22), mod_dav_svn/merge.c (1.14),
	mod_dav_svn/repos.c (1.53), mod_dav_svn/update.c (1.6),
	tests/fs-helpers.c (1.5), tests/svn_test_editor.c (1.26),
	tests/libsvn_delta/deltaparse-test.c (1.72),
	tests/libsvn_delta/xml-output-test.c (1.17),
	tests/libsvn_fs/fs-test.c (1.82), tests/libsvn_fs/skel-test.c
	(1.23), tests/libsvn_ra_local/ra-local-test.c (1.11),
	tests/libsvn_repos/dir-delta-editor.c (1.5),
	tests/libsvn_repos/repos-test.c (1.4),
	tests/libsvn_subr/hashdump-test.c (1.22),
	tests/libsvn_subr/path-test.c (1.4), tests/libsvn_subr/stringtest.c
	(1.10), tests/libsvn_subr/target-test.c (1.11),
	tests/libsvn_wc/checkout-test.c (1.45),
	tests/libsvn_wc/commit-test.c (1.33):

	And the mother is back...  
	Change svn_string_FUNC to svn_stringbuf_FUNC.  

2001-06-12 22:26  C. Michael Pilato <>

	* subversion/libsvn_subr/svn_error.c (1.69):

	* libsvn_subr/svn_error.c 
	  (initialize_svn_error_descriptions): Squash some compile warnings.  

2001-06-12 16:43   Ben Collins-Sussman <>

	* subversion/libsvn_subr/svn_error.c (1.68):

	* svn_error.c (initialize_svn_error_descriptions):  duh, we have to 
	  *copy* the key before setting it in the hash.  
	  (set_error_hash):  new helper routine for this purpose.  

2001-06-12 15:48   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.106), libsvn_subr/svn_error.c

	* svn_error.c (initialize_svn_error_descriptions): new func - build
	  a hash table that maps svn errorcodes to english descriptions.  
	  (svn_strerror):  take a pool instead of stringbuf.  pass 
	  this pool to initialize_svn_error_descriptions() the first time
	  this routine is called, and then cache the hash in a static
	  variable thereafter.  use the hash for lookups.  
	  (svn_error_strings[]):  removed, now part of hash initialization.  
	* svn_error.h (svn_strerror):  update declaration.  

2001-06-12 12:41   Ben Collins-Sussman <>

	* subversion/: include/svn_delta.h (1.152), include/svn_ra.h
	(1.60), include/svn_repos.h (1.13), libsvn_client/commit.c (1.49),
	libsvn_delta/compose_editors.c (1.18),
	libsvn_delta/default_editor.c (1.9), libsvn_ra_dav/commit.c (1.55),
	libsvn_ra_dav/session.c (1.25), libsvn_ra_local/ra_plugin.c (1.36),
	libsvn_repos/commit_editor.c (1.9):

	Really, truly fixing bug #388, the Right Way: 
	* svn_delta.h, default_editor.c (abort_edit):  new editor function! 
	  Allows the editor-driver to inform the editor of a bailout, so
	  that the editor can do cleanup if it needs to.  All editors now
	  have a 'dummy' version of this routine which does nothing.  
	* libsvn_client/commit.c (send_to_repos):  if import() or 
	  svn_wc_crawl_local_mods() returns an error, call
	* compose_editors.c (abort_edit):  write a composed version of this 
	  new routine.  
	  (svn_delta_compose_editors):  add pointer to composed abort_edit.  
	* svn_repos.h (svn_repos_get_commit_txn):  removed.  this was a Bad
	* commit_editor.c (svn_repos_get_commit_txn):  removed.  
	  (abort_edit):  this is the only non-dummy version of this editor 
	  routine.  It actually calls svn_fs_abort_txn().  
	  (svn_repos_get_editor):  add abort_edit to editor.  
	* svn_ra.h (abort_commit):  remove this RA interface, no longer
	* libsvn_ra_local/ra_plugin.c (abort_commit):  removed.  
	  (ra_local_plugin):  remove abort_commit.  
	* libsvn_ra_dav/session.c (dav_plugin):  remove
	* libsvn_ra_dav/commit.c (svn_ra_dav__abort_commit):  removed.  

2001-06-12 12:35   Karl Fogel <>

	* doc/user/manual/: adds.texi (1.5), removals.texi (1.7):

	Reviewing at Ben's request: 
	(Committing additions): More precise behavior description.  
	(Additions from updates): Clarification.  
	(Removing items): More precise behavior descriptions, some wording 
	(Committing removals): Typos (fixed, not added, that is).  
	(Removals in updates): More precise behavior description.  

2001-06-12 10:55   Karl Fogel <>

	* subversion/include/svn_string.h (1.49):

	Fix typo.  

2001-06-11 20:43   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.59), include/svn_repos.h (1.12),
	libsvn_client/commit.c (1.48), libsvn_ra_dav/commit.c (1.54),
	libsvn_ra_dav/ra_dav.h (1.26), libsvn_ra_dav/session.c (1.24),
	libsvn_ra_local/ra_plugin.c (1.35), libsvn_repos/commit_editor.c

	Bugfix for #388: If the client wants to bail during a commit, tell
	the RA layer about it ( it can call svn_fs_abort_txn().) 
	* svn_ra.h (svn_ra_plugin_t->abort_commit):  new RA vtable func.  
	* svn_repos.h, commit_editor.c (svn_repos_get_commit_txn): new func
	  to return the the fs_txn within the edit_baton.  libsvn_ra_local
	  needs this to abort the txn.  
	  (svn_repos_get_editor):  set eb->txn to NULL for paranoia's sake.  
	* libsvn_ra_local/ra_plugin.c (abort_commit):  implement new RA
	(ra_local_plugin):  add abort_commit to static vtable.  
	* libsvn_ra_dav/commit.c ra_dav.h (svn_ra_dav__abort_commit): dummy 
	  version of new RA func.  
	* libsvn_ra_dav/session.c (dav_plugin): add
	  svn_ra_dav___abort_commit to static vtable.  
	* libsvn_client/commit.c (send_to_repos): call ra->abort_commit if
	  the editor-driver chokes during either a commit or an import. 
	  That's the whole point of all this.  

2001-06-11 19:24   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.105), libsvn_subr/svn_error.c

	Fix bug #392:  print human-readable descriptions of svn error-codes.  
	* svn_error.h (svn_strerror):  declare.  
	* svn_error.c (svn_error_strings):  monstrous table of strings that 
	  describe svn-specific errorcodes.  
	  (svn_strerror):  new func to lookup SVN error descriptions.  
	  (svn_handle_error):  call *both* svn_strerror() and apr_strerror().  

2001-06-11 15:53   Ben Collins-Sussman <>

	* subversion/libsvn_wc/get_editor.c (1.186):

	(add_or_replace_file):  rewrite the sanity checks.  It's okay to add
	a file already in `entries', but it's *not* okay to add a file if an 
	dirent of the same name already exists on disk.  

2001-06-11 12:35   Ben Collins-Sussman <>

	* subversion/: clients/cmdline/cl.h (1.3),
	clients/cmdline/feedback.c (1.1), clients/cmdline/main.c (1.3),
	include/svn_pools.h (1.3), libsvn_subr/svn_error.c (1.65),
	libsvn_wc/adm_crawler.c (1.115):

	Make the update-reporter use the feedback vtable to report
	unversioned items.  (i.e. no more printf() inside libsvn_wc. :) ) 
	Again, the joint work of Mssrs. Pilato and Collins-Sussman.  
	* svn_pools.h (svn_pool_feedback_t):  add apr_status_t to
	* svn_error.c (report_warning):  adjust dummy func.  
	* cl.h, feedback.c (svn_cl__init_feedback_vtable):  new func called
	by main().  
	* main.c (main):  call svn_cl__init_feedback_vtable.  
	* adm_crawler.c (svn_wc_crawl_revisions):  get feedback table, pass
	  it down.  
	(report_revisions):  now accepts feedback table as arg, uses it to 
	  report unversioned items.  

2001-06-11 11:10  C. Michael Pilato <>

	* build.conf (1.16), subversion/include/svn_pools.h (1.2),
	subversion/libsvn_subr/svn_error.c (1.64),
	subversion/tests/libsvn_subr/stream-test.c (1.2):

	Un-do the feedback stream stuff, Do-do the feedback vtable stuff.  A 
	"Collab"-orative effort by Ben Collins-Sussman and C-Mike Pilato.  
	* subversion/include/svn_pools.h 
	  (svn_pool_feedback_t): New vtable for returning feedback to client.  
	  (svn_pool_get_feedback_vtable): New function prototype.  
	  (svn_pool_get_feedback_stream): Removed obsolete function prototype.  
	* subversion/libsvn_subr/svn_error.c 
	  (SVN_ERROR_FEEDBACK_VTABLE): New hash key for global feedback 
	  (SVN_ERROR_STREAM): Removed unused hash key.  
	  (svn_pool_get_feedback_vtable): New function.  
	  (svn_pool_get_feedback_stream): Removed obsolete function.  
	  (svn_error_init_pool, svn_pool_create, svn_pool_clear): No longer 
	  care about feedback streams.  We're doing vtable stuff now! 
	  (report_unversioned_item, report_warning, report_progress): Dummy 
	  functions for default svn_pool_feedback_t allocations.  
	* subversion/tests/libsvn_subr/stream-test.c 
	  Obsolete file removed.  
	* build.conf 
	  (stream_test): no more.  

2001-06-11 11:10   Daniel Stenberg <>

	* TASKS (1.20):

	Testing CVS commit access for Daniel Steinberg. 

2001-06-11 10:41   Ben Collins-Sussman <>

	* notes/alpha_short (1.8):

	Another filesytem requirement for M3.  

2001-06-11 09:48   Ben Collins-Sussman <>

	* www/project_status.html (1.24):

	Tweak fuzzy status bars.  

2001-06-11 09:45   Ben Collins-Sussman <>

	* www/project_status.html (1.23):

	Updating status page.  

2001-06-11 09:02   Ben Collins-Sussman <>

	* PORTING (1.6):

	Add freebsd 4.3.  

2001-06-11 05:49   Greg Stein <>

	* subversion/libsvn_fs/: node-rev.c (1.11), proplist.c (1.10),
	skel.c (1.31), skel.h (1.22, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done):

	Change the "data" member in the skel_t to a "const char *". Change
	parameter type of svn_fs__mem_atom to include a const.  
	* node-rev.c (svn_fs__put_node_revision): remove an unneeded cast 
	* proplist.c (svn_fs__set_prop): remove unneeded casts 
	* skel.c (parse, list, implicit_atom, explicit_atom): add a "const"
	    to the data parameter. add const to some local variables.  
	  (explicit_atom, svn_fs__str_atom): remove unneeded casts 
	  (svn_fs__mem_atom): add "const" to the "addr" parameter 
	* skel.h (struct skel_t): add "const" to the "data" member 
	  (svn_fs__mem_atom): add "const" to the "addr" parameter 

2001-06-10 22:37   Greg Stein <>

	* subversion/libsvn_fs/proplist.c (1.9):

	(svn_fs__make_prop_hash): The data member in a skel_t refers
	  directly to the content in a skel string from the DB. The values are
	  not null-terminated.  We put the values into an apr_hash_t with the
	  correct length (thus, they are hashed properly). However, we
	  specified these as char* (with the commensurate expectation of them
	  being null-terminated); an apr_hash_this() to extract the string
	  could give you something that isn't null-terminated.  
	  Null-terminate the key by copying it.  
	  (conceivably, an alternative is to clarify the spec that the
	   proplist hash has non-terminated byte sequences, and avoid the

2001-06-10 22:30   Greg Stein <>

	* subversion/tests/libsvn_fs/fs-test.c (1.81):

	(node_props): the property values were placed into the wrong string 
	   structure (and broke test 14).  

2001-06-10 21:50   Greg Stein <>

	* subversion/: include/svn_fs.h (1.83), libsvn_fs/proplist.c (1.8),
	libsvn_fs/proplist.h (1.6, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done),
	libsvn_fs/rev-table.c (1.15, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done), libsvn_fs/skel.c
	(1.30), libsvn_fs/skel.h (1.21), libsvn_fs/tree.c (1.76),
	libsvn_fs/txn-table.c (1.27, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done),
	libsvn_repos/commit_editor.c (1.7), mod_dav_svn/deadprops.c (1.13),
	tests/libsvn_fs/fs-test.c (1.80),
	tests/libsvn_repos/dir-delta-editor.c (1.4):

	Change some FS interfaces over to use the new svn_string_t rather
	than svn_stringbuf_t.  
	* include/svn_fs.h (svn_fs_txn_prop, svn_fs_change_txn_prop, 
	    svn_fs_node_prop, svn_fs_change_node_prop, svn_fs_revision_prop, 
	    svn_fs_change_rev_prop): change property name and value (input) 
	    parameters to use "const svn_string_t *".  
	    (note: the outputs are still svn_stringbuf_t) 
	* libsvn_fs/proplist.[ch] (svn_fs__get_prop, svn_fs__set_prop):
	    change name value value (input) parameters to use "const
	svn_string_t *".  
	* libsvn_fs/rev-table.c (struct revision_prop_args): change propname
	(svn_fs_revision_prop): change propname parameter type 
	  (struct change_rev_prop_args): change name, value types 
	  (svn_fs_change_rev_prop): change name, value types 
	* libsvn_fs/skel.[ch] (svn_fs__atom_matches_string): change str
	param type 
	* libsvn_fs/tree.c (struct node_prop_args): change propname type 
	  (svn_fs_node_prop): change propname param type 
	  (struct change_node_prop_args): change name, value types 
	  (svn_fs_change_node_prop): change name, value types 
	* libsvn_fs/txn-table.c (struct txn_prop_args): change propname type 
	  (svn_fs_txn_prop): change propname param type 
	  (struct change_txn_prop_args): change name, value types 
	  (svn_fs_change_txn_prop): change name, value types 
	* libsvn_repos/commit-editor.c (struct edit_baton): change log_msg
	    member from svn_stringbuf_t* to svn_string_t.  
	  (change_file_prop, change_dir_prop): construct svn_string_t
	    structures from NAME and VALUE and pass the structures to
	(close_edit): construct PROPNAME variable as an svn_string_t and
	    pass it to svn_fs_change_txn_prop(). tweak passing of log_msg.  
	  (svn_repos_get_editor): construct eb->log_msg a bit differently 
	* mod_dav_svn/deadprops.c (dav_svn_db_fetch, dav_svn_db_store, 
	    dav_svn_db_remove, dav_svn_db_exists): construct and pass
	    svn_string_t instead of an svn_stringbuf_t structure.  
	* tests/libsvn_fs/fs-test.c (call_functions_with_unopened_fs, 
	    revision_props, transactions_props, node_props): construct and
	    pass svn_string_t structures instead of svn_stringbuf_t.  
	* tests/libsvn_repos/dir-delta-editor.c (test_change_file_prop, 
	    test_change_dir_prop): construct and pass svn_string_t
	    structures instead of svn_stringbuf_t.  

2001-06-10 21:22   Greg Stein <>

	* subversion/: clients/cmdline/trace-commit.c (1.3),
	mod_dav_svn/merge.c (1.13), mod_dav_svn/mod_dav_svn.c (1.20),
	mod_dav_svn/repos.c (1.52), mod_dav_svn/update.c (1.5),
	tests/libsvn_subr/target-test.c (1.10),
	tests/libsvn_wc/checkout-test.c (1.44):

	Add #include "svn_pools.h" to get these files to compile cleanly.  

2001-06-10 19:39   Greg Stein <>

	* subversion/include/svn_string.h (1.48):

	Add new svn_string_t datatype and a bunch of commentary of the two
	Some simple white space changes (reindenting).  

2001-06-10 18:47   Greg Stein <>

	* ac-helpers/svn-apache.m4 (1.13):

	Fix cut/paste typo. INSTALL_APACHE_RULE should be
	install-mods-shared for the shared case.  

2001-06-10 16:17   Branko Cibej <>

	* (1.92):

	Always subst SVN_DB_INCLUDES and SVN_DB_LIBS.  

2001-06-09 07:36   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.58), include/svn_repos.h (1.11),
	libsvn_ra_dav/fetch.c (1.58), libsvn_ra_local/ra_plugin.c (1.34),
	libsvn_repos/reporter.c (1.11), libsvn_wc/adm_crawler.c (1.114):

	If update reporter chokes, it should no longer leave an orphaned fs 
	* svn_ra.h (abort_report):  new reporter func, allows report-driver
	  to tell the RA layer to destroy the fs transaction.  
	* svn_repos.h, reporter.c (svn_repos_abort_report):  simple func
	  calls svn_fs_abort_txn().  
	* libsvn_ra_local/ra_plugin.c (ra_local_reporter): add pointer to 
	* libsvn_ra_dav/fetch.c (reporter_abort_report):  add dummy func.  
	  gstein, see its comment.  
	  (ra_dav_reporter):  add pointer to reporter_abort_report.  
	* adm_crawler.c (svn_wc_crawl_revisions): if report_revisions() 
	  returns error, call abort_report().  That's the whole point of all

2001-06-08 22:39   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.113):

	(report_revisions):  make the `?'-printing algorithm less stupid. 

2001-06-08 22:04   Ben Collins-Sussman <>

	* subversion/: include/svn_io.h (1.40), libsvn_subr/io.c (1.39),
	libsvn_wc/adm_crawler.c (1.112), libsvn_wc/get_editor.c (1.185):

	Finish fix for bug #337: Updates now notice missing items and re-add
	them, and print '?'  next to unversioned items.  
	Note:  the 'auto-replacement' trick only works with ra_local right 
	now, not yet ra_dav.  
	* svn_io.h (svn_io_get_dirents):  new helper function.  
	* io.c (svn_io_get_dirents):  implement.  
	* adm_crawler.c (report_revisions):  big rewrite -- compare SVN 
	  entries against actual dirents.  
	* get_editor.c (add_or_replace_file):  remove the sanity check in
	  this function, as it was preventing files from being re-added.  see
	  the comments in the code.  

2001-06-08 16:35  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/.cvsignore (1.7):

	* tests/libsvn_fs/.cvsignore 
	  Ignore key-test binary.  

2001-06-08 16:33  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.108):

	* libsvn_wc/entries.c 
	  (check_entries): New svn_stringbuf_t is what I *really* wanted here! 

2001-06-08 16:31  C. Michael Pilato <>

	* build.conf (1.15), subversion/clients/cmdline/main.c (1.2),
	subversion/clients/cmdline/trace-update.c (1.3),
	subversion/include/svn_error.h (1.104), subversion/include/svn_io.h
	(1.39), subversion/include/svn_pools.h (1.1),
	subversion/libsvn_client/add.c (1.16),
	subversion/libsvn_client/commit.c (1.47),
	subversion/libsvn_delta/svndiff.c (1.24),
	subversion/libsvn_delta/text_delta.c (1.34),
	subversion/libsvn_delta/xml_output.c (1.39),
	subversion/libsvn_delta/xml_parse.c (1.156),
	subversion/libsvn_fs/dag.c (1.96), subversion/libsvn_fs/fs.c
	(1.46), subversion/libsvn_fs/trail.c (1.11,
	postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done), subversion/libsvn_fs/tree.c (1.75),
	subversion/libsvn_fs/txn.c (1.42, premerge_strings-reps-dev),
	subversion/libsvn_ra_dav/commit.c (1.53),
	subversion/libsvn_ra_local/checkout.c (1.11),
	subversion/libsvn_ra_local/ra_plugin.c (1.33),
	subversion/libsvn_ra_local/split_url.c (1.11),
	subversion/libsvn_repos/commit_editor.c (1.6),
	subversion/libsvn_repos/delta.c (1.49),
	subversion/libsvn_subr/base64.c (1.19), subversion/libsvn_subr/io.c
	(1.38), subversion/libsvn_subr/quoprint.c (1.6),
	subversion/libsvn_subr/svn_error.c (1.63),
	subversion/libsvn_subr/target.c (1.10),
	subversion/libsvn_subr/xml.c (1.39),
	subversion/libsvn_wc/adm_crawler.c (1.111),
	subversion/libsvn_wc/adm_ops.c (1.71),
	subversion/libsvn_wc/get_editor.c (1.184),
	subversion/svnadmin/main.c (1.12), subversion/tests/fs-helpers.c
	(1.4), subversion/tests/svn_tests_main.c (1.23),
	subversion/tests/libsvn_delta/deltaparse-test.c (1.71),
	subversion/tests/libsvn_delta/random-test.c (1.24),
	subversion/tests/libsvn_delta/xml-output-test.c (1.16),
	subversion/tests/libsvn_fs/fs-test.c (1.79),
	subversion/tests/libsvn_fs/skel-test.c (1.22),
	subversion/tests/libsvn_repos/repos-test.c (1.3),
	subversion/tests/libsvn_subr/.cvsignore (1.10),
	subversion/tests/libsvn_subr/stream-test.c (1.1),
	subversion/tests/libsvn_wc/commit-test.c (1.32):

	Big Ol' Change: Moved pool-related function prototypes into new 
	include file, svn_pools.h.  This was done to solve some circular 
	dependency issues related another change -- the addition of an 
	svn_stream_t to the userdata of SVN pools.  Dubbed the "feedback 
	stream", this stream provides a way for any function with access to
	a Subversion pool to send bytes out to whoever may want them, and is 
	scheduled to be used for non-fatal warnings and such.  
	In the future, this mechanism may be replaced by a function v-table
	to optimize data transmission (why package up in a string protocol
	data that is just going to be unpackaged by in-process methods?) 
	* subversion/include/svn_pools.h 
	  New header file for pool-related function prototypes.  
	* subversion/tests/libsvn_subr/stream-test.c 
	  New file for stream-related tests.  Current contains just the one 
	  test for the feedback stream, but your contributions and patches
	  are welcome....  
	* subversion/tests/libsvn_subr/.cvsignore 
	  Please ignore the generated stream-test binary.  
	* build.conf 
	  (stream-test): New section for stream-test test.  
	* subversion/include/svn_error.h 
	  Big change:  Moved pool-related prototypes and related epic 
	  storytelling to new file, svn_pools.h.  
	  (SVN_ERR_WC_CORRUPT): New error type for corrupted working copies.  
	* subversion/libsvn_subr/svn_error.c 
	  (SVN_ERROR_STREAM): New key into pool's userdata for the feedback 
	  (svn_pool_get_feedback_stream): New function for retrieving the 
	  feedback stream from a pool.  
	  (svn_error_init_pool, svn_pool_create, svn_pool_clear): Keep the new 
	  feedback stream in mind when creating and destroying pools.  
	* subversion/include/svn_io.h 
	* subversion/libsvn_subr/io.c 
	  (svn_stream_dup): New function for duplicating streams.  
	  (svn_stream_set_baton): New accessor function for setting the baton 
	  associated with a stream (just in case you didn't have one handy
	  at stream creation time).  
	* subversion/clients/cmdline/main.c 
	* subversion/clients/cmdline/trace-update.c 
	* subversion/libsvn_client/add.c 
	* subversion/libsvn_client/commit.c 
	* subversion/libsvn_delta/svndiff.c 
	* subversion/libsvn_delta/text_delta.c 
	* subversion/libsvn_delta/xml_output.c 
	* subversion/libsvn_delta/xml_parse.c 
	* subversion/libsvn_fs/dag.c 
	* subversion/libsvn_fs/fs.c 
	* subversion/libsvn_fs/trail.c 
	* subversion/libsvn_fs/tree.c 
	* subversion/libsvn_fs/txn.c 
	* subversion/libsvn_ra_dav/commit.c 
	* subversion/libsvn_ra_local/checkout.c 
	* subversion/libsvn_ra_local/ra_plugin.c 
	* subversion/libsvn_ra_local/split_url.c 
	* subversion/libsvn_repos/commit_editor.c 
	* subversion/libsvn_repos/delta.c 
	* subversion/libsvn_subr/base64.c 
	* subversion/libsvn_subr/quoprint.c 
	* subversion/libsvn_subr/target.c 
	* subversion/libsvn_subr/xml.c 
	* subversion/libsvn_wc/adm_crawler.c 
	* subversion/libsvn_wc/adm_ops.c 
	* subversion/libsvn_wc/get_editor.c 
	* subversion/svnadmin/main.c 
	* subversion/tests/fs-helpers.c 
	* subversion/tests/svn_tests_main.c 
	* subversion/tests/libsvn_delta/deltaparse-test.c 
	* subversion/tests/libsvn_delta/random-test.c 
	* subversion/tests/libsvn_delta/xml-output-test.c 
	* subversion/tests/libsvn_fs/fs-test.c 
	* subversion/tests/libsvn_fs/skel-test.c 
	* subversion/tests/libsvn_repos/repos-test.c 
	* subversion/tests/libsvn_wc/commit-test.c 
	  Now #include svn_pools.h 

2001-06-08 16:25   Karl Fogel <>

	* subversion/tests/libsvn_fs/key-test.c (1.1):

	New file; accidentally left out of previous commit.  

2001-06-08 16:05  C. Michael Pilato <>

	* subversion/tests/libsvn_subr/path-test.c (1.3):

	* subversion/tests/libsvn_subr/path-test.c 
	  Oops!  Forgot to edit a copied header docstring.  

2001-06-08 16:03  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.107):

	Index: libsvn_wc/entries.c 
	  (check_entries): New validation function (this is a work in 
	  progress, part of a bigger picture that has not yet been painted.  

2001-06-08 15:49   Greg Stein <>

	* subversion/mod_dav_svn/merge.c (1.12):

	(send_response): ap_fputstrs() now returns an apr_status_t. toss the 
	  comment, and bring back the status checking code.  

2001-06-08 15:27   Karl Fogel <>

	* build.conf (1.14), subversion/libsvn_fs/convert-size.c (1.12),
	subversion/libsvn_fs/convert-size.h (1.8),
	subversion/libsvn_fs/id.c (1.25), subversion/libsvn_fs/key-gen.c
	(1.1), subversion/libsvn_fs/key-gen.h (1.1),
	subversion/libsvn_fs/reps-table.h (1.2),
	subversion/libsvn_fs/skel.c (1.29),
	subversion/libsvn_fs/txn-table.c (1.26),
	subversion/tests/libsvn_fs/ (1.6):

	Helper routine and tests for sequential key generation in the 
	`representations' and `strings' tables, plus a minor reorganization
	to put all key manufacturing in one place: 
	* convert-size.h, convert-size.c: Renamed, see below.  
	* key-gen.h, key-gen.c: Replace convert-size.h, convert-size.c.  
	* id.c, skel.c, txn-table.c: #include key-gen.h instead of 
	* key-gen.h (next_key_key): Declare extern.  
	(svn_fs__next_key): New declaration.  
	* key-gen.c (next_key_key): Define.  
	(svn_fs__next_key): New func.  
	* key-test.c: New file, tests svn_fs__next_key.  
	* Run `key-test' program.  
	* build.conf (key-test): New target.  

2001-06-08 12:17   Karl Fogel <>

	* subversion/tests/clients/cmdline/: (1.10), (1.4):

	New conflict test, plus some general reorganization, all submitted
	by Mike Sussman <>: 
	* (compare_trees): Take new singleton_handler function 
	arguments, invoked when one tree contains elements not present in
	the other tree.  Don't flatten tree structures; instead, descend in
	the usual way and compare them as trees, the same way the filesystem
	The motivation for this was conflict testing.  Subversion conflicts 
	produce extra files, but the old compare_trees() was first
	flattening the tree structure and then comparing children based only
	on an index into an array of children.  This worked fine until there
	were extra entries, namely the .rej files, in the working copy where
	the conflict actually occurs -- from the second wc would
	be wrongly compared to tau from the first tree, and the test would
	fail fail.  So now we walk the tree structures in parallel, and
	handle structural differences by invoking one or the other of the
	singleton handlers.  Most tests will simply use
	default_singleton_handler() (see below), which simply raises an
	SVNTreeUnequal exception.  Some tests, however, will override the
	default, providing a singleton handler more appropriate to that
	test; see conflict_from_wc_top() below for an example.  
	(compare_file_nodes): Renamed from compare_nodes.  
	(get_child, default_singleton_handler): New helper funcs.  
	(SVNTypeMismatch, SVNTreeIsNotDirectory): New exceptions.  
	* (conflict_from_wc_top): New test for conflict.  
	(verify_rej_file): New singleton func to handle the .rej files in
	the conflict test.  
	(extra_files): New global dictionary needed by both verify_rej_file 
	and conflict_from_wc_top to verify that all .rej files have been 
	covered exactly once.  
	(run_and_verify_commit, run_and_verify_update,
	run_and_verify_status, run_and_verify_checkout): Take new singleton
	funcs as arguments and pass to compare_trees.  All callers changed.  
	(guarantee_greek_repository): Minor bugfix - modified url to take 
	proper number of forward slashes.  We were actually passing a URL to 
	SVN with four forward slashes, but this was actually getting hidden
	by SVN's robustness.  
	(test_list): Run the new conflict test.  

2001-06-08 11:34   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.38):

	(Syntactic elements): Move structured data from `strings' table to 
	`representations' table, for easier ranged operations on strings.  
	(DELTA, CHECKSUM): Removed these redundant sections.  It's clear
	from context and from the grammar how these work.  

2001-06-08 04:46   Greg Stein <>

	* subversion/: bindings/svn_string.i (1.3),
	clients/win32/svn_com/SVN.cpp (1.6):

	Pick up new more changes of svn_string_t -> svn_stringbuf_t.  

2001-06-08 04:01   Greg Stein <>

	* subversion/: clients/cmdline/add-cmd.c (1.2),
	clients/cmdline/checkout-cmd.c (1.2), clients/cmdline/cl.h (1.2),
	clients/cmdline/commit-cmd.c (1.2), clients/cmdline/delete-cmd.c
	(1.2), clients/cmdline/diff-cmd.c (1.2), clients/cmdline/diff.c
	(1.2), clients/cmdline/help-cmd.c (1.2),
	clients/cmdline/import-cmd.c (1.2), clients/cmdline/propget-cmd.c
	(1.2), clients/cmdline/proplist-cmd.c (1.2),
	clients/cmdline/props.c (1.2), clients/cmdline/propset-cmd.c (1.2),
	clients/cmdline/status-cmd.c (1.2), clients/cmdline/status.c (1.2),
	clients/cmdline/trace-commit.c (1.2),
	clients/cmdline/trace-update.c (1.2), clients/cmdline/update-cmd.c
	(1.2), clients/cmdline/util.c (1.3), include/svn_base64.h (1.10),
	include/svn_client.h (1.35), include/svn_delta.h (1.151),
	include/svn_fs.h (1.82), include/svn_hash.h (1.17),
	include/svn_io.h (1.38), include/svn_path.h (1.38),
	include/svn_quoprint.h (1.3), include/svn_ra.h (1.57),
	include/svn_repos.h (1.10), include/svn_sorts.h (1.4),
	include/svn_string.h (1.47), include/svn_test.h (1.17),
	include/svn_wc.h (1.100), include/svn_xml.h (1.31),
	libsvn_client/add.c (1.15), libsvn_client/apply_edits.c (1.16),
	libsvn_client/checkout.c (1.19), libsvn_client/client.h (1.13),
	libsvn_client/commit.c (1.46), libsvn_client/delete.c (1.11),
	libsvn_client/diff.c (1.3), libsvn_client/status.c (1.13),
	libsvn_client/update.c (1.19), libsvn_delta/compose_editors.c
	(1.17), libsvn_delta/default_editor.c (1.8), libsvn_delta/delta.h
	(1.55), libsvn_delta/svndiff.c (1.23), libsvn_delta/text_delta.c
	(1.33), libsvn_delta/track_editor.c (1.5),
	libsvn_delta/xml_output.c (1.38), libsvn_delta/xml_parse.c (1.155),
	libsvn_fs/dag.c (1.95), libsvn_fs/dag.h (1.43,
	premerge_strings-reps-dev), libsvn_fs/dbt.c (1.19,
	postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done), libsvn_fs/err.c (1.29,
	premerge_strings-reps-dev), libsvn_fs/id.c (1.24),
	libsvn_fs/proplist.c (1.7), libsvn_fs/proplist.h (1.5),
	libsvn_fs/rev-table.c (1.14), libsvn_fs/skel.c (1.28),
	libsvn_fs/skel.h (1.20), libsvn_fs/tree.c (1.74),
	libsvn_fs/txn-table.c (1.25), libsvn_ra/ra_loader.c (1.7),
	libsvn_ra_dav/commit.c (1.52), libsvn_ra_dav/fetch.c (1.57),
	libsvn_ra_dav/merge.c (1.11), libsvn_ra_dav/options.c (1.7),
	libsvn_ra_dav/ra_dav.h (1.25), libsvn_ra_dav/session.c (1.23),
	libsvn_ra_dav/util.c (1.3), libsvn_ra_local/checkout.c (1.10),
	libsvn_ra_local/ra_local.h (1.16), libsvn_ra_local/ra_plugin.c
	(1.32), libsvn_ra_local/split_url.c (1.10),
	libsvn_repos/commit_editor.c (1.5), libsvn_repos/delta.c (1.48),
	libsvn_repos/reporter.c (1.10), libsvn_subr/base64.c (1.18),
	libsvn_subr/hashdump.c (1.25), libsvn_subr/io.c (1.37),
	libsvn_subr/path.c (1.38), libsvn_subr/quoprint.c (1.5),
	libsvn_subr/sorts.c (1.3), libsvn_subr/svn_string.c (1.14),
	libsvn_subr/target.c (1.9), libsvn_subr/xml.c (1.38),
	libsvn_wc/adm_crawler.c (1.110), libsvn_wc/adm_files.c (1.80),
	libsvn_wc/adm_ops.c (1.70), libsvn_wc/entries.c (1.106),
	libsvn_wc/get_editor.c (1.183), libsvn_wc/local_changes.c (1.28),
	libsvn_wc/lock.c (1.24), libsvn_wc/log.c (1.99), libsvn_wc/props.c
	(1.32), libsvn_wc/questions.c (1.53), libsvn_wc/status.c (1.34),
	libsvn_wc/util.c (1.18), libsvn_wc/wc.h (1.152),
	mod_dav_svn/activity.c (1.7), mod_dav_svn/dav_svn.h (1.34),
	mod_dav_svn/deadprops.c (1.12), mod_dav_svn/liveprops.c (1.21),
	mod_dav_svn/merge.c (1.11), mod_dav_svn/repos.c (1.51),
	mod_dav_svn/update.c (1.4), mod_dav_svn/version.c (1.27),
	tests/fs-helpers.c (1.3), tests/fs-helpers.h (1.3),
	tests/svn_test_editor.c (1.25),
	tests/libsvn_delta/deltaparse-test.c (1.70),
	tests/libsvn_delta/xml-output-test.c (1.15),
	tests/libsvn_fs/fs-test.c (1.78), tests/libsvn_fs/skel-test.c
	(1.21), tests/libsvn_ra_local/ra-local-test.c (1.10),
	tests/libsvn_repos/dir-delta-editor.c (1.3),
	tests/libsvn_repos/dir-delta-editor.h (1.3),
	tests/libsvn_subr/hashdump-test.c (1.21),
	tests/libsvn_subr/path-test.c (1.2), tests/libsvn_subr/stringtest.c
	(1.9), tests/libsvn_subr/target-test.c (1.9),
	tests/libsvn_wc/checkout-test.c (1.43),
	tests/libsvn_wc/commit-test.c (1.31):

	Rename the svn_string_t type to svn_stringbuf_t.  

2001-06-08 03:34   Greg Stein <>

	* subversion/bindings/svn_error.i (1.3):

	Minor tweak for the generated comments.  

2001-06-08 03:34   Greg Stein <>

	* subversion/: include/svn_fs.h (1.81), libsvn_fs/fs.c (1.45),
	libsvn_fs/fs.h (1.22):

	Change the warning callback typedef to include the ptr.  
	* svn_fs.h (svn_fs_warning_callback_t): change typedef to include
	(svn_fs_warning_func): toss the "*' on the WARNING param 
	* libsvn_fs/fs.c (svn_fs_set_warning_func): change params 
	  (cleanup_fs_apr): deref the ->warning member 
	* libsvn_fs/fs.h (struct svn_fs_t): remove ptr from the ->warning

2001-06-07 20:09   Branko Cibej <>

	* (1.14), (1.91),
	ac-helpers/berkeley-db.m4 (1.8):

	Libsvn_ra_dav was missing the an explicit dependency on
	$(SVN_DB_LIBS), which didn't help building the client with
	--disable-shared (although I don't see why libtool doesn't figure
	out a transitive closure of dependent libraries when doing a static
	link). And, interestingly enough, $(SVN_DB_LIBS) wasn't being set
	anywhere. Weird.  
		* ac-helpers/berkeley-db.m4: Set SVN_DB_INCLUDES and SVN_DB_LIBS 
		if Berkeley DB was found.  
		* Substitute SVN_DB_INCLUDES and SVN_DB_LIBS, and 
		add $(SVN_DB_LIBS) to SVN_RA_LIB_LINK for libsvn_ra_local.  
		* Define SVN_DB_LIBS and @SVN_DB_INCLUDES@ to 

2001-06-07 19:56   Karl Fogel <>

	* subversion/include/svn_error.h (1.103), subversion/libsvn_fs/fs.c
	(1.44), subversion/libsvn_fs/fs.h (1.21),
	subversion/libsvn_fs/reps-table.c (1.1),
	subversion/libsvn_fs/reps-table.h (1.1),
	subversion/libsvn_fs/structure (1.37), notes/fs-improvements.txt

	Document the plan for moving all non-constant (i.e., deltifiable)
	data out of nodes table, into new `representations' and `strings'
	tables.  Also provide header files and backend code for doing so,
	but don't call it yet.  That's tomorrow. :-) 
	* structure: Document new plan.  This will be a major change to the 
	filesystem; if you want to know more about it, this file's diff is
	the one to read.  
	* fs-improvements.txt: Refer to the new documentation in
	* reps-table.h, reps-table.c: New files.  
	* fs.h (svn_fs_t): New field for `representations' table.  
	* fs.c (svn_fs_create_berkeley): Create the `representations' table.  
	* svn_error.h (svn_errno_t): New error

2001-06-07 14:25  C. Michael Pilato <>

	* subversion/libsvn_repos/reporter.c (1.9):

	* libsvn_repos/reporter.c 
	  (svn_repos_delete_path): Oops!  FS functions take c-strings, not 

2001-06-07 12:38   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.56), include/svn_repos.h (1.9),
	libsvn_ra_dav/fetch.c (1.56), libsvn_ra_local/ra_plugin.c (1.31),
	libsvn_repos/reporter.c (1.8):

	Starting fix for bug #337: An update should notice missing items and
	replace them, and print '?' next to unversioned items.  
	* svn_ra.h (svn_ra_reporter_t):  new vtable routine "delete_path()" 
	* svn_repos.h (svn_repos_delete_path):  declare.  
	* reporter.c (svn_repos_delete_path):  implement.  
	* libsvn_ra_local/ra_plugin.c (ra_local_reporter):  add 
	  svn_repos_delete_path to this static vtable.  
	* libsvn_ra_dav/fetch.c (ra_dav_reporter):  add dummy func to make 
	  this library compile.  
	  (reporter_delete_path):  dummy func. (gstein, have at it!) 

2001-06-07 10:15   Ben Collins-Sussman <>

	* doc/user/manual/: adds.texi (1.4), model.texi (1.2),
	removals.texi (1.6):

	User doc tweaks, after CMike's inspection.  

2001-06-06 12:53   Ben Collins-Sussman <>

	* doc/user/manual/: adds.texi (1.3), license.texi (1.1),
	removals.texi (1.5), svn-manual.texi (1.4):

	Tweaks to let the user manual compile correctly.  (Why does
	'texinfo' choke when compiling a table of contents?  'texi2html'
	* license.texi:  new file 
	* svn-manual.texi:  comment out TOC tags for now.  
	* adds.texi, removals.texi:  use @samp instead of @command.  

2001-06-06 12:45  C. Michael Pilato <>

	* subversion/libsvn_client/add.c (1.14):

	* libsvn_client/add.c 
	  (add_dir_recursive): New helper function.  
	  (svn_client_add): Support recursive add now.  

2001-06-06 12:17   Ben Collins-Sussman <>

	* doc/user/manual/: adds.texi (1.2), removals.texi (1.4):

	More documentation on how adds and deletes work with versioned

2001-06-06 10:45  C. Michael Pilato <>

	* subversion/libsvn_wc/: adm_crawler.c (1.109), adm_ops.c (1.69),
	log.c (1.98):

	* libsvn_wc/adm_crawler.c 
	  (verify_tree_deletion): Loosen the logic for replaced dir 
	  verification here.  For now...  
	  (report_local_mods): Cleanup some logic for deletes and adds.  
	* libsvn_wc/adm_ops.c 
	  (svn_wc_undelete): Recurse only when asked to do so! 
	* libsvn_wc/log.c 
	  (log_do_committed): Don't blow away the administrative subdir on the 
	  "replace" case -- only on "delete".  

2001-06-05 17:11   Ben Collins-Sussman <>

	* doc/user/manual/: adds.texi (1.1), removals.texi (1.3),
	svn-manual.texi (1.3):

	Saving work.  

2001-06-05 15:57   Ben Collins-Sussman <>

	* doc/user/manual/: model.texi (1.1), removals.texi (1.2),
	svn-manual.texi (1.2):

	Check in some descriptions of removal behavior.  

2001-06-05 13:29  C. Michael Pilato <>

	* subversion/clients/cmdline/util.c (1.2):

	* clients/cmdline/util.c 
	  (svn_cl__args_to_target_array): Little post-Stein-ian fix-em-ups.  

2001-06-05 09:58   Karl Fogel <>

	* subversion/tests/clients/cmdline/ (1.10):

	(svn_binary): Point to new location of the `svn' binary.  

2001-06-05 09:54   Karl Fogel <>

	* README (1.13):

	Correct path to command line client code.  

2001-06-05 09:52   Karl Fogel <>

	* STACK (1.92), build.conf (1.13),
	subversion/clients/cmdline/.cvsignore (1.1),
	subversion/clients/cmdline/README (1.1),
	subversion/clients/cmdline/TODO (1.1),
	subversion/clients/cmdline/add-cmd.c (1.1),
	subversion/clients/cmdline/checkout-cmd.c (1.1),
	subversion/clients/cmdline/cl.h (1.1),
	subversion/clients/cmdline/commit-cmd.c (1.1),
	subversion/clients/cmdline/delete-cmd.c (1.1),
	subversion/clients/cmdline/diff-cmd.c (1.1),
	subversion/clients/cmdline/diff.c (1.1),
	subversion/clients/cmdline/help-cmd.c (1.1),
	subversion/clients/cmdline/import-cmd.c (1.1),
	subversion/clients/cmdline/main.c (1.1),
	subversion/clients/cmdline/propget-cmd.c (1.1),
	subversion/clients/cmdline/proplist-cmd.c (1.1),
	notes/fs-improvements.txt (1.10),
	subversion/clients/cmdline/props.c (1.1),
	subversion/clients/cmdline/propset-cmd.c (1.1),
	subversion/clients/cmdline/status-cmd.c (1.1),
	subversion/clients/cmdline/status.c (1.1),
	subversion/clients/cmdline/subversion_client.dsp (1.1),
	subversion/clients/cmdline/trace-commit.c (1.1),
	subversion/clients/cmdline/trace-update.c (1.1),
	subversion/clients/cmdline/update-cmd.c (1.1),
	subversion/clients/cmdline/util.c (1.1):

	Move command line client from client/ to clients/cmdline/, as we 
	discussed sometime in the last ice age: 
	* subversion/clients/cmdline/, subversion/clients/cmdline/tests/:
	New dirs.  
	* build.conf (paths, svn): Adjust path to command line client dir.  
	Also, fix the title line at top of file, which is unrelated to the 
	rest of this change.  
	* subversion/client/, subversion/client/tests/: Moved all 
	version-controlled files moved to above new dirs: 

2001-06-05 04:58   Greg Stein <>

	* (1.90):

	Fix the installation process: it should copy, not move.  
	Submitted by: Mo DeJong <> 

2001-06-04 18:34   Greg Stein <>

	* (1.89), (1.19):

	*) tweak the INSTALL macro again 
	*) in the INSTALL_INCLUDE lines, add $(top_srcdir) to
	     the source file.  
	Submitted by: Mo DeJong <> 

2001-06-04 17:06   Ben Collins-Sussman <>

	* (1.13):

	Allow design doc to build again.  

2001-06-04 17:00   Ben Collins-Sussman <>

	* doc/: README (1.9), WritingChangeLogs.txt (1.3),
	architecture.texi (1.16), client.texi (1.35), deltas.texi (1.7),
	future.texi (1.12), goals.texi (1.11), license.texi (1.4),
	model.texi (1.11), protocol.texi (1.7), server.texi (1.38),
	svn-design.texi (1.17), programmer/WritingChangeLogs.txt (1.1),
	programmer/design/architecture.texi (1.1),
	programmer/design/client.texi (1.1), programmer/design/deltas.texi
	(1.1), programmer/design/future.texi (1.1),
	programmer/design/goals.texi (1.1), programmer/design/license.texi
	(1.1), programmer/design/model.texi (1.1),
	programmer/design/protocol.texi (1.1),
	programmer/design/server.texi (1.1),
	programmer/design/svn-design.texi (1.1), user/manual/README (1.1),
	user/manual/removals.texi (1.1), user/manual/svn-manual.texi (1.1):

	Revamping the organization of the doc/ directory.  Take a look-see
	in the top-level of README.  
	As a rule, each texinfo document needs to be isolated in its own 
	directory (since each doc typically consists of multiple .texi files 
	and leaves a mess when compiling.)  The Right solution for building 
	docs is to be able to describe them in our top-level build.conf. 
	But for now, we'll just enable our "design" doc to build directly.  

2001-06-04 14:50   Greg Stein <>

	* (1.88):

	Fix typo in setting up the INSTALL program.  
	Submitted by: Mo DeJong <> 

2001-06-04 11:55  C. Michael Pilato <>

	* subversion/: include/svn_wc.h (1.99), libsvn_wc/adm_ops.c (1.68),
	libsvn_wc/status.c (1.33):

	* include/svn_wc.h 
	  (enum svn_wc_status_kind): Added "replaced" kind.  
	* client/status.c 
	  (generate_status_codes): Added 'R' code for entries that are 
	  replaced (deleted + added) 
	* libsvn_wc/adm_ops.c 
	  (svn_wc_add_directory): Bug fix: make sure that "this_dir" entry for 
	  added directory behaves the same way the entry in its parent dir 
	* libsvn_wc/status.c 
	  (assemble_status): Make new case for "replaced" entries.  

2001-06-04 07:38   Greg Stein <>

	* subversion/bindings/: README (1.2), apr.i (1.2), svn_error.i
	(1.2), svn_fs.i (1.2), svn_string.i (1.2), svn_types.i (1.2):

	Continued work on the SWIG bindings. Focusing on svn_fs.i (and
	required supporting types).  

2001-06-04 03:19   Greg Stein <>

	* (1.12):

	more vpath work. bug fix for installation.  
	Submitted by: Mo DeJong <> 

2001-06-04 02:41   Greg Stein <>

	* .cvsignore (1.9), subversion/.cvsignore (1.2),
	subversion/bindings/.cvsignore (1.2),
	subversion/bindings/guile/.cvsignore (1.2),
	subversion/bindings/java/.cvsignore (1.2),
	subversion/bindings/perl/.cvsignore (1.2),
	subversion/bindings/python/.cvsignore (1.2), doc/.cvsignore (1.7),
	expat-lite/.cvsignore (1.3), subversion/bindings/ruby/.cvsignore
	(1.2), subversion/bindings/tcl/.cvsignore (1.2),
	subversion/include/.cvsignore (1.2),
	subversion/libsvn_client/.cvsignore (1.3),
	subversion/libsvn_delta/.cvsignore (1.7),
	subversion/libsvn_fs/.cvsignore (1.4, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done),
	subversion/libsvn_ra/.cvsignore (1.2),
	subversion/libsvn_ra_dav/.cvsignore (1.2),
	subversion/libsvn_ra_local/.cvsignore (1.2),
	subversion/libsvn_repos/.cvsignore (1.2),
	subversion/libsvn_subr/.cvsignore (1.5),
	subversion/libsvn_wc/.cvsignore (1.7),
	subversion/mod_dav_svn/.cvsignore (1.3),
	subversion/svnadmin/.cvsignore (1.2), subversion/tests/.cvsignore
	(1.3), subversion/tests/clients/cmdline/.cvsignore (1.3),
	subversion/tests/libsvn_delta/.cvsignore (1.10),
	subversion/tests/libsvn_fs/.cvsignore (1.6),
	subversion/tests/libsvn_ra_local/.cvsignore (1.3),
	subversion/tests/libsvn_repos/.cvsignore (1.2),
	subversion/tests/libsvn_subr/.cvsignore (1.9),
	subversion/tests/libsvn_wc/.cvsignore (1.7):

	Remove some items that we don't generate from the .cvsignore files.
	Remove several .cvsignore files from directories where nothing ever
	gets built.  
	For the most part, the following were removed: Makefile,, ChangeLog*, .deps, tests.log 

2001-06-04 02:24   Greg Stein <>

	* subversion/ (1.28), subversion/bindings/
	(1.2), subversion/bindings/guile/ (1.2),
	subversion/bindings/java/ (1.2),
	subversion/bindings/perl/ (1.2),
	subversion/bindings/python/ (1.2),
	subversion/bindings/ruby/ (1.2),
	subversion/bindings/tcl/ (1.2),
	subversion/libsvn_client/ (1.16), doc/ (1.4),
	expat-lite/ (1.4), subversion/libsvn_delta/
	(1.19), subversion/libsvn_fs/ (1.43),
	subversion/libsvn_ra/ (1.2),
	subversion/libsvn_ra_dav/ (1.12),
	subversion/libsvn_ra_local/ (1.9),
	subversion/libsvn_repos/ (1.5),
	subversion/libsvn_subr/ (1.18),
	subversion/libsvn_wc/ (1.29),
	subversion/mod_dav_svn/ (1.18),
	subversion/svnadmin/ (1.4), subversion/tests/
	(1.17), subversion/tests/libsvn_delta/ (1.18),
	subversion/tests/libsvn_fs/ (1.18),
	subversion/tests/libsvn_ra_local/ (1.7),
	subversion/tests/libsvn_repos/ (1.4),
	subversion/tests/libsvn_subr/ (1.21),
	subversion/tests/libsvn_wc/ (1.21):

	Bye bye, old automake system! 

2001-06-04 02:23   Greg Stein <>

	* STACK (1.91):

	ho fuggin ho 

2001-06-04 01:55   Greg Stein <>

	* (1.11), (1.87), (1.18):

	Add some logic for srcdir != builddir builds.  
	* rename mkinstalldirs symbol to MKDIR. now defines BUILD_DIRS rather than CLEAN_DIRS, so
	    change the local-clean rule. add the "mkdir-init" rule which uses
	    BUILD_DIRS to create build directories.  
	* (from Mo DeJong) add $(top_srcdir) into the
	    INCLUDE_OUTPUTS symbol so the file can be picked up from the srcdir.  
	    add call to "make mkdir-init" when srcdir!=builddir.  
	* in the output ( rename CLEAN_DIRS
	    to BUILD_DIRS. rename mkinstalldirs to MKDIR.  

2001-06-04 01:40   Greg Stein <>

	* (1.10):

	Add logic for building the docs. New targets are "doc" for the
	"typical" stuff (info, txt, html). doc-* will create the varieties
	of formats.  
	There is no longer for ensuring proper tools are present. If a rule
	fails because a tool isn't there... deal with it. :-) 

2001-06-01 18:26   Karl Fogel <>

	* subversion/tests/clients/cmdline/ (1.9):

	Submitted by: Mike Sussman <>: 
	(merge_from_wc_top): New test for merging.  
	(test_list): Run it.  

2001-06-01 18:18   Karl Fogel <>

	* subversion/tests/libsvn_delta/random-test.c (1.23):

	* client/main.c, tests/libsvn_delta/random-test.c: 
	(main): Rename `optarg' to `opt_arg' to avoid compilation warning 
	about shadowing a global variable.  

2001-06-01 17:41   Karl Fogel <>

	* subversion/tests/clients/cmdline/: (1.8), (1.9):

	Submitted by: Mike Sussman <>: 
	* subversion/tests/clients/cmdline/
	(update_from_wc_top): Removed new lines characters from expected
	disk tree.  Changed expected status tree root node to wc_backup.  
	Test 7, the "update '.' in working copy" test had been failing of 
	late.  I found two reasons - one was that files in the actual tree 
	were getting appended (then commited and updated) differently than 
	files in the expected tree were - specifically, the expected tree 
	files were getting new line characters.  Also, the expected tree was 
	looking for the root node to be called wc_top, while the actual 
	updated tree was named wc_top_backup.  These changes now cause test
	7 to pass on my Linux 7.0 box.  However, Ben Collins-Sussman - on 
	FreeBSD 4.2 - is still having unknown problems running test
	7...We'll investigate it tomorrow.  
	* subversion/tests/clients/cmdline/ (client_test): 
	Added ability to list test description with test numbers by further 
	parsing of argv.  
	Apparently we can already run individual tests by specifying "python n" where n is the actual test number.  This is all
	well and good, except that as our test suite grows it'll be helpful
	to know which test corresponds to which number.  Thus, one can now
	do a "python list" which will actually list test
	numbers with their respective descriptions.  

2001-06-01 17:34   Ben Collins-Sussman <>

	* www/project_status.html (1.22):

	New status page for June 1st.  

2001-06-01 16:32   Greg Stein <>

	* (1.9), build.conf (1.12), (1.86):

	Some tweaks towards making vpath builds work correctly.  
	* define macros for a (relative) path to the build and
	    source directories, and an absolute path to the build and source
	    dirs. The latter are needed when we "cd" from the top-level (e.g.
	    linking). The LIBTOOL macro is defined manually rather than via
	    @LIBTOOL@; the normal autoconf substitution uses top_builddir which
	    is now "relative", yet we need LIBTOOL to be absolute for the
	    cd/link steps. "make check" no longer needs to compute abs_srcdir
	since we have a MAKE macro for it.  
	* build.conf: use abs_builddir for items that go into link lines 
	* refer to the APR libraries using an absolute path.
	    the INSTALL script can be relative since we only run it from the top
	    level.  Convert the SVN_RA_LIB_LINK macros to use absolute
	    references.  Substitute abs_srcdir for use by the Makefile.  

2001-06-01 12:03  C. Michael Pilato <>

	* subversion/libsvn_wc/: adm_ops.c (1.67), entries.c (1.105), log.c

	* libsvn_wc/log.c 
	  (log_do_modify_entry): Bug fix (IssueZilla #xxx) - some entries file 
	  were getting text-time's and prop-time's of "working", which is a 
	  special string used in logfiles that should NOT show up in entries 
	  file.  Just a little oops with big consequences, really, that's
	  (log_do_committed): Make sure we update the flags in the parent 
	  directory of a committed directory.  
	* libsvn_wc/entries.c: 
	  (svn_wc__atts_to_entry): Docstring edit.  
	* libsvn_wc/adm_ops.c: 
	  (svn_wc_set_revision): Don't mess with the state flags here, the log 
	  runner can take care of that.  

2001-06-01 10:07   Karl Fogel <>

	* www/project_faq.html (1.3):

	Clarify/emphasize a few things.  

2001-06-01 04:40   Greg Stein <>

	* subversion/libsvn_ra_dav/DESIGN-NOTES.txt (1.2):

	obsolete a LONG time ago 

2001-06-01 04:06   Greg Stein <>

	* (1.8):

	gah. stupid bug.  

2001-06-01 03:47   Greg Stein <>

	* (1.7):

	Fix up the "local-clean" rule to clean .la-a items and to not worry
	about things that won't be seen in SVN build dirs (e.g. *.so and
	Fix "local-extraclean" to toss some libtool files from ac-helpers.  
	Fix "extraclean" handling to not recurse into Neon, which does not
	have this rule.  

2001-06-01 03:15   Greg Stein <>

	* (1.6), build.conf (1.11), (1.17):

	Bug fix for issue #397.  
	Enable building of external libraries (e.g. Neon and APR).  
	* add "external-*" rules. Rename existing rules to
	    "local-*".  The new external rules depends upon the new macro
	* build.conf: toss the [external] section; we can easily hard-code
	    this stuff right into rather than process it via
	* remove 'external' from the predefined sections list.  

2001-06-01 02:41   Greg Stein <>

	* (1.5), build.conf (1.10), (1.85), (1.16), ac-helpers/svn-define-libs.m4 (1.4):

	Bug fix for issue #397.  
	Fix up problems with build/link when --disable-shared is used.  
	The root problem was the use of SVN_CLIENT_DEPS. This didn't truly
	handle the dependencies and link-time behavior properly (in the
	absence of a recursive make with ordered subdir builds).  
	The fix is to recognize that the dependencies are caused by
	libsvn_ra, rather than the client. Next, to associate those
	dependencies directly with libsvn_ra. libtool provides for this
	within the .la as long as you depend directly on .a files rather
	than .la files (fixed in libtool 1.4). Since we only need the
	dependencies during disable-shared, the focus on .a files is 
	possible. As a result, when programs link against, they 
	automatically pull in the other libraries (ra_dav and the fs-based
	* toss *_CLIENT_DEPS and define SVN_RA_LIB_DEPS and 
	    SVN_RA_LIB_LINK. _DEPS for dependency handling and _LINK for
	    what occurs within the link line. For static builds, these are
	    filled in. For shared builds, they are empty.  
	    Remove SVN_NEON_LIBS macro (unused).  
	* add recognition of add-deps in a definition to add
	    arbitrary text to a dependency line.  
	* build.conf: remove use of SVN_CLIENT_DEPS (see above). expand
	    definition of libsvn_ra to conditionally include more dependencies,
	    and to link against additional libraries.  
	* no need to SVN_LIBSVN_* so toss the sinclude() of 
	    svn-define-libs.m4. SVN_NEON_LIBS, SVN_TESTS_MAIN_LIBS,
	    FS_BASED_DIRS, and FS_BASED_TESTS are no longer used; remove
	    them. convert definition of LIBSVN_CLIENT_DEPS to SVN_RA_LIB_DEPS
	* svn-define-libs.m4: no longer used; removed.  

2001-05-31 22:02   Brian Fitzpatrick <>

	* www/project_faq.html (1.2):

	typo. plate. plate o' typoes.  

2001-05-31 21:54   Ben Collins-Sussman <>

	* www/project_nav.html (1.8):

	Fix separators on nav bar.  

2001-05-31 18:36   Ben Collins-Sussman <>

	* www/: project_faq.html (1.1), project_nav.html (1.7):

	Added a FAQ to website.  

2001-05-31 11:10  C. Michael Pilato <>

	* subversion/libsvn_wc/: adm_crawler.c (1.108), adm_ops.c (1.66),
	entries.c (1.104), log.c (1.96):

	* subversion/libsvn_wc/adm_crawler.c 
	  (do_apply_textdelta): Clean up bad logic conversion that occurred 
	  in my recent Big Ol' Change.  
	* subversion/libsvn_wc/adm_ops.c 
	  (svn_wc_add_file, svn_wc_add_directory): Fix some oopses that 
	  occurred in the recent Big Ol' Change.  
	  (svn_wc_undelete): Add some real guts for this function.  
	* subversion/libsvn_wc/entries.c 
	  (fold_state_changes): Uh...make the error messages at least report 
	  the correct name of the function.  
	* subversion/libsvn_wc/log.c 
	  (log_do_delete_entry): Minor segfault protection.  
	  (log_do_committed): Change formatting (and set) of modification 
	  flags in call to svn_wc__entry_modify.  

2001-05-30 11:13  C. Michael Pilato <>

	* subversion/: include/svn_error.h (1.102), include/svn_wc.h
	(1.98), libsvn_wc/adm_crawler.c (1.107), libsvn_wc/adm_ops.c
	(1.65), libsvn_wc/entries.c (1.103), libsvn_wc/get_editor.c
	(1.182), libsvn_wc/log.c (1.95), libsvn_wc/props.c (1.31),
	libsvn_wc/questions.c (1.52), libsvn_wc/status.c (1.32),
	libsvn_wc/wc.h (1.151):

	WOOT! WOOT!  WARNING: Big ol' change follows.  
	While the scope of the change is no larger than the libsvn_wc's not much smaller, either. ;-) 
	* include/svn_wc.h 
	  (enum svn_wc_schedule_t, enum svn_wc_existence_t): New types for 
	  tracking state.  
	  (typedef struct svn_wc_entry_t): New state tracking variables.  
	* libsvn_wc/wc.h 
	  (svn_wc__entry_fold_sync, svn_wc__entry_fold_sync_intelligently): 
	  Removed these functions.  Instead, use...  
	  (svn_wc__entry_modify): New function for entry modification.  Lots 
	  of flags added for use with this function, as well.  
	  (svn_wc__atts_to_entry): New function for converting an entries 
	  attribute hash into an svn_wc_entry_t entry structure.  
	* libsvn_wc/adm_ops.c 
	  Instances of svn_wc__entry_fold_sync_intelligently and 
	  svn_wc__entry_fold_sync changed to use svn_wc__entry_modify.  
	  (svn_wc_add_file, svn_wc_add_directory): Added some sanity checks.  
	* libsvn_wc/get_editor.c 
	  Instances of svn_wc__entry_fold_sync_intelligently and 
	  svn_wc__entry_fold_sync changed to use svn_wc__entry_modify.  
	* libsvn_wc/log.c 
	  Instances of svn_wc__entry_fold_sync_intelligently and 
	  svn_wc__entry_fold_sync changed to use svn_wc__entry_modify.  
	  (log_do_modify_entry): Now use factorized code in
	* libsvn_wc/props.c 
	  (svn_wc__do_property_merge): Minor patch to use renamed #define.  
	* libsvn_wc/questions.c 
	* libsvn_wc/status.c 
	  Minor patches to use new entry state variables.  
	* libsvn_wc/adm_crawler.c 
	  Patches to use new entry state variables.  
	  (verify_tree_deletion): Renamed from verify_deleted_tree.  
	* libsvn_wc/entries.c 
	  Instances of svn_wc__entry_fold_sync_intelligently and 
	  svn_wc__entry_fold_sync changed to use svn_wc__entry_modify.  Lots 
	  of modified uses of the new entry state variables.  
	  (svn_wc__atts_to_entry): New function for converting an entries 
	  attribute hash into an svn_wc_entry_t entry structure.  
	  (handle_start_tag): Now use factorized code in
	  (normalize_entry): Write out the new entries XML.  
	  (fold_state_changes): Renamed from interpret_changes, gutted, and 
	  rewritten with new state stuffs in mind.  
	  (internal_fold_sync, svn_wc__entry_fold_sync, 
	  svn_wc__entry_fold_sync_intelligently): Obsolete functions
	  (svn_wc__entry_modify): New function for entry modification.  
	* include/svn_error.h 

2001-05-30 06:33   Greg Stein <>

	* (1.4), (1.15):

	* toss the SVN_EXPAT_LIBS macro (unused). add some
	    initial (and unused) gunk for doc targets. the "check" target should
	    depend on ALL test programs rather than just the ones it will
	    actually run. add START and END lines into the log file.  
	    HACK: chmod a+x the test prog. some .sh scripts aren't +x when
	      they come out of CVS. need to tweak the CVS repository to fix.  
	* generate the TEST_DEPS macro 

2001-05-30 06:26   Greg Stein <>

	* subversion/tests/svn_tests_main.c (1.22):

	(main): watch out for (and skip) the srcdir argument which is passed
	  during a standard "make check" execution.  

2001-05-30 06:15   Greg Stein <>

	* subversion/tests/libsvn_wc/ (1.14):

	no need for announcements; controlling script will handle that.  

2001-05-30 06:05   Greg Stein <>

	* subversion/tests/: libsvn_fs/ (1.5),
	libsvn_repos/ (1.2), libsvn_wc/

	Various tweaks to the test scripts 
	- $1 will be the top source directory (absolute path) 
	- stop logging to private tests.log files 

2001-05-30 05:59   Greg Stein <>

	* build.conf (1.9), (1.84):

	no need to refer to Expat via SVN_EXPAT_LIBS; we can use our
	standard intra-library dependency stuff.  

2001-05-30 05:11   Greg Stein <>

	* subversion/mod_dav_svn/util.c (1.16):

	forgot that the return value of apr_uri_parse_components is

2001-05-30 02:53   Greg Stein <>

	* subversion/mod_dav_svn/util.c (1.15):

	compensate for recent move of URI parsing stuff 

2001-05-29 20:47   Greg Stein <>

	* (1.3):

	Revert some changes that weren't ready (and weren't discussed in my
	log message). These will return with a proper log message, and after
	proper testing.  

2001-05-29 20:37   Greg Stein <>

	* (1.2), build.conf (1.8), (1.83):

	*) add building of subversion/tests/libsvn_test_fs 
	*) FS_LIBS / SVN_TEST_FS_LIBS are no longer needed 

2001-05-29 20:34   Greg Stein <>

	* (1.14):

	small tweak: move collection of target dirs to the first pass.  

2001-05-29 20:29   Greg Stein <>

	* (1.13):

	- build_targets{} not needed 
	- prep install{} in the first pass 
	- store objects rather than names into install{} 
	- change CLEAN_FILES generation to use objects rather than
	  build_targets{} (and toss _filter_clean_files) 
	- change shortcut generation to use targets{} rather than

2001-05-29 20:10   Greg Stein <>

	* (1.12):

	Use two passes for the output generation. First pass collects basic
	data and computes some simple values for each target; second pass
	generates the output. This was necessary because one target may need
	to refer to another target's output file; in the old way, we may not
	have seen the dependent target (yet) while processing the user of
	that target.  
	Information is stored into objects of a new Target class. This keeps
	the items more closely associated and easier to access.  
	Revise intra-target dependencies: write out the final output, rather
	than the shortcut name for the dependent target. "Make" didn't see a
	"libsvn_fs" file, so it didn't know its timestamp, so it kept
	rebuilding items dependent upon that. Using the .la fixes this
	No longer sort the group targets (e.g. the "programs" or "fs-libs").
	We rely on make to order them appropriately.  

2001-05-29 18:47   Greg Stein <>

	* ac-helpers/.cvsignore (1.4):

	more stuff not needed 

2001-05-29 18:36   Greg Stein <>

	* (1.11):

	*) for each target, add its dependencies on other targets 
	*) begin a bit of work for doc targets 

2001-05-29 18:32   Greg Stein <>

	* ac-helpers/: .cvsignore (1.3), (1.1):

	add an to shut up configure. we don't actually use this;
	we use apr/build/ a longer term solution may be to use
	apr/build as our auxilliary directory (when we eliminate our own
	libtool copy, this should be doable).  

2001-05-29 14:03   Ben Collins-Sussman <>

	* notes/alpha_short (1.7):

	Promote 'svn cleanup' to an M3 requirement.  

2001-05-29 13:25   Karl Fogel <>

	* notes/dav_setup.txt (1.7):

	Some tweaks, from when Ben and I went through this process recently.  

2001-05-29 09:17   Ben Collins-Sussman <>

	* NEWS (1.2):

	De-obsolesce this file.  

2001-05-28 02:25   Daniel Stenberg <>

	* (1.40):

	Added a check for that runs fine, as I noticed this
	script didn't notice my absense of a python installation and then it
	couldn't make a proper makefile setup. Now it exits with an error
	message if this happens! PR: Obtained from: Submitted by: Reviewed

2001-05-27 18:38   Greg Stein <>

	* ac-helpers/svn-apache.m4 (1.12):

	The Apache include directory is flat nowadays. Remove the extra
	include directories.  

2001-05-25 05:24   Greg Stein <>

	* (1.82):

	Be more direct about where people can find Berkeley DB.  
	Submitted by: Mo DeJong <> 

2001-05-25 05:17   Greg Stein <>

	* (1.10):

	D'oh! I had both build_dirs and proj_dirs doing the same thing.
	Combine them, and use "target_dirs" instead since the dirs are
	directly related to the build targets.  

2001-05-24 12:11   Karl Fogel <>

	* notes/variance-adjusted-patching.html (1.2):

	Expand conflict discussion.  
	(Note to those who may wonder why the heck I'm working on this when 
	there are so many important coding tasks that need attention: this
	is actually part of some other, non-Subversion work I'm doing, but
	since it's relevant to Subversion, I thought I'd check it in here.) 

2001-05-24 11:15   Karl Fogel <>

	* HACKING (1.31):

	Changed section on building from a working copy, now that Greg's got 
	the new build system in place.  

2001-05-24 08:40   Greg Stein <>

	* .cvsignore (1.8), (1.1), (1.39),
	build.conf (1.7), (1.81), ac-helpers/.cvsignore (1.2),
	ac-helpers/svn-apache.m4 (1.11):

	Switch over to the new non-recursive build system.  
	* .cvsignore: toss some old items, add tests.log 
	* remove the automake stuff. use apr/build/
	    for a bit of safety. handle setting up libtool ourselves (rather
	    than using automake to do it). run to create  
	* build.conf: add the libexpat and path-test projects 
	* sinclude() a number of files, rather than using
	    aclocal.m4.  stop using AM_ automake macros; use standard AC_
	    equivalents.  SVN_INCLUDES now refers to the top-level directory,
	    too. SUBST items for INSTALL and MKDIR. SUBST two new items for
	    conditional FS handling: FS_RULES (what make target rules to build)
	    and FS_LIBS (what add'l libraries a test program should link
	    against). clean up CFLAGS when maintainer-mode is set since APR does
	    this (and exports it) now. SUBST abs_builddir for the Makefile. add
	    platform-specific mechanism for including makefiles. stop generating
	    so many Makefiles; we just have one AC_OUTPUT Makefile now.  
	* ac-helpers/.cvsignore: add libtool.m4 (a copy from /usr/share) 
	* ac-helpers/svn-apache.m4: set and SUBST the INSTALL_APACHE_RULE
	    variable to specify which apache make target rule to use for
	    installation. define and SUBST a new BUILD_APACHE_RULE for building
	    mod_dav_svn. the conditional and APACHE_MODULES are now obsolete.  

2001-05-24 05:48   Greg Stein <>

	* (1.9):

	Add optional header dependency generation. It runs by default, but
	can be disabled by passing -s on the command line to  

2001-05-23 16:14   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_ops.c (1.64):

	(svn_wc_remove_from_revision_control) bugfix: when an update tries
	to remove a file or dir, *preserve* any files that are locally

2001-05-23 15:46   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_ops.c (1.63), log.c (1.94):

	Bugfixes to make updates work --when the update involves removing 
	files or dirs.  
	* adm_ops.c (svn_wc_remove_from_revision_control):  bugfixes; remove 
	  file from entries file *after* looking for local mods, duh.  And 
	  append the filename to the path when removing it.  
	* log.c (log_do_delete_entry):  decide if 'name' is a file or dir,
	  and call svn_wc_remove_from_revision_control in the appropriate

2001-05-23 14:49   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.101), include/svn_wc.h
	(1.97), libsvn_wc/adm_files.c (1.79), libsvn_wc/adm_ops.c (1.62),
	libsvn_wc/log.c (1.93), libsvn_wc/wc.h (1.150),
	tests/clients/cmdline/ (1.7):

	Directory deletions should now work on the client side.  If you do a 
	'svn rm dir' and commit, all of the SVN/ dirs are recursively
	(TODO:  add a -f (force) flag option to recursively nuke the dir
	Note: the way in which we call svn_wc_remove_from_revision_control() 
	is still being discussed; it may change soon.  
	* adm_ops.c, svn_wc.h (svn_wc_remove_from_revision_control): total 
	  rewrite.  The old didn't even correctly preserve local mods. :) 
	* svn_error.h (SVN_ERR_WC_LEFT_LOCAL_MOD):  special value
	  potentially returned by svn_wc_remove_from_revision_control(),
	  indicating that locally modified files were left behind.  
	* adm_files.c (svn_wc__adm_destroy):  make this function un-suck, by 
	  calling apr_dir_remove_recursively() on SVN/.  
	  (svn_wc__adm_path_exists):  new convenience routine.  
	* log.c (remove_from_revision_control):  removed, promoted to public
	  (recursive_rc_remove):  deleted, no longer needed.  
	  (log_do_delete_entry):  call svn_wc_remove_from_revision_control().  
	  (log_do_committed):  if a committed file is marked for deletion, 
	  call svn_wc_remove_from_revision_control.  if a committed dir is 
	  marked for deletion, drop a 'KILLME' file into the administrative 
	  (svn_wc__run_log):  at the very end, after removing the logfile, 
	  check for a 'KILLME' file and possibly run 
	* wc.h (SVN_WC__ADM_KILLME):  new #define filename.  
	  (svn_wc__adm_path_exists):  declare.  

2001-05-22 16:47   Karl Fogel <>

	* notes/variance-adjusted-patching.html (1.1):

	Some stuff I've been thinking about.  Not immediately relevant, but 
	will be when we start trying to do merges better than CVS.  

2001-05-22 13:15   Joe Orton <>

	* subversion/include/svn_types.h (1.63):

	* svn_types.h: Don't use ## when concatenating string tokens.  

2001-05-22 13:03   Ben Collins-Sussman <>

	* PORTING (1.5):

	update freebsd info.  

2001-05-22 07:08   Greg Stein <>

	* build.conf (1.6), (1.8):

	Many of the tests aren't actually being run, or some of them are run
	via scripts. Enable marking some of the test programs to be skipped.  

2001-05-21 22:42   Ben Collins-Sussman <>

	* subversion/: include/svn_io.h (1.37), libsvn_subr/io.c (1.36):

	New function to recursively remove a dir.  It's written entirely
	using apr routines -- perhaps apr wants it?  I've tested to make
	sure this routine works (but not checked in the test.) 
	* io.c (apr_dir_remove_recursively): the sequel to apr_remove_dir 
	  (which only removes empty dirs), except this one is equivalent to 
	  'rm -rf'.  
	* svn_io.h (apr_dir_remove_recursively):  declare.  

2001-05-21 15:32   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.106):

	(report_local_mods):  if a directory is *only* marked for deletion,
	do not recurse into it.   Also:  if the current directory is marked
	for addition, ignore all deleted items and local mods;  only further 
	additions are noticed.  

2001-05-21 09:48  C. Michael Pilato <>

	* subversion/: include/svn_wc.h (1.96), libsvn_wc/adm_crawler.c
	(1.105), libsvn_wc/adm_ops.c (1.61), libsvn_wc/entries.c (1.102),
	libsvn_wc/log.c (1.92), libsvn_wc/status.c (1.31):

	* include/svn_wc.h 
	  (SVN_WC_ENTRY_ADD): Renamed from SVN_WC_ENTRY_ADDED for more precise 
	  representation of the flag syntax.  
	  (SVN_WC_ENTRY_DELETE): Renamed from SVN_WC_ENTRY_DELETED for more 
	  precise representation of the flag syntax, and to make way for an 
	  actual "deleted" flag coming soon to a version control system near 
	  All existing uses of these two flags changed with M-x
	  tags-query-replace ...  Hoping I got 'em all.  
	  (SVN_WC_ENTRY_DELETED): New flag for when something has been deleted 
	  from revision control but needs to still live in the entries file 
	  (talk to Karl...I can't remember the detailed reasoning for this).  
	  (SVN_WC_ENTRY_ATTR_DELETED): New #define for the "deleted" string 
	  soon to be found in some select entries files.  
	* libsvn_wc/adm_crawler.c 
	* libsvn_wc/adm_ops.c 
	* libsvn_wc/entries.c 
	* libsvn_wc/log.c 
	* libsvn_wc/status.c 
	  Sweeping renames of entries flags above.  

2001-05-20 22:04  C. Michael Pilato <>

	* subversion/: include/svn_client.h (1.34), include/svn_wc.h
	(1.95), libsvn_client/add.c (1.13), libsvn_client/delete.c (1.10),
	libsvn_wc/adm_ops.c (1.60):

	* client/cl.h 
	  (svn_cl__cmd_proc_t): Added svn_cl__unadd and svn_cl__undelete to 
	   this function prototypes thingamabob.  
	* client/add-cmd.c 
	  (svn_cl__add): Some prep work for when this thing understands a 
	  request for recursive addition.  
	  (svn_cl__unadd): New function for un-adding files and dirs.  
	* client/delete-cmd.c 
	  (svn_cl__undelete): New function for un-deleting files and dirs.  
	* client/main.c 
	  (svn_cl__cmd_table): Added "unadd (unad)" and "undelete (undel, 
	  unrm)" subcommand support.  
	* include/svn_client.h 
	  (svn_client_add): Added RECURSIVE argument.  
	  (svn_client_unadd, svn_client_undelete): New function prototypes.  
	* libsvn_client/add.c 
	  (svn_client_add): Added RECURSIVE argument/support.  
	  (svn_client_unadd): New function.  
	* libsvn_client/delete.c 
	  (svn_client_delete): Removed obsolete todo.  
	  (svn_client_undelete): New function.  
	* include/svn_wc.h 
	  (svn_wc_unadd, svn_wc_undelete): New function prototypes.  
	* libsvn_wc/adm_ops.c 
	  (enum mark_tree_state): Enum for mark_tree helper function.  
	  (mark_tree): Renamed for delete_tree, this sucka now does at least a 
	  couple of recursionish things.  
	  (svn_wc_unadd): New function -- doesn't really work.  
	  (svn_wc_undelete): New function -- DEFINITELY doesn't work.  

2001-05-20 21:57  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.101):

	* libsvn_wc/entries.c 
	  (interpret_changes): Be a little more picky about disallowing 
	  certain adds.  

2001-05-20 07:27   Greg Stein <>

	* (1.7):

	"libtool --mode=link" generates an output file which will link the
	real thing upon the first execution. When it does this, it uses the
	parameters (files and libs) passed on the command line and *assumes*
	they are relative to the program being linked. This means we must
	whack all the parameters to be relative to the target, rather than
	the top of the SVN tree; then we must cd into the target dir to
	perform the libtool link.  
	* change the output to have target_DEPS for the top-relative
	  dependencies and target_OBJECTS for the target-relative objects 
	* add a function to compute "../../" type strings to "retreat" from
	  the target directory up to the top dir, so we can compute relative
	  paths for the dependent libraries 
	  (note: libraries which aren't targets (such as $(SVN_APR_LIBS))
	   must be absolute since we won't be doing the retreat processing) 

2001-05-20 07:00   Greg Stein <>

	* build.conf (1.5), (1.6):

	- collect test programs (for "make check") 
	- add processing of a [test-scripts] section 
	- output a TEST_PROGRAMS variable for the Makefile to use 
	- use os.path.join for some path manipulation 

2001-05-20 06:00   Greg Stein <>

	* build.conf (1.4), (1.5):

	add the last bits for static mod_dav_svn installs 

2001-05-20 05:41   Greg Stein <>

	* build.conf (1.3), (1.4):

	- handle installation of Apache modules (a couple more bits left to
	  do for static installs) 
	- add some convenience targets 

2001-05-19 18:04   Greg Stein <>

	* (1.3):

	Refactor the collection of files from a set of file patterns.  

2001-05-19 17:58   Greg Stein <>

	* build.conf (1.2), (1.2):

	Continued work on the new build system.  
	* build.conf: add new [includes] section for specifying what
	    includes to publish/install.  
	  svnadmin will be installed in the "sbin" area 
	  mod_dav_svn has custom build instructions 
	  libsvn_fs should link with DB 
	* add handling of "custom" build option, and recognize
	    the "apache-mod" type.  
	  add processing of the "install" option and generate the
	    appropriate installation targets.  
	  for output file clarity: use foo_OBJECTS variables 
	  filter *.la from the CLEAN_FILES variable, since they are cleaned
	    by the standard rule 
	  add handling and output processing for the [includes] section 

2001-05-19 07:42   Greg Stein <>

	* .cvsignore (1.7), build.conf (1.1), (1.1):

	Checkpoint tonite's work on tossing automake and recursive make.  
	build.conf will describe all the pieces to build, what kind of build
	it is (library vs program), dependent libs, etc. will be run by to produce,
	which contains the processed build.conf. (only developers run this;
	users will receive an already-built The file will be included by the main/only Makefile.
	The Makefile will be produced from a by the configure
	process and include config-specific information, build rules, etc.  
	* build.conf: initial checkin. first draft of build
	* initial checkin. it currently produces enough to
	  build SVN and to clean it up. (not fully tested) 
	  (still need "install", "check", and dependency generation) 

2001-05-18 14:45  C. Michael Pilato <>

	* subversion/tests/clients/cmdline/.cvsignore (1.2):

	* tests/client/cmdline/.cvsignore 
	  Ignore the 'repositories' and 'working_copies' directories created
	  by the test scripts.  

2001-05-18 12:58  C. Michael Pilato <>

	* subversion/: include/svn_path.h (1.37), libsvn_client/commit.c
	(1.45), libsvn_subr/path.c (1.37), libsvn_subr/target.c (1.8),
	libsvn_wc/adm_crawler.c (1.104), tests/libsvn_subr/.cvsignore
	(1.8), tests/libsvn_subr/ (1.20),
	tests/libsvn_subr/path-test.c (1.1),
	tests/libsvn_subr/target-test.c (1.8),
	tests/libsvn_wc/commit-test.c (1.30):

	* client/commit-cmd.c 
	  (svn_cl__commit): Use legitimate logic for path examination; think 
	  before typing; look before leaping, etc.  
	* include/svn_path.h 
	  (svn_path_condense_targets, svn_path_remove_redundancies, 
	  svn_path_get_longest_ancestor, svn_path_is_child): Now take STYLE 
	* libsvn_subr/target.c 
	  (svn_path_condense_targets, svn_path_remove_redundancies): Now take 
	  STYLE argument.  All callers changed.  Also, some code
	  reformatting for readibility (loooooove the 'continue'
	* libsvn_subr/path.c 
	  (svn_path_get_longest_ancestor, svn_path_is_child): Now take STYLE 
	  argument, and actually do what it's supposed to do.  All callers 
	* client/update-cmd.c 
	* libsvn_client/commit.c 
	* libsvn_wc/adm_crawler.c 
	* tests/libsvn_subr/target-test.c 
	* tests/libsvn_wc/commit-test.c 
	  Callers of above-mentioned functions changed to pass path style 
	  information through.  
	* tests/libsvn_subr/path-test.c 
	  New file for tests of path functions (that aren't necessarily 
	* tests/libsvn_subr/.cvsignore 
	  Ignore new path-test binary.  
	* tests/libsvn_subr/ 
	  Added new path-test binary to build/check.  

2001-05-17 15:57  C. Michael Pilato <>

	* subversion/: libsvn_client/add.c (1.12), libsvn_wc/adm_ops.c

	Bug fix for IssueZilla issue #389 
	* libsvn_client/add.c 
	  (svn_client_add): Fixed some insane code formatting while 
	  quick-wrapping a returned error value.  
	* libsvn_wc/adm_ops.c 
	  (svn_wc_add_directory): Use non-intelligent entry folding when 
	  marking the "this dir" entry.  

2001-05-17 13:00  C. Michael Pilato <>

	* subversion/: include/svn_test.h (1.16), tests/svn_test_editor.c
	(1.24), tests/libsvn_delta/deltaparse-test.c (1.69),
	tests/libsvn_wc/commit-test.c (1.29):

	Subversion test editor now takes a VERBOSE argument which specifies
	if you want the editor to print out all the arguments passed to the 
	functions or just a one-line summary.  Also, added STYLE argument so 
	that path manipulation functions can be consistent with the path
	style used for the root path upon which the editor is based. 
	Finally, added an EDITOR_NAME argument which is simply a string that
	is printed at the beginning of each function's first line of output
	that can be used to identify the editor's output in situations where
	several test editors exist (also can be helpful for grepping through
	* tests/svn_test_editor.c 
	  (newline): New helper function 
	  (svn_test_get_editor): Added VERBOSE, EDITOR_NAME, and STYLE 
	  arguments.  All users 
	* include/svn_test.h 
	  (svn_test_get_editor): Added VERBOSE argument, EDITOR_NAME, and 
	  STYLE arguments.  Updated DOCSTRING with examples of usage.  
	* tests/libsvn_delta/deltaparse-test.c 
	  (main): Use VERBOSE test editor named "DELTAPARSE-TEST" with 
	  svn_path_repos_style STYLE.  
	* tests/libsvn_wc/commit-test.c 
	  (print_usage): New function for, um, printing the usage.  
	  (main): Changed to accept --xml argument (instead of -x) and 
	  --verbose (which will toggle VERBOSE argument of the test editor 
	  named "COMMIT-TEST" with svn_path_local_style STYLE).  

2001-05-17 12:48   Ben Collins-Sussman <>

	* notes/: alpha_checklist (1.14), alpha_short (1.6):

	* alpha_short:  This is the new Master TODO list for M3 and beyond.  
	                This file has been reformatted into emacs "outline" 
	                mode and all info from alpha_checklist has been
	                moved into it.  
	* alpha_checklist:  removed.  it was skewing away from alpha_short.  

2001-05-17 09:15  C. Michael Pilato <>

	* subversion/include/svn_test.h (1.15):

	* include/svn_test.h 
	  Reverted to version 1.12 (prior to my Accidental CheckIn of Amazing 
	  Bogosity, v1.13, and Karl's Intentional CheckIn of Attempted
	  Bogosity Correction, v1.14) 

2001-05-17 09:10  C. Michael Pilato <>

	* subversion/include/svn_path.h (1.36):

	* include/svn_path.h 
	  (svn_path_remove_redundancies): Updated docsting with explanation of 
	  how this differs from svn_path_condense_targets().  

2001-05-17 08:57   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.6), (1.8):

	Start writing python tests for updates.  These tests are the most 
	complex, since they also imply doing a checkout and a commit
	* (duplicate_wc): new helper -- copy with some 
	  (run_and_verify_update):  new utility for update tests -- three ways 
	  of verifying! 
	  (update_from_wc_top):  first in a series of update tests.  
	* (greek_tree):  make this global an *immutable* 
	  tuple instead of a list, for safety.  
	  (copy_greek_tree):  routine to duplicate a tuple of tuples into a 
	  list of lists.  Uses copy.deepcopy().  (gstein, is this right?!?) 

2001-05-16 16:48   Karl Fogel <>

	* subversion/include/svn_test.h (1.14):

	(svn_test_get_editor): Document the new `editor_name' parameter.  
	NOTE: the build is probably broken right now.  
	Mike, I think you just forgot to commit your modifications to 
	tests/svn_test_editor.c?  It seems to still have the old version of 
	the function (i.e., not matching the .h anymore).  Since I don't
	know what that code looks like, I made an educated guess at the
	semantics of the new `editor_name' arg.  

2001-05-16 15:36  C. Michael Pilato <>

	* subversion/include/svn_test.h (1.13):

	* include/svn_test.h 
	  (svn_path_remove_redundancies): Updated docstring to include big ol' 
	  explanation for the difference between this function and Kevin 
	  Pilch-Bisson's svn_path_condense_targets.  

2001-05-16 13:58  C. Michael Pilato <>

	* subversion/: include/svn_path.h (1.35), libsvn_subr/target.c

	Resolution for IssueZilla issue #386 
	* include/svn_path.h 
	* include/target.c 
	  (svn_path_remove_redundancies): New function.  
	* client/update-cmd.c 
	  (svn_cl__update): Remove redundancies from the target list, 
	  preserving the order of those targets, using new 
	  svn_path_remove_redundancies function.  

2001-05-16 10:36  C. Michael Pilato <>

	* www/index.html (1.29):

	* www/index.html 
	  Fixed some HTMhell to make the Subversion logo not cover up the
	  first few lines of the text that follows it.  

2001-05-15 16:52   Karl Fogel <>

	* notes/alpha_short (1.5):

	Clean up, move deltification into M3 reqs (hope ppl agree?).  

2001-05-15 16:03   Karl Fogel <>

	* www/project_status.html (1.21):

	Fix date.  

2001-05-15 16:02   Karl Fogel <>

	* www/project_status.html (1.20):

	Bring status up-to-date.  

2001-05-15 15:57   Ben Collins-Sussman <>

	* www/index.html (1.28):

	Update milestone 2 dates.  

2001-05-15 15:39   Karl Fogel <>

	* subversion/: (1.27), libsvn_repos/delta.c (1.47)
	(utags: milestone-2):

	* (SUBDIRS): Build tests before client, otherwise can't 
	build from a clean tree.  
	* libsvn_repos/delta.c (find_nearest_entry): For now, comment out
	this unused function and its forward declaration, to avoid a compile 

2001-05-15 13:53   Karl Fogel <>

	* subversion/libsvn_client/commit.c (1.44, milestone-2):

	Move test editor code out into unconditional editor composition
	area, but temporarily comment it out for M2.  We'll have a run-time
	--trace option after M2.  

2001-05-15 12:46   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.5,

	New python test for the bug just fixed;  make sure we can commit 2 
	target files in the same directory.  

2001-05-15 12:43   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.103, milestone-2):

	Fix logic bug in multi-target commits.  We can now correctly commit 
	multiple individual file targets within the same directory.  
	(report_local_mods):  if we only committed one file, get out.  Don't 
	close any dir_batons, and don't pop any stackframes.  We may be 
	entering this dir again momentarily to commit a sibling file.  
	(svn_wc_crawl_local_mods):  always close the root dir baton, we
	don't need to check for special file cases.  Also, better
	documentation on exactly what routine expects from

2001-05-15 12:02  C. Michael Pilato <>

	* subversion/libsvn_client/commit.c (1.43):

	* client/ 
	  Temporarily link with libsvn_test while testing commit editor.  
	* libsvn_client/commit.c 
	  (send_to_repos): Temporarily use a test editor while testing

2001-05-15 11:25   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.7,

	Add check for minimum python version.  

2001-05-15 10:55   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.4):

	(commit_multiple_targets):  new python test.  vewy twicky.  

2001-05-15 10:20   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.102):

	Multi-target commits now seem to work (after some manual testing.) 
	Some specific python tests are on their way.  :) 
	(examine_and_report_entry):  removed.  
	(report_local_mods): back to a single recursive routine.  Logic has 
	been shortened, cleaned up, and better documented.  
	(svn_wc_crawl_local_mods): little tweak to prevent dir batons from 
	being closed more than once.  

2001-05-14 19:44   Greg Stein <>

	* subversion/svn-dev.el (1.7, milestone-2):

	We made the variables local (correct), but we set them via a hook
	which runs in all buffers. So... we weren't restraining ourselves to
	just the SVN code, as we should.  
	Submitted by: J|rgen A. Erhard <> 

2001-05-12 15:13   Greg Stein <>

	* subversion/libsvn_wc/: adm_crawler.c (1.101), entries.c (1.100,

	Various cleanup nits.  
	* adm_crawler.c (verify_deleted_tree): No need to create the
	    BASENAME variable because we can directly use the char* stored in
	    the hash (gets rid of an unneeded cast in the process). Simplify the
	    logic to set IS_THIS_DIR.  
	* entries.c (svn_wc__entries_write): remove two unneeded casts.  

2001-05-11 17:01   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.3):

	Start writing python tests for multi-target commits.  We're gonna
	need 'em.  :) 
	* (run_and_verify_commit):  allow vararg input that
	  will be passed through directly to the 'svn commit' call.  
	  (basic_commit): renamed to commit_from_wc_top 
	  (commit_one_file):  new test to commit a single file.  Note:  this 
	  test currently fails, because the trace-editor is printing bogus 
	  output right now.  See?  The test is doing its job! 

2001-05-11 13:21  C. Michael Pilato <>

	* subversion/libsvn_wc/adm_crawler.c (1.100):

	* libsvn_wc/adm_crawler.c 
	  (verify_deleted_tree): Helper function.  
	  (examine_and_report_entry): Use new helper function to make sure the 
	  working copy isn't in a st00pid state.  

2001-05-11 11:18  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.99):

	* libsvn_wc/entries.c 
	  (write_entry, svn_wc__entries_write): Optimizations per the watchful 
	  eye of GregS.  

2001-05-11 11:07  C. Michael Pilato <>

	* subversion/: libsvn_client/commit.c (1.42),
	libsvn_repos/commit_editor.c (1.4, milestone-2):

	Bug fix for Issue #377 - Unable to import to any place but '/' in a 
	The reason we couldn't had nothing to do with paths, but was caused
	by the fact that we were always basing our import transaction on
	revision 0 of the repository, which by definition *has nothing
	except '/' to import to.*  Doh! 
	* libsvn_client/commit.c 
	  (import): Don't always base the import on revision 0 -- we want to 
	  use the youngest rev instead.  
	* libsvn_repos/commit_editor.c 
	  (replace_root): If asked to base ourselves on an invalid revision 
	  number, assume that what was really wanted was the youngest rev.  

2001-05-11 09:41  Bill Tutt <>

	* subversion/libsvn_subr/libsvn_subr.dsp (1.7, milestone-2):

	* subversion/libsvn_subr/libsvn_subr.dsp: Remove keysort.c. Add

2001-05-11 02:24   Karl Fogel <>

	* subversion/: libsvn_subr/path.c (1.36, milestone-2),
	libsvn_wc/adm_crawler.c (1.99):

	Tandem debugging w/ Ben: 
	* path.c (svn_path_is_child): Don't start child path with dir 
	(svn_path_decompose): Fix off-by-one errors.  
	* adm_crawler.c: Change a bunch of error messages.  
	(report_local_mods): One more layer of indirection on dir_baton 
	parameter.  All callers changed.  

2001-05-11 01:11   Karl Fogel <>

	* subversion/libsvn_subr/sorts.c (1.2, milestone-2):

	(svn_sort_compare_as_paths): Dereference correctly.  

2001-05-11 00:49   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.98):

	(report_local_mods):  bugfix.  in the case of a single file target, 
	don't close the parent directory twice.  

2001-05-11 00:26  C. Michael Pilato <>

	* subversion/: libsvn_repos/commit_editor.c (1.3),
	libsvn_wc/adm_crawler.c (1.97), libsvn_wc/adm_files.c (1.78,
	milestone-2), libsvn_wc/adm_ops.c (1.58, milestone-2),
	libsvn_wc/entries.c (1.98), libsvn_wc/log.c (1.91, milestone-2):

	Let's start working on making `svn rm some_directory' work! 
	* libsvn_repos/commit_editor.c 
	  (delete_entry): Call svn_fs_delete_tree instead of svn_fs_delete -- 
	  we want to be above to remove both dirs and files.  
	* libsvn_wc/adm_crawler.c 
	  (examine_and_report_entry): Don't recurse into directories we just 
	* libsvn_wc/adm_files.c 
	  (svn_wc__adm_destroy): Until we can remove trees from disk in a 
	  single bound, let it suffice to kill the README file from the 
	  administrative subdir.  
	* libsvn_wc/adm_ops.c 
	  (delete_tree): Helper function for recursively setting the delete 
	  flag on a dir's children.  
	  (svn_wc_delete): Use new delete_tree helper function.  
	  (svn_wc_add_directory): Make sure to set the add flag in both the 
	  dir's default entry and its entry in its parent's entries.  Huh? 
	* libsvn_wc/entries.c 
	  (take_from_entry): Doc fix.  
	  (interpret_changes): Disallow addition of an entry whose parent 
	  directory is marked for deletion.  
	* libsvn_wc/log.c 
	  (recursive_rc_remove): Helper function for recursively removing 
	  admistrative directories from a tree.  
	  (remove_from_revision_control): Use new recursive_rc_remove helper 

2001-05-11 00:03   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.96):

	saving work, in process of debugging this new code.  

2001-05-10 22:24   Karl Fogel <>

	* subversion/tests/libsvn_subr/: target-test.c (1.7), (1.4) (utags: milestone-2):

	* target-test.c (main): Don't wrap targets in quotes any more when 
	printing out, that was just for temporary testing.  
	* Adjust for new behavior of 

2001-05-10 22:21   Karl Fogel <>

	* subversion/libsvn_subr/target.c (1.6, milestone-2):

	(svn_path_condense_targets): Use apr_array_push, not raw assignment, 
	to put the target in the array in the single-file case.  

2001-05-10 21:59   Karl Fogel <>

	* subversion/: include/svn_client.h (1.33, milestone-2),
	include/svn_path.h (1.34, milestone-2), libsvn_client/commit.c
	(1.41), libsvn_subr/target.c (1.5), tests/libsvn_wc/commit-test.c
	(1.28, milestone-2):

	Change all interfaces above svn_wc_crawl_local_mods to handle
	multiple targets 
	           NOTE: The build is no longer broken.  
	* target.c (svn_path_condense_targets): Targets that are the same as 
	the common parent are no longer included in *pcondensed_targets, not 
	even as empty strings.  Also, some reformatting for 80-column lines.  
	* commit.c (svn_client_commit): Condense an array of targets.  
	(svn_client_import): Pass null for condensed targets.  
	(send_to_repos): Take condensed targets.  
	* svn_path.h (svn_path_condense_targets): Doc fixes, document new 
	* svn_client.h (svn_client_commit): Take an array of targets instead 
	of a single path.  
	* commit-cmd.c (svn_cl__commit): Adjust call to svn_client_commit.  
	* commit-test.c (main): Adjust call to svn_client_commit.  Unify

2001-05-10 21:17   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.95):

	(svn_wc_crawl_local_mods):  qsort the condensed targets, and make
	them into "full" paths too.  

2001-05-10 20:36   Karl Fogel <>

	* subversion/tests/libsvn_subr/target-test.c (1.6):

	(main): Put quotes around each target, so we can see empty strings 
	more easily.  

2001-05-10 20:32   Karl Fogel <>

	* subversion/tests/libsvn_subr/target-test.c (1.5):

	(main): Print a newline after the test output.  

2001-05-10 20:27   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.94):

	More progress towards multi-target atomic commits.  
	* adm_crawler.c (svn_wc_crawl_local_mods):  logical updates so that 
	  single target files can be committed.  

2001-05-10 19:31   Ben Collins-Sussman <>

	* subversion/: include/svn_path.h (1.33), include/svn_wc.h (1.94,
	milestone-2), libsvn_client/commit.c (1.40), libsvn_subr/path.c
	(1.35), libsvn_wc/adm_crawler.c (1.93):

	Progress towards multi-target atomic commits -- major rewrite of 
	client-side commit machinery.  Also: allow single files to be commit 
	* adm_crawler.c, svn_wc.h (svn_wc_crawl_local_mods): major rewrite, 
	  takes an array of targets and a parent now.  Sends local mods
	  within all targets in a single editor drive, to guarantee
	  (do_dir_closures):  new helper func, much the opposite of 
	  (examine_and_report_entry):  new helper func, contains all of the 
	  main entry-examining logic that used to live in
	  (report_local_mods):  add new feature to the main recursive crawler: 
	  it is now able to commit a single file within a dir (if asked to.) 
	  Added FILENAME arg for this purpose -- calls
	* path.c, svn_path.h (svn_path_decompose):  new func to split a path 
	  into individual components.  
	  (store_component):  helper for above.  
	  (svn_path_is_child):  new func to return 'difference' between two 
	* commit.c:  random block of code hanging in space for Karl to look

2001-05-10 18:43   Karl Fogel <>

	* subversion/include/svn_sorts.h (1.3, milestone-2):

	(svn_sort_compare_strings_as_paths): Doc fix.  

2001-05-10 18:42   Karl Fogel <>

	* subversion/include/svn_sorts.h (1.2):

	(svn_sort_array_header): Removed obsolete declaration.  

2001-05-10 18:40   Karl Fogel <>

	* subversion/: include/svn_hash.h (1.16, milestone-2),
	include/svn_sorts.h (1.1), libsvn_subr/ (1.17,
	milestone-2), libsvn_subr/keysort.c (1.10), libsvn_subr/sorts.c

	Provide a comparison function so Ben can sort paths, as he requested 
	(see svn_sort_compare_strings_as_paths).  
	Also, generally reorganize and document the sorting code.  
	* (libsvn_subr_la_SOURCES): Change keysort.c to sorts.c.  
	* keysort.c: renamed to sorts.c.  
	* sorts.c: (svn_sort_compare_strings_as_paths): New file, new func.  
	(apr_hash_sorted_keys): Comment tweak.  
	(svn_sort_compare_items_as_paths): Renamed from 
	svn_sort_compare_as_paths.  All callers changed.  Rename parameters, 
	* svn_sorts.h: New header.  
	(svn_sort_compare_as_paths, apr_hash_sorted_keys): Declare here 
	instead of in svn_hash.h.  
	(svn_sort_compare_strings_as_paths): New declaration.  
	(svn_sort_compare_items_as_paths): Renamed from 
	svn_sort_compare_as_paths.  Rename parameters, too.  Doc fixes.  
	(apr_hash_sorted_keys): Doc fixes.  
	* svn_hash.h: Add missing #endif for header name.  Moved
	declarations to svn_sorts.h, as described above.  
	* status.c: #include svn_sorts.h, instead of svn_hash.h.  

2001-05-10 16:58   Branko Cibej <>

	* PORTING (1.4, milestone-2):

	Update sparc-sun-solaris2.6.  

2001-05-10 13:40   Greg Stein <>

	* STACK (1.90, milestone-2):

	anyone have a wet noodle? I have a date with Karl...  

2001-05-10 12:00  Bill Tutt <>

	* subversion/libsvn_fs/fs.c (1.43, milestone-2):

	* subversion/libsvn_fs/fs.c: (svn_fs_delete_berkeley)  Use

2001-05-10 11:59   Karl Fogel <>

	* STACK (1.89):

	Notes to self.  
	Greg, did I accidentally undelete a bunch of your stuff that you
	just deleted?  I resolved a conflict, but may have done it
	reversedly, let me know.  

2001-05-10 11:18   Karl Fogel <>

	* subversion/libsvn_fs/: strings-table.c (1.5), strings-table.h
	(1.4) (utags: milestone-2):

	* strings-table.h: General doc fixes.  
	(svn_fs__delete_string): Declare.  
	* strings-table.c (svn_fs__delete_string): New func.  
	(string_read, svn_fs__string_size): Better errors.  

2001-05-10 11:05   Karl Fogel <>

	* subversion/libsvn_fs/strings-table.c (1.4):

	* strings-table.c (svn_fs__append_string_stream): Handle string 
	creation as well as appending to an existing string.  
	Note: in my most recent previous log message, the filenames are 
	wrong.  They should be 
	* strings-table.c 
	* strings-table.h 
	respectively.  Someday when I can run "cvs admin" again, I'll fix
	that and remove this note. :-) 

2001-05-09 20:48  C. Michael Pilato <>

	* subversion/libsvn_fs/libsvn_fs.dsp (1.11, strings-reps-dev-done,

	* libsvn_fs/libsvn_fs.dsp 
	  Added proplist.c and proplist.h to Win32 build.  

2001-05-09 18:13  C. Michael Pilato <>

	* subversion/: libsvn_fs/dag.c (1.94, milestone-2),
	libsvn_repos/commit_editor.c (1.2), tests/libsvn_fs/fs-test.c
	(1.77, milestone-2):

	Woo-hoo!  We now get the log message in the same berkeley
	transaction as the commit of the subversion txn! 
	* libsvn_fs/dag.c 
	  (svn_fs__dag_commit_txn): Populate new revision skel with property 
	  list taken from the transaction.  
	* libsvn_repos/commit-editor.c 
	  (close_edit): Now call svn_fs_change_txn_prop to set the log message 
	  as a property of the transaction just before committing the 
	* tests/libsvn_fs/fs-test.c 
	  (transaction_props): Changed to now actually commit the transaction, 
	  then verify that the newly created revision contains the exact
	  same property list as the transaction had (and that both are

2001-05-09 17:27   Branko Cibej <>

	* subversion/: svnadmin/svnadmin.dsp (1.2),
	tests/libsvn_repos/tests_libsvn_repos_test.dsp (1.2) (utags:

	Link with libdb32d.lib in Win32 Debug builds.  

2001-05-09 16:23   Greg Stein <>

	* STACK (1.88):

	cuz the Candy Man can...  

2001-05-09 16:22   Karl Fogel <>

	* subversion/libsvn_fs/: strings-table.c (1.3), strings-table.h

	Implemented much, tested nothing: 
	* svn_fs.c (string_baton): New fields `fs' and `trail'.  Get rid of 
	`append' field; instead, we set offset at stream creation time.  
	(svn_fs__string_size): New func.  
	(string_read, string_write): Filled in.  
	(svn_fs__read_string_stream, svn_fs__write_string_stream): Don't set 
	append field.  
	(svn_fs__append_string_stream): Don't set append flag, just set
	offset appropriately.  
	* svn_fs.h (svn_fs__read_string_stream, svn_fs__write_string_stream, 
	svn_fs__append_string_stream): Doc fixes.  

2001-05-09 16:11  C. Michael Pilato <>

	* subversion/: include/svn_fs.h (1.80, milestone-2),
	libsvn_fs/ (1.42, milestone-2), libsvn_fs/dag.c (1.93),
	libsvn_fs/proplist.c (1.6, milestone-2), libsvn_fs/proplist.h (1.4,
	milestone-2), libsvn_fs/rev-table.c (1.13, milestone-2),
	libsvn_fs/structure (1.36, milestone-2), libsvn_fs/tree.c (1.73,
	milestone-2), libsvn_fs/txn-table.c (1.24, milestone-2),
	libsvn_fs/txn-table.h (1.14, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done, milestone-2),
	libsvn_fs/txn.c (1.41, milestone-2), tests/libsvn_fs/fs-test.c

	* libsvn_fs/proplist.h 
	* libsvn_fs/proplist.c 
	  New files, with functions for manipulating PROPLIST skels.  
	* libsvn_fs/ 
	  Added proplist.c and proplist.h to list of sources.  
	* libsvn_fs/structure.c 
	  Added property list to TRANSACTION language.  
	* include/svn_fs.h 
	  (svn_fs_txn_prop, svn_fs_txn_proplist, svn_fs_change_txn_prop): New 
	  function prototypes.  
	* libsvn_fs/txn-table.h 
	  (svn_fs__get_txn_ids): Renamed from svn_fs__get_txn.  
	  (svn_fs__get_txn): New function prototype.  
	* libsvn_fs/txn-table.c 
	  (is_valid_transaction): Check for a valid proplist.  
	  (put_txn): Accept a property list argument for adding to a 
	  (get_proplist_from_txn_skel, get_ids_from_txn_skel): Helper 
	  (svn_fs__get_txn): New function for getting just the skel of the 
	  transaction (and works as a helper for svn_fs__get_txn_ids).  
	  (svn_fs__get_txn_ids): Renamed from svn_fs__get_txn.  All callers 
	  (svn_fs__create_txn, svn_fs__set_txn_root, svn_fs__set_txn_base): 
	  Changed to use new argument list of put_txn.  
	  (struct txn_prop_args, txn_body_txn_prop, svn_fs_txn_prop, 
	   struct txn_proplist_args, txn_body_txn_proplist,
	   svn_fs_txn_proplist, struct change_txn_prop_args,
	   txn_body_change_txn_prop, svn_fs_change_txn_prop): New structures
	   and functions for reading and writing transaction properties.  
	* libsvn_fs/rev-table.c 
	  (txn_body_revision_prop, txn_body_revision_proplist, 
	  txn_body_change_rev_prop): Use new related proplist functions in 
	* libsvn_fs/tree.c 
	  (txn_body_node_prop, txn_body_node_proplist, 
	  txn_body_change_node_prop): Use new related proplist functions in 
	* libsvn_fs/dag.c 
	* libsvn_fs/txn.c 
	  Miscellaneous calls to old svn_fs__get_txn changed to 
	* tests/libsvn_fs/fs-test.c 
	  (transaction_props): New test for transaction properties.  
	  (test_funcs): Reference new test for transaction properties.  

2001-05-09 15:42   Branko Cibej <>

	* subversion/tests/: libsvn_delta/deltaparse_test.dsp (1.6),
	libsvn_wc/commit_test.dsp (1.6) (utags: milestone-2):

	Link libsvn_tests_main.lib instead of libsvn_test_editor.lib.  

2001-05-09 15:41   Branko Cibej <>

	* subversion/libsvn_fs/libsvn_fs.dsp (1.10):

	Added strings-table.[ch] to project.  

2001-05-09 15:00   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.92):

	(svn_fs__dag_get_node): Use svn_error_create instead of 
	svn_error_createf, since no formatting is happening.  

2001-05-09 14:56   Karl Fogel <>

	* subversion/libsvn_fs/strings-table.c (1.2):

	(string_baton): New struct.  
	(string_read, string_write): New functions, still skeletal.  
	(svn_fs__read_string_stream, svn_fs__write_string_stream, 
	svn_fs__append_string_stream): Create streams, set to use above.  

2001-05-09 14:34   Karl Fogel <>

	* subversion/libsvn_fs/strings-table.h (1.2):

	(svn_fs__read_string_stream, svn_fs__write_string_stream, 
	svn_fs__append_string_stream): Doc fixes.  

2001-05-09 14:26   Karl Fogel <>

	* subversion/: include/svn_error.h (1.100, milestone-2),
	libsvn_fs/ (1.41), libsvn_fs/fs.c (1.42), libsvn_fs/fs.h
	(1.20, milestone-2), libsvn_fs/strings-table.c (1.1),
	libsvn_fs/strings-table.h (1.1):

	* strings-table.h, strings-table.c: New files.  
	* (libsvn_fs_la_SOURCES): Add them.  
	* fs.h (svn_fs_t): New field for `strings' table.  
	* fs.c (svn_fs_create_berkeley): Create the strings table.  
	* svn_error.h (svn_errno_t): New error SVN_ERR_FS_NO_SUCH_STRING.  

2001-05-09 11:53   Karl Fogel <>

	* subversion/include/svn_repos.h (1.8, milestone-2):

	(svn_repos_set_path): Doc fix, as suggested by Greg Stein.  
	Also, remove obsolete comment implying the reporter routines were
	only exposed via vtables.  They're public now.  

2001-05-09 10:48  C. Michael Pilato <>

	* subversion/: include/svn_wc.h (1.93), libsvn_wc/adm_ops.c (1.57),
	libsvn_wc/get_editor.c (1.181, milestone-2):

	* include/svn_wc.h 
	  (svn_wc_get_actual_update_target): New function prototype.  
	* libsvn_wc/get_editor.c 
	  (svn_wc_get_actual_update_target): New function.  
	  (make_editor): Use above new function.  
	  (close_edit): Segfault condom.  
	* client/update-cmd.c 
	  (svn_cl__update): Use new svn_wc_get_actual_update_target function 
	  to determine the update anchor/target.  
	* libsvn_wc/adm_ops.c 
	  (svn_wc_set_revision): Itty bitty bug fix.  

2001-05-09 10:38   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.2):

	(run_and_verify_checkout):  start comparing stdout of 'co' again.  

2001-05-09 05:29  Bill Tutt <>

	* subversion.dsw (1.14, milestone-2),
	subversion/tests/libsvn_fs/skel-test.c (1.20, milestone-2),
	subversion/tests/libsvn_repos/tests_libsvn_repos_test.dsp (1.1),
	(1.1, milestone-2):

	All projects build on Win32, and all of the binary test harneses
	pass except repos-test which is currently crashing for me due to a
	problem with closing down a pool in test #1.  
	* subversion.dsw: Added new projects: tests_libsvn_repos_test and
	* subversion/tests/libsvn_subr/tests_libsvn_subr_target_test.dsp:
	New project.  
	* subversion/tests/libsvn_repos/tests_libsvn_repos_test.dsp: New
	* subversion/tests/libsvn_fs/skel-test.c: Use casts instead of
	changing the type.  

2001-05-09 03:43   Joe Orton <>

	* subversion/svnadmin/main.c (1.11, milestone-2):

	* svnadmin.c (usage): Spelling fix.  

2001-05-09 03:12   Greg Stein <>

	* tools/cvs2svn/ (1.1, milestone-2):

	Check in some work from the weekend...  
	(note: can be found in ViewCVS' cvs repository) 

2001-05-08 19:30  Bill Tutt <>

	* subversion.dsw (1.13), svn_config.dsp (1.3, milestone-2),
	subversion/libsvn_client/commit.c (1.39),
	subversion/libsvn_repos/libsvn_repos.dsp (1.1, milestone-2),
	subversion/libsvn_subr/libsvn_subr.dsp (1.6),
	subversion/tests/libsvn_delta/deltaparse-test.c (1.68,
	milestone-2), subversion/tests/libsvn_fs/fs_test.dsp (1.5,
	milestone-2), subversion/tests/libsvn_fs/skel-test.c (1.19),
	subversion/tests/libsvn_wc/commit-test.c (1.27):

	I can now compile all of the Win32 projects except libsvn_ra_dav
	since I don't have the Apache/mod_dav headers installed.  
	* subversion.dsw: Add libsvn_delta, libsvn_fs as dependancies of
	* svn_config.dsp: Remove non-existant from
	* subversion/client/subversion_client.dsp: MSDEV decided to remove
	an extra space.  
	* subversion/libsvn_client/commit.c: Use new_entry parameter per the
	function docs, instead of random stack data.  
	* subversion/libsvn_repos/libsvn_repos.dsp: Add file.  
	* subversion/libsvn_subr/libsvn_subr.dsp: Added missing target.c
	* subversion/tests/libsvn_delta/deltaparse-test.c, 
	      MSVC throws a syntax error when it encountered this empty
	      array. Populate with two zero's per the test case spec.  
	* subversion/tests/libsvn_fs/fs_test.dsp: Link against the new
	Berkely DB drop 
	* subversion/tests/libsvn_fs/skel-test.c: Replace some occurances of
	int with apr_byte_t. MSVC warned mightly (> 10-15 times) about this.  

2001-05-08 15:45   Karl Fogel <>

	* subversion/libsvn_repos/reporter.c (1.7, milestone-2):

	Fix sense of check from previous change.  

2001-05-08 15:39   Karl Fogel <>

	* subversion/: include/svn_repos.h (1.7), libsvn_repos/reporter.c
	(1.6), libsvn_wc/adm_crawler.c (1.92):

	* svn_repos.h (svn_repos_set_path): Doc fix.  
	* reporter.c (svn_repos_set_path): Check for empty path, not null
	* adm_crawler.c (svn_wc_crawl_revisions): Pass empty string, not

2001-05-08 15:16   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.92), libsvn_wc/get_editor.c
	(1.180), libsvn_wc/props.c (1.30, milestone-2):

	* trace-update.c (svn_cl__get_trace_update_editor): Don't chop path; 
	the trace editor depends on the paths being accurate so it can
	freely examine entries.  This fixes issue #381.  
	Fix the printouts for checkouts/updates to not show spurious "_U"s 
	along the left column: 
	* get_editor.c (is_wc_prop): Moved to props.c and renamed, see
	* props.c (svn_wc_is_wc_prop): Export.  
	* trace-update.c (change_file_prop, change_dir_prop): Don't print
	out changes of wc props, those are internal and users don't care.  

2001-05-08 14:19  C. Michael Pilato <>

	* subversion.dsw (1.12), svn_private_config.hw (1.3, milestone-2),
	subversion/libsvn_client/libsvn_client.dsp (1.7, milestone-2),
	subversion/libsvn_delta/libsvn_delta.dsp (1.6, milestone-2),
	subversion/libsvn_fs/libsvn_fs.dsp (1.9),
	subversion/libsvn_ra/libsvn_ra.dsp (1.1, milestone-2),
	subversion/libsvn_ra_dav/libsvn_ra_dav.dsp (1.1, milestone-2),
	subversion/libsvn_ra_local/libsvn_ra_local.dsp (1.1, milestone-2),
	subversion/svnadmin/svnadmin.dsp (1.1),
	subversion/tests/libsvn_test_editor.dsp (1.5),
	subversion/tests/libsvn_test_main.dsp (1.5, milestone-2):

	First steps in getting the Win32 build up-to-date.  
	* subversion/libsvn_ra/libsvn_ra.dsp 
	* subversion/libsvn_ra_local/libsvn_ra_local.dsp 
	* subversion/libsvn_ra_dav/libsvn_ra_dav.dsp 
	* subversion/libsvn_repos/libsvn_repos.dsp 
	  New project files.  
	* subversion/tests/libsvn_test_editor.dsp 
	  Removed this obsolete project file.  
	* subversion.dsw 
	  Updated to include new projects libsvn_ra, libsvn_ra_local,
	  libsvn_ra_dav, and libsvn_repos.  Also, removed libsvn_test_editor
	  project (since its source is now built as part of
	* svn_private_config.hw 
	* subversion/client/subversion_client.dsp 
	  Updated sourcefile list, and now link with Berkeley 3.2.  
	* subversion/libsvn_client/libsvn_client.dsp 
	* subversion/libsvn_delta/libsvn_delta.dsp 
	* subversion/libsvn_fs/libsvn_fs.dsp 
	  Updated sourcefile list.  
	* subversion/tests/libsvn_test_main.dsp 
	  Updated sourcefile list, and now include Berkeley headers.  

2001-05-08 14:05   Karl Fogel <>

	* HACKING (1.30, milestone-2):

	(Building from a working copy): Notes on configuring and building.  

2001-05-08 12:51  jrobbins

	* www/index.html (1.27, milestone-2):

	corrected broken links 

2001-05-08 11:09   Karl Fogel <>

	* notes/dav_setup.txt (1.6, milestone-2):

	Make some corrections (Ben dictated these; he's sitting next to me 
	right now, but he left his dongle at home today, so we're using my
	net connection.  Note to self: Never, ever leave home without

2001-05-08 08:42  Kevin Pilch-Bisson <>

	* HACKING (1.29):

	Changed reference to 'config.hw' for building under win32.  

2001-05-07 18:52   Karl Fogel <>

	* subversion/: include/svn_types.h (1.62, milestone-2),
	libsvn_wc/get_editor.c (1.179):

	* svn_types.h (SVN_PROP_PREFIX): New #define.  
	concatenation with above.  
	(svn_item_t): Indentation fix.  
	* get_editor.c (is_wc_prop): Check length before comparing.  (Branko 
	found this in a Purify run.) 

2001-05-07 13:48   Karl Fogel <>

	* www/: index.html (1.26), project_status.html (1.19, milestone-2):

	Patch from Michael Salmon <> to make the logo show up.  

2001-05-06 15:36   Ben Collins-Sussman <>

	* www/index.html (1.25):

	Make mailing-list link work.  

2001-05-06 15:33   Ben Collins-Sussman <>

	* www/index.html (1.24):

	Make the doc link work.  

2001-05-06 15:31   Ben Collins-Sussman <>

	* www/index.html (1.23):

	urg, flutz with href syntax. :( 

2001-05-06 15:28   Ben Collins-Sussman <>

	* www/index.html (1.22):

	Update front page.  

2001-05-05 07:08   Greg Stein <>

	* subversion/libsvn_ra_dav/: commit.c (1.51), fetch.c (1.55),
	merge.c (1.10) (utags: milestone-2):

	Toss the debugging printf calls.  

2001-05-05 06:04   Greg Stein <>

	* subversion/libsvn_ra_dav/merge.c (1.9):

	(bump_resource): the close baton can be non-NULL during an import
	  (!!).  check the close_commit function instead.  

2001-05-05 06:03   Greg Stein <>

	* subversion/mod_dav_svn/activity.c (1.6, milestone-2):

	Update apr_sdbm_open() calls to latest interface.  

2001-05-05 03:40   Greg Stein <>

	* subversion/libsvn_ra_dav/: commit.c (1.50), merge.c (1.8):

	Initial brush strokes at getting "import" to work.  
	(it appears there are problems with Apache 2.0's input code for
	 large inputs; gotta go work on that for a bit) 
	* merge.c (bump_resource): if there are no WC functions, then just
	    don't bother with "bumping" the information.  
	* commit.c (fetch_props[]): we may need to fetch the DAV:checked-in
	    property to get the Version Resource URL at run time. this enables
	    that functionality.  
	  (simple_request): also print the HTTP status code in the error.  
	  (get_version_url): new function. gets the version URL from the
	    cached WC props, or it goes over to the server and asks for the VR
	    URL corresponding to the HEAD of the repository. needed for import,
	    when we have no WC props.  
	  (get_activity_url): new function. gets the activity URL from the
	    cached WC props, or it goes to the server for it. needed for
	    import, when we have no WC props.  
	  (create_activity): new new get_activity_url() function to deal
	    with the import case when no WC props exist.  
	  (commit_replace_root): when importing, we don't have local props,
	    so we need to fetch the head's version resource URL to begin the
	    import process. toss the WC prop get and use the new
	    get_version_url() function.  

2001-05-04 21:05   Branko Cibej <>

	* notes/alpha_checklist (1.13, milestone-2):

	Formatting fix.  

2001-05-04 21:04   Branko Cibej <>

	* notes/alpha_checklist (1.12):

	Talk about the infamous $Log: cvs-changelog.html,v $
	Talk about the infamous Revision 1.2  2001/08/31 03:30:43  kfogel
	Talk about the infamous Record CVS ChangeLog.
	Talk about the infamous ...  

2001-05-04 21:00   Branko Cibej <>

	* notes/alpha_checklist (1.11):

	Annotated with my comments, as per Karl's request. Finally.  

2001-05-04 18:35   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: README (1.4, milestone-2), (1.1), (1.6), (1.3,

	Here's a nuclear power plant.  The support framework is huge;  now
	we need a whole lot more tests.  
	TODO:  the print-output of 'svn co' and 'svn up' is temporarily 
	broken;  cmpilato is going to fix this as he rewrites multiargs. 
	For that reason, we're deliberately ignoring the output of 'svn co'
	right now when each test bootstraps itself.  

2001-05-04 12:46  C. Michael Pilato <>

	* subversion/libsvn_repos/delta.c (1.46):

	* libsvn_repos/delta.c 
	  (svn_repos_update): Doh!  *Now* it doesn't depend on

2001-05-04 12:12  C. Michael Pilato <>

	* subversion/libsvn_repos/delta.c (1.45):

	* libsvn_repos/delta.c 
	  (svn_repos_update): No longer calls svn_repos_dir_delta.  This is 
	  the first step in making svn_repos_dir_delta disappear entirely.  

2001-05-04 10:22  C. Michael Pilato <>

	* subversion/: include/svn_wc.h (1.91), libsvn_wc/entries.c (1.97):

	* include/svn_wc.h 
	  (SVN_WC_ENTRY_THIS_DIR):  Changed this #define to be "svn:this_dir" 
	  until we're confidant that all oversights caused by assuming this
	  is "" are found and fixed.  
	* libsvn_wc/entries.c 
	  (write_entry): New helper function for writing a single entry.  
	  Also, this will abort() if ever we go to write an entry named "." 
	  when SVN_WC_ENTRY_THIS_DIR is not #defined as "." .  
	  (svn_wc__entries_write): Changed to use the new write_entry helper, 
	  and always write out the "this dir" entry first.  

2001-05-04 07:14   Greg Stein <>

	* notes/alpha_short (1.4, milestone-2):

	"Mommy, mommy! I keep spinning in circles!" "Shut up, or I'll nail
	your other foot to the floor." 

2001-05-04 07:05   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.33), repos.c (1.50) (utags:

	Sometimes, we open a repository by ID (as an ID root). We cannot use 
	repos_path for these roots, but must use a string form of the ID.
	Add the DAV_SVN_REPOS_PATH() macro to select the proper "path".  
	* dav_svn.h (struct dav_resource_private): add node_id_str field.  
	    (DAV_SVN_REPOS_PATH): new macro 
	* repos.c (dav_svn_parse_version_uri): fill in the repos_id_str
	(dav_svn_prep_version): open the id_root and check type/existence.  
	  (dav_svn_open_stream, dav_svn_getetag, dav_svn_set_headers): use 
	    DAV_SVN_REPOS_PATH() to open the correct "path" for reading.  

2001-05-04 07:01   Greg Stein <>

	* subversion/mod_dav_svn/update.c (1.3, milestone-2):

	(replace_helper): fix the XML output -- the starting
	  replace-file/dir element should not be terminated, but with an

2001-05-04 06:26   Greg Stein <>

	* subversion/libsvn_ra_dav/fetch.c (1.54):

	Propagate errors from within the parsing callbacks.  
	(struct report_baton_t): add "err" member 
	(start_element, end_element): stash the error away for later use 
	(reporter_finish_report): return an error, if present in the ctx 

2001-05-04 05:47   Greg Stein <>

	* subversion/libsvn_ra_dav/: fetch.c (1.53), merge.c (1.7),
	options.c (1.6, milestone-2), ra_dav.h (1.24, milestone-2), util.c
	(1.2, milestone-2):

	For requests which need to parse XML responses, the code was
	following a particular template. Shift all of that code to a utility
	Then, add recognition of XML parsing errors in the response.  
	* ra_dav.h (svn_ra_dav__parsed_request): new declaration 
	* fetch.c (reporter_finish_report): use new function 
	* options.c (svn_ra_dav__get_activity_url): use new function 
	* merge.c (svn_ra_dav__merge_activity): use new function 
	* util.c (svn_ra_dav__parsed_request): implement from unification of
	    the pattern from fetch.c, options.c and merge.c. and XML parse error 

2001-05-04 05:22   Branko Cibej <>

	* notes/fs-improvements.txt (1.9, milestone-2):

	Fix typos.  

2001-05-04 04:22   Greg Stein <>

	* subversion/libsvn_ra_dav/: commit.c (1.49), fetch.c (1.52),
	merge.c (1.6), ra_dav.h (1.23):

	Fix up some commit/update problems.  
	* commit.c (struct commit_ctx_t): add a "deleted" member to track
	      items that have been deleted.  
	  (commit_replace_root): use "" rather than "." to fetch a directory 
	  (commit_delete_entry): the request actually returns a 204 on
	    success.  Also, record the path in the deleted array.  
	  (commit_close_edit): pass the deleted array to merge_activity 
	  (svn_ra_dav__get_commit_editor): make the new deleted array 
	* fetch.c (TOP_DIR): index the elts, not the struct itself 
	  (report_elements[]): use the proper namespace for the elements 
	  (push_dir): make sure to put a NULL into the vsn_url field 
	  (start_element): don't fetch the file when add-file is first seen;
	      fetch at the end of the element (after we have its URL).  
	  (end_element): fetch the file when add-file is closed.  
	  (reporter_finish_report): don't write the null-term on the tail 
	  (svn_ra_dav__do_update): create rb->dirs with the right size
	    element.  don't write the null-term on the head. only write out
	    the target-revision element if we are updating to a specific
	* merge.c (svn_ra_dav__merge_activity): take new deleted_entries
	    param.  call close_commit for all the items that were deleted since
	    the server will not mention them in the MERGE response.  
	* ra_dav.h (svn_ra_dav__merge_activity): take new deleted_entries

2001-05-04 04:06   Greg Stein <>

	* subversion/mod_dav_svn/: repos.c (1.49), update.c (1.2):

	Tweaks for proper commit/update behavior.  
	* repos.c (dav_svn_do_walk): handle WORKING resources rather than
	* update.c (upd_set_target_revision): add namespaces to opening
	(...) use new DIR_OR_FILE() macro throughout. use DEBUG_CR
	(dav_svn__update_report): use the youngest rev if the
	      target-revision element was not provided (or is bogus).  
	    use the repository path of the resource for the base of the
	      update reporting process.  
	    properly fetch the CDATA from the entry, rather than a hack.  
	    add an extra error detection case: what kind of resource allows
	      the report.  

2001-05-04 04:00   Greg Stein <>

	* subversion/mod_dav_svn/ (1.17, milestone-2):

	Get an xmlexpat.h header for svn_xml.h 
	Submitted by: Daniel Stenberg <> 

2001-05-03 18:40   Karl Fogel <>

	* notes/alpha_short (1.3):

	Sync up with current status, migrate some things into Issuezilla,
	add a few minor items based on discussion w/ Ben and Mike Tuesday.  

2001-05-03 16:35   Branko Cibej <>

	* notes/fs-improvements.txt (1.8):

	Added notes on delta composition and delta storage.  

2001-05-03 13:18   Ben Collins-Sussman <>

	* subversion/libsvn_client/commit.c (1.38):

	Fix longstanding bugs in 'svn import'.  This subcommand finally
	works as documented, with either two or three args.  
	* commit.c (import):  new_entry might be NULL;  avoid segfault here.  
	* import-cmd.c (svn_cl__import):  just set new_entry to NULL if args 
	  are < 3.  Also, make the trace_editor stop prepending local 
	  directory info;  it should only be printing added repository

2001-05-01 16:59   Ben Collins-Sussman <>

	* www/: project_docs.html (1.16), project_members.html (1.14),
	project_nav.html (1.6, milestone-2):

	Remove old pages and links for new Tigris site.  Members and Docs
	tabs replace the old equivalents.  

2001-05-01 16:16   Ben Collins-Sussman <>

	* www/project_members.html (1.13):

	Add cmpilato.  

2001-04-27 23:46  C. Michael Pilato <>

	* notes/entries-handling.txt (1.1, milestone-2):

	* notes/entries-handling.txt 
	  New file.  This should live somewhere other than Mike's Inbox. :-) 

2001-04-27 23:38  C. Michael Pilato <>

	* subversion/libsvn_wc/: get_editor.c (1.178), log.c (1.90),
	status.c (1.30, milestone-2):

	You used see some fun stuff happen when you #define'd 
	SVN_WC_ENTRY_THIS_DIR to "CmpilatoSezYouSuck".  I hope I've caught 
	and fixed all those bugs, but only time and testing will tell.  
	* libsvn_wc/get_editor.c 
	  (change_dir_prop): Itty bitty docstring edit.  
	* libsvn_wc/log.c 
	  (log_do_modify_entry): Bug fix: make sure we don't assume that 
	  SVN_WC_ENTRY_THIS_DIR is #define'd to ""! 
	* libsvn_wc/status.c 
	  (svn_wc_statuses): Bug fix: make sure we don't assume that 
	  SVN_WC_ENTRY_THIS_DIR is #define'd to ""! 

2001-04-27 07:02  jrobbins

	* www/project_nav.html (1.5):

	changed label 

2001-04-27 06:27  jrobbins

	* www/project_mail.html (1.6):

	removed outdated admin page 

2001-04-27 05:38  jrobbins

	* www/project_admin.html (1.7):

	removed outdated admin page 

2001-04-27 05:27  jrobbins

	* www/index.html (1.21):

	trivial change to force web publish 

2001-04-27 05:18  jrobbins

	* www/: index.html (1.20), project_admin.html (1.6),
	project_docs.html (1.15), project_nav.html (1.4),
	project_source.html (1.5, milestone-2), project_status.html (1.18):

	corrected links 

2001-04-27 01:53  C. Michael Pilato <>

	* subversion/: include/svn_repos.h (1.6), include/svn_wc.h (1.90),
	libsvn_client/update.c (1.18, milestone-2), libsvn_repos/delta.c
	(1.44), libsvn_repos/reporter.c (1.5), libsvn_wc/adm_crawler.c
	(1.91), libsvn_wc/get_editor.c (1.177):

	Woohoo!  May an ever-gracious God allow this to be the last time I 
	have to think about multi-arg updates for at least a few days.  
	* client/trace-update.c 
	  (svn_cl__get_trace_update_editor): Hack off the last component of 
	  the path given to us, since the update editor is doing the same 
	* include/svn_wc.h 
	* libsvn_wc/adm_crawler.c 
	  (svn_wc_crawl_revisions): Fixed to allow reporting of a 
	  to-be-updated file as well as doing the regular depth-first tree 
	* libsvn_client/update.c 
	  (svn_client_update): Provided ugly kludge for informing the RA layer 
	  of the actual intented update target.  
	* include/svn_repos.h 
	  (svn_repos_dir_delta, svn_repos_update): Changed docstrings to 
	  reflect that these functions now DO call EDITOR->close_edit. 
	  Also, posted a little blurb that describes the difference between
	  the two functions.  
	* libsvn_repos/delta.c 
	  (svn_repos_update): Take some logic shortcuts.  Also, changed to 
	  called EDITOR->close_edit before a successful return.  
	  (svn_repos_dir_delta): Call EDITOR->close_edit before a successful 
	* libsvn_repos/reporter.c 
	  (svn_repos_report_baton_t): We need to keep track of two portions of 
	  pathiness now, the BASE_PATH at which the baton is rooted, and the 
	  actual TARGET of the report/update.  
	  (svn_repos_set_path): Changed requirements of initial set_path call, 
	  and now use new BASE_PATH/TARGET pair to derive path information.  
	  (svn_repos_finish_report): Call svn_repos_update instead of 
	  svn_repos_dir_delta here, and don't call close_edit (since 
	  svn_repos_update does this for us).  
	  (svn_repos_begin_report): Split the incoming path into a BASE_PATH 
	  and a TARGET.  
	* libsvn_wc/get_editor.c 
	  (edit_baton): Use an ANCHOR/TARGET pair instead of a DEST_DIR when 
	  tracking paths.  
	  (make_dir_baton, make_editor): Changed to use new ANCHOR/TARGET for 
	  (free_dir_baton): Only bump the revision of a directory if that 
	  directory is the target an update, is a child of the target of an 
	  update, or if this is a checkout (and therefore, not an update at 
	  (close_edit): Only bump revisions of updated directories, not 
	  updated files, and nothing in the checkout case.  
	* client/tests/ 
	  Changed update commands to be called from inside the t1 working copy 

2001-04-27 01:41  C. Michael Pilato <>

	* subversion/libsvn_wc/: adm_files.c (1.77), adm_ops.c (1.56):

	* libsvn_wc/adm_files.c 
	  (prop_path_internal): Do the Right Thing when svn_path_split leaves 
	  an empty dirname.  This was causing an entry with a name of "." to 
	  appear in the entries files...makes for some rather time-consuming 
	  (ala Eternity) `svn status' calls.  
	* libsvn_wc/adm_ops.c 
	  (svn_wc_set_revision): Do the Right Thing when svn_path_split leaves 
	  an empty dirname.  

2001-04-26 22:37   Greg Stein <>

	* subversion/: include/svn_error.h (1.99), libsvn_subr/svn_error.c
	(1.62, milestone-2):

	Get svn_error.c working with the latest APR pool changes (struct
	apr_pool_t is now private).  
	* svn_error.h (svn_pool_get_size): removed declaration; obsolete.  
	* svn_error.c (svn_pool_get_size): removed function; obsolete.  
	  (svn_pool__inherit_error_pool): use new apr_pool_get_parent
	(find_oldest_pool_ancestor): use new apr_pool_get_parent function.  
	  (svn_pool_clear_debug): use apr_pool_num_bytes rather than 
	  (svn_pool_destroy_debug): use apr_pool_num_bytes 

2001-04-26 20:14   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.8), (1.2), (1.2):

	Remove and;  consolidate them all into  Things are cleaner and simpler this way, and more 
	non-exported helpers can be shared.  

2001-04-26 16:14  C. Michael Pilato <>

	* subversion/: include/svn_path.h (1.32), libsvn_subr/path.c

	* include/svn_path.h 
	* libsvn_subr/path.c 
	  (svn_path_is_thisdir): New function to check path for '.' and './' 
	  (svn_path_is_empty): Changed to use new function

2001-04-26 16:13  C. Michael Pilato <>

	* subversion/libsvn_wc/adm_ops.c (1.55):

	* libsvn_wc/adm_ops.c 
	  (svn_wc_delete): Bug fix: if dirname after an svn_path_split is 
	  empty, at least make it '.' so APR functions don't choke on it.  

2001-04-26 15:18   Greg Stein <>

	* subversion/mod_dav_svn/merge.c (1.10, milestone-2):

	Heck, we don't even need to have special handling for the
	root_baton. As the comment says, it is passed to close_directory,
	which will then handling the "seen_change" flag.  
	This fixes a problem where we kept the baton around, but
	close_directory destroyed its pool. We then called send_response()
	which allocated from that pool (very bad).  
	(struct merge_response_ctx): no more need for root_baton field.  
	(mr_replace_root): allocate the baton from the pool. don't set the 
	  mrc->root_baton field.  
	(dav_svn__merge_response): don't do special handling for the root 

2001-04-26 15:00   Branko Cibej <>

	* HACKING (1.28):

	db-3.2.9 Win32 binary is available now.  

2001-04-26 10:33   Greg Stein <>

	* subversion/mod_dav_svn/merge.c (1.9):

	Thanks to my evil new debugging option in apr_pools.c, I found a
	reference to the root baton after its pool was destroyed.  

2001-04-26 10:32   Greg Stein <>

	* subversion/libsvn_subr/svn_string.c (1.13, milestone-2):

	i >= 0 is always true for unsigned values, such as apr_size_t. If
	the character wasn't there, then we'd choke when i became 2^32-1.  

2001-04-25 16:23   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: README (1.3), (1.3, milestone-2), (1.7), (1.5), (1.1), (1.1), (1.3, milestone-2):

	Lots of new code (and rewriting) of python test suite.  It's not
	done yet.  Please don't try to use this stuff yet.  :) 
	* README:        expanded overview of goals & design.  
	*   new file, general code for creating trees.  Mucho
	                 code from Sam TH <>, and lots of hacking 
	                 from sussman.  
	*     code to convert a working copy to a tree.  
	* code to convert svn subcommand output into a tree.  
	*  half-baked code, don't touch yet, on hold.  
	*  a few additions from Sam TH allow us to run 
	                     svnadmin and create an empty repos.  
	*  make test1() use compare_trees() as a demo.  

2001-04-24 18:18   Greg Stein <>

	* subversion/: include/svn_repos.h (1.5), libsvn_client/update.c
	(1.17), libsvn_ra_local/ra_plugin.c (1.30, milestone-2),
	libsvn_repos/reporter.c (1.4), libsvn_ra_dav/ (1.11,
	milestone-2), libsvn_ra_dav/commit.c (1.48), libsvn_ra_dav/fetch.c
	(1.51), libsvn_ra_dav/merge.c (1.5), libsvn_ra_dav/props.c (1.5,
	milestone-2), libsvn_ra_dav/ra_dav.h (1.22), libsvn_ra_dav/util.c
	(1.1), mod_dav_svn/ (1.16), mod_dav_svn/dav_svn.h
	(1.32), mod_dav_svn/merge.c (1.8), mod_dav_svn/update.c (1.1),
	mod_dav_svn/util.c (1.14, milestone-2), mod_dav_svn/version.c
	(1.26, milestone-2):

	Check in a bunch of work from the plane: basically a first pass at
	"update" functionality via DAV.  
	WARNING: it compiles, but is untested, and other stuff may have been
	* fetch.c (vsn_url_helper, dir_item_t, report_baton_t, report_head, 
	    report_tail, report_elements, validate_element, start_element, 
	    end_element, get_attr, push_dir): buncha new stuff for updates 
	  (store_vsn_url, simple_store_vsn_url): refactor 
	  (fetch_file, simple_fetch_file): refactor 
	  (reporter_set_path, reporter_finish_report,
	    svn_ra_dav__do_update): new implementation.  
	* libsvn_ra_dav/merge.c (copy_href): moved to
	(end_element): change to new svn_ra_dav__copy_href name 
	  (svn_ra_dav__merge_activity): use new MAKE_BUFFER macro 
	* ra_dav.h (ELEM_*): add new element identifiers 
	  (MAKE_BUFFER): new macro for creating svn_string_t to be used as a
	(svn_ra_dav__copy_ref): new declaration 
	* dav_svn.h (dav_svn__update_report, dav_svn_find_ns): new
	(dav_svn_insert_all_liveprops): ap_text_header -> apr_text_header 
	* mod_dav_svn/merge.c (make_child_baton): make the baton in the
	    correct subpool.  
	  (dav_svn__merge_response): construct a single "rootpath" string.  
	* mod_dav_svn/util.c (dav_svn_find_ns): new function 
	* mod_dav_svn/version.c (avail_reports[]): new array 
	  (dav_svn_avail_reports, dav_svn_get_report): implement 
	* svn_repos.h (struct svn_repos_report_baton_t): moved to 
	    libsvn_repos/reporter.c; no need for this to be public.  
	  (svn_repos_begin_report): new function to create a reporter baton.  
	* ra_plugin.c (do_update): replace a bunch of code with the new 
	    svn_repos_begin_report() function.  
	* reporter.c (struct svn_repos_report_baton_t): new structure,
	    copied from svn_repos.h (no change).  
	  (svn_repos_set_path): simplify the sanity check. eliminate a cast.  
	  (svn_repos_finish_report): call close_edit.  
	  (svn_repos_begin_report): new function 
	* libsvn_client/update.c (svn_client_update): don't call close_edit
	    -- that is the responsibility of the update process(!) 
	* libsvn_ra_dav/ add util.c and Expat includes 
	* mod_dav_svn/ add update.c 

2001-04-24 14:19  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.96):

	* libsvn_wc/entries.c 
	  (svn_wc_entry): Bug fix.  Once we split off the basename of a path, 
	  the remain directory can't be the empty string, at least in the
	  eyes of APRs stat routines.  

2001-04-24 14:06  C. Michael Pilato <>

	* subversion/libsvn_repos/delta.c (1.43):

	* libsvn_repos/delta.c 
	  (svn_repos_update): Doh!  Bug fix.  

2001-04-23 09:43  C. Michael Pilato <>

	* subversion/: include/svn_repos.h (1.4), libsvn_repos/delta.c
	(1.42), libsvn_repos/reporter.c (1.3), mod_dav_svn/merge.c (1.7),
	tests/libsvn_repos/repos-test.c (1.2, milestone-2):

	* include/svn_repos.h 
	* libsvn_repos/delta.c 
	  (svn_repos_dir_delta): Updated docstring.  Change charstring args to 
	  (svn_repos_update): New function.  
	* libsvn_repos/reporter.c 
	  (svn_repos_finish_report): Changed charstring arguments to 
	  svn_repos_dir_delta to svn_string_t.  
	* tests/libsvn_repos/repos-test.c 
	  (dir_deltas): Changed charstring arguments to svn_repos_dir_delta to 
	* mod_dav_svn/merge.c 
	  (dav_svn__merge_response): Changed charstring arguments to 
	  svn_repos_dir_delta to svn_string_t.  

2001-04-23 08:55   Karl Fogel <>

	* (1.38, milestone-2):

	Put Neon URL in a variable, since we use it in more than one place.  
	Thanks to Mo DeJong <> for the patch.  

2001-04-22 08:31   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/.cvsignore (1.1, milestone-2):

	Please ignore .pyc files 

2001-04-19 21:28   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_files.c (1.76):

	(svn_wc__close_props, svn_wc__sync_props):  fix typo here too.  

2001-04-19 21:26   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_files.c (1.75):

	(svn_wc__open_props):  doh!  typo fix.  

2001-04-19 21:22   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_files.c (1.74), props.c (1.29), wc.h
	(1.149, milestone-2):

	Create new interface for *atomically* opening and closing property 
	files.  This interface is consistent with the existing "atomic" 
	working-copy administrative-area API.  
	* wc.h (svn_wc__open_props, svn_wc__close_props,
	  svn_wc__sync_props): new interfaces 
	* adm_files.c (svn_wc__open_props, svn_wc__close_props, 
	  svn_wc__sync_props):  implement.  
	* props.c (svn_wc_prop_set, svn_wc__wcprop_set): change internals to 
	  use this new interface.  

2001-04-19 17:37   Karl Fogel <>

	* notes/fs-improvements.txt (1.7):

	Incorporate Branko's comments from the dev list.  Flesh out
	background of svndiff composition more.  

2001-04-19 10:25  C. Michael Pilato <>

	* subversion/: include/svn_wc.h (1.89), libsvn_wc/adm_crawler.c
	(1.90), libsvn_wc/entries.c (1.95), libsvn_wc/status.c (1.29):

	* libsvn_wc/status.c 
	  (svn_wc_statuses): Fixed logic to handle the returns from the 
	  simplified entries funcs properly.  
	* include/svn_wc.h 
	  (svn_wc_entries_read): Updated docstring.  
	* libsvn_wc/adm_crawler.c 
	  (report_local_mods): When looking at subdir entries, we need to dig 
	  a little deeper to get a fully fleshed-out entry.  
	* libsvn_wc/entries.c 
	  (read_entries): No longer need forward declaration.  
	  (resolve_to_defaults): Fixed to respect new rules for entries 
	  reading--no peeking in anybody else's entries files! 

2001-04-18 16:36   Ben Collins-Sussman <>

	* subversion/libsvn_wc/get_editor.c (1.176):

	(make_file_baton):  duh, initialize wcprop array.  
	(close_file): move wcprop dumping to the end, *after* the log
	running guarantees that the file already exists.  

2001-04-18 16:22   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: get_editor.c (1.175), props.c (1.28):

	Whoops, we get an error when we try to immediately dump a wc-prop to 
	disk for a newly added file (during checkout.)   Why?  Because the 
	file doesn't actually exist outside of SVN/tmp/ until close_file()
	is called.   This means that when change_file_prop(wcprop) is
	called, it fails a sanity check, because it can't find the file.  
	(This doesn't happen with change_dir_prop(wcprop), since newly added 
	dirs are created immediately.) 
	The solution is to cache the wcprops in file_baton, just like we
	cache regular props.  Then write them all out when we close_file().  
	* get_editor.c (struct file_baton): new wcpropchanges array and 
	  associated flag.  
	  (change_file_prop):  push wcprops to the new array.  
	  (close_file):  if flag is set, dump the wcprops.  
	* props.c (wcprop_list):  fix error description typos.  

2001-04-18 13:38  Kevin Pilch-Bisson <>

	* subversion/tests/: libsvn_delta/ (1.17, milestone-2),
	libsvn_delta/deltaparse-test.c (1.67), libsvn_subr/
	(1.19, milestone-2), libsvn_wc/ (1.20, milestone-2),
	libsvn_wc/commit-test.c (1.26):

	Renable (dynamic) building of the test tree.  
	    * tests/libsvn_subr/ - Add @SVN_LIBSVN_FS_LIBS@ if
	        building the filesystem.  (This is because of the new
	        fs-helpers.c in 
	    * tests/libsvn_delta/ - Add @SVN_LIBSVN_FS_LIBS@ if
	        building the filesystem.  (This is because of the new
	        fs-helpers.c in 
	    * tests/libsvn_wc/ - Add @SVN_LIBSVN_FS_LIBS@ if building 
	        the filesystem.  (This is because of the new fs-helpers.c in  
	    * tests/libsvn_delta/deltaparse-test.c - Add empty definition of 
	        test_funcs variable, required by the new combined 
	    * tests/libsvn_wc/commit-test.c - Add empty definition of 
	        test_funcs variable, required by the new combined 

2001-04-18 13:14   Ben Collins-Sussman <>

	* subversion/: libsvn_ra_dav/ra_dav.h (1.21), libsvn_wc/adm_ops.c
	(1.54), libsvn_wc/get_editor.c (1.174), libsvn_wc/props.c (1.27),
	libsvn_wc/wc.h (1.148):

	Finish implementing "wc props".  
	* adm_ops.c (svn_wc_get_wc_prop, svn_wc_set_wc_prop): make these 
	  existing funcs call the new, private svn_wc__wcprop_[gs]et funcs.  
	* get_editor.c (is_wc_prop): new helper func.  
	  (change_dir_prop, change_file_prop): grep for "svn:wc:" on incoming 
	  properties.  If present, just call svn_wc__wcprop_set() instead of 
	  storing them as regular props.  
	* ra_dav.h (SVN_RA_DAV__LP_NAMESPACE):  add "svn:wc" to all wc props 
	  coming from ra_dav.  (gstein, did I get this right?) 

2001-04-18 11:35   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: README (1.61, milestone-2), adm_files.c
	(1.73), props.c (1.26), wc.h (1.147):

	Re-implement "wc props" as an independent thing in the SVN 
	administrative area.  
	Because wc props aren't under the user's control, nor are they 
	versioned in the repository fs, it's cleaner to keep them
	independent.  It keeps updates and commits more theoretcially pure.  
	(gstein:  not quite there yet, hold on.) 
	* wc.h (SVN_WC__ADM_DPROP_BASE):  kill crufty old #define.  
	  administrative files to hold wc-props.  
	  (svn_wc__wcprop_path): new func to get path to wcprops/foo or 
	  (svn_wc__wcprop_get): get a single wcprop.  
	  (svn_wc__wcprop_set): set a single wcprop.  
	* README:  add description of 'wcprops/' and 'dir-wcprops'.  
	* adm_files.c (init_adm):  create these new items when initializing
	  a working copy.  
	  (svn_wc__wcprop_path): new func to get path to wcprops/foo or 
	* props.c (wcprop_list): get list of all wcprops.  
	  (svn_wc__wcprop_get): get a single wcprop.  
	  (svn_wc__wcprop_set): set a single wcprop.  

2001-04-18 09:24  Kevin Pilch-Bisson <>

	* notes/multi-args.txt (1.4, milestone-2):

	Removed unnecessary assumption that no "../blah" paths exist in TL.  
	PR: Obtained from: Submitted by: Reviewed by: 

2001-04-18 09:03  C. Michael Pilato <>

	* subversion/mod_dav_svn/: (1.15), merge.c (1.6):

	* mod_dav_svn/merge.c 
	  (dav_svn__merge_response): Renamed use of svn_fs_dir_delta to 
	* mod_dav_svn/ 
	  Now link to libsvn_repos, too. (Did I get this right?  I don't have 
	  Apache installed on my machine) 

2001-04-17 17:50   Ben Collins-Sussman <>

	* subversion/libsvn_wc/entries.c (1.94):

	* entries.c (resolve_to_defaults): fix bug whereby a 
	  property-timestamp ended up in two places whenever the update
	  editor received a directory propchange.  The timestamp should only
	  live in THIS_DIR, not in its parent's subdir entry.  
	  The *real* problem is in svn_wc_get_entries(): this is a small 
	  symptom of a larger Iceberg-size change that needs to be made.  In 
	  essence, get_entries needs to *stop* searching for information 
	  outside the immediate directory it's loading up, and all of its 
	  callers need to stop assuming that the entries hash returned will
	  be perfectly complete.  

2001-04-17 16:56   Karl Fogel <>

	* notes/multi-args.txt (1.3):


2001-04-17 16:50  C. Michael Pilato <>

	* subversion/libsvn_repos/.cvsignore (1.1, milestone-2):

	Another file missed in checkin...geepers.  

2001-04-17 16:48  C. Michael Pilato <>

	* subversion/tests/libsvn_repos/: .cvsignore (1.1, milestone-2),
	repos-test.c (1.1), (1.1, milestone-2):

	Doh!  Some forgotten stuff! 
	* libsvn_ra_dav/.cvsignore 
	* libsvn_repos/.cvsignore 
	  Things to be ignored by CVS.  
	* libsvn_repos/repos-test.c 
	  Uh...forgot to add this file to CVS.  It holds the test dir_delta 
	  formerly found in tests/libsvn_fs/fs-test.c 
	* libsvn_repos/ 
	  Edited copy of tests/libsvn_fs/  

2001-04-17 16:17   Karl Fogel <>

	* notes/fs-improvements.txt (1.6):

	Finished (a), fleshed out (c) a lot more, pretended (b) is done.  

2001-04-17 16:13  C. Michael Pilato <>

	* (1.80, milestone-2), subversion/include/svn_fs.h
	(1.79), subversion/libsvn_fs/tree.c (1.72),
	subversion/libsvn_repos/delta.c (1.41),
	subversion/libsvn_repos/reporter.c (1.2),
	subversion/tests/fs-helpers.c (1.2, milestone-2),
	subversion/tests/fs-helpers.h (1.2, milestone-2),
	subversion/tests/libsvn_fs/ (1.17, milestone-2),
	subversion/tests/libsvn_fs/dir-delta-editor.c (1.3),
	subversion/tests/libsvn_fs/dir-delta-editor.h (1.3),
	subversion/tests/libsvn_fs/fs-test.c (1.75),
	subversion/tests/libsvn_repos/ (1.3, milestone-2):

	More changes toward getting the libsvn_repos and libsvn_fs 
	thingamabobs straightened out.  
	  (FS_BASED_TESTS): Add libsvn_repos to list of filesystem-based 
	  (AC_OUTPUT): Added tests/libsvn_repos/Makefile to list of Makefiles 
	  we wish to generate.  
	* subversion/include/svn_fs.h 
	* subversion/libsvn_fs/tree.c 
	* subversion/libsvn_repos/delta.c 
	  (svn_fs_get_file_delta_stream): Rename from svn_fs_file_delta.  
	  Caller(s) changed.  
	* subversion/libsvn_repos/reporter.c 
	  (svn_repos_finish_report): Changed reference from svn_fs_dir_delta 
	  to svn_repos_dir_delta.  
	* subversion/tests/fs-helpers.h 
	* subversion/tests/fs-helpers.c 
	* subversion/tests/libsvn_fs/fs-test.c 
	  (svn_test__create_greek_tree): Function moved from 
	  tests/libsvn_fs/fs-test.c, renamed from greek_tree_under_root.  
	  (svn_test__check_greek_tree): Function moved from 
	  tests/libsvn_fs/fs-test.c, renamed from
	* subversion/tests/libsvn_fs/fs-test.c 
	* subversion/tests/libsvn_repos/repos-test.c 
	  (dir_deltas): Moved this function from fs-test.c to repos-test.c.  
	  test_funcs extern array updated in both files to reflect the 
	  deletion/addition of the dir_deltas test case.  
	* subversion/tests/libsvn_fs/ 
	* subversion/tests/libsvn_repos/ 
	  Moved dir-delta-editor.c from tests/libsvn_fs to 
	  tests/libsvn_repos.  Karl once again h4x0r3d the RCS filez.  
	* subversion/tests/libsvn_fs/dir-delta-editor.c 
	* subversion/tests/libsvn_fs/dir-delta-editor.h 
	  See ya, ladies.  

2001-04-17 15:07   Greg Stein <>

	* subversion/libsvn_subr/svn_error.c (1.61):

	Print the parent pool while debugging.  

2001-04-17 15:07   Greg Stein <>

	* subversion/libsvn_ra_local/ (1.8, milestone-2):

	Make sure to grab libsvn_repos, too, when building dynamically.  

2001-04-17 14:54  C. Michael Pilato <>

	* subversion/: include/svn_fs.h (1.78), include/svn_repos.h (1.3),
	libsvn_fs/ (1.40), libsvn_fs/delta.c (1.40),
	libsvn_fs/tree.c (1.71), libsvn_repos/ (1.4,
	milestone-2), libsvn_repos/delta.c (1.40):

	* include/svn_fs.h 
	* include/svn_repos.h 
	  (svn_fs_dir_delta): Moved this prototype from svn_fs.h to 
	  svn_repos.h, renaming the function to svn_repos_dir_delta.  
	* libsvn_fs/ 
	* libsvn_repos/ 
	  (delta.c): Moved this file from libsvn_fs/ to libsvn_repos/ (Karl 
	  hacked the RCS to preserve history for this change).  
	* libsvn_repos/delta.c 
	  New file (with the history and contents of libsvn_fs/delta.c).  
	* libsvn_fs/delta.c 
	  Nah nah naaaaah nah, nah nah naaaaah nah, hey hey -- you get the 
	* libsvn_fs/tree.c 
	  (svn_fs_file_delta): New home for this function since delta.c no 
	  longer exists in libsvn_fs/ 
	  (svn_repos_dir_delta): Renamed from svn_fs_dir_delta.  
	  (svn_fs_file_delta): Moved to libsvn_fs/tree.c 

2001-04-17 12:41  C. Michael Pilato <>

	* (1.79), subversion/libsvn_fs/delta.c (1.39),
	subversion/libsvn_repos/delta.c (1.39),
	subversion/tests/ (1.16, milestone-2),
	subversion/tests/fs-helpers.c (1.1), subversion/tests/fs-helpers.h
	(1.1), subversion/tests/svn_tests_main.c (1.21, milestone-2),
	subversion/tests/libsvn_delta/ (1.16),
	subversion/tests/libsvn_fs/ (1.16),
	subversion/tests/libsvn_fs/fs-test.c (1.74),
	subversion/tests/libsvn_fs/skel-test.c (1.18),
	subversion/tests/libsvn_ra_local/ (1.6, milestone-2),
	subversion/tests/libsvn_repos/ (1.2),
	subversion/tests/libsvn_subr/ (1.18),
	subversion/tests/libsvn_subr/hashdump-test.c (1.20, milestone-2),
	subversion/tests/libsvn_subr/stringtest.c (1.8, milestone-2),
	subversion/tests/libsvn_wc/ (1.19):

	The following is all about changes to the C-based test harness and 
	related tests.  Ouch.  If I never have to paste the text ", pool" 
	again, it will be too soon.  
	  merging it into SVN_TESTS_MAIN_LIBS.  
	  (BUILD_FS_STUFF): New automake conditional for use in 
	* subversion/libsvn_fs/delta.c 
	  Sweeping change:  removed POOL field from struct context, and added 
	  POOL arguments to all functions herein that require it.  Also used 
	  subpools in places where it seemed useful to do so.  
	* subversion/tests/ 
	  Added some comments, and made use of new BUILD_FS_STUFF conditional 
	  for deciding (based on the existence of the Berkeley DB libs) 
	  whether or not to include fs-helpers.c in the build of the SVN
	  tests library.  
	* subversion/tests/fs-helpers.c 
	* subversion/tests/fs-helpers.h 
	  New files to hold functions intended to be shared by tests/libsvn_fs 
	  and tests/libsvn_repos (when the latter comes to exist).  
	* subversion/tests/svn_tests_main.c 
	  Removed global POOL extern, adding a POOL argument to the test 
	  function prototype.  From now on, tests using this harness will be 
	  handed their own POOL to play with--no more of this global pool 
	  (main): We now hand a fresh pool to each test we call, clearing it 
	  out after the test is finished before calling the next test.  
	* subversion/tests/libsvn_delta/ 
	* subversion/tests/libsvn_fs/ 
	* subversion/tests/libsvn_ra_local/ 
	* subversion/tests/libsvn_repos/ 
	* subversion/tests/libsvn_ra_local/ 
	* subversion/tests/libsvn_wc/ 
	  No longer refer to SVN_TESTS_EDITOR_LIBS.  All the stuff in the 
	  tests/ directory is referenced with just SVN_TESTS_MAIN_LIBS.  
	* subversion/tests/libsvn_fs/skel-test.c 
	* subversion/tests/libsvn_fs/fs-test.c 
	* subversion/tests/libsvn_subr/hashdump-test.c 
	* subversion/tests/libsvn_subr/stringtest.c 
	  Sweeping changes to remove the global POOL variable, adding POOL as 
	  a passed-in argument to all test cases (and inevitably, most of
	  the helper functions as well).  
	* subversion/tests/libsvn_fs/fs-test.c 
	  (berkeley_error_handler, fs_new, create_fs_and_repos, 
	  stream_to_string, set_file_contents, get_file_contents, typedef 
	  struct tree_test_entry_t, typedef struct tree_test_t, 
	  get_dir_entries, validate_tree_ (validate_tree, typedef struct 
	  txn_script_command_t, txn_script_exec):  Functions moved to new 
	  shared codebase tests/fs-helpers.c (with prototypes in 
	  tests/fs-helpers.h, and semi-public symbol names prefixed with 

2001-04-17 05:51   Greg Stein <>

	* subversion/libsvn_delta/svndiff.c (1.22, milestone-2):

	Shut down the stream -> window mechanism in the correct order.
	Closing the stream first could inadvertently throw out the parent of
	our subpool.  
	(window_handler): swap order of pool destruction and stream closing.  

2001-04-16 19:58   Greg Stein <>

	* subversion/mod_dav_svn/version.c (1.25):

	In certain cases, two collection nodes should be treated as
	equivalent.  Don't reject this case when a CHECKOUT occurs.  
	(dav_svn_checkout): check for an immediate parent/child relationship
	  between the requested node ID and the transaction's ID. this
	  "change" occurs during bubble up scenarios, but also during normal
	  processing (yet it would be impossible for a client to specify the
	  node in the txn, so even if the node has real changes, they should
	  be considered equivalent (although real changes should not have
	happened before a checkout...)) 

2001-04-16 19:52   Greg Stein <>

	* subversion/: include/svn_fs.h (1.77), libsvn_fs/id.c (1.23,
	milestone-2), libsvn_fs/id.h (1.11, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done, milestone-2):

	Make svn_fs__is_parent a public function. Fix small bug in the
	* include/svn_fs.h (svn_fs_is_parent): new declaration 
	* libsvn_fs/id.c (svn_fs_is_parent): renamed from svn_fs__is_parent.  
	    Add an extra check to ensure that is not a child of
	* libsvn_fs/id.h (svn_fs__is_parent): removed declaration 

2001-04-16 18:53   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.48):

	Fix the version resource URI parsing. It didn't handle the root path
	case properly (slash - path was *way* off).  
	(dav_svn_parse_version_uri): fix parsing for root path 

2001-04-16 18:05   Karl Fogel <>

	* notes/fs-improvements.txt (1.5):

	Plurality fix.  But that doesn't mean this is ready for YOU to read, 
	oh, no, not at all.  It isn't ready.  I just fixed some grammar,
	okay? Thank you.  

2001-04-16 18:00   Karl Fogel <>

	* notes/fs-improvements.txt (1.4):

	Chop chop.  Don't read this.  I mean it.  

2001-04-16 17:58   Karl Fogel <>

	* notes/alpha_checklist (1.10):

	Formatting fix.  

2001-04-16 17:58   Karl Fogel <>

	* notes/fs-improvements.txt (1.3):

	Brain dump, still not done.  

2001-04-16 17:34   Karl Fogel <>

	* notes/fs-improvements.txt (1.2):

	Put not-yet-ready notice at top.  

2001-04-16 17:30   Karl Fogel <>

	* notes/fs-improvements.txt (1.1):

	Document in progress, related to item (B) in alpha_checklist.  Not 
	ready for public consumption yet, I'm just checking in so Ben can
	read this on the train.  If you are not Ben, do not read this yet. 
	Or if you do read it, I don't want to hear about it. :-) 

2001-04-16 17:18   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.6), (1.2):

	* (compare_sets, line_matches_regexp): rewrite and 
	  rename these routines into a more Genealized Set Comparison
	  system, as a result of discussion with Karl.  
	* (xml_checkout, xml_commit, xml_test_1, xml_test2):
	  call new svn_output funcs and change expected lines to regexps.  

2001-04-16 17:14   Ben Collins-Sussman <>

	* (1.78):

	BugFix: library dependency ordering within variable.  

2001-04-16 15:52   Ben Collins-Sussman <>

	* subversion/: include/svn_repos.h (1.2),
	libsvn_ra_local/ (1.7), libsvn_ra_local/ra_local.h
	(1.15, milestone-2), libsvn_ra_local/ra_plugin.c (1.29),
	libsvn_ra_local/update.c (1.8), libsvn_repos/ (1.3),
	libsvn_repos/reporter.c (1.1):

	Move 'reporter' functionality (for updates) into libsvn_repos.  
	* reporter.c: new file, copied over from libsvn_ra_local/update.c.  
	* ra_local.h (svn_ra_local__set_path, svn_ra_local__finish_report, 
	  svn_ra_local__report_baton_t): remove declarations 
	* svn_repos.h (svn_repos_set_path, svn_repos_finish_report, 
	  svn_repos_report_baton_t): move here, with new names.  
	* ra_plugin.c (do_update, svn_ra_reporter_t): use reporter functions 
	  with their new svn_repos prefix.  
	* libsvn_repos/  build reporter.c 
	* libsvn_ra_local/  stop building update.c 

2001-04-16 14:58   Ben Collins-Sussman <>

	* subversion/tests/libsvn_repos/ (1.1):

	Adding libsvn_repos test area 

2001-04-16 14:15   Ben Collins-Sussman <>

	* subversion/libsvn_repos/ (1.2):

	Bugfix from gstein 

2001-04-16 14:14   Ben Collins-Sussman <>

	* subversion/include/svn_repos.h (1.1):

	Oops, forgot to add this file.  

2001-04-16 13:31   Ben Collins-Sussman <>

	* (1.77), subversion/include/svn_fs.h (1.76),
	ac-helpers/svn-define-libs.m4 (1.3, milestone-2),
	subversion/libsvn_fs/ (1.39),
	subversion/libsvn_fs/editor.c (1.37),
	subversion/libsvn_ra_local/ra_plugin.c (1.28),
	subversion/libsvn_repos/ (1.1),
	subversion/libsvn_repos/README (1.1, milestone-2),
	subversion/libsvn_repos/commit_editor.c (1.1),
	subversion/tests/libsvn_fs/fs-test.c (1.73):

	Start moving existing code into new 'libsvn_repos' library.  
	This library represents tools that are needed by filesystem callers, 
	but aren't strictly part of the filesystem.  (Rather, these tools
	are built on *top* of svn_fs.h) 
	* libsvn_repos,  new files 
	* libsvn_repos/commit_editor.c:  renamed from plain 'editor.c' in 
	  (svn_repos_get_editor):  newly prefixed name.  also, remove 
	  unnecessary svn_fs__check_fs() call.  
	* svn_repos.h (svn_repos_get_editor, 
	   new file, move declarations in here with new 'svn_repos' name 
	* svn_fs.h (svn_fs_get_editor, svn_fs_commit_hook_t):  remove old
	* (FS_BASED_DIRS):  add libsvn_repos to definition.  
	  (AC_OUTPUT):  build libsvn_repos/Makefile 
	  (LIBSVN_CLIENT_DEPS):  if you're building fs, build repos lib too.  
	* libsvn_ra_local/ra_plugin.c (get_commit_editor):  call renamed 
	  svn_repos_get_editor, and #include svn_repos.h 
	* libsvn_fs/  stop compiling editor.c 
	* svn-define-libs.m4:  define SVN_LIBSVN_REPOS_LIBS 
	* fs-test.c (call_functions_with_unopened_fs): remove get_editor
	  test at the bottom;  this will be moved into libsvn_repos' own test 

2001-04-16 10:42   Ben Collins-Sussman <>

	* www/project_status.html (1.17):

	Updating status page.  

2001-04-16 08:00   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.31), repos.c (1.47):

	Check the Content-Type header to see what is being PUT to the
	server, and process the (diff) stream accordingly.  
	* dav_svn.h (struct dav_resource_private): add (hacky) is_svndiff
	* repos.c (struct dav_stream): add a new writable stream field.  
	  (dav_svn_get_resource): check the Content-Type header and set the 
	    is_svndiff flag.  
	  (dav_svn_open_stream): open an svndiff->txdelta stream if
	    is_svndiff has been set.  
	  (dav_svn_close_stream): close the wstream, if present 
	  (dav_svn_write_stream): write to the svndiff/txdelta stream, or
	    create a window for writing plain text.  

2001-04-16 07:38   Greg Stein <>

	* subversion/libsvn_ra_dav/merge.c (1.4):

	More fixes for MERGE processing (commits).  
	(merge_elements[]): note that we need to collect CDATA for some
	(handle_resource): relax a check because the server is taking short
	(validate_element): return _VALID for the merge_response child so
	  that we actually get called on its children! 
	(end_element): fill in an error when response_has_error gets set.  
	(svn_ra_dav__merge_activity): drop the callbacks into the merge

2001-04-16 07:35   Greg Stein <>

	* subversion/mod_dav_svn/merge.c (1.5):

	(send_response): fix the XML response; the DAV:status should go
	  outside of the DAV:prop element 
	(dav_svn__merge_response): fix the location of the DAV:status
	  element. add an [incorrect] resource type for the VCC.  

2001-04-16 06:33   Greg Stein <>

	* subversion/libsvn_ra_dav/: commit.c (1.47), merge.c (1.3):

	Bug fixes.  
	* commit.c (checkout_resource): add some error returns, clarify
	* merge.c (svn_ra_dav__merge_activity): fix XML request 

2001-04-16 06:31   Greg Stein <>

	* subversion/mod_dav_svn/version.c (1.24):

	sync with latest dav_hooks_vsn 

2001-04-16 05:35   Greg Stein <>

	* subversion/libsvn_subr/svn_error.c (1.60):

	Allow svn_error_init_pool() to be called more than once.  
	Fix a bug: svn_boolean_t* is NOT compatible with a void**. The hash
	  function would end up storing a void* into the svn_boolean_t
	  variable. If there was a width or alignment problem, then this would
	break horribly.  
	(svn_error__get_error_pool): use temp void* variable for fetching
	  values from the userdata.  
	(svn_error_init_pool): see if an error pool exists already, and bail
	  if one has been found.  

2001-04-16 05:29   Greg Stein <>

	* subversion/mod_dav_svn/: activity.c (1.5), dav_svn.h (1.30),
	merge.c (1.4), repos.c (1.46):

	Miscellaneous changes to get MERGE to work properly.  
	* activity.c (dav_svn_get_txn, dav_svn_store_activity, 
	    dav_svn_create_activity): const-ify the "repos" parameter.
	    change all callers.  
	* dav_svn.h: add "const" to some params. add DAV_SVN_RESTYPE_UNSET
	    to distinguish a restype which hasn't been set from the
	* merge.c (send_response): build_uri shouldn't add an href, we'll do
	    it; handle the ap_fputstrs() return type properly.  
	  (mr_replace_root): the root dir is passed to close_directory. make
	    sure that we have a subpool for it to destroy.  
	* repos.c (dav_svn_get_resource): init the error pool.  

2001-04-16 05:16   Greg Stein <>

	* subversion/libsvn_fs/id.c (1.22):

	The distance from 4.1 to is one, not zero. When branching,
	the node revision causing the branch is a change, so count it.  
	(distance_from_prefix): compute the correct distance for branches 

2001-04-16 01:59   Greg Stein <>

	* subversion/mod_dav_svn/merge.c (1.3):

	Flesh out the response generation code.  
	(send_response): change the return type to svn_error_t. take an
	  additional "is_dir" parameter. change all callers. write the
	(dav_svn__merge_response): handle some error conditions.  

2001-04-16 01:57   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.29), util.c (1.13):

	Add a type for building the "public" URI.  
	* dav_svn.h (DAV_SVN_BUILD_URI_PUBLIC): new enumeration value 
	* util.c (dav_svn_build_uri): add case for _PUBLIC 

2001-04-16 00:02   Greg Stein <>

	* tools/cvs2svn/design-notes.txt (1.2, milestone-2):

	add an email I received from John.  add my thoughts.  

2001-04-15 20:13   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.4), (1.1):

	In process: almost done porting our two .sh scripts to python.  Of 
	course, this time, the system can automatically *verify* successful 
	tests (like our C tests.)  No more human grepping of results. :) 
	* (remove_wc):  new utility func.  
	  (file_append):  new utility func 
	*  new tests! 

2001-04-15 18:28   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.28), merge.c (1.2),
	version.c (1.23):

	Initial draft work for MERGE response generation.  
	(compiles, not tested) 
	* dav_svn.h (dav_svn__merge_response): adjust declaration. change
	* merge.c: mucho new code.  

2001-04-15 18:25   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.27), liveprops.c (1.20,
	milestone-2), repos.c (1.45), util.c (1.12), version.c (1.22):

	Change dav_svn_build_uri() to take a repository rather than a full
	* dav_svn.h (dav_svn_build_uri): alter declaration. change all
	* util.c (dav_svn_build_uri): use new param structure 

2001-04-15 17:35   Greg Stein <>

	* subversion/libsvn_ra_local/update.c (1.7):

	Just ran across this...  
	(svn_ra_local__set_path): use apr_palloc since we don't need the mem

2001-04-15 17:27   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.5):

	(compare_line_lists):  bugfix, this routine now works.  

2001-04-15 07:16   Greg Stein <>

	* subversion/mod_dav_svn/: (1.14), dav_svn.h (1.26),
	merge.c (1.1), version.c (1.21):

	Move the response body generation out to a new function (in a new
	* merge.c: new file. implements new function --
	* add merge.c 
	* dav_svn.h: declare dav_svn__merge_response 
	* version.c (dav_svn_merge): check for SVN_ERR_FS_CONFLICT, rather
	    than assuming any error is a conflict. shift draft output code to
	    merge.c and use dav_svn__merge_response instead.  

2001-04-14 14:13   Greg Stein <>

	* subversion/tests/clients/cmdline/ (1.4):

	I don't believe that I've ever seen a Python script that has spacing
	like that. Gotta kill that style before it spreads... Otherwise, it
	Just Isn't Python. :-) 

2001-04-14 10:41   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.3):

	Some patches from gstein.  Module still not debugged yet.  

2001-04-14 06:00   Greg Stein <>

	* subversion/libsvn_ra_dav/: commit.c (1.46), merge.c (1.2),
	ra_dav.h (1.20):

	Implement client-side handling of the MERGE request and response
	* merge.c (merge_elements[]): add new XML elements to process 
	  (enum merge_rtype): new enum 
	  (struct merge_ctx_t): expand with new context data for processing 
	  (add_ignored): new function to deal with URLs that appear within a 
	    DAV:ignored-set element.  
	  (bump_resource): new function to save the vsn URL, bump the
	    revision, and commit a single resource.  
	  (handle_resource): new function to process a resource once its
	    data has been gathered from the MERGE response.  
	  (validate_element): expand for add'l processed elements 
	  (start_element): implement 
	  (copy_href): new function to help with copying a DAV:href element 
	  (end_element): implement 
	  (svn_ra_dav__merge_activity): add some params. set up the add'l
	    context data. return any error that may have been generated.  
	* commit.c (commit_close_edit): adjust params to
	* ra_dav.h (svn_ra_dav__merge_activity): add new params 
	  (ENUM_baseline): new enumerated constant 

2001-04-14 05:52   Greg Stein <>

	* subversion/mod_dav_svn/version.c (1.20):

	Begin handling for the MERGE method.  
	(open_txn): new function. factored out of dav_svn_checkout. given a
	  name, it opens the svn_fs_txn_t object.  
	(dav_svn_checkout): use new open_txn function.  
	(dav_svn_merge): new function to perform a DAV MERGE 
	(struct dav_svn_hooks_vsn): add new merge hook 

2001-04-14 05:49   Greg Stein <>

	* subversion/mod_dav_svn/util.c (1.11):

	(dav_svn_simple_parse_uri): path should be non-const to prevent
	    warnings from ap_getparents and ap_no2slash. (and it really is

2001-04-14 05:47   Greg Stein <>

	* subversion/libsvn_subr/svn_string.c (1.12):

	Refactor to prevent double alloc.  
	(create_string): new function to alloc and fill in an svn_string_t 
	(svn_string_ncreate): use new create_string function.  
	(svn_string_createv): use new create_string function.  

2001-04-12 18:59   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.2):

	(svn_output.compare_line_lists):  saving work, new untested func 

2001-04-12 18:48   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: README (1.2),

	Adding more shared routines 

2001-04-12 14:55  C. Michael Pilato <>

	* subversion/: libsvn_client/commit.c (1.37),
	libsvn_ra_local/checkout.c (1.9, milestone-2):

	* libsvn_client/commit.c 
	  (send_file_contents): Use subpool for local allocations.  
	* libsvn_ra_local/checkout.c 
	  (send_file_contents): Use subpool for local allocations.  

2001-04-12 13:11   Karl Fogel <>

	* subversion/: svn-dev.el (1.6),
	tests/clients/cmdline/ (1.2),
	tests/clients/cmdline/ (1.4, milestone-2),
	tests/clients/cmdline/ (1.3):

	* svn-dev.el: Set up python mode defaults for Subversion.  
	*,, Load

2001-04-12 10:01   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.3):

	(svn_entryparser.handle_start_tag): derive missing ancestry,
	revision, and kind values, just like our C parser does.  

2001-04-12 08:58   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.2):

	Correctly object-orient this script, as suggested by gstein.  

2001-04-12 04:01  C. Michael Pilato <>

	* subversion/: libsvn_subr/svn_error.c (1.59), include/svn_error.h

	* libsvn_subr/svn_error.c 
	* include/svn_error.h 
	  (svn_pool_create, svn_pool_clear, svn_pool_destroy):  Wrapped these 
	  prototypes in macro checks.  When SVN_POOL_DEBUG is #define-d,
	  these function prototypes become macro calls to
	  svn_pool_create_debug, svn_pool_clear_debug, and
	  svn_pool_destroy_debug, respectively.  The *_debug version of these
	  functions print pool usage stats to stderr.  JimB is The Friggin'
	  Man for suggesting this to me (though he never asked me to commit
	  these changes to CVS...I get full blame if this is a no-no).  

2001-04-12 03:02  C. Michael Pilato <>

	* subversion/: include/svn_error.h (1.97), libsvn_client/commit.c
	(1.36), libsvn_delta/svndiff.c (1.21), libsvn_delta/text_delta.c
	(1.32, milestone-2), libsvn_delta/xml_output.c (1.37, milestone-2),
	libsvn_delta/xml_parse.c (1.154, milestone-2), libsvn_fs/dag.c
	(1.91), libsvn_fs/editor.c (1.36), libsvn_fs/fs.c (1.41),
	libsvn_fs/trail.c (1.10, milestone-2), libsvn_fs/tree.c (1.70),
	libsvn_fs/txn.c (1.40), libsvn_ra_dav/commit.c (1.45),
	libsvn_ra_local/checkout.c (1.8), libsvn_ra_local/ra_plugin.c
	(1.27), libsvn_ra_local/split_url.c (1.9, milestone-2),
	libsvn_subr/base64.c (1.17, milestone-2), libsvn_subr/quoprint.c
	(1.4, milestone-2), libsvn_subr/svn_error.c (1.58),
	libsvn_subr/xml.c (1.37, milestone-2), libsvn_wc/adm_crawler.c
	(1.89), libsvn_wc/adm_ops.c (1.53), libsvn_wc/get_editor.c (1.173),
	svnadmin/main.c (1.10), tests/svn_tests_main.c (1.20),
	tests/libsvn_delta/deltaparse-test.c (1.66),
	tests/libsvn_delta/random-test.c (1.22, milestone-2),
	tests/libsvn_wc/commit-test.c (1.25):

	* libsvn_subr/svn_error.c 
	* include/svn_error.h 
	  (svn_pool_destroy): New abstraction for apr_pool_destroy.  
	  (svn_pool_get_size): New function for querying the size of 
	  allocations in a given pool and its children.  
	* client/main.c 
	* libsvn_client/commit.c 
	* libsvn_delta/svndiff.c 
	* libsvn_delta/text_delta.c 
	* libsvn_delta/xml_output.c 
	* libsvn_delta/xml_parse.c 
	* libsvn_fs/editor.c 
	* libsvn_fs/fs.c 
	* libsvn_fs/trail.c 
	* libsvn_fs/tree.c 
	* libsvn_fs/txn.c 
	* libsvn_ra_dav/commit.c 
	* libsvn_ra_local/checkout.c 
	* libsvn_ra_local/ra_plugin.c 
	* libsvn_ra_local/split_url.c 
	* libsvn_subr/base64.c 
	* libsvn_subr/quoprint.c 
	* libsvn_subr/xml.c 
	* libsvn_wc/adm_crawler.c 
	* libsvn_wc/adm_ops.c 
	* libsvn_wc/get_editor.c 
	* svnadmin/main.c 
	* tests/svn_tests_main.c 
	* tests/libsvn_delta/deltaparse-test.c 
	* tests/libsvn_delta/random-test.c 
	* tests/libsvn_wc/commit-test.c 
	  Global change of all uses of apr_pool_destroy to the new 
	  svn_pool_destroy (for symmetry, and to allow for easier debugging 
	  without tainting APR).  
	* libsvn_fs/dag.c 
	  (make_node_immutable):  Use a subpool for the copy of the 
	  NODE-REVISION skel, and free it when finished with it.  

2001-04-12 02:54  C. Michael Pilato <>

	* subversion/: libsvn_fs/delta.c (1.38), libsvn_repos/delta.c

	* libsvn_fs/delta.c 
	  Some of this code remains #define'd out until it can be further 
	  debugged...what a fragile, fragile, chunk of source.  
	  (add_file_or_dir):  Added source arguments to use as copyfrom args 
	  to editor functions (and to pass on for further comparison of
	  files and dirs) 
	  (find_nearest_entry):  Renamed from replace_with_nearest, and 
	  changed to only locate the nearest entry so the caller can do 
	  something with it, instead of actually acting on the best match
	  like it previously did.  
	  (delta_dirs):  Changed to make use of find_nearest_entry.  

2001-04-11 11:45   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/delta.c (1.37), libsvn_repos/delta.c

	(delta_dirs):  supply args in *correct* order to delta_proplists() 
	Broken (and fixed) by cmpilato.  This closes PR 353.  

2001-04-10 17:12   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.1), (1.2):

	New python script:  implements get_entries() using expat.  

2001-04-10 10:33  C. Michael Pilato <>

	* subversion/libsvn_fs/editor.c (1.35):

	* libsvn_fs/editor.c 
	  (close_file): Bug fix: it pains me to see us freeing stuff out of 
	  order. Ouch.  

2001-04-10 10:05   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/: (1.4), (1.2), (1.1), (1.1):

	Modularize the main testing function, and provide a sample template

2001-04-10 07:18   Lee P. W. Burgess <>

	* subversion/tests/clients/cmdline/ (1.3):

	* subversion/subversion/tests/client/cmdline/ 
	  Changed shebang line to python recommended #!/usr/bin/env python 

2001-04-09 21:11   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.2):

	Filling stuff out.  

2001-04-09 20:22   Ben Collins-Sussman <>

	* subversion/tests/clients/cmdline/ (1.1):

	Woop, there it is.  

2001-04-09 13:44  C. Michael Pilato <>

	* www/project_status.html (1.16):

	I'm late, I'm late, for a very important _______.  

2001-04-09 13:02  C. Michael Pilato <>

	* www/project_status.html (1.15):

	A little more filling in my donut, please 

2001-04-09 11:01  C. Michael Pilato <>

	* subversion/tests/libsvn_ra_local/.cvsignore (1.2, milestone-2):

	Sharpened and tough, slide right my past my lips and stab a little
	farther.  "That's not good enough," she says.  "You'll have to try a
	little harder." 

2001-04-09 10:45  C. Michael Pilato <>

	* subversion/: libsvn_fs/delta.c (1.36), libsvn_repos/delta.c
	(1.36), tests/libsvn_fs/fs-test.c (1.72):

	* libsvn_fs/delta.c 
	  (replace_file_or_dir, add_file_or_dir, delete): Renamed some 
	  arguments for clarity's sake, and added some more restrictive 
	  error-checking to passed arguments.  
	  (replace_with_nearest): Re-commissioned this function.  
	  (delta_dirs): Go back to trying replace_with_nearest when we can't 
	  immediately find a matching relative entry during a directory 
	* tests/libsvn_fs/fs-test.c 
	  (dir_deltas): Added new case to test results of filesystem copies.  

2001-04-09 10:44  C. Michael Pilato <>

	* subversion/tests/svn_test_editor.c (1.23, milestone-2):

	* tests/svn_test_editor.c 
	  (add_or_replace_dir, add_or_replace_file): Bug fix: make sure that 
	  copyfrom_path is non-NULL before referencing into it.  

2001-04-09 10:44  C. Michael Pilato <>

	* subversion/libsvn_subr/svn_string.c (1.11):

	* libsvn_subr/svn_string.c 
	  (svn_string_set): Bug fix: svn_string_ensure makes sure that a 
	  string is big enough to hold N bytes of data, but doesn't actually 
	  update the LEN field of the string, so we must update that
	  ourselves when copying new contents into a previously existing

2001-04-09 09:33   Daniel Stenberg <>

	* www/project_status.html (1.14):

	I updated the "Last Week's Activities" to give the impression that
	we actually update this page on a regular basis! ;-) Feel free to
	edit my blurb or to add other.  PR: Obtained from: Submitted by: 
	Reviewed by: 

2001-04-06 15:31   Ben Collins-Sussman <>

	* notes/alpha_short (1.2):


2001-04-06 14:58   Ben Collins-Sussman <>

	* notes/alpha_short (1.1):

	Very short summary of alpha_checklist.  

2001-04-06 13:19   Brian Fitzpatrick <>

	* notes/alpha_checklist (1.9):

	Added notes from the meeting on the 5th.  

2001-04-05 14:45   Ben Collins-Sussman <>

	* notes/alpha_checklist (1.8):

	Checking in notes/agenda for ongoing discussions in SF this week.  

2001-04-05 14:16   Ben Collins-Sussman <>

	* subversion/libsvn_fs/nodes-table.c (1.19,
	premerge_strings-reps-dev, milestone-2):

	(svn_fs__new_successor_id):  remove erroneous svn_fs__track_dbt() 
	call, which fixes the double-free() bug.  
	Submitted by RADICS Peter <>.  

2001-04-04 16:38  C. Michael Pilato <>

	* subversion/: libsvn_client/commit.c (1.35), libsvn_fs/delta.c
	(1.35), libsvn_ra_local/checkout.c (1.7), libsvn_repos/delta.c

	* libsvn_fs/delta.c 
	  (send_text_delta): Remember to free windows post-consumption.  
	* libsvn_ra_local/checkout.c 
	  (send_file_contents): Remember to free windows post-consumption.  
	* libsvn_client/commit.c 
	  (send_file_contents): Remember to free windows post-consumption.  

2001-04-03 13:25   Greg Stein <>

	* subversion/: include/svn_string.h (1.46, milestone-2),
	libsvn_subr/svn_string.c (1.10):

	Add a simple "set to this value" function.  
	* svn_string.h (svn_string_set): new declaration 
	* svn_string.c (svn_string_set): new implementation 

2001-04-03 08:29  Kevin Pilch-Bisson <>

	* subversion/libsvn_client/add.c (1.11, milestone-2):

	Move display of repeated add to client from libsvn_client, since not
	all clients will have a console.  
		* libsvn_client/add.c - change to wrap the error instead of handle
		* client/add-cmd.c - handle a return of SVN_ERR_WC_ENTRY_EXISTS as a 

2001-04-03 05:29   Greg Stein <>

	* subversion/libsvn_ra_dav/: (1.10), commit.c (1.44),
	merge.c (1.1), options.c (1.5), props.c (1.4), ra_dav.h (1.19):

	Begin implementation of the MERGE request to commit the transaction.  
	* add merge.c file 
	* commit.c (commit_close_edit): add call to
	* options.c, props.c: move ELEM_* element defintions to ra_dav.h 
	* ra_dav.h: add ELEM_* element definitions. add declaration of 
	* merge.c (svn_ra_dav__merge_activity): new file. initial

2001-04-02 21:16   Brian Fitzpatrick <>

	* subversion/: clients/win32/svn_com/MarshalArray.h (1.4,
	milestone-2), clients/win32/svn_com/SVN.h (1.3, milestone-2),
	clients/win32/svn_com/SVNStatus.h (1.3, milestone-2),
	clients/win32/svn_com/StdAfx.h (1.2, milestone-2),
	clients/win32/svn_com/dlldatax.c (1.2, milestone-2),
	clients/win32/svn_com/dlldatax.h (1.2, milestone-2),
	clients/win32/svn_com/misc.h (1.3, milestone-2),
	clients/win32/svn_com/svn_comCP.h (1.3, milestone-2),
	include/svn_base64.h (1.9, milestone-2), include/svn_client.h
	(1.32), include/svn_delta.h (1.150, milestone-2),
	include/svn_error.h (1.96), include/svn_fs.h (1.75),
	include/svn_hash.h (1.15), include/svn_io.h (1.36, milestone-2),
	include/svn_path.h (1.31), include/svn_quoprint.h (1.2,
	milestone-2), include/svn_ra.h (1.55, milestone-2),
	include/svn_string.h (1.45), include/svn_test.h (1.12,
	milestone-2), include/svn_types.h (1.61), include/svn_wc.h (1.88),
	include/svn_xml.h (1.30, milestone-2), libsvn_client/add.c (1.10),
	libsvn_client/apply_edits.c (1.15, milestone-2),
	libsvn_client/checkout.c (1.18, milestone-2),
	libsvn_client/client.h (1.12, milestone-2), libsvn_client/commit.c
	(1.34), libsvn_client/delete.c (1.9, milestone-2),
	libsvn_client/diff.c (1.2, milestone-2), libsvn_client/import.c
	(1.4, milestone-2), libsvn_client/status.c (1.12, milestone-2),
	libsvn_client/update.c (1.16), libsvn_delta/compose_editors.c
	(1.16, milestone-2), libsvn_delta/default_editor.c (1.7,
	milestone-2), libsvn_delta/delta.h (1.54, milestone-2),
	libsvn_delta/svndiff.c (1.20), libsvn_delta/text_delta.c (1.31),
	libsvn_delta/track_editor.c (1.4, milestone-2),
	libsvn_delta/vdelta.c (1.10, milestone-2),
	libsvn_delta/xml_output.c (1.36), libsvn_delta/xml_parse.c (1.153),
	libsvn_fs/convert-size.c (1.11, milestone-2),
	libsvn_fs/convert-size.h (1.7, milestone-2), libsvn_fs/dag.c
	(1.90), libsvn_fs/dag.h (1.42, milestone-2), libsvn_fs/dbt.c (1.18,
	milestone-2), libsvn_fs/dbt.h (1.18, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done, milestone-2),
	libsvn_fs/delta.c (1.34), libsvn_fs/editor.c (1.34),
	libsvn_fs/err.c (1.28, milestone-2), libsvn_fs/err.h (1.24,
	postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done, milestone-2), libsvn_fs/fs.c (1.40),
	libsvn_fs/fs.h (1.19), libsvn_fs/id.c (1.21), libsvn_fs/id.h
	(1.10), libsvn_fs/node-rev.c (1.10, milestone-2),
	libsvn_fs/node-rev.h (1.9, milestone-2), libsvn_fs/nodes-table.c
	(1.18), libsvn_fs/nodes-table.h (1.9, premerge_strings-reps-dev,
	milestone-2), libsvn_fs/rev-table.c (1.12), libsvn_fs/rev-table.h
	(1.7, postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done, milestone-2), libsvn_fs/skel.c (1.27,
	milestone-2), libsvn_fs/skel.h (1.19, milestone-2),
	libsvn_fs/trail.c (1.9), libsvn_fs/trail.h (1.8,
	postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done, milestone-2), libsvn_fs/tree.c (1.69),
	libsvn_fs/tree.h (1.6, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done, milestone-2),
	libsvn_fs/txn-table.c (1.23), libsvn_fs/txn-table.h (1.13),
	libsvn_fs/txn.c (1.39), libsvn_fs/txn.h (1.11,
	postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done, milestone-2), libsvn_fs/validate.c (1.6,
	postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done, milestone-2), libsvn_fs/validate.h (1.3,
	postmerge_strings-reps-dev, premerge_strings-reps-dev,
	strings-reps-dev-done, milestone-2), libsvn_repos/delta.c (1.34),
	libsvn_ra/ra_loader.c (1.6, milestone-2), libsvn_ra_dav/commit.c
	(1.43), libsvn_ra_dav/fetch.c (1.50), libsvn_ra_dav/options.c
	(1.4), libsvn_ra_dav/props.c (1.3), libsvn_ra_dav/ra_dav.h (1.18),
	libsvn_ra_dav/session.c (1.22, milestone-2),
	libsvn_ra_local/checkout.c (1.6), libsvn_ra_local/ra_local.h
	(1.14), libsvn_ra_local/ra_plugin.c (1.26),
	libsvn_ra_local/split_url.c (1.8), libsvn_ra_local/update.c (1.6),
	libsvn_subr/base64.c (1.16), libsvn_subr/hashdump.c (1.24,
	milestone-2), libsvn_subr/io.c (1.35, milestone-2),
	libsvn_subr/keysort.c (1.9), libsvn_subr/path.c (1.33),
	libsvn_subr/quoprint.c (1.3), libsvn_subr/svn_error.c (1.57),
	libsvn_subr/svn_string.c (1.9), libsvn_subr/target.c (1.4),
	libsvn_subr/xml.c (1.36), libsvn_wc/adm_crawler.c (1.88),
	libsvn_wc/adm_files.c (1.72), libsvn_wc/adm_ops.c (1.52),
	libsvn_wc/entries.c (1.93), libsvn_wc/get_editor.c (1.172),
	libsvn_wc/local_changes.c (1.27, milestone-2), libsvn_wc/lock.c
	(1.23, milestone-2), libsvn_wc/log.c (1.89), libsvn_wc/props.c
	(1.25), libsvn_wc/questions.c (1.51, milestone-2),
	libsvn_wc/status.c (1.28), libsvn_wc/util.c (1.17, milestone-2),
	libsvn_wc/wc.h (1.146), mod_dav_svn/activity.c (1.4),
	mod_dav_svn/dav_svn.h (1.25), mod_dav_svn/deadprops.c (1.11,
	milestone-2), mod_dav_svn/liveprops.c (1.19),
	mod_dav_svn/mod_dav_svn.c (1.19, milestone-2), mod_dav_svn/repos.c
	(1.44), mod_dav_svn/util.c (1.10), mod_dav_svn/version.c (1.19),
	svnadmin/main.c (1.9), tests/svn_test_editor.c (1.22),
	tests/svn_tests_main.c (1.19), tests/libsvn_delta/deltaparse-test.c
	(1.65), tests/libsvn_delta/random-test.c (1.21),
	tests/libsvn_delta/svndiff-test.c (1.12, milestone-2),
	tests/libsvn_delta/vdelta-test.c (1.8, milestone-2),
	tests/libsvn_delta/xml-output-test.c (1.14, milestone-2),
	tests/libsvn_fs/dir-delta-editor.c (1.2),
	tests/libsvn_fs/dir-delta-editor.h (1.2), tests/libsvn_fs/fs-test.c
	(1.71), tests/libsvn_fs/skel-test.c (1.17),
	tests/libsvn_ra_local/ra-local-test.c (1.9, milestone-2),
	tests/libsvn_repos/dir-delta-editor.c (1.2, milestone-2),
	tests/libsvn_repos/dir-delta-editor.h (1.2, milestone-2),
	tests/libsvn_subr/hashdump-test.c (1.19),
	tests/libsvn_subr/stringtest.c (1.7),
	tests/libsvn_subr/target-test.c (1.4),
	tests/libsvn_wc/checkout-test.c (1.42, milestone-2),
	tests/libsvn_wc/commit-test.c (1.24):

	Update copyright from 2000 to 2000-2001. Used gstein's script to
	make it all happen. Thanks, Greg.  

2001-04-02 20:27   Karl Fogel <>

	* subversion/svnadmin/main.c (1.8):

	(main): Correct typo, with thanks to Greg Stein, who is, might I
	add, sitting next to me as I write this, though he appears not to be 
	reading this log message over my shoulder, oh well.  

2001-04-02 20:13   Karl Fogel <>

	* subversion/svnadmin/main.c (1.7):

	(main): Make `lstxn' print out the txn trees too.  
	(usage): Adjust.  

2001-04-02 19:16  C. Michael Pilato <>

	* subversion/: include/svn_fs.h (1.74), libsvn_fs/delta.c (1.33),
	libsvn_repos/delta.c (1.33):

	* include/svn_fs.h 
	  Docstring changes throughout.  
	* libsvn_fs/delta.c 
	  Docstring changes throughout.  
	  (delta_proplists, delta_dir_props, delta_file_props): Combined the 
	  functionality of these functions into a single delta_proplists.  

2001-04-02 18:25   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.68):

	Add comment about solution to merging problem.  

2001-04-02 09:47  Kevin Pilch-Bisson <>

	* subversion/: libsvn_client/add.c (1.9), libsvn_wc/entries.c

	Subversion now warns on repeated addition of the same entry.  
	* libsvn_client/add.c (svn_client_add) - Handle (as a warning), the
					(new) specific return of SVN_ERR_WC_ENTRY_EXISTS returned from 
					svn_wc_add_file and svn_wc_add_dir.  
	* libsvn_wc/entries.c (interpret_changes) - Return
					SVN_ERR_WC_ENTRY_EXITS when adding an already existing entry.  

2001-04-01 22:29  C. Michael Pilato <>

	* subversion/libsvn_fs/id.c (1.20):

	* libsvn_fs/id.c 
	  Some changes (thanks, G. Stein, for another public whipping :-).  
	  (svn_fs_id_length): Increased readibility of no-op loop.  
	  (svn_fs_id_distance): Increased readibility and correctness of no-op 

2001-03-30 15:33   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.87):

	Bugfix.  This bug has annoyed me for way too long.  
	* adm_crawler.c (svn_wc_crawl_local_mods):  don't just throw commit 
	  errors upwards.  Remove all your locks in the working copy

2001-03-30 15:07   Ben Collins-Sussman <>

	* notes/post-m2-mtg-agenda.txt (1.2):

	Merged this file into alpha-checklist, so it's no longer needed.  

2001-03-30 15:06   Ben Collins-Sussman <>

	* notes/alpha_checklist (1.7):

	Reorganized this list into 3 broad categories.  

2001-03-30 14:26   Ben Collins-Sussman <>

	* subversion/libsvn_subr/hashdump.c (1.23):

	(svn_pack_bytestring):  don't forget the pool arg when hand-building 
	an svn_string_t.  This means that the change to "internalize" pools
	in svn_string_t wasn't complete.  Thanks for spotting this, gstein.

2001-03-30 14:20   Karl Fogel <>

	* notes/post-m2-mtg-agenda.txt (1.1):

	Appx agenda for meeting next week.  

2001-03-30 13:32   Ben Collins-Sussman <>

	* (1.76), subversion/include/svn_ra.h (1.54),
	subversion/libsvn_ra/ra_loader.c (1.5),
	subversion/libsvn_ra_dav/session.c (1.21),
	subversion/libsvn_ra_local/ra_plugin.c (1.25):

	Really, *really* paint the bikeshed.  Try running 'svn -v' now.  
	Fitz:  sorry I did this.  I really needed the therapy!  But I don't 
	know how to do longopts, so maybe someone can make --version work.  
	* help-cmd.c (print_generic_help):  bikeshed paint tweak.  
	  (print_version_info):  new func 
	  (svn_cl__help):  call print_version_info if necessary.  
	* main.c (main):  parse the -v option into opt_state.  
	* cl.h (svn_cl__opt_state_t):  add boolean "version" flag.  
	* svn_ra.h (svn_ra_print_ra_libraries):  new declaration 
	* ra_loader.c (svn_ra_print_ra_libraries):  new func 
	* (AM_INIT_AUTOMAKE):  more descriptive version.  
	* ra_plugin.c (ra_local_plugin):  shorter description.  
	* session.c (dav_plugin): shorter description.  

2001-03-30 10:14   Ben Collins-Sussman <>

	* (1.75):

	* (AC_INIT_AUTOMAKE):  may as well start labeling the 
	  build as M2, since we're close.  
	* help-cmd.c (print_generic_help):  paint the bikeshed, similar to 
	  CVS's shade.  

2001-03-30 10:00   Ben Collins-Sussman <>

	* subversion/libsvn_ra_dav/commit.c (1.42):

	(commit_stream_close):  fix a typo that was preventing compile.  

2001-03-30 07:56   Greg Stein <>

	* subversion/libsvn_fs/nodes-table.c (1.17):

	(svn_fs__new_node_id): make it more obvious that we return in one of
	  the failure branches.  

2001-03-30 07:14   Greg Stein <>

	* subversion/libsvn_ra_dav/commit.c (1.41):

	Continued work on committing.  
	PUT is now enabled (and the MKACTIVITY and CHECKOUT processes are
	(struct put_baton_t): new struct for holding the data for a PUT.  
	(simple_request): ensure the request is destroyed before returning 
	(create_activity): copy the activity_url that is returned by the
	  get_func.  it doesn't have a pool, so we can't expand it to add a
	component to it.  
	(checkout_resource): ensure the request is destroyed before
	  returning. only store the path portion of the working resource URL.
	  make sure to free() the location dup'd by http_duplicate_header.  
	(commit_stream_write): new function to drop the delta stream into a
	  tmp file.  
	(commit_stream_close): new function to take the saved delta stream
	  and deliver it to the server.  
	(commit_send_txdelta): removed 
	(commit_apply_txdelta): implement to use svn_txdelta_to_svndiff()
	  and the new commit_stream_write/close functions for deliverying the
	  delta to the server.  

2001-03-30 07:06   Greg Stein <>

	* subversion/libsvn_ra_dav/options.c (1.3):

	(svn_ra_dav__get_activity_url): make sure the request gets destroyed
	  (don't exit the function without destroying it) 

2001-03-30 06:46   Greg Stein <>

	* subversion/libsvn_fs/dag.c (1.89):

	Raise your hand if you tested putting binary data into the FS. Heh.
	That's what I thought.  
	(svn_fs__dag_set_contents): use svn_fs__mem_atom for the (binary)
	Unrelated change: 
	(svn_fs__dag_make_copy): use apr_psprintf() rather than the
	  svn_string functions. Much simpler. Also reformat some lines.  

2001-03-30 05:58   Greg Stein <>

	* subversion/libsvn_delta/svndiff.c (1.19):

	Bug fix: the window handler did not return errors from closing the
	stream.  When ra_dav received the "close stream", it would send it
	to the server; server errors need to be propagated back to the
	driver of the window handler.  
	(window_handler): return the error 

2001-03-30 04:03   Greg Stein <>

	* subversion/mod_dav_svn/: util.c (1.9), version.c (1.18):

	* util.c (dav_svn_simple_parse_uri): clean up the URI before parsing
	* version.c (dav_svn_checkout): use the correct root (the txn root) 

2001-03-29 17:41   Jim Blandy <>

	* subversion/libsvn_fs/trail.c (1.8):

	* trail.c (commit_trail): Call txn_checkpoint each time we complete
	a trail.  

2001-03-29 17:31  C. Michael Pilato <>

	* subversion/: include/svn_wc.h (1.87), libsvn_client/delete.c
	(1.8), libsvn_wc/adm_files.c (1.71), libsvn_wc/adm_ops.c (1.51),
	libsvn_wc/entries.c (1.91), libsvn_wc/log.c (1.88), libsvn_wc/wc.h

	* include/svn_wc.h 
	  (svn_wc_delete): Renamed from svn_wc_delete_file, and changed the 
	  FILE argument to PATH.  
	* libsvn_client/delete.c 
	  (svn_client_delete): Renamed FILE argument to PATH, and changed to 
	  call freshly renamed svn_wc_delete.  
	* libsvn_wc/adm_files.c 
	  (svn_wc__adm_subdir): Implement this trivial function.  
	  (svn_wc__adm_destroy): New function (with #if 0'd contents) for 
	  future use (thought I needed it today for removing directories
	  from revision control, but we're putting off support for removing 
	  directories until post-M2.  
	* libsvn_wc/adm_ops.h 
	  (svn_wc_delete): Renamed from svn_wc_delete_file, and changed 
	* libsvn_wc/entries.c 
	  (resolve_to_defaults): Re-instated (and fixed) some code to read 
	  "this dir"'s flags from its entry in its parent's entries file so 
	  long as we can accurately determine its name in the parent's
	  entries file.  This will change in the future when we implement a
	  new policy regarding the reading of entries files (see notes that
	  Ben is supposed to be checking in soon).  
	* libsvn_wc/log.c 
	  (remove_from_revision_control): Changed to accept flag for whether 
	  or not to remove the working file.  Also, modified to begin
	  support for removing directories from revision control.  
	  (log_do_delete_entry): Changed call to remove_from_revision_control 
	  to say, "Please clean up my working files." 
	  (log_do_committed): Fixed to properly handle committed directories, 
	  and changed call to remove_from_revision_control to say, "Um,
	  please don't mess with my working files." 
	* libsvn_wc/wc.h 
	  (svn_wc__adm_destroy): New function prototype.  

2001-03-29 17:30  C. Michael Pilato <>

	* subversion/libsvn_fs/id.c (1.19):

	* libsvn_fs/id.c 
	  (svn_fs_id_distance): Bug fix for slight logic mistake.  

2001-03-29 09:31   Ben Collins-Sussman <>

	* subversion/libsvn_fs/editor.c (1.33):

	(decrement_dir_ref_count): prevent segfault when we recurse on a
	NULL parent from the root dir baton.  
	Patch submitted by Daniel Stenberg <>.  

2001-03-29 09:24   Ben Collins-Sussman <>

	* notes/dav_setup.txt (1.5):

	Add permissions note.  

2001-03-29 08:07   Ben Collins-Sussman <>

	* notes/auth_proposal.txt (1.1, milestone-2):

	An idea for an auth system.  

2001-03-29 07:34   Greg Stein <>

	* subversion/libsvn_ra_dav/commit.c (1.40):

	Big revmap to streamline the resource handling: unify
	dir_baton/file_baton; toss add_resource; introduce add_child;
	checkout_resource() takes a resource rather than a URL (and other
	simplifications); revise all/most editor callbacks for new
	checkout_resource and baton construction; pick up VR URLs from the
	WC props; etc 

2001-03-29 06:26   Greg Stein <>

	* subversion/libsvn_ra_dav/fetch.c (1.49):

	Store the version URL for the collections, too.  

2001-03-29 05:52   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.43):

	Ensure that we don't create paths like "//foo".  
	(dav_svn_do_walk): don't add "/" if the last character is already a

2001-03-29 05:36   Greg Stein <>

	* subversion/libsvn_ra_dav/options.c (1.2):

	Remove some debugging stuff that was accidentally left in.  

2001-03-29 04:52   Greg Stein <>

	* subversion/libsvn_ra_dav/commit.c (1.39):

	Some tidbit cleanup before the real work begins.  
	(commit_ctx_t): add the callback funcs, the close_baton, and the
	(create_activity): use the get_func to fetch the activity_url 
	(svn_ra_dav__get_commit_editor): store the callbacks, close_baton,

2001-03-29 04:23   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.24), repos.c (1.42),
	version.c (1.17):

	Add support for Working Baselines. This will (eventually) be used as
	a way to attach the log message to a transaction.  
	* dav_svn.h (DAV_SVN_RESTYPE_WBL_COLLECTION): new define 
	  (dav_svn_create_working_resource): remove redundant repos_path
	* repos.c (dav_svn_parse_wkr_baseline_uri): new function 
	  (special_subdirs[]): added "wbl" subdir 
	  (dav_svn_prep_working): handling working baselines by skipping out
	    on most of the code, since a working baseline does not have a
	    direct correspondence to an FS structure.  
	  (dav_svn_create_working_resource): remove the repos_path argument.
	    add support for creating working baseline resources.  
	* version.c (dav_svn_checkout): remove repos_path argument to the 
	    dav_svn_create_working_resource call.  

2001-03-29 03:57   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.23), repos.c (1.41), util.c
	(1.8), version.c (1.16):

	Add a new function to parse URIs sent within a request body, and use
	it to parse the "activity ID" out of a CHECKOUT request.  
	Validate that the version resource being checked out corresponds to
	the "latest".  
	* dav_svn.h (struct dav_svn_uri_info, dav_svn_simple_parse_uri): new 
	    definition and declaration 
	* repos.c: couple comments is all 
	* util.c (dav_svn_simple_parse_uri): new function 
	* version.c (dav_svn_checkout): parse the activity ID out of the
	    provided href. validate the VR being checked out is the "latest".  

2001-03-29 02:17   Greg Stein <>

	* subversion/include/: svn_delta.h (1.149), svn_error.h (1.95),
	svn_io.h (1.35), svn_types.h (1.60), svn_wc.h (1.86), svn_xml.h

	Add some #includes to various headers to pick up the things that
	they need, rather than implicitly depending on svn_types.h to do it.  
	Also shift some of the C++ stuff to its proper location.  
	svn_types.h should have some includes ripped out of it since the
	header doesn't actually depend on them, but it creates too many
	warnings across the code to deal with, so the includes are still
	there for now.  

2001-03-28 18:09   Greg Stein <>

	* subversion/libsvn_ra_dav/ra_dav.h (1.17):

	whoops. one more change for latest RA interface.  

2001-03-28 18:05   Greg Stein <>

	* subversion/libsvn_ra_dav/fetch.c (1.48):

	sync with latest RA change 

2001-03-28 18:02   Greg Stein <>

	* subversion/libsvn_ra_dav/: fetch.c (1.47), ra_dav.h (1.16),
	session.c (1.20):

	Add support for RA->get_latest_revnum to enable "svn status" to
	* ra_dav.h (svn_ra_dav__get_latest_revnum): new declaration 
	* session.c (dav_plugin): add svn_ra_dav__get_latest_revnum into its
	* fetch.c (svn_ra_dav__get_latest_revnum): new function 

2001-03-28 17:52   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.85), libsvn_client/
	(1.15, milestone-2), libsvn_client/commit.c (1.33),
	libsvn_client/import.c (1.3):

	Get a brain: 
	* include/svn_wc.h (svn_wc_import): Remove declaration.  
	* libsvn_client/import.c: Removed, code transferred to commit.c.  
	* libsvn_client/ (libsvn_client_la_SOURCES): Removed 
	* libsvn_client/commit.c (import): New internal func, was 

2001-03-28 17:49   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.94), include/svn_ra.h (1.53),
	libsvn_client/update.c (1.15), libsvn_ra_local/ra_plugin.c (1.24),
	libsvn_ra_local/update.c (1.5), libsvn_wc/adm_crawler.c (1.86):

	Slight change to RA's "update" interface, as discussed with gstein.  
	* svn_ra.h (do_update):  remove base_revision argument.  
	* ra_plugin.c (do_update):  remove base_revision arg;  don't create 
	  the transaction here.  
	* update.c (svn_ra_local__set_path): create the initial transaction 
	  *here* instead, assuming that the first call is on the update
	  target dir itself.  
	* adm_crawler.c (svn_wc_crawl_revisions): make sure that the very 
	  first path we report is "".  
	* svn_error.h (SVN_RA_BAD_REVISION_REPORT): new errortype.  
	* update.c (svn_client_update): call do_update correctly.  
	  (get_common_path): remove this cruft, Kevin Pilch-Bisson wrote the 
	  real thing.  

2001-03-28 17:39   Karl Fogel <>

	* subversion/: include/svn_error.h (1.93), include/svn_wc.h (1.84),
	libsvn_client/import.c (1.2), libsvn_wc/adm_files.c (1.70):

	Protect against importing "SVN/" subdirs.  
	* libsvn_client/import.c (svn_wc_import, import_dir): Check name 
	before importing.  
	* include/svn_wc.h (SVN_WC_ADM_DIR_NAME): New #define.  
	* libsvn_wc/adm_files.c (SVN_WC__ADM_DIR_DEFAULT): Removed in favor
	of public SVN_WC_ADM_DIR_NAME.  
	(adm_subdir): Adjust for above.  
	* include/svn_error.h (svn_errno_t): New error 
	Fix related to the previous commit that moved import.c: 
	* libsvn_client/import.c: Don't #include "wc.h".  
	Notes on the first change: 
	This may or may not resolve Kevin Pilch-Bisson's recent bug report, 
	PR: 340 
	and these dev mails 
	I haven't closed the PR yet, as there may be more to this issue.  

2001-03-28 17:20   Greg Stein <>

	* STACK (1.87):

	clean up 

2001-03-28 16:45   Karl Fogel <>

	* subversion/: libsvn_client/ (1.14),
	libsvn_client/import.c (1.1), libsvn_wc/ (1.28,
	milestone-2), libsvn_wc/import.c (1.3):

	Put import.c in libsvn_client instead of libsvn_wc, as suggested by 
	Greg Stein: 
	* libsvn_wc/import.c: Moved to ../libsvn_client.  
	* libsvn_wc/ (libsvn_wc_la_SOURCES): Removed import.c.  
	* libsvn_client/import.c: New file, copied from ../libsvn_wc.  
	Repository history not kept, as wasn't much anyway.  
	* libsvn_client/ (libsvn_client_la_SOURCES): Added 

2001-03-28 15:56   Ben Collins-Sussman <>

	* notes/alpha_checklist (1.6):

	Note need for 'svn revert':  we can just copy the SVN/text-base/
	file back out into the working copy, no repository communication

2001-03-28 15:50   Ben Collins-Sussman <>

	* subversion/libsvn_fs/editor.c (1.32):

	Make the fs-commit editor match the subpooling/reference-counting 
	behavior of the wc-update editor.  This allows efficient memory
	usage (an independent pool for each dir and file baton), as well as
	allowing the editor to be driven in a postfix-text-delta-ey way.  
	(struct dir_baton):  add ref_count and subpool fields.  
	(delete_entry):  use subpool.  
	(replace_root, add_directory, replace_directory): create a subpool
	of parent's pool, allocate new dir_baton in there.  
	(replace_file, add_file):  ditto.  
	(change_file_prop, change_dir_prop):  duh, use baton's own subpool.  
	(decrement_dir_ref_count):  new func.  

2001-03-28 14:50   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.70):

	(dir_deltas): Revert 1.65->1.66 change; i.e., don't use subpools. 
	The change didn't fix my bug, and anyway the subpools weren't really 
	addressing the intensive pool usage in the innermost loop.  

2001-03-28 14:45   Ben Collins-Sussman <>

	* notes/alpha_checklist (1.5):

	More things to discuss next week.  

2001-03-28 12:38   Ben Collins-Sussman <>

	* notes/alpha_checklist (1.4):

	Add another optimization to-do.  

2001-03-28 12:23   Ben Collins-Sussman <>

	* notes/dav_setup.txt (1.4):

	Add extra FreeBSD note.  

2001-03-28 11:40   Ben Collins-Sussman <>

	* subversion/tests/libsvn_fs/fs-test.c (1.69):

	(test_funcs):  re-enable dir_deltas test, so we can debug memory 
	issues with it.  

2001-03-28 11:38   Karl Fogel <>

	* subversion/svnadmin/main.c (1.6):

	(usage): Declare static.  

2001-03-28 07:38  Kevin Pilch-Bisson <>

	* subversion/tests/libsvn_subr/: target-test.c (1.3), (1.3):

	Change this test to a version which compares the output to an
	expected output.  This should be better for checking whether
	realpath works as expected on all platforms.  NOTES: 
		   (1) I have tested my implementation of condense_targets on
		   Linux, WinNT, and Solaris 8.  Ben can you pay extra attention to
	this test on your FreeBSD box? 
		   (2) I am told that realpath is broken on older Solaris machines.  
	Maybe we should warn people using Solaris < 8 to run make check, and
	ensure that this test passes.  
		   (3) Anyone using BeOS, or OS2, I would expect this to fail, as I 
	have no implementation for svn_path_get_absolute for those
	All this realpath stuff should go away soon, because APR is going to
	take care of it, but since M2 is this Sunday, I don't know whether
	APR will be doing it by then or not, so I thought I would play it

2001-03-28 07:28  Kevin Pilch-Bisson <>

	* subversion/svnadmin/ (1.3, milestone-2):

	Let svnadmin be installed when make install is run 

2001-03-28 05:58   Greg Stein <>

	* subversion/libsvn_ra_dav/: commit.c (1.38), ra_dav.h (1.15):

	Update to latest spec for RA->commit 

2001-03-28 05:54   Greg Stein <>

	* subversion/libsvn_ra/ra_loader.c (1.4):

	Some debug code that I used. Might be helpful for others.  

2001-03-28 05:53   Greg Stein <>

	* subversion/include/svn_string.h (1.44):

	Remove the __GNUC__ guards. APR handles __attribute__ for us, when
	it isn't present, or is non-functional.  
	Move the C++ stuff to the proper location (we don't want it to apply
	to other headers via a #include).  

2001-03-28 05:51   Greg Stein <>

	* subversion/libsvn_ra_dav/: (1.9), fetch.c (1.46),
	options.c (1.1), ra_dav.h (1.14):

	Add an OPTIONS request to fetch the collection where activities
	should be created.  
	* options.c: new file.  
	  (svn_ra_dav__get_activity_url): new function 
	* fetch.c (begin_checkout): use new svn_ra_dav__get_activity_url
	    function.  remove old stub activity_url creation.  
	* ra_dav.h (svn_ra_dav__get_activity_url): new declaration 
	* add new file (options.c) 

2001-03-28 04:53   Greg Stein <>

	* subversion/mod_dav_svn/liveprops.c (1.18):

	Enable the DAV:checked-in live property for REGULAR resources (those
	in the "public" area, and in the Baseline Collections). This is
	liveprop that provides the Version Resource URL to the client.  
	(dav_svn_insert_prop): add code to generate the DAV:checked-in prop

2001-03-28 04:52   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.22), util.c (1.7):

	As part of the prior checkin, enable construction of the URL to the 
	* dav_svn.h (DAV_SVN_BUILD_URI_ACT_COLLECTION): new enum value to
	    specify building the activity collection set URL 
	* util.c (dav_svn_build_uri): construct and return the new URL 

2001-03-28 04:49   Greg Stein <>

	* subversion/mod_dav_svn/version.c (1.15):

	Sync with the latest Apache/mod_dav changes (by John Vasta), and add
	a response to the DAV:activity-collection-set OPTIONS request.  
	(dav_svn_set_target): removed. it is now "update" and is optional,
	  and we won't ever support it, so it goes away.  
	(dav_svn_add_label, dav_svn_remove_label): we won't provide support
	  for the LABEL method (although we will support DAV labels as
	  server-applied items), so these functions go away.  
	(dav_svn_hooks_vsn): revise the list of hook functions, per above.  
	(dav_svn_get_option): add response code for the
	  DAV:activity-collection-set OPTIONS request.  

2001-03-28 03:35   Greg Stein <>

	* subversion/ (1.26):

	libsvn_ra_local is built conditionally. It is part of FS_BASED_DIRS
	when the configure process decides to build it. This also puts
	ra_local at the right spot in the sequence of building.  

2001-03-28 01:20   Greg Stein <>

	* (1.74):

	The ENABLE macros for --enable-debug and --enable-maintainer-mode
	were wonked after the recent change from --with to --enable.
	Specifically, the debug/maintainer modes were always being set(!).  

2001-03-28 01:02   Greg Stein <>

	* www/testing-goals.html (1.1, milestone-2):

	Draft document of goals for an automated test suite.  
	Submitted by: Mo DeJong <> 

2001-03-27 22:29   Greg Stein <>

	* (1.73):

	no more tests/libsvn_ra_dav 

2001-03-27 21:36   Karl Fogel <>

	* subversion/: libsvn_wc/import.c (1.2), tests/libsvn_fs/fs-test.c

	Imports working, more edge testing still required: 
	* import.c (import_dir): Skip "." and ".." entries.  
	(svn_wc_import): Pass 0 instead of invalid revnum.  

2001-03-27 21:33   Karl Fogel <>

	* subversion/svnadmin/main.c (1.5):

	Print revision trees.  Now we can inspect repositories from the 
	command line: 
	(print_tree, usage): New funcs.  
	(main): Added "youngest" and "lsrevs" commands.  Use new usage()
	func to print help.  

2001-03-27 20:10   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.67):

	(test_funcs): Comment out dir_deltas now, so make check doesn't

2001-03-27 20:09   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.66):

	Whoa.  When I ran fs-test.c:dir_deltas() independently via 
	   $ ./fs-test 24 
	it runs okay, though a bit slow.  When I run it as part of the full 
	test suite 
	   $ ./fs-test 
	my machine grinds to a halt.  Perhaps we have reached the limit of 
	using the same test pool for everything?  The double loop that calls 
	svn_fs_dir_delta() might be quite a strain.  
	* fs-test.c (dir_deltas): Use subpools.  
	Hmmmm.  This doesn't seem to fix the grind-to-a-halt problem.  Maybe 
	my diagnosis is wrong.  On the other hand, this change didn't make
	the symptoms worse.  I'm committing, mainly so Mike Pilato will see
	this log message and try to reproduce the problem. :-) 

2001-03-27 19:18   Karl Fogel <>

	* subversion/tests/svn_tests_main.c (1.18):

	(do_test_num): Newline in error message.  

2001-03-27 19:13   Greg Stein <>

	* notes/dav_setup.txt (1.3):

	a note about keeping Apache and SVN in sync.  

2001-03-27 19:10   Karl Fogel <>

	* subversion/: include/svn_ra.h (1.52), libsvn_client/commit.c
	(1.32), libsvn_ra_local/ra_plugin.c (1.23):

	* svn_ra.h (svn_ra_plugin_t.get_commit_editor): Change contract --
	any of get_func, set_func, and close_func may be null.  
	* commit.c (send_to_repos): Pass null for the commit help funcs in
	the import case.  
	* ra_plugin.c (cleanup_commit): Check close_func exists before
	calling it.  
	Note to Greg Stein and Ben: I didn't find any other callers to fix, 
	but may have missed some.  You guys would probably know where they 

2001-03-27 19:02   Karl Fogel <>

	* subversion/libsvn_wc/import.c (1.1):

	Forgot to add these files in the last commit.  
	NOTE: Build may be broken right now; if so, it will be all right in
	a jiffy.  

2001-03-27 18:11   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.83), libsvn_client/commit.c
	(1.31), libsvn_wc/ (1.27):

	Import code in progress: 
	* include/svn_wc.h (svn_wc_import): Declare.  
	* libsvn_wc/import.c (svn_wc_import, import_dir, import_file, 
	send_file_contents): New file, new funcs.  
	* libsvn_wc/ (libsvn_wc_la_SOURCES): Add import.c.  
	* client/import-cmd.c (svn_cl__import): New file, new func, still 
	* client/ (svn_SOURCES): Add import-cmd.c.  
	* client/main.c (svn_cl__cmd_table): Add import command.  
	* client/cl.h (svn_cl__import): Declare.  
	Unrelated change: 
	* svn_wc.h (svn_wc_close_commit, svn_wc_crawl_local_mods):
	Formatting fixes.  

2001-03-27 17:56   Ben Collins-Sussman <>

	* STACK (1.86), subversion/include/svn_wc.h (1.82),
	subversion/libsvn_client/commit.c (1.30),
	subversion/libsvn_wc/adm_ops.c (1.50):

	Finish implementing WC props.  This completes Change #3 in STACK.  
	* svn_wc.h (svn_wc_close_commit):  remove this crufty old
	  (svn_wc_get_wc_prop, svn_wc_set_wc_prop):   new public declarations.  
	* adm_ops.c (svn_wc_get_wc_prop, svn_wc_set_wc_prop):  implement.  
	* commit.c (send_to_repos): pass these two new funcs to the RA layer 
	* STACK:  remove change #3.  

2001-03-27 17:55   Ben Collins-Sussman <>

	* subversion/tests/libsvn_ra_local/ (1.5):

	Suddenly tests/libsvn_ra_local/ won't build: 
	   /usr/libexec/elf/ld: cannot find -lneon 
	Gstein, can you investigate?  I'm temporarily disabling this dir's 

2001-03-27 17:23   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.51), libsvn_client/commit.c
	(1.29), libsvn_ra_local/ra_plugin.c (1.22):

	Change RA interface for commits, supporting "WC props" fully.  
	* svn_ra.h (svn_ra_get_wc_prop_func_t):  new RA function type.  
	  (get_commit_editor): the client must now supply a third function of 
	  the above type when fetching the commit editor.  
	* commit.c (send_to_repos):  update call to get_commit_editor() 
	* ra_plugin.c (get_commit_editor): match new prototype.  

2001-03-27 17:14   Greg Stein <>

	* subversion/libsvn_ra_dav/fetch.c (1.45):

	stop passing a (fake) ancestor path to add_directory/add_file.  

2001-03-27 17:02   Greg Stein <>

	* notes/dav_setup.txt (1.2):

	Pointer for FreeBSD systems to get a working Apache 2.0. Other

2001-03-27 16:54   Greg Stein <>

	* subversion/tests/ (1.15):

	Toss all the libsvn_ra_dav "tests". They were actually little hacks
	to do checkouts and commits, and have been superceded by the cmdline
	client now being able to use libsvn_ra_dav.  

2001-03-27 16:33   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.92), libsvn_delta/xml_parse.c
	(1.152), libsvn_ra_local/checkout.c (1.5), libsvn_wc/get_editor.c

	Fix bug 336;  in reality, make the update editor's add_directory() 
	routine understand the new semantics of the "copyfrom" arguments.  
	(Note: gstein, I probably broke ra_dav checkouts.  Make sure your 
	editor-driver is always passing *invalid* copyfrom args to 
	add_directory and add_file.) 
	PR: 336 
	* svn_error.h (SVN_ERR_UNSUPPORTED_FEATURE):  new errortype 
	* get_editor.c (add_directory):  enforce copyfrom_* argument 
	  semantics, as described in the editor docstring.  If copyfrom_args 
	  are valid, return an UNSUPPORTED_FEATURE error.  If they're
	  invalid, then derive them from the parent.  
	  (add_or_replace_file):  comment about future optimization.  
	* checkout.c (walk_tree):  ra_local should pass only invalid
	  copyfrom args during a checkout.  
	* xml_parse.c (do_directory_callback):  when parsing xml, pass only 
	  invalid copyfrom args to add_directory().  

2001-03-27 14:53  C. Michael Pilato <>

	* subversion/: libsvn_fs/delta.c (1.32), libsvn_repos/delta.c
	(1.32), tests/libsvn_fs/ (1.15),
	tests/libsvn_fs/dir-delta-editor.c (1.1),
	tests/libsvn_fs/dir-delta-editor.h (1.1), tests/libsvn_fs/fs-test.c
	(1.65), tests/libsvn_repos/dir-delta-editor.c (1.1),
	tests/libsvn_repos/dir-delta-editor.h (1.1):

	* libsvn_fs/delta.c 
	  (replace_with_nearest): De-commissioned this function until further 
	  (add_file_or_dir): Cosmetic changes only.  
	  (replace_file_or_dir): Added base_revision validity check.  
	  (delta_dirs): Changed to, instead of using the de-commissioned 
	  replace_with_nearest, replace unrelated entries with a deleta/add 
	  combo (with cheese, no pickles, onion rings, and Biggie-size that, 
	* tests/libsvn_fs/dir-delta-editor.c 
	* tests/libsvn_fs/dir-delta-editor.h 
	  New files for the svn_fs_dir_delta test case in fs-test.c, these 
	  contain the implementation of an editor driven by svn_fs_dir_delta 
	  to in turn use filesystem calls to modify the state of a
	  transaction tree.  
	* tests/libsvn_fs/ 
	  (dir-delta-editor.c) New file to build.  
	* tests/libsvn_fs/fs-test.c 
	  #include dir-delta-editor.h and svn_delta.h now.  Also, fixed some 
	   comments in places where tree_test_entry_t's were used.  
	  (tree_test_t): New structure for wrapping tree_test_entry_t items.  
	  (txn_script_command_t): New structure for making quick-n-dirty edits 
	  to a filesystem transaction.  
	  (txn_script_exec): Function for executing the quick-n-dirty edits as 
	  defined by the array of txn_script_command_t's.  
	  (dir_deltas): New test case for svn_fs_dir_delta().  
	  (test_funcs): Added reference to new test dir_deltas.  

2001-03-27 13:15   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.81), libsvn_client/commit.c
	(1.28), libsvn_wc/adm_crawler.c (1.85),
	tests/libsvn_wc/commit-test.c (1.23):

	* commit.c (send_to_repos): Continuing to spec out import case.  
	* svn_wc.h, adm_crawler.c (svn_wc_crawl_local_mods): Don't take
	target hash pointer any more, it is a vestige of old callers.  Just
	keep the hash internally instead.  All callers changed.  

2001-03-27 12:38   Karl Fogel <>

	* subversion/: include/svn_client.h (1.31), include/svn_wc.h
	(1.80), libsvn_client/commit.c (1.27):

	* svn_client.h, commit.c (svn_client_import): Interface fix.  
	* commit.c (send_to_repos): Adjust for above.  
	(svn_client_import, svn_client_commit): Adjust for above.  
	* svn_wc.h (svn_wc_crawl_local_mods): Doc cleanups, in preparation
	for import changes.  

2001-03-27 12:05   Ben Collins-Sussman <>

	* notes/dav_setup.txt (1.1):

	mod_dav_svn:  try it at home, kids\! 

2001-03-27 11:59   Ben Collins-Sussman <>

	* subversion/tests/ (1.14):

	Comment out libsvn_ra_dav temporarily.  
	gstein, something you did last night prevents tests/libsvn_ra_dav
	from linking.  But I don't have time to figure it out.  :) 

2001-03-27 11:40   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.67):

	(svn_fs_merge): Clarify issues in a todo item.  

2001-03-27 08:32   Greg Stein <>

	* subversion/libsvn_ra_dav/: fetch.c (1.44), props.c (1.2),
	session.c (1.19):

	Get DAV-based checkouts to work. (yeah!) 
	* fetch.c (starting_props[]): fetch the resourcetype so we can
	    verify that the accessed resource is a collection.  
	  (fetch_file): add a placeholder error return to catch problems 
	  (begin_checkout): add placeholder error returns. print out the 
	    intermediate URLs as we track down the BC.  
	  (svn_ra_dav__do_checkout): compare against bc_root rather than
	    ras->root to determine whether we're at/in the root.  
	* props.c (create_private): clean trailing slashes from the URL; use
	    a non-const variable (url_path) while working on the URL, then copy
	    into r->url.  
	  (end_element): restructure so that we don't punt on DAV_ELM_href
	    right off the bat. we need to process that special. *then* look up
	    non-href elements' definitions.  
	  (svn_ra_dav__get_props): set up the pool variable in the context.
	    use APR_EGENERAL in the placeholder errors rather than 0 (which is
	(svn_ra_dav__get_props_resource): use "url" consistently rather than 
	* session.c (svn_ra_open): clean trailing slashes from the root

2001-03-27 08:19   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.21), liveprops.c (1.17),
	repos.c (1.40), util.c (1.6):

	Various bugfixes.  
	* dav_svn.h (dav_svn_build_uri): add new "add_href" parameter 
	* liveprops.c (SVN_PROPID_baseline_relative_path): start this value
	    at 1 rather than zero. The latter means "not found" (so the property
	    wasn't working at all) 
	  (dav_svn_insert_prop): use new add_href parameter to
	* repos.c (dav_svn_prep_version): use new add_href parameter 
	  (dav_svn_walk): repos_path can be null for resources without a 
	    corresponding FS resource. watch out when we try to walk these.
	    note that a "walk" is implicitly depth==0; these resources have
	    no children since they are purely logical.  
	* util.c (dav_svn_build_uri): implement new "add_href" parameter.
	    this will wrap the constructed URI in DAV:href elements.  

2001-03-27 05:59   Greg Stein <>

	* subversion/: libsvn_ra_dav/ (1.8),
	libsvn_ra_local/ (1.6):

	when linking shared-lib forms, ensure they reference their dependent

2001-03-27 04:28   Greg Stein <>

	* (1.37):

	track the rename of the suggested switches for developers.  

2001-03-27 04:27   Greg Stein <>

	* (1.72):

	Rename --with-debug and --with-maintainer-mode to --enable-debug and 
	Submitted by: Mo DeJong <> 

2001-03-27 03:57   Greg Stein <>

	* subversion/libsvn_ra_dav/: (1.7), fetch.c (1.43),
	props.c (1.1), ra_dav.h (1.13):

	Major revamp for the checkout process.  
	Specifically, we no longer check out from the "public" space since
	the revisions could bump during our checkout. Instead, we head off
	to a baseline and check that out (baseline == FS revision tree).  
	Refactored property fetching out into props.c.  
	* add new props.c file 
	* fetch.c (starting_props[], vcc_props[], baseline_props[]): new
	    sets of props to fetch from various resources.  
	  (fetch_elems[], struct resource_t, fetch_ctx_t, create_private, 
	    pfind_results, validate_element, start_element, end_element):
	  nuked (struct subdir_t): new structure for tracking subdirs to
	  process (struct file_read_ctx_t): new structure for use during file
	(get_vsn_url): new function 
	  (fetch_dirents): new parameter set (rather than passing via "fc").
	    use new svn_ra_dav__get_props() and process its results.  
	  (fetch_file_reader): use new file_read_ctx_t 
	  (fetch_file): new parameter set (rather than passing via "fc").
	    use new file_read_ctx_t. switch to svn_ra_dav_resource_t. vsn_url
	    is now retrieved by get_vsn_url rather than available in the
	    resource structure.  
	  (begin_checkout): implement 
	  (svn_ra_dav__do_checkout): revamp for all of above 
	  (svn_ra_dav__do_update): update params to latest spec 
	* ra_dav.h (svn_ra_dav__do_update): update params to latest spec 
	  (SVN_RA_DAV__PROP_*): new defines 
	  (struct svn_ra_dav_resource_t): new structure to hold property and 
	    resource information discovered during a PROPFIND.  
	  (svn_ra_dav__get_props, svn_ra_dav__get_props_resource): new

2001-03-27 03:25   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.39):

	Fix the walking when a REGULAR resource occurs at arbitrary points
	in the URL namespace. Specifically, they occur in the "public" URL
	space and also as part of the Baseline Collections. In this case,
	repos_path != uri_path, so we need to track them separately when
	walking the tree.  
	(struct dav_svn_walker_context): add repos_path string member for 
	  telescoping the repository path.  
	(dav_svn_do_walk): handle the new repos_path member 
	(dav_svn_walk): prepare the new repos_path member 

2001-03-27 03:08   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.20), repos.c (1.38):

	Process Baseline resource URIs.  
	* dav_svn.h (DAV_SVN_RESTYPE_BLN_COLLECTION): new enumerated
	* repos.c (dav_svn_parse_baseline_coll_uri): don't tweak if we don't
	    find a slash character. it means they are referring to the root.  
	  (dav_svn_parse_baseline_uri): new function 
	  (special_subdirs[]): add entry for the baselines 

2001-03-27 03:05   Greg Stein <>

	* subversion/mod_dav_svn/deadprops.c (1.10):

	(dav_svn_db_nextkey): make sure that a hash index is available
	    before skipping to the next one. (if the hash was empty, then
	    firstkey ends up setting db->hi == NULL) 

2001-03-27 01:53   Greg Stein <>

	* subversion/mod_dav_svn/liveprops.c (1.16):

	(dav_svn_insert_prop): handle the DAV:checked-in property for VCCs 

2001-03-26 18:32   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_crawler.c (1.84), entries.c (1.90),
	status.c (1.27):

	We have a convention about how working-copy entry info is stored.  
	Make *retrieval* match this convention.  
	   - If the object is a file, then *all* info is in its entry.  Any 
	     missing URL or revision info is implicitly inherited from 
	   - If the object is a dir, but not THIS_DIR, then the entry should 
	     contain *only* a "name" and "kind" field, and optionally some 
	     state flags (ADD, DELETE, etc.) 
	   - If the object is THIS_DIR, all ancestry is *required*.  This is 
	     also where to find timestamps and other info.  (The reason its 
	     flags are in the parent are because adds/deletes are changes to 
	     the parent, not the dir.) 
	PR: 325 It also paves the way for 'svn cp' to work correctly
	* entries.c (resolve_to_defaults):  take a path argument, the one
	  that produced the *entries hash.  Add better logic for deriving
	  ancestry at the bottom of this routine.  
	  (read_entries):  take new boolean arg, indicating whether it's okay 
	  to search up and down for missing entry info.  
	  (svn_wc_entries_read):  call read_entries with TRUE flag.  
	* adm_crawler.c (report_local_mods):  when committing an added dir, 
	  be sure to supply "copyfrom" args that are either both invalid or 
	  both valid.  Also be sure not to look for ADD/DELETE flags on a 
	  THIS_DIR entry.  Those should only be honored in a parent entry.  
	* status.c (svn_wc_statuses):  make this routine recurse and build
	  the hash of statuses correctly, given what svn_wc_entries_read()
	  returns now.  

2001-03-26 18:14   Karl Fogel <>

	* subversion/: include/svn_client.h (1.30), libsvn_client/commit.c

	* commit.c (send_to_repos): New internal func for shared internals
	of commit and import, the latter in progress.  
	(commit): Use above.  
	(import): New func, use above.  

2001-03-26 17:02   Karl Fogel <>

	* subversion/tests/clients/cmdline/: README (1.1), (1.1):

	Starting automated cmdline client test system.  This may or may not
	be the final form of this test system, but we need something right
	now, because the cmdline client functionality has long since
	ballooned to the point of needing automated tests.  

2001-03-26 16:43   Karl Fogel <>

	* notes/testing_framework.txt (1.6):

	Removed this redundant copy of ../subversion/tests/README.  

2001-03-26 13:59   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.66):

	(svn_fs_merge): Finished.  This was accidentally left out of the
	last commit.  

2001-03-26 13:55   Karl Fogel <>

	* notes/multi-args.txt (1.2):

	Added one more action item for the multi-arg drive this week.  

2001-03-26 13:35   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.64):

	Cleanups to remove compile warnings and make internal interfaces
	more consistent: 
	(fetch_youngest_rev, merge_trees): Finish.  
	(test_funcs): Invoke the above two tests.  
	(attempt_merge, test_commit_txn): Doc and interface fixes.  Don't 
	bother to accept a conflict pointer, since no caller ever used it; 
	instead, just use own internal conflict holder.  All callers

2001-03-26 11:04  C. Michael Pilato <>

	* subversion/: include/svn_fs.h (1.73), libsvn_fs/delta.c (1.31),
	libsvn_repos/delta.c (1.31):

	* libsvn_fs/delta.c 
	  (get_revision_from_hash): Bug fixes to bug fixes.  
	  (struct context): Added 'const' to editor field.  
	* libsvn_fs/delta.c 
	* include/svn_delta.h 
	  (svn_fs_dir_delta): Added 'const' to editor argument.  

2001-03-26 04:05   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.19), deadprops.c (1.9),
	liveprops.c (1.15), repos.c (1.37), util.c (1.5):

	Add Version-Controlled Configurations (VCCs), Baselines, Baseline 
	Collections (BCs), and some live property support to enable
	* dav_svn.h (DAV_SVN_DEFAULT_VCC_NAME): new define 
	  (enum dav_svn_private_restype): add values for the root
	    collection, the collection of VCCs, the collection of BCs, and
	  individual VCCs.  (enum dav_svn_build_what, dav_svn_build_uri): new
	enum and func decl.  
	* deadprops.c (dav_svn_db_open): many resource types don't have dead
	    props, so don't "open" a propdb for them.  
	  (dav_svn_db_fetch): detect and handle missing props 
	* liveprops.c (dav_svn_namespace_uris[]): add an "SVN:" namespace 
	  (DAV_SVN_NAMESPACE_URI): new define 
	    SVN_RW_SVN_PROP): new macros for declaring live props.  
	  (SVN_PROPID_baseline_relative_path): new enum value 
	  (dav_svn_props[]): new property specs 
	  (dav_svn_insert_prop): respond to some (new) live props. use an
	    "empty" elem if the value is an empty string.  
	  (dav_svn_insert_all_liveprops): use dav_svn_props[] to figure out
	    which liveprops to insert.  
	* repos.c (dav_svn_parse_version_uri, dav_svn_parse_history_uri, 
	      dav_svn_parse_working_uri, dav_svn_parse_activity_uri, 
	      dav_svn_parse_uri): add new "label" and "use_checked_in"
	(dav_svn_parse_vcc_uri): new function to parse VCC URLs 
	  (dav_svn_parse_baseline_coll_uri): new function to parse BC URLs 
	  (struct special_defn): "parse" member takes additional "label" and 
	    "use_checked_in" parameters.  
	  (special_subdirs[]): new entries for VCCs and BCs 
	  (dav_svn_parse_uri): /$svn/ should be labeled as the
	    ROOT_COLLECTION.  other PRIVATE resources should labeled
	(dav_svn_prep_regular): only fetch the "youngest" revnum if one
	     hasn't been specified.  
	  (dav_svn_prep_version): implement, considering regular VRs and
	(dav_svn_get_resource): fix processing of "relative" local var,
	     which propagates into "uri_path" (it was plain busted for the root 
	  (dav_svn_getetag): many resources don't (yet) have etags. skip
	(dav_svn_do_walk): don't (yet) allow walking into non-REGULAR
	(dav_svn_walk): defer restriction of non-REGULAR walking to 
	    dav_svn_do_walk when attempting to *descend* into the resource
	    (this allows "walking" a single resource (depth==0)).  
	* util.c (dav_svn_build_uri): new utility to build a private/special

2001-03-25 12:25   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.83):

	* adm_crawler.c (report_local_mods): Bugfix: when committing, don't 
	  assume that just because a file has been added its contents must
	  be sent.  This is only true for *new* files.  If an added file has 
	  non-NULL history, do a real local-mod check to decide.  

2001-03-25 11:33   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_ops.c (1.49):

	* adm_ops.c (svn_wc_set_revision): Bugfix.  After committing a 
	  directory, remember to modify its *parent's* entry; this entry
	  needs to have its ADD flag removed (if present) as well as its
	  revision attribute updated.  

2001-03-24 16:24   Greg Stein <>

	* subversion/libsvn_ra_dav/fetch.c (1.42):

	track some recent reporter changes. still stubbed, tho.  

2001-03-24 09:16   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.91), libsvn_client/add.c

	* add.c (svn_client_add):  if file or dir doesn't exist on disk, 
	  return a polite error.  
	* svn_error.h (SVN_ERR_WC_PATH_NOT_FOUND):  new error type.  

2001-03-23 17:29   Karl Fogel <>

	* notes/multi-args.txt (1.1):

	Notes for what we're starting Monday morning.  

2001-03-23 17:19   Ben Collins-Sussman <>

	* www/project_status.html (1.13):

	oops, get the date right.  

2001-03-23 17:19   Ben Collins-Sussman <>

	* www/project_status.html (1.12):

	update this weeks' status page.  

2001-03-23 14:24  C. Michael Pilato <>

	* subversion/libsvn_fs/id.c (1.18):

	* libsvn_fs/id.c 
	  (distance_from_prefix): Bug fix: this for loop should be paying 
	  attention only to every -other- token in the id array.  

2001-03-23 13:35   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.82):

	* adm_crawler.c (report_revisions):  oops, majorly wrong logical 
	  assumptions about the kinds of paths it was supposed to send to
	  the reporter.  Rewrite.  
	  (svn_wc_crawl_revisions):  call report_revisions correctly.  

2001-03-23 13:14  Kevin Pilch-Bisson <>

	* HACKING (1.27), svn_private_config.hw (1.2):

	Update with a little bit of new stuff.  

2001-03-23 12:28  C. Michael Pilato <>

	* subversion/: libsvn_fs/delta.c (1.30), libsvn_repos/delta.c

	* libsvn_fs/delta.c 
	  Updated notes comment to reflect that this suite of functions should 
	  no longer have a problem with the case where we nodes of the same 
	  node but of differing node types (dirs vs. files).  
	  (replace_with_nearest): Renamed from `replace'.  
	  (delta_dirs): Little logic optimization.  

2001-03-23 11:02   Ben Collins-Sussman <>

	* subversion/: libsvn_client/update.c (1.14), libsvn_wc/adm_ops.c
	(1.48), libsvn_wc/get_editor.c (1.170), libsvn_wc/wc.h (1.144):

	Fix longstanding bug: after an update, *all* paths below the updated 
	path need to have their revisions bumped to the new revision -- 
	whether they were patched or not.  
	* update.c (svn_client_update):  svn_fs_dir_delta dosen't call 
	  close_edit(), so this function has to do it.  
	* get_editor.c (close_edit):  if this edit was an update, call 
	  svn_wc__ensure_uniform_revision() before quitting.  
	* wc.h (svn_wc__ensure_uniform_revision): declare.  
	* adm_ops.c (svn_wc__ensure_uniform_revision):  implement.  

2001-03-23 09:11  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.63):

	* tests/libsvn_fs/fs-test.c 
	  (tree_test_entry_t): Removed is_dir field.  A NULL contents field 
	  will now signify a directory (thanks for the suggestion, Karl).  
	  Multivarious users of this structure throughout this file were 
	  modified, using bounded M-x replace-string commands: 
	    '0, "'   -> '"' 
	    '1, ""'  -> '0' 

2001-03-22 20:03   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/delta.c (1.29), libsvn_repos/delta.c

	Updating file contents now works.  
	* delta.c (replace):  fix logic bug;  save best_entry as we loop.  
	  Fix from Karl. :) 

2001-03-22 19:21   Karl Fogel <>

	* subversion/: include/svn_error.h (1.90), include/svn_fs.h (1.72),
	libsvn_fs/tree.c (1.65), tests/libsvn_fs/fs-test.c (1.62):

	As requested by Greg Stein <>, and designed by Jim 
	Blandy <>...  
	   (...I am but a vessel...) 
	Provide read-only access to node revisions by ID: 
	* svn_fs.h, tree.c (svn_fs_id_root, svn_fs_is_id_root): New public 
	(svn_fs_is_different): Fix typo `svs_fs_is_different'.  Add early 
	check for same IDs.  
	* tree.c: #include assert.h.  
	(root_kind_t): Add `id_root' kind.  
	(open_path): Handle id roots.  
	* svn_error.h (svn_errno_t): new error SVN_ERR_FS_NOT_ID.  
	* fs-test.c (fetch_by_id): New test.  
	(test_funcs): Add it.  

2001-03-22 19:14   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/delta.c (1.28), libsvn_repos/delta.c

	* delta.c (get_revision_from_hash):  fix the way revnum values were 
	  being pulled from the hash.  Trying to forcefully cast NULL into a 
	  (svn_revnum_t *) was causing a segfault.  

2001-03-22 18:32   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.79), libsvn_ra_local/update.c
	(1.4), libsvn_wc/adm_crawler.c (1.81):

	Gimme updates.  Please.  
	* svn_wc.h (svn_wc_entries_read): better documentation on exactly
	  what this routine returns.  
	* adm_crawler.c (report_revisions):  bugfix.  rewrite according to
	  the promises of svn_wc_entries_read().  
	* update.c (svn_ra_local__finish_report):  DOH!  Try
	  **uncommenting** the call to svn_fs_dir_delta.  That might help make
	updates work. :) 

2001-03-22 17:34   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.80):

	Updates, updates, updates.  
	* adm_crawler.c (svn_wc_crawl_revisions):  all new code.  
	  (report_revisions):  the recursive crawler.  

2001-03-22 17:14   Ben Collins-Sussman <>

	* notes/alpha_checklist (1.3):

	Add more shtuff.  

2001-03-22 17:14  C. Michael Pilato <>

	* subversion/libsvn_fs/tree.c (1.64):

	* libsvn_fs/tree.c 
	  (merge): Companion to previous bug fix: notice previously merged 

2001-03-22 17:00  C. Michael Pilato <>

	* subversion/libsvn_fs/tree.c (1.63):

	* libsvn_fs/tree.c 
	  (merge): Bug fix: notice previously merged changes.  

2001-03-22 15:57   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.29), include/svn_wc.h
	(1.78), libsvn_client/commit.c (1.25), libsvn_client/update.c
	(1.13), libsvn_wc/adm_crawler.c (1.79):

	Sprinting towards updates, <pant pant>...  
	* svn_client.h (svn_client_update):  update interface/docstring for 
	  M2.  Also add comment on multiple target issue.  
	* checkout.c (svn_client_checkout):  remove old comment.  
	* update.c (svn_client_update):  total rewrite for M2.  
	* svn_wc.h (svn_wc_crawl_local_revisions):  update interface for M2.  
	  Also #include svn_ra.h so that it gets the svn_ra_reporter_t type.  
	* adm_crawler.c (svn_wc_crawl_local_revisions):  update interface;
	  no code yet.  

2001-03-22 15:45   Karl Fogel <>

	* subversion/: include/svn_test.h (1.11), tests/svn_test_editor.c
	(1.21), tests/libsvn_delta/deltaparse-test.c (1.64),
	tests/libsvn_wc/commit-test.c (1.22):

	(svn_test_get_editor): Take new indentation and writeable stream
	args, instead of forcing everyone to use the same indentation and
	printing to stdout.  Document output format.  
	All callers changed.  

2001-03-22 15:28  C. Michael Pilato <>

	* subversion/libsvn_ra/ra_loader.c (1.3):

	* libsvn_ra/ra_loader.c 
	  (ra_lib_defn):  If initfunc is a svn_ra_init_func_t, which is a 
	  pointer to a function, it doesn't need to be declared as *initfunc 
	  (which is a double-pointer.  Users modified.  Segfaults removed.

2001-03-22 14:31   Ben Collins-Sussman <>

	* notes/alpha_checklist (1.2):

	Add more stuff, letter-ize the list.  Oy, this list is starting to 
	scare me.  :) 

2001-03-22 13:32   Jim Blandy <>

	* subversion/include/svn_fs.h (1.71):

	Doc fix.  

2001-03-22 11:05  C. Michael Pilato <>

	* STACK (1.85):

	Gimme the track, get back and let me rip this up No jive, no shuck,
	as I truck loads of funk for your rump So pump your fist and come
	and get a bump of this.  

2001-03-21 23:31  C. Michael Pilato <>

	* subversion/: include/svn_error.h (1.89), include/svn_fs.h (1.70),
	libsvn_fs/ (1.38), libsvn_fs/delta.c (1.27),
	libsvn_repos/delta.c (1.27):

	* include/svn_error.h 
	* include/svn_fs.h 
	  (svn_fs_dir_delta): Added hash argument sourth_rev_diffs to this 
	* libsvn_fs/delta.c 
	  Geez.  Massive rewrite of nearly everything in this file to use the 
	  current filesystem and editor interfaces.  A test-case (and I'm
	  sure a dozen or so bug fixes for obvious goof-ups and
	  not-so-obvious mistakes) is forthcoming, Karl sez.  Hey, it
	  compiles, and it doesn't really deviate from JimB's original plan
	  for this suite of functions...amazing foresight this guy has, I
	  The following symbols were tweaked as a part of this edit: 
	  (struct context, proplist_change_fn_t): Edited typedefs 
	  (struct dirent_plist_baton): Removed typedefs 
	  (file_from_scratch, dir_from_scratch, replace_related, 
	  replace_from_scratch, add): Removed functions 
	  (get_revision_from_hash, change_dir_prop, change_file_prop, 
	  replace_file_or_dir, add_file_or_dir): Added functions 
	  (delta_file_props, delta_dir_props, delta_proplists, 
	  send_text_delta, delta_files, delete, replace, delta_dirs, 
	  svn_fs_dir_delta, svn_fs_file_delta): Edited functions 
	* libsvn_fs/ 
	  Re-added delta.c to the build system.  

2001-03-21 14:48   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.62):

	Check that roots are txns, where required, as suggested by Yoshiki 
	Hayashi <>: 
	* tree.c (not_txn): New error constructor for roots.  
	(svn_fs_change_node_prop, svn_fs_merge, svn_fs_make_dir, 
	txn_body_delete, svn_fs_copy): Use it.  

2001-03-21 14:21   Karl Fogel <>

	* subversion/include/svn_fs.h (1.69):

	(svn_fs_merge): Doc fix.  

2001-03-21 14:19   Karl Fogel <>

	* subversion/: libsvn_fs/tree.c (1.61), tests/libsvn_fs/fs-test.c

	Bug fix: 
	* tree.c (merge): Construct conflict path(s) correctly.  
	Test it: 
	* fs-test.c (test_commit_txn): Take expected conflict path instead
	of boolean, check that expected conflict matches received conflict. 
	All callers changed.  Also, document this function.  

2001-03-21 11:18   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.60):

	More changes to support commits from non-single-revision trees: 
	(merge_args): Split `node' field into `ancestor_node' and 
	`source_node' fields.  Document all fields.  
	(txn_body_merge): Use new field.  
	(svn_fs_commit_txn): Initialize new field.  
	(svn_fs_merge): Start to implement.  
	Bug fix: 
	(merge): Use svn_fs__dag_delete_tree instead of svn_fs__dag_delete, 
	when deleting unmodified subtrees from the txn.  

2001-03-21 11:14   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/: ra_local.h (1.13), ra_plugin.c
	(1.21), update.c (1.3):

	Preparing for the hashtable that will be required by
	* ra_local.c (svn_ra_local__report_baton_t):  add a hashtable to the
	* ra_plugin.c (do_update):  initialize the baton's hashtable.  
	* update.c (svn_ra_local__set_path):  add to hashtable as we go.  

2001-03-20 19:06   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.59):

	(merge): Remove duplicate error check.  

2001-03-20 19:00   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.58):

	(merge): Remove all references to caller's circumstances, in 
	preparation for larger changes that will make commits against 
	non-single-revision trees work.  

2001-03-20 16:42   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.68), libsvn_fs/tree.c (1.57),
	tests/libsvn_fs/fs-test.c (1.60):

	* svn_fs.h, tree.c (svn_fs_commit_txn): Allow null conflict_p.  
	* fs-test.c (delete): Just pass null, since we're ignoring the 
	conflict info anyway.  

2001-03-20 16:26   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.50), libsvn_ra_local/ra_local.h
	(1.12), libsvn_ra_local/ra_plugin.c (1.20),
	libsvn_ra_local/update.c (1.2):

	* svn_ra.h (svn_ra_reporter_t):  merge two func declarations into
	* update.c (svn_ra_local__set_path):  renamed from set_directory.  
	  (svn_ra_local__set_file):  deleted.  
	* ra_plugin.c (ra_reporter):  remove set_file.  
	* ra_local.h (svn_ra_local__set_path):  same changes as in update.c

2001-03-20 16:12   Karl Fogel <>

	* subversion/: include/svn_error.h (1.88), libsvn_fs/dag.c (1.88),
	libsvn_fs/dag.h (1.41), libsvn_fs/tree.c (1.56), libsvn_fs/txn.c
	(1.38), tests/libsvn_fs/fs-test.c (1.59):

	Fix deletion bug reported by Yoshiki Hayashi...  
	   From: Yoshiki Hayashi <> 
	   Subject: svn_fs_delete_tree bug fix.  
	   Date: 19 Mar 2001 14:42:21 +0900 
	   Message-ID: <> 
	... based on the patch he submitted in that bug report: 
	* dag.c (delete_args, txn_body_delete): New `delete_tree' field 
	replaces `require_empty_dir', use to decide which dag deletion 
	function to call.  
	(svn_fs__dag_delete, svn_fs__dag_delete_tree): Adjust for above.  
	* dag.h, dag.c (svn_fs__dag_delete_if_mutable): New public
	incarnation of delete_from_id, formerly of txn.c.  
	(svn_fs__dag_delete): Doc fix -- change promise: directories get
	deleted only if empty, mutability is irrelevant now.  
	(svn_fs__dag_delete_tree): New func, delete directories even if 
	* txn.c (delete_from_id): Moved to dag.c and now called 
	* svn_error.h (SVN_ERR_FS_NOT_TXN_ROOT): New error.  
	* fs-test.c (delete): New func, test successful and unsuccessful 
	deletions of individual nodes and subtrees.  

2001-03-20 13:51   Greg Stein <>

	* STACK (1.84):

	"They're shooting at the oilcans!" 

2001-03-20 12:35   Greg Stein <>

	* subversion/: include/svn_delta.h (1.148), include/svn_fs.h
	(1.67), include/svn_io.h (1.34), include/svn_ra.h (1.49),
	libsvn_delta/compose_editors.c (1.15),
	libsvn_delta/default_editor.c (1.6), libsvn_delta/svndiff.c (1.18),
	libsvn_delta/text_delta.c (1.30), libsvn_delta/track_editor.c
	(1.3), libsvn_delta/xml_output.c (1.35), libsvn_delta/xml_parse.c
	(1.151), libsvn_fs/editor.c (1.31), libsvn_fs/tree.c (1.55),
	libsvn_ra_dav/commit.c (1.37), libsvn_ra_dav/fetch.c (1.41),
	libsvn_ra_dav/ra_dav.h (1.12), libsvn_ra_local/checkout.c (1.4),
	libsvn_ra_local/ra_local.h (1.11), libsvn_subr/io.c (1.34),
	libsvn_wc/adm_crawler.c (1.78), libsvn_wc/get_editor.c (1.169),
	mod_dav_svn/repos.c (1.36), tests/svn_test_editor.c (1.20),
	tests/libsvn_delta/random-test.c (1.20),
	tests/libsvn_delta/svndiff-test.c (1.11),
	tests/libsvn_delta/xml-output-test.c (1.13),
	tests/libsvn_fs/fs-test.c (1.58):

	Some typedefs were "functions" and others were "pointers to
	functions." Unify on the latter, which also helps SWIG (it doesn't
	understand the former).  
	* svn_delta.h (svn_txdelta_window_handler_t): make this a pointer to
	    a function, rather than a function typedef. Change all users.  
	  (enum svn_delta_action): new enum, split out from the struct 
	    svn_txdelta_op_t definition.  
	  (svn_bump_func_t): new typedef. use in
	* svn_io.h (svn_read_fn_t, svn_write_fn_t, svn_close_fn_t): change
	    to ptr-to-func. Change all users.  
	* svn_ra.h (svn_ra_close_commit_func_t, svn_ra_set_wc_prop_func_t, 
	    svn_ra_init_func_t): change to ptr-to-func. Change all users.  
	* libsvn_ra_dav/commit.c (svn_ra_dav__get_commit_editor): fix
	    definition to match most recent decl in svn_ra.h 
	* libsvn_ra_dav/fetch.c (svn_ra_dav__do_checkout): fix definition to
	    match most recent decl in svn_ra.h 
	* libsvn_ra_dav/ra_dav.h (svn_ra_dav__get_commit_editor, 
	    svn_ra_dav__do_checkout): fix declaration to match most recent
	    decl in svn_ra.h 

2001-03-20 12:17   Greg Stein <>

	* subversion/include/svn_error.h (1.87):

	* shift the C++ protection to the right place (after other headers;
	  we don't want to impose C naming on other headers) 
	* revise some of the includes 
	* no need to __GNUC__ the __attribute__ usage. APR will stub the
	  thing if it isn't available. note that NeXT says GNUC but doesn't
	  have __attribute__, so the test was incorrect anyways.  

2001-03-20 11:20   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.54):

	(txdelta_baton_t): Comment fix.  

2001-03-20 10:55  C. Michael Pilato <>

	* subversion/libsvn_fs/tree.c (1.53):

	* libsvn_fs/tree.c 
	  (txn_body_copy):  Geepers...freakin' typos... (bug fix) 

2001-03-19 21:24   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.48), libsvn_fs/delta.c (1.26),
	libsvn_ra_local/ (1.5), libsvn_ra_local/ra_local.h
	(1.10), libsvn_ra_local/ra_plugin.c (1.19),
	libsvn_ra_local/update.c (1.1), libsvn_repos/delta.c (1.26):

	Starting hacking out a code path for updates.  (This commit should
	cover everything ra_local needs to do for an update.) 
	* svn_ra.h (do_update): change declaration and promises of RA
	  routine.  We don't need to pass in a list of targets to update;
	  instead, the RA layer will update *one* target: whatever path
	  happens to be in the session URL.  (If the client has many targets
	  to update, it can open an independent RA session & update for each
	  one.  Remember that an update command isn't atomic; only commits
	* ra_local.h (svn_ra_local__set_directory, svn_ra_local__set_file, 
	  svn_ra_local__finish_report): declare in private header.  
	  (svn_ra_local__report_baton_t):  new baton type for reporter vtable.  
	* ra_plugin.c (set_directory, set_file, finish_report):  remove 
	  (ra_local_reporter):  use new function names.  
	  (do_update):  flesh this out for the first time.  
	* update.c:  new file.  
	  (svn_ra_local__set_directory):  new func, adds to the transaction.  
	  (svn_ra_local__set_file):  new func, adds to the transaction.  
	  Note:  we should merge the above 2 funcs into set_path(), unless 
	  gstein objects.  No need for both of them.  
	  (svn_ra_local__finish_report):  new func, calls svn_fs_dir_delta to 
	  drive the update editor, then aborts the transaction.  
	*  compile update.c 
	* delta.c (svn_fs_dir_delta):  put some reminder comments in here.  

2001-03-19 15:26  C. Michael Pilato <>

	* subversion/libsvn_fs/: editor.c (1.30), tree.c (1.52):

	* libsvn_fs/editor.c 
	  (replace_directory, replace_file): No need to delete before doing 
	  the svn_fs_copy (anymore).  
	* libsvn_fs/tree.c 
	  (txn_body_copy): Fixed to not restrict copies to only things that 
	  didn't previously exist.  A bit too much aggression on my part, I 
	  must confess.  

2001-03-19 12:39  C. Michael Pilato <>

	* subversion/libsvn_fs/editor.c (1.29):

	* libsvn_fs/editor.c 
	  (close_edit): Bug fix.  If an attempt to commit fails, we should 
	  probably return that failure to the caller.  

2001-03-19 06:58   Ben Collins-Sussman <>

	* STACK (1.83):

	Bug trackin for M2.  

2001-03-19 06:50   Ben Collins-Sussman <>

	* notes/alpha_checklist (1.1):

	Adding grab-bag of issues to discuss after M2.  Feel free to dump

2001-03-19 05:07   Greg Stein <>

	* (1.71), subversion/bindings/.cvsignore (1.1,
	milestone-2), subversion/bindings/ (1.1, milestone-2),
	subversion/bindings/README (1.1, milestone-2),
	subversion/bindings/apr.i (1.1, milestone-2),
	subversion/bindings/svn_client.i (1.1, milestone-2),
	subversion/bindings/svn_delta.i (1.1, milestone-2),
	subversion/bindings/svn_error.i (1.1, milestone-2),
	subversion/bindings/svn_fs.i (1.1, milestone-2),
	subversion/bindings/svn_io.i (1.1, milestone-2),
	subversion/bindings/svn_ra.i (1.1, milestone-2),
	subversion/bindings/svn_string.i (1.1, milestone-2),
	subversion/bindings/svn_types.i (1.1, milestone-2),
	subversion/bindings/svn_wc.i (1.1, milestone-2),
	subversion/bindings/guile/.cvsignore (1.1, milestone-2),
	subversion/bindings/guile/ (1.1, milestone-2),
	subversion/bindings/java/.cvsignore (1.1, milestone-2),
	subversion/bindings/java/ (1.1, milestone-2),
	subversion/bindings/perl/.cvsignore (1.1, milestone-2),
	subversion/bindings/perl/ (1.1, milestone-2),
	subversion/bindings/python/.cvsignore (1.1, milestone-2),
	subversion/bindings/python/ (1.1, milestone-2),
	subversion/bindings/ruby/.cvsignore (1.1, milestone-2),
	subversion/bindings/ruby/ (1.1, milestone-2),
	subversion/bindings/tcl/.cvsignore (1.1, milestone-2),
	subversion/bindings/tcl/ (1.1, milestone-2):

	checking this in for later pickup. non-functional, initial proddings
	(of a SWIG less-than-newbie) so far, but it may give people some
	ideas/interest for getting it to work.  

2001-03-18 19:52   Ben Collins-Sussman <>

	* subversion/libsvn_fs/editor.c (1.28):

	Bugfix:  make the fs commit editor deal with mixed-revision working 
	(struct edit_baton):  rename `root' field to `txn_root', for
	clarity.  Change all callers in other funcs.  
	(struct dir_baton): add base_rev field.  
	(replace_root):  set base_rev in root dir baton.  
	(replace_directory):  set base_rev in newly created dir baton;  do
	an fs_copy if the revision is different than parent.  
	(replace_file): do an fs_copy if the revision is different than 

2001-03-17 02:06  C. Michael Pilato <>

	* subversion/libsvn_fs/txn-table.c (1.22):

	* libsvn_fs/txn-table.c 
	  (svn_fs__open_transactions_table): I *think* this is a little bug 
	  fix.  Shouldn't we only be creating the 'next-id' key/value pair
	  if we just created this database table?  Confidence level 80%.  

2001-03-17 01:16   Brian Fitzpatrick <>

	* subversion/include/svn_error.h (1.86):

	        *  subversion/includes/svn_error.h: Added 
	        SVN_ERR_CL_ARG_PARSING_ERROR (not in patch provided) 
	        Applied patch provided by Mo DeJong: 
		*  subversion/client/TODO: Fix number 
		of arguments listing for the delete, 
		propget, and propset commands. Fix 
		minor format issues, add newline at 
		EOF to avoid diff warning.  
		*  subversion/client/add-cmd.c (svn_cl__add): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Extract target array in the subcommand.  
		Print subcommand usage if no targets are passed 
		in on the command line.  
		*  subversion/client/checkout-cmd.c (svn_cl__checkout): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Extract args array in the subcommand.  
		Print subcommand usage if no URLs are passed 
		in on the command line.  
		*  subversion/client/cl.h (svn_cl__cmd_proc_t, 
		svn_cl__cmd_desc_t, svn_cl__push_svn_string, 
		svn_cl__args_to_target_array, svn_cl__parse_num_args, 
		svn_cl__parse_all_args, svn_cl__subcommand_help): 
		Change svn_cl__cmd_proc_t signature so that 
		it accpets a apr_getopt_t* in the first argument 
		and a svn_cl__opt_state_t* in the second argument.  
		Remove num_args field from svn_cl__cmd_desc_t.  
		Add function prototypes for methods defined in 
		*  subversion/client/commit-cmd.c (svn_cl__commit): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Extract target array in the subcommand.  
		*  subversion/client/delete-cmd.c (svn_cl__delete): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Extract target array in the subcommand.  
		Print subcommand usage if no targets are passed 
		in on the command line.  
		*  subversion/client/diff-cmd.c (svn_cl__diff): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Extract target array in the subcommand.  
		*  subversion/client/help-cmd.c (svn_cl__help, 
		Account for change in svn_cl__cmd_proc_t signature.  
		Print main help text if the first argument to 
		svn_cl__help is NULL.  
		Extract target array in the subcommand.  
		Add new +svn_cl__subcommand_help helper method, 
		use it in svn_cl__help.  
		*  subversion/client/main.c (svn_cl__cmd_table, 
		svn_cl__push_svn_string, svn_cl__parse_num_args, 
		svn_cl__parse_all_args, svn_cl__args_to_target_array): 
		Remove svn_cl__cmd_desc_t num_args initializer.  
		Add "di" shortcut for diff to match CVS shortcut.  
		Add argument processing helper methods, remove 
		arguments and targets processing from main().  
		Remove targets array from main(), it is no 
		longer passed to a subcommand function.  
		Call svn_cl__help with NULL in first two arguments, 
		to print main help text. Fix exit status so that 
		when an error is encountered, svn will not terminate 
		with an exit status of 0.  
		*  subversion/client/propget-cmd.c (svn_cl__propget): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Use propname and propval variables to match usage.  
		Extract target array in the subcommand.  
		*  subversion/client/proplist-cmd.c (svn_cl__proplist): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Extract target array in the subcommand.  
		*  subversion/client/propset-cmd.c (svn_cl__propset): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Use propname and propval variables to match usage.  
		Extract args and targets arrays in the subcommand.  
		Add implicit . if not targets are passed in.  
		*  subversion/client/status-cmd.c (svn_cl__status): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Extract target array in the subcommand.  
		*  subversion/client/update-cmd.c (svn_cl__update): 
		Account for change in svn_cl__cmd_proc_t signature.  
		Extract target array in the subcommand.  
	PR: Obtained from: Submitted by: Mo DeJong  <> 
	Reviewed by: B. W. Fitzpatrick <> 

2001-03-17 00:08  C. Michael Pilato <>

	* subversion/: include/svn_client.h (1.28), include/svn_wc.h
	(1.77), libsvn_client/add.c (1.7), libsvn_wc/adm_ops.c (1.47):

	* include/svn_client.h 
	  (svn_client_add, svn_client_delete): Changed argument from FILE to 
	  PATH, since these work on directories, too.  
	* include/svn_wc.h 
	  (svn_wc_add_directory): New prototype.  
	* libsvn_wc/adm_ops.h 
	  (svn_wc_delete_file, svn_wc_add_file): Some cleanup.  
	  (svn_wc_add_directory): New function.  
	* libsvn_client/add.c 
	  (svn_client_add): Now, call svn_wc_add_directory when asked to add a 
	  directory instead of calling svn_wc_add_file.  Funny how that
	  works out.  

2001-03-16 23:22   Brian Fitzpatrick <>

	* STACK (1.82):

	A little present for Ben. Bug in commit.  

2001-03-16 22:45   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.47), libsvn_client/checkout.c
	(1.17), libsvn_ra_local/ra_plugin.c (1.18):

	Allow the user to specify a revision to checkout.  (Just add -r to
	the co subcommand now.  If you ignore this arg, you'll automatically
	get the latest rev.) 
	* svn_ra.h (do_checkout):  take a revision arg.  
	* ra_plugin.c (do_checkout):  take a revision arg.  
	* checkout.c (svn_client_checkout):  pass the revision arg to
	* ra-dav-test.c (main): pass the revision arg to do_checkout.  also, 
	  make the revision -1 (invalid), instead of 1, so we always get the 
	  "latest" rev.  Hope this is what you want, gstein. :) 

2001-03-16 17:52   Karl Fogel <>

	* www/project_status.html (1.11):

	Update status bars and week activity paragraphs.  

2001-03-16 16:48   Ben Collins-Sussman <>

	* (1.70):

	Fix warning message.  

2001-03-16 15:53   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.87):

	Formatting fixes.  

2001-03-16 15:34   Brian Fitzpatrick <>

	* subversion/: include/svn_io.h (1.33), libsvn_subr/io.c (1.33):

	Docfix at the suggestion of Greg Hudson <> 

2001-03-16 14:07   Karl Fogel <>

	* subversion/: libsvn_fs/tree.c (1.51), tests/libsvn_fs/fs-test.c

	* tree.c (merge): Fix logic for another deletion case.  
	* fs-test.c (print_tree, get_file_contents): New functions.  
	(merging_commit): Finish.  

2001-03-16 09:38  C. Michael Pilato <>

	* subversion/: libsvn_fs/tree.c (1.50), tests/libsvn_fs/fs-test.c

	* libsvn_fs/tree.c 
	  (copy_args, txn_body_copy, svn_fs_copy): New baton structure and 
	  functions for implementing filesystem copies.  
	* tests/libsvn_fs/fs-test.c 
	  (copy_test): New test for svn_fs_copy.  
	  (test_funcs): Added reference to new copy_test function.  

2001-03-15 21:52   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.49):

	(get_path_mutable): New func.  
	(merge): Use new get_path_mutable, instead of writing it out by hand 
	each time.  Don't take target node argument, since it can be derived
	from target_root and target_path anyway.  All callers changed.  

2001-03-15 21:38   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.86), dag.h (1.40), tree.c (1.48):

	* dag.h, dag.c (svn_fs__dag_merge): Moved to tree.c, see below.  
	* tree.c (merge): Replaces svn_fs__dag_merge.  Merging belongs here, 
	so we can make parent paths mutable.  All callers changed.  

2001-03-15 18:44   Karl Fogel <>

	* subversion/: libsvn_fs/dag.c (1.85), tests/libsvn_fs/fs-test.c

	* dag.c (svn_fs__dag_merge): Fix logic for a deletion case.  
	* fs-test.c (merging_commit): Fix sense of one test, leave notes
	about it for Mike and I to pick up on tomorrow morning.  Comment out
	the region in which another test is known to be failing, so 'make
	check' works.  

2001-03-15 16:40   Ben Collins-Sussman <>

	* STACK (1.81):

	Here come da bugs.  

2001-03-15 16:00   Ben Collins-Sussman <>

	* subversion/: include/svn_fs.h (1.66), libsvn_fs/tree.c (1.47),
	libsvn_wc/adm_ops.c (1.46), libsvn_wc/log.c (1.87):

	* svn_fs.h, tree.c (svn_fs_is_different):  begin work on this func, 
	  not yet finished.  
	* adm_ops.c (svn_wc_close_commit):  remove obsolete func.  
	* log.c (svn_wc__log_commit):  remove obsolete func.  

2001-03-15 15:22  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.54):

	* tests/libsvn_fs/fs-test.c 
	  (validate_tree): Give more interesting feedback in the error 
	  (test_tree_node_validation): Test the trees in both the transaction 
	  and the committed revision.  Also, modify the committed tree and 
	  verify those changes, too.  
	  (test_commit_txn): Helper function.  
	  (merging_commit): The beginnings of some serious merge/commit 

2001-03-15 14:27   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.84):

	(svn_fs__dag_set_contents):  safety check -- make sure the file node 
	is mutable before doing anything.  
	In general, we need to do a careful review of dag.c and make sure 
	*every* routine that changes dag_nodes is making this check.  

2001-03-15 13:40   Ben Collins-Sussman <>

	* subversion/libsvn_client/status.c (1.11):

	* status.c (svn_client_status):  check for a *specific* error from 

2001-03-15 13:35  C. Michael Pilato <>

	* subversion/libsvn_wc/entries.c (1.89):

	* libsvn_wc/entries.c 
	  (take_from_entry): No longer inherit an ancestor if the entry is 
	  marked for addition.  
	  (normalize_entry): Make "null string" and "empty string" mean the 
	  same thing when normalizing entries.  
	  (svn_wc__entries_write): If this entry's ancestor and revision are 
	  no different than that of the directory in which it resides, we no 
	  longer wish to write out the ancestor and revision XML attributes 
	  into the `entries' file at all.  
	  (svn_wc__entry_dup): Added safety check.  Duping empty strings is 
	  fine...duping NULL strings ain't happenin'.  

2001-03-15 13:30   Ben Collins-Sussman <>

	* subversion/libsvn_client/: commit.c (1.24), status.c (1.10):

	* commit.c (svn_client_commit):  don't forget to close the ra
	  session when done.  We don't want future gui clients to leak memory.
	* status.c (svn_client_status):  hey hey, we can get the
	  repository's latest revnum now when we print a wc's status.  sweet.  

2001-03-15 10:41  C. Michael Pilato <>

	* subversion/: libsvn_ra_local/checkout.c (1.3),
	tests/libsvn_wc/commit-test.c (1.21):

	* libsvn_ra_local/checkout.c 
	* tests/libsvn_wc/commit-test.c 
	  Fixed compiler warnings.  

2001-03-15 10:40  C. Michael Pilato <>

	* subversion/libsvn_client/commit.c (1.23):

	* libsvn_client/commit.c 
	  (svn_client_commit): Minor bug fix, and some key functionality for 
	  the RA commit case! 

2001-03-15 09:04   Ben Collins-Sussman <>

	* subversion/libsvn_client/checkout.c (1.16):

	(svn_client_checkout):  don't forget to close the ra session 

2001-03-15 01:06   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/ra_plugin.c (1.17):

	(open):  remove stupid printf.  

2001-03-15 00:37   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/: checkout.c (1.2), ra_local.h (1.9),
	ra_plugin.c (1.16):

	Make checkouts from local repositories work.  
	The bugfix here was forcing the editor driver to always supply 
	`copyfrom' args to add_directory(), even though this shouldn't be 
	necessary according to add_directory's docstring.  
	During a checkout, the wc editor *assumes* that they are supplied,
	so that it can immediately create a new SVN/ area in the new dir. 
	If they're not supplied, it ends up creating a new dir whose own
	entry in `entries' has no ancestry attributes... which is bad, bad,
	So for now, the driver is telescoping a URL arg as it recurses and 
	is constantly supplying it to add_*().  However, I don't think
	things should remain this way;  the wc editor should -infer- the new
	dir's ancestor URL if not supplied, and use that value when writing
	the new `entries' file.  Nowhere in the docs for editor->add_dir()
	does it say that the ancestry args are always required! 
	* checkout.c (walk_tree):  take a URL arg, and telescope it properly 
	  as we recurse.  
	  (svn_ra_local__checkout):  take a URL arg.  
	* ra_local.h (svn_ra_local__checkout):  take a URL arg.  
	* ra_plugin.c (do_checkout):  supply session baton's URL to 

2001-03-14 23:18   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/checkout.c (1.1):

	Doh.  Add the checkout driver.  :) 

2001-03-14 23:17   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/: (1.4), ra_local.h (1.8),
	ra_plugin.c (1.15), split_url.c (1.7):

	The meat of ra_local checkouts:  a bridge between libsvn_fs and 
	libsvn_wc's checkout editor.  
	* checkout.c, ra_local.h (svn_ra_local__checkout):  declare and
	  define new editor driver which reads an fs directly.  
	  (send_file_contents):  new helper func.  
	  (set_any_props):  new helper func.  
	  (walk_tree):  the main recursive func.  
	* ra_plugin.c (do_checkout):  call svn_ra_local__checkout.  
	* compile checkout.c.  

2001-03-14 17:02   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.27), include/svn_wc.h
	(1.76), libsvn_client/apply_edits.c (1.14),
	libsvn_client/checkout.c (1.15), libsvn_wc/adm_files.c (1.69),
	libsvn_wc/adm_ops.c (1.45), libsvn_wc/get_editor.c (1.168),
	libsvn_wc/wc.h (1.143), tests/libsvn_wc/checkout-test.c (1.41):

	Reorganize code paths in preparation for M2 checkouts.   The goal
	here is to make sure that `make check` still works with xml files. 
	Then we write the RA editor-driver later.  
	* svn_client.h, checkout.c (svn_client_checkout): New docstring with 
	  new promises; change input args.  Rename `ancestor_revision' to 
	  plain old `revision', and rename `ancestor_path' to `URL'.  
	* checkout.c (svn_client_checkout): total rewrite.  one routine to 
	  find all funcs, and in the client bind them.  
	Also: cosmetic changes to func layers below, although most of these 
	routines will probably be removed later when we rewrite updates. 
	The file in SVN/ need no longer exist, since URLs are stored in the 
	`entries' file now.  
	* adm_files.c (init_adm): remove repos arg.  
	  (svn_wc__ensure_adm):  remove repos arg.  
	* adm_ops.c (svn_wc__ensure_wc):  remove repos arg.  (why does this 
	  routine even exist? :)) 
	* get_editor.c (prep_directory): remove repos arg.  
	  (replace_root):  no longer use repos arg.  
	  (make_editor): remove repos arg.  
	  (struct edit_baton):  remove repos_arg.  
	  (svn_wc_get_checkout_editor):  remove repos_arg.  
	* apply_edits.c (apply_delta): remove repos arg.  
	  (do_edits):  stop creating repos arg.  
	  (svn_client__checkout_internal):  rename ancestry args as above.  
	* wc.h (SVN_WC__ADM_REPOSITORY):  remove repos #define.  
	  (svn_wc__ensure_adm, svn_wc__ensure_wc): update prototype.  
	* svn_wc.h (svn_wc_get_checkout_editor): update prototype.  
	* checkout-test.c (apply_delta): call svn_wc_get_checkout_editor
	* ra-dav-test.c (main):  ditto.  
	* checkout-cmd.c (svn_cl__checkout): call svn_client_checkout

2001-03-14 15:56  C. Michael Pilato <>

	* subversion/libsvn_fs/skel.c (1.26):

	* libsvn_fs/skel.c 
	  Bug fixes: Use apr_pcalloc() throughout for skel allocation, instead 
	  of apr_alloc().  This can be optimized in the future by reverting
	  to apr_palloc() and explicitly setting unused fields to 0.  

2001-03-14 14:44  C. Michael Pilato <>

	* subversion/tests/libsvn_ra_local/ra-local-test.c (1.8):

	* tests/libsvn_ra_local/ra-local-test.c 
	  (check_split_url): Removed brain, rotated 180 degrees, reinserted.  
	  Now properly oriented, I realize that I had repos-path and fs-path 
	  confused before.  

2001-03-14 14:26  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c (1.83), tree.c (1.46):

	* libsvn_fs/dag.c 
	  (svn_fs__dag_clone_child): Bug fix.  What good does cloning do if 
	  you don't set the mutability flag?  Geepers...  
	* libsvn_fs/tree.c 
	  (delete_args): Added boolean field for whether or not a directory 
	  deletion requires the directory to be empty.  
	  (svn_fs_delete, svn_fs_delete_tree, txn_body_delete):  Modified to 
	  use the new field in delete_args, which resulted in the 
	  actualization of svn_fs_delete_tree.  
	  (txn_body_get_mutable_source_stream): Renamed from 
	  txn_body_get_source_stream, and modified to make a mutable clone
	  of the node whose contents are being hooked up to streams.  This
	  was the source of the Big Bug I saw yesterday, whereby changing the 
	  contents of a file resulted in an edit of the *immutable version
	  of the file*, meaning we never had any version of the file in the 
	  database except the most recent.  I was thinking we'd have to
	  change the name of the project to either LastVersion or
	  SubParVersion.  All caller[sic] changed.  

2001-03-14 14:25  C. Michael Pilato <>

	* subversion/libsvn_ra_local/split_url.c (1.6):

	* libsvn_ra_local/split_url.c 
	  (libsvn_ra_local__split_URL): Doh!  Confused which was which 
	  (fs-path v. repos-path).  This makes for sucky results.  

2001-03-14 03:22  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.53):

	* tests/libsvn_fs/fs-test.c 
	  Including svn_path.h now.  
	  (tree_test_entry_t, get_dir_entries, validate_tree_entry, 
	  validate_tree): New type and helper functions for doing some 
	  freakin' paranoid validation of the directory structure stored
	  under a given revision or transaction root.  
	  (test_tree_node_validation): New test for above helper functions.  
	  (check_greek_tree_under_root, greek_tree_under_root): Put newline at 
	  the end of the contents string, cuz Karl likes that mo' better.  
	  (basic_commit): Moved close of transaction to immediately after 

2001-03-14 02:17  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.82):

	* libsvn_fs/dag.c 
	  (svn_fs__dag_dup): Bug fix.  Make sure we copy the node kind over
	  when we dup.  

2001-03-13 18:25   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.45):

	(svn_fs_commit_txn): Check error from commit attempt better.  

2001-03-13 18:21   Karl Fogel <>

	* subversion/: include/svn_error.h (1.85), libsvn_fs/dag.c (1.81),
	libsvn_fs/dag.h (1.39), libsvn_fs/err.c (1.27), libsvn_fs/err.h
	(1.23), libsvn_fs/tree.c (1.44), libsvn_fs/txn-table.c (1.21),
	libsvn_fs/txn-table.h (1.12), libsvn_fs/txn.c (1.37),
	libsvn_fs/txn.h (1.10), tests/libsvn_fs/fs-test.c (1.52):

	Do optimal merging, for minimal interference with other committers.  
	Test suite passes, but the merging is not really tested right now; 
	Mike Pilato has uncommitted changes to test it thoroughly, and we'll 
	be using those.  
	* tree.c: #include rev-table.h.  
	(get_root_args, txn_body_get_root): New struct and func.  
	(merge_args, txn_body_merge): New struct and func.  
	(commit_args, txn_body_commit): New struct and func.  
	(svn_fs_commit_txn): Reimplement using above.  Now merging happens
	in one trail, and committing in another.  
	(svn_fs_merge): Unimplement.  This will be reimplemented to share as 
	much merging code as possible with svn_fs_commit_txn; possibly some
	of the other code removed from this file in this commit can be
	salvaged for that too.  
	* dag.h, dag.c (svn_fs__dag_txn_base_root): New func.  
	(svn_fs__dag_merge): Doc fix.  
	(svn_fs__dag_reroot_txn): Removed in favor of new func above.  
	* dag.c (dag_merge_args, txn_body_dag_merge, reroot_path_args, 
	txn_body_reroot_path): Removed, see svn_fs_merge change.  
	* txn.h, txn.c (svn_fs__txn_fs, svn_fs__txn_pool): New accessor 
	* txn_table.h, txn_table.c (svn_fs__set_txn_base): New func.  
	(svn_fs__set_txn_roots): Removed.  
	* svn_error.h (svn_errno_t): New error SVN_ERR_TXN_OUT_OF_DATE.  
	Removed obsolete error SVN_ERR_FS_TXN_NOT_PRISTINE.  
	* err.h, err.c (svn_fs__err_txn_not_pristine): Removed.  
	* txn.c (svn_fs_commit_txn): Moved to tree.c.  
	* fs-test.c (merge_trees): Don't test svn_fs_merge right now; we're 
	testing it through committing.  
	Unrelated changes: 
	* editor.c (svn_fs_get_editor): Put back BASE_REVISION parameter,
	with note to Ben, to match prototype in svn_fs.h.  

2001-03-13 15:37   Ben Collins-Sussman <>

	* notes/old/: draft-korn-vcdiff-01.txt (1.1), karlnotes (1.1)
	(utags: milestone-2):

	* notes/old/:  new dir for old notes, move vcdiff docs in here 
	* libsvn_vdelta:  nuke this empty dir.  

2001-03-13 14:16   Brian Fitzpatrick <>

	* subversion/include/svn_io.h (1.32):

	Added docstring. Whoops.  

2001-03-13 14:03   Greg Stein <>

	* subversion/svn-dev.el (1.5):

	The gnu style doesn't handle the extern "C" stuff in our headers
	properly.  Create an SVN style that does, and use that instead.  

2001-03-13 12:28   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.51):

	* fs-test.c (basic_commit): New name for commit_transaction.  
	(merging_commit): New function.  
	(test_funcs): Adjust for above.  

2001-03-13 07:53   Ben Collins-Sussman <>

	* STACK (1.80), subversion/include/svn_types.h (1.59):

	* svn_types.h:  add new reserved propname prefix 
	* STACK:  Change #4 is now finished.  

2001-03-12 23:13   Brian Fitzpatrick <>

	* subversion/: include/svn_io.h (1.31), libsvn_subr/io.c (1.32):

	*removed read_from_file function from client/main.c 
	*moved read_from_file function to libsvn_subr/io.c 
	*renamed read_from_file to svn_string_from_file 
	*added svn_string_from_file declaration to include/svn_io.h 

2001-03-12 21:25   Greg Stein <>

	* (1.69), subversion/libsvn_fs/ (1.37),
	subversion/libsvn_fs/fs.c (1.39), ac-helpers/berkeley-db.m4 (1.7,

	Add a runtime check on the DB library version. After spending four
	hours tracking down the wrong shared library being pulled in, this
	is a better way to quickly detect the problem.  
	* pass the values into svn_private_config.h 
	* berkeley-db.m4: put the -ldb right after the -L path setting 
	* no longer need to pull in -ldb cuz LIBS does it now 
	* fs.c: add runtime check of the DB version 

2001-03-12 21:19   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.80), dag.h (1.38):

	(svn_fs__dag_commit_txn): Removed cast and duplicate definition, as 
	suggested by Greg Stein.  

2001-03-12 20:40   Brian Fitzpatrick <>

	* subversion/tests/libsvn_subr/.cvsignore (1.7, milestone-2):

	A duck! 

2001-03-12 19:28   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.35):

	Fix the GET response for WORKING resources. We can't fetch regular
	resources yet (since we cannot create revision roots), but we can
	fetch resources from transactions (i.e. from activities and working
	* (dav_svn_prep_working): refactor the error handling to ensure we
	    don't deref serr when it is NULL, and to clarify what is happening.  

2001-03-12 19:18   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.26), include/svn_delta.h
	(1.147), include/svn_fs.h (1.65), include/svn_ra.h (1.46),
	include/svn_wc.h (1.75), libsvn_client/commit.c (1.22),
	libsvn_delta/track_editor.c (1.2), libsvn_fs/editor.c (1.27),
	libsvn_ra_local/ra_plugin.c (1.14), libsvn_wc/adm_crawler.c (1.77),
	tests/libsvn_fs/fs-test.c (1.50), tests/libsvn_wc/commit-test.c

	New commit architecture!! 
	I can't believe it's not butter.  I can't believe that `make check` 
	still works.  I'm not going to pay a lot for this muffler.  
	Boy, how many files can I touch?  :) 
	* svn_client.h (svn_client_commit):  add log_msg argument.  
	* commit.c (svn_client_commit):  rework logic of this routine, 
	  according to option #2 (gstein's proposal).  No more calling 
	  close_commit;  our commit editors bump revisions for us now.  
	* svn_fs.h (svn_fs_get_editor):  change declaration.  We don't need
	  to specify the base revision at editor-fetch time;  rather, the
	  editor driver passes it in when calling replace_root().  
	* editor.c (struct edit_baton):  per above, remove base_rev.  
	  (replace_root): use base_rev supplied by caller.  
	  (svn_fs_get_editor):  remove base_revision argument.  
	* svn_ra.h (get_commit_editor):  change declaration, no longer need 
	  base_path and base_rev.  Instead, base_path is built into the ra 
	  session baton's URL, and base_rev is given to replace_root().  
	* ra_plugin.c (get_commit_editor): call svn_fs_get_editor correctly.  
	  Don't take base_revision arg anymore.  Change declaration to match 
	  svn_ra.h too.  Call the track editor correctly (see below).  
	* commit-cmd.c (svn_cl__commit):  change call to svn_client_commit.  
	*  link RA_LIBS into the client app.  
	* ra-commit.c (main):  in ra-dav-test, call ra->get_commit_editor 
	* fs-test.c (call_functions_with_unopened_fs):  test must call 
	  svn_fs_get_editor correctly.  
	* adm_crawler.c (svn_wc_crawl_local_mods):  don't return locks, just 
	  unlock them before quitting.  After all, we know that after we
	  call close_edit() that revisions have been bumped! 
	* svn_wc.h (svn_wc_crawl_local_mods):  don't return locks.  
	* track_editor.c (struct edit_baton, 
	  svn_delta_get_commit_track_editor): take 3 new args for optional 
	  revision bumping.  
	  (close_edit):  add, optionally bumps revisions.  
	  (apply_textdelta, window_handler):  return a no-op handler for 
	  proper delta composition.  
	* svn_delta.h (svn_delta_get_commit_track_editor):  change
	  declaration and docstring.  
	* commit-test.c (main): call svn_wc_crawl_local_mods correctly.  
	* ra-commit.c (main): call svn_wc_crawl_local_mods correctly.  

2001-03-12 19:18   Greg Stein <>

	* subversion/mod_dav_svn/: activity.c (1.3), dav_svn.h (1.18),
	repos.c (1.34), version.c (1.14):

	Support a PUT to the repository. :-) 
	This checkin also removes much of the stub code that was present in
	repos.c to deal with unavailable SVN FS functions. There is also a
	bunch of 
	(untested) work for creating collections (directories), deleting
	items, and fetching resources.  
	*) dav_svn.h (dav_svn_private_restype): new enumerated type to
	     specify the different types of private resources.  
	   (dav_resource_private): repos_path now has a leading slash;
	     update comments to match the new semantic. add restype field to
	     discriminate among PRIVATE resource types.  
	   (dav_svn_create_activity): new declaration 
	*) repos.c (dav_stream): expand to include a stream for reading, and
	     a handler/baton for writing.  
	   (dav_svn_parse_version_uri, dav_svn_parse_working_uri, 
	     dav_svn_parse_uri): keep the leading slash in the repos_path
	   field.  (struct special_defn): add restype field for mapping
	     from dav_svn_private_restype back to a URI component 
	   (special_subdirs[]): add restype values 
	   (dav_svn_prep_regular): remove stub code and fetch youngest
	     revision.  remove stub code and open the revision root. determine
	     whether the resource is a directory and store in res.collection.  
	   (dav_svn_prep_working): toss stub and implement properly.  
	   (dav_svn_create_private_resource): new function 
	   (dav_svn_get_parent_resource): toss stub and implement parent
	     retrieval for WORKING resources (the only thing that can be
	(dav_svn_open_stream): don't allow seekable resources (for now).
	     toss stub code and implement read/write dav_stream objects.  
	   (dav_svn_close_stream): toss stub and implement real closing.  
	   (dav_svn_read_stream): update to dav_stream.rstream field for
	(dav_svn_write_stream): implement 
	   (dav_svn_seek_stream, dav_svn_copy_resource,
	     dav_svn_move_resource): return an error to catch unintended calls 
	   (dav_svn_getetag): fix: use idstr->data rather than just idstr 
	   (dav_svn_set_headers): remove stub code and implement fetching of
	     file length and storing in the response headers.  
	   (dav_svn_do_walk): do not skip the slash (for repository paths)
	     when using values from the uri_data field. update call to
	     svn_fs_is_file() for new prototype.  
	   (dav_svn_walk): do not skip the slash when setting up repos_path 
	   (dav_svn_create_working_resource): repos_path has a leading
	     slash, so don't place it into PATH.  
	*) version.c (dav_svn_make_activity): use the
	     dav_svn_create_activity() utility function to create the activity
	     and an FS transaction. also, make sure the resource gets updated
	("exists" and the txn name) 
	*) activity.c (dav_svn_create_activity): new function to create an
	     activity and an FS transaction 

2001-03-12 19:08   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.64), libsvn_fs/dag.c (1.79),
	libsvn_fs/dag.h (1.37), libsvn_fs/editor.c (1.26),
	libsvn_fs/rev-table.c (1.11), libsvn_fs/rev-table.h (1.6),
	libsvn_fs/txn.c (1.36), tests/libsvn_fs/fs-test.c (1.49):

	Commit the Greek Tree.  
	Most of this code is based on Yoshiki Hayashi <>'s 
	original patch posted to the dev list.  
	* dag.c (make_node_immutable, stabilize_node): New functions.  
	* dag.h, dag.c (svn_fs__dag_commit_txn): New function.  
	* txn.c (commit_txn_args): Add char *conflict field.  
	(txn_body_commit_txn): Rewrite.  
	* svn_fs.h, txn.c (svn_fs_commit_txn): Finished.  Add conflict_p 
	parameter, set it according to the new conflict record in 
	* rev-table.h, rev-table.c (youngest_rev_args): Take rev by value,
	not reference, in accordance with Greg Stein's recent suggestions. 
	All callers changed.  
	(txn_body_youngest_rev): Rewrite to use svn_fs__youngest_rev.  
	(svn_fs__youngest_rev): New func.  
	* editor.c (close_edit): Adjust call to svn_fs_commit_txn.  
	* fs-test.c (fetch_youngest_rev): Adjust call to svn_fs_commit_txn.  

2001-03-12 18:51   Greg Stein <>

	* subversion/svnadmin/main.c (1.4):

	More hacking to list out transactions.  

2001-03-12 15:43  C. Michael Pilato <>

	* subversion/: libsvn_client/commit.c (1.21),
	libsvn_ra_dav/commit.c (1.36), libsvn_subr/io.c (1.31):

	Fixed gcc warnings in the following locations: 
	* libsvn_subr/io.c (svn_io_open_unique_file) 
	* libsvn_ra_dav/commit.c (create_activity) 
	* libsvn_client/commit.c (svn_client_commit) 

2001-03-12 12:43   Ben Collins-Sussman <>

	* subversion/: libsvn_delta/track_editor.c (1.1),
	libsvn_ra_local/track_editor.c (1.7):

	The actual move of track_editor.c 

2001-03-12 12:42   Ben Collins-Sussman <>

	* subversion/: include/svn_delta.h (1.146), include/svn_ra.h
	(1.45), libsvn_delta/ (1.18, milestone-2),
	libsvn_ra_local/ (1.3), libsvn_ra_local/ra_local.h
	(1.7), libsvn_ra_local/ra_plugin.c (1.13), libsvn_wc/adm_ops.c

	Put the track editor in libsvn_delta, and modify it to do *nothing*
	but build a target list at a particular address.  (ra_local uses the
	track editor under the hood.) 
	* track_editor.c (struct edit_baton, close_file, 
	  svn_ra_local__get_commit_track_editor) : operate on a generic 
	  apr_array_header_t instead of a `closer' baton.  
	  (add_file, add_dir): store path in these routines, to align with 
	  crawl_local_mod semantics.  Karl was only storing paths in 
	  close_file, which is not sufficient.  
	  (close_file, close_edit):  remove these routines, they're no-ops.  
	  (delete_entry, apply_textdelta, change_file_prop, change_dir_prop): 
	  add these routines, they need to store a path too.  
	  (store_path):  new helper.  
	* svn_delta.h (svn_delta_get_commit_track_editor): declare
	* ra_local.h (svn_ra_local__get_commit_track_editor):  undeclare
	* libsvn_delta/  add track_editor.c 
	* libsvn_ra_local/  remove track_editor.c 
	* ra_plugin.c (get_commit_editor):  call 
	  svn_delta_get_commit_track_editor correctly.  
	* adm_ops.c (svn_wc_set_revision):  bugfixes and logic changes.  
	    - svn_xml_make_open_tag expects logtag string to be initialized.  
	    - new logic for opening logfiles (to handles deleted files

2001-03-12 12:28   Karl Fogel <>

	* subversion/: libsvn_fs/dag.c (1.78), libsvn_fs/dag.h (1.36),
	libsvn_fs/tree.c (1.43), libsvn_fs/txn.c (1.35),
	tests/libsvn_fs/fs-test.c (1.48):

	Move core of svn_fs_merge into svn_fs__dag_merge.  (Next task is to 
	try Yoshiki Hayashi's commit_txn, replacing an error return with a 
	merge attempt instead.) 
	* dag.h, dag.c (svn_fs__dag_merge): New func.  
	(svn_fs__dag_dir_entries_hash): New func.  
	(svn_fs__dag_dir_entries_skel): New name for
	svn_fs__dag_dir_entries, all callers changed.  
	* dag.c (replace_dir_entry): Doc fix.  Replace assertion with a real 
	error check.  
	(add_new_entry): Take an id instead of a node for the new entry. 
	All callers changed.  
	* tree.c (txn_body_dir_entries): Use svn_fs__dag_dir_entries_hash.  
	(dag_merge_args, txn_body_dag_merge): New struct and func.  
	(svn_fs_merge): Implement using above.  
	Unrelated changes: 
	* dag.c (find_dir_entry_skel): Indentation fix.  

2001-03-12 10:32  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.47):

	* tests/libsvn_fs/fs-test.c 
	  Sweeping change: use APR_HASH_KEY_STRING throughout instead of 
	  explicit strlen() calls.  

2001-03-12 10:20   Jim Blandy <>

	* subversion/: libsvn_fs/editor.c (1.25), libsvn_fs/rev-table.c
	(1.10), libsvn_fs/tree.c (1.42), libsvn_fs/txn.c (1.34),
	tests/libsvn_fs/fs-test.c (1.46):

	Make sure that every function which requires an open filesystem
	calls svn_fs__check_fs, so the user gets an error, instead of a
	crash in Berkeley DB.  (Changes from Yoshiki Hayashi --- Thanks!) 
	* libsvn_fs/editor.c: #include "err.h".  
	(svn_fs_get_editor): Call svn_fs__check_fs.  
	* libsvn_fs/rev-table.c (svn_fs_youngest_rev, svn_fs_revision_prop, 
	svn_fs_revision_proplist, svn_fs_change_rev_prop): Same.  
	* libsvn_fs/tree.c (svn_fs_revision_root): Same.  
	* libsvn_fs/txn.c (svn_fs_begin_txn, svn_fs_open_txn, 
	svn_fs_list_transactions): Same.  
	* tests/libsvn_fs/fs-test.c: Add new tests for above behavior.  
	(check_no_fs_error, call_functions_with_unopened_fs): New functions.  
	(test_funcs): Add call_functions_with_unopened_fs.  
	* libsvn_fs/editor.c (svn_fs_get_editor): Don't forget to initialize 
	the edit baton's pointer to the filesystem.  

2001-03-12 09:43   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.19, postmerge_strings-reps-dev,
	premerge_strings-reps-dev, strings-reps-dev-done, milestone-2):

	Noonie noonie noo...  

2001-03-12 09:43   Jim Blandy <>

	* subversion/include/svn_fs.h (1.63):

	* include/svn_fs.h (svn_fs_free_file_contents): Function deleted.  
	svn_fs_file_contents no longer returns a baton anyway; it returns an 
	svn_stream_t, which can be closed by calling `svn_stream_close'.  

2001-03-11 11:30   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.44), libsvn_ra/ra_loader.c
	(1.2), tests/libsvn_ra_local/ra-local-test.c (1.7):

	Rename the ra loading routines, now that they live in libsvn_ra.  
	* ra_loader.c (svn_client_init_ra_libs, svn_client_get_ra_library): 
	  renamed to svn_ra_init_ra_libs and svn_ra_get_ra_library.  
	* svn_ra.h:  same rename here.  
	* ra-local-test.c (get_ra_local_plugin):  call new names.  

2001-03-11 02:04  C. Michael Pilato <>

	* subversion/: include/svn_error.h (1.84), include/svn_ra.h (1.43),
	libsvn_ra_local/ra_local.h (1.6), libsvn_ra_local/split_url.c
	(1.5), tests/libsvn_ra_local/ra-local-test.c (1.6):

	* include/svn_error.h 
	* include/svn_ra.h 
	  (svn_client_get_ra_library): Added reference notes about the 
	  validity of URLs.  
	* libsvn_ra_local/ra_local.h 
	  Some docstring changes.  
	* libsvn_ra_local/split_url.c 
	  (svn_ra_local__split_URL): Re-worked this function.  
	* tests/libsvn_ra_local/ra-local-test.c 
	  The following code was added, but is currently #ifdef'd out to 
	  preserve portability.  Any hints on making this actually work 
	  without a bunch of system-specific operations is appreciated.  
	  (try_split_url): Helper function 
	  (split_url_test_1): New test for svn_ra_local__split_URL's 
	  well-formed-ness checking capabilities.  
	  (check_split_url): Helper function 
	  (split_url_test_2): New test for svn_ra_local__split_URL's accuracy 
	  at splitting URLs up into a valid filesystem path and a repository 

2001-03-10 20:40   Karl Fogel <>

	* subversion/: libsvn_fs/txn.c (1.33), tests/libsvn_fs/fs-test.c

	* fs-test.c (commit_transaction): Run in the test suite, with 
	post-commit check commented out.  It passes, though it doesn't do 
	anything of significance right now.  
	* txn.c (commit_txn_args, txn_body_commit_txn): New struct and func.  
	Note current State of the Onion in body of latter.  
	(svn_fs_commit_txn): Fill in using above.  

2001-03-10 19:17   Karl Fogel <>

	* subversion/: libsvn_fs/dag.c (1.77), libsvn_fs/dag.h (1.35),
	libsvn_fs/tree.c (1.41), tests/libsvn_fs/fs-test.c (1.44):

	Finish svn_fs_merge, test it as far as it can be tested before we
	have some committed trees to work on: 
	* tree.c (reroot_path_args, txn_body_reroot_path): Replace 
	reroot_txn_args and txn_body_reroot_txn with these, because more 
	* dag.h, dag.c: Change according to Greg Stein's advice: 
	(add_new_entry_skel): New helper func.  
	(add_new_entry): Use it.  
	(find_dir_entry_skel): New name for find_dir_entry, to match 
	(svn_fs__dag_set_entry): Rewrite to use above.  
	(replace_dir_entry): Assert that we found the entry.  This whole 
	function should probably be factored with svn_fs__dag_set_entry, but 
	they are sufficiently different behaviors that I'm leaving it alone 
	for now.  
	* fs-test.c (merge_trees): Extend.  
	(attempt_merge): Fix sense of conflict information test.  

2001-03-10 16:13   Greg Stein <>

	* subversion/libsvn_fs/: dag.c (1.76), skel.c (1.25), txn-table.c

	Fix up some casting related to svn_fs__str_atom 
	* dag.c, txn-table.c (...): remove some casts from calls to
	* skel.c (svn_fs__str_atom): add a cast for the assignment to

2001-03-10 12:14   Greg Stein <>

	* subversion/libsvn_fs/: dag.c (1.75), dag.h (1.34), tree.c (1.40):

	Implement svn_fs_file_length() 
	* dag.h (svn_fs__dag_file_length): new declaration 
	* dag.c (svn_fs__dag_file_length): new function 
	* tree.c (svn_fs_file_length, txn_body_file_length): new functions 
	  (file_length_args): new structure for txn_body_file_length args 

2001-03-10 11:49   Greg Stein <>

	* subversion/: include/svn_fs.h (1.62), libsvn_fs/tree.c (1.39):

	* svn_fs.h (svn_fs_is_file, svn_fs_is_dir): these need to be able to
	    return an error (generally, related to database operation), and they
	    require a pool argument.  
	* tree.c (svn_fs_is_file, svn_fs_is_dir, txn_body_is_kind): new
	(is_kind_args): new struct for use with txn_body_is_kind 

2001-03-10 08:38   Ben Collins-Sussman <>

	* www/project_status.html (1.10):

	Weekly status update for March 10.  

2001-03-10 00:51   Karl Fogel <>

	* subversion/: include/svn_error.h (1.83), libsvn_fs/dag.c (1.74),
	libsvn_fs/dag.h (1.33), libsvn_fs/err.c (1.26), libsvn_fs/err.h
	(1.22), libsvn_fs/id.c (1.17), libsvn_fs/skel.c (1.24),
	libsvn_fs/skel.h (1.18), libsvn_fs/tree.c (1.38),
	libsvn_fs/txn-table.c (1.19), libsvn_fs/txn-table.h (1.11),
	tests/libsvn_fs/fs-test.c (1.43):

	Continuing work on svn_fs_merge: 
	* fs-test.c (merge_trees): Note in message that this test is still 
	* tree.c (reroot_txn_args, txn_body_reroot_txn): New helper funcs.  
	(svn_fs_merge): Filling out.  
	* dag.h, dag.c (svn_fs__dag_reroot_txn, svn_fs__dag_set_entry): New 
	* txn-table.h, txn-table.c (svn_fs__set_txn_roots): New func.  
	* err.h, err.c (svn_fs__err_txn_not_pristine): New func.  
	* svn_err.h (svn_errno_t): New error SVN_ERR_FS_TXN_NOT_PRISTINE.  
	* id.c (svn_fs_unparse_id): Removed old doc string from code; this
	is documented in svn_fs.h now.  
	* dag.c (replace_dir_entry): Copy the skel before modifying it.  
	* skel.h, skel.c (svn_fs__str_atom): Constify string argument.  

2001-03-09 21:21   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.37):

	(svn_fs_merge): Put error check in front.  

2001-03-09 21:13   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.36):

	(svn_fs_merge): Further condensation.  

2001-03-09 21:09   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.35):

	(svn_fs_merge): Reduce case tree to minimal form, start filling in 

2001-03-09 18:37   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.34):

	(svn_fs_merge): Update pseudocode to recurse correctly.  Or, as Noah 
	Friedman would have it, "to recur correctly".  

2001-03-09 18:24   Karl Fogel <>

	* subversion/include/svn_fs.h (1.61):

	(svn_fs_merge): Undo previous doc change, it was just an obsolete
	note to myself.  

2001-03-09 18:19   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.60), libsvn_fs/tree.c (1.33),
	tests/libsvn_fs/fs-test.c (1.42):

	* fs-test.c (merge_trees, attempt_merge): New functions.  
	(abort_txn): Removed obsolete comment.  
	(greek_tree_under_root): Refer the reader to greek-tree.txt now.  
	* tree.c (svn_fs_merge): Set *conflict_p to null and return success 
	for now.  Map out implementation in pseudocode.  
	* svn_fs.h (svn_fs_merge): Doc changes.  

2001-03-09 18:12   Karl Fogel <>

	* subversion/libsvn_fs/skel.c (1.23):

	(svn_fs__make_empty_list): Use apr_pcalloc, instead of apr_palloc,
	to get zeroed memory.  Previously, this function explicitly set
	certain fields to 0, but the `next' field was not among them.  This
	led to a run-time digestive disturbance, which could be reproduced
	by creating three greek trees in three different txns

2001-03-09 16:14   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.25), libsvn_client/commit.c

	Pave the way for RA commits.  
	* svn_client.h (svn_client_commit):  new docstring promises! 
	(ahem) forgot to put a docstring here originally.  
	* commit.c (svn_client_commit):  rewrite internal code paths.  

2001-03-09 15:03   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.74), libsvn_client/commit.c
	(1.19), libsvn_wc/adm_crawler.c (1.76), libsvn_wc/adm_ops.c (1.43),
	tests/libsvn_wc/commit-test.c (1.19):

	Clearing WC dust away.  <cough, cough> 
	* adm_ops.c (svn_wc_set_revision): implement.  
	* adm_crawler.c, svn_wc.h (svn_wc_crawl_local_mods):  return locks 
	  hash now.  Update documentation.  
	* svn_wc.h (svn_wc_close_commit_baton, svn_wc_set_revision): 
	  renamed from svn_wc_bump_baton and svn_wc_bump_target.  
	* commit.c (svn_client_commit):  call crawl_local_mods() correctly.  
	* commit-test.c, ra-commit.c (main):  call crawl_local_mods()

2001-03-09 12:06   Karl Fogel <>

	* subversion/include/svn_fs.h (1.59):

	(svn_fs_merge): Doc fix.  

2001-03-09 12:03   Karl Fogel <>

	* subversion/tests/greek-tree.txt (1.2, milestone-2):

	Rearrange so the whole tree is more likely to be visible on the
	screen when you bring it up the first time.  It's little touches
	like this that make a home.  

2001-03-09 11:57   Karl Fogel <>

	* subversion/tests/: (1.13), greek-tree.txt (1.1),
	xml/README (1.2, milestone-2), xml/co1.txt (1.6):

	Put the Greek Tree in its own file: 
	* greek-tree.txt: New file.  
	* xml/co1.txt: Removed.  
	All references changed.  

2001-03-09 11:53   Ben Collins-Sussman <>

	* (1.68), subversion/ (1.25),
	ac-helpers/svn-define-libs.m4 (1.2),
	subversion/include/svn_client.h (1.24), subversion/include/svn_ra.h
	(1.42), subversion/libsvn_client/ (1.13),
	subversion/libsvn_client/ra_loader.c (1.6),
	subversion/libsvn_ra/.cvsignore (1.1, milestone-2),
	subversion/libsvn_ra/ (1.1, milestone-2),
	subversion/libsvn_ra/ra_loader.c (1.1),
	subversion/libsvn_ra_dav/commit.c (1.35),
	subversion/tests/libsvn_ra_local/ (1.4),
	subversion/tests/libsvn_ra_local/ra-local-test.c (1.5):

	Create a new library "libsvn_ra", contains nothing but 2 public 
	routines for loading RA implementations.  
	*  create Makefile for libsvn_ra 
	* svn-define-libs.m4:  build RA variable.  
	* add libsvn_ra 
	* svn_client.h:  remove declarations of ra funcs 
	* svn_ra.h (svn_client_init_ra_libs, svn_client_get_ra_library): 
	  redeclare them here! 
	* commit.c (make_activity):  #if 0 the wc call.  We have WC props
	  for this now.  
	* libsvn_client/  remove ra_loader.c from the client
	* libsvn_client/ra_loader.c:  removed.  
	* libsvn_ra/ra_loader.c:  added over here.  We need `svn mv'! 
	* tests/libsvn_ra_local/  include ra libs, and the magic 
	  "client deps" variable.  
	* ra-local-test.c (get_ra_local_plugin):  use gstein's api.  
	  (test_funcs): #if, not #ifdef.  Shame on Franzlin. :) 

2001-03-09 09:43  Kevin Pilch-Bisson <>

	* TASKS (1.19, milestone-2):

	Just thought I would let everyone know that I am still here :), and
	what I would like to work on once the libsvn_client interface
	settles down a bit.  

2001-03-09 08:37   Ben Collins-Sussman <>

	* subversion/include/svn_wc.h (1.73):

	(struct svn_wc_bump_baton): hehe, fix typo.  

2001-03-09 08:35   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.72), libsvn_wc/adm_ops.c (1.42):

	Start to open brave, new code paths in WC, to prepare for docking
	with ra_local.  
	* adm_ops.c (svn_wc_bump_target):  start writing.  
	* svn_wc.h (svn_wc_bump_target, struct svn_wc_bump_baton): declare.  

2001-03-08 17:14   Karl Fogel <>

	* subversion/tests/libsvn_ra_local/ (1.3):

	Remove spurious 'n'.  

2001-03-08 17:10   Karl Fogel <>

	* subversion/tests/libsvn_ra_local/ra-local-test.c (1.4):

	(test_funcs): Comment out failing tests, so make check still works.  

2001-03-08 16:13   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/ra_plugin.c (1.12):

	* ra_plugin.c 
	 (cleanup_commit): fill out.  
	 (get_commit_editor):  initialize array_header_t correctly, duh.  

2001-03-08 15:55   Ben Collins-Sussman <>

	* subversion/tests/libsvn_ra_local/: (1.2),
	ra-local-test.c (1.3):

	Total rewrite of tests/libsvn_ra_local/ area.  It's now using the
	real C test harness.  :) 

2001-03-08 13:37   Ben Collins-Sussman <>

	* subversion/libsvn_ra_dav/: commit.c (1.34), ra_dav.h (1.11):

	Oops, make ra_dav stuff compile again after that last change.  
	GregH, sorry!  The base_path arg is in there now, but being mostly 
	* ra_dav.h (svn_ra_dav__get_commit_editor) take base_path argument.  
	* commit.c (svn_ra_dav__get_commit_editor) take base_path argument.  
	* ra-commit.c (main):  change call appropriately.  

2001-03-08 12:00   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.41), libsvn_ra_local/ra_plugin.c

	* svn_ra.h (get_commit_editor): take base_path argument, for the
	  same reason that svn_fs_get_editor now does.  Namely, the client
	  already knows the "grandaddy" dir where it will call replace root. 
	  It's silly to force the editor-driver to always begin changes at the
	  very top of a revision tree.  
	* ra_local.c (open, close, get_latest_revnum, get_commit_editor):
	  use SVN_ERR macro for readability.  Uncomment some things.  
	  (get_commit_editor): take base_path argument.  

2001-03-08 11:04   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.40), libsvn_ra_local/ra_plugin.c

	When an RA session baton is closed, the session baton itself should 
	*not* be freed... only the data within the baton should be.  
	* svn_ra.h (close):  change docstring promise.  
	* ra_plugin.c (open):  allocate the session baton in pool, not
	(close):  fix docstring.  

2001-03-08 10:21   Ben Collins-Sussman <>

	* subversion/libsvn_fs/editor.c (1.24):

	Make the fs commit-editor use memory more efficiently. 
	Specifically, after the driver calls close_file, free any memory
	used for writing file contents.  
	(struct file_baton):  add a subpool field.  
	(add_file, replace_file):  initialize file baton's subpool.  
	(apply_textdelta):  use file baton's subpool for streamy writes.  
	(close_file):  free the file baton's subpool.  

2001-03-07 20:03   Brian Fitzpatrick <>

	* www/project_members.html (1.12):


2001-03-07 19:48   Brian Fitzpatrick <>

	* www/project_members.html (1.11):

	Mine tastes like burning.  

2001-03-07 16:36   Ben Collins-Sussman <>

	* subversion/libsvn_fs/editor.c (1.23):

	Finish rewrite of filesystem commit-editor using svn_fs.h interface.  
	This editor is now *much* simpler than it used to be. :) 
	(add_directory, add_file):  total rewrite; use svn_fs_copy if
	(replace_directory, replace_file):  nothing but baton construction
	(close_directory, close_file):  no-op routines! 
	(apply_textdelta, change_dir_prop, change_file_prop):  these are now 
	  mindless wrappers around fs routines.  
	(replace_root, close_edit):  these routines do the only lofty

2001-03-07 14:32  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.41):

	* tests/libsvn_fs/test.c 
	  (revision_props): Reworked this function to use apr_hash_get instead 
	  of looping through the hash values (instead of `for each j of each 
	  i', do `for each i of each j').  Probably boils down to just being 
	  easier to read.  Also, I don't think it needed a txn anymore, so I 
	  ganked it.  
	  (node_props): New function, with thanks to Yoshiki for the concept, 
	  but reworked in the same fashion as revision_props (see above).  
	  Also, changed the property names and values to something different 
	  than those used in the revision property test.  

2001-03-07 13:20  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.40):

	* tests/libsvn_fs/test.c 
	  (revision_props): Reworked this function to use apr_hash_get instead 
	  of looping through the hash values (instead of `for each j of each 
	  i', do `for each i of each j').  Probably boils down to just being 
	  easier to read.  

2001-03-07 11:06  C. Michael Pilato <>

	* subversion/libsvn_wc/lock.c (1.22):

	* libsvn_wc/lock.c 
	  (svn_wc__lock): Bug fix.  Sleeping for 1 second now, instead of 1000 
	  microseconds (0.001 seconds).  As of June 7, 2000, apr_sleep now 
	  takes an apr_interval_time_t instead of an apr_time_t.  

2001-03-07 10:41   Ben Collins-Sussman <>

	* subversion/include/svn_fs.h (1.58):

	(svn_fs_get_editor):  clarify comment.  

2001-03-07 10:40  C. Michael Pilato <>

	* subversion/libsvn_fs/tree.c (1.32):

	* libsvn_fs/tree.c 
	  (txn_body_node_prop): Small patch by Yoshiki, showing off his new 
	  function. :-) 

2001-03-06 23:56   Karl Fogel <>

	* subversion/libsvn_fs/txn.c (1.32):

	(svn_fs_commit_txn): A small novella about how to do commits.  

2001-03-06 19:05   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.39):

	(abort_txn): Doc fixes and tweaks.  

2001-03-06 18:58   Karl Fogel <>

	* subversion/: include/svn_error.h (1.82), include/svn_fs.h (1.57),
	libsvn_fs/dag.c (1.73), libsvn_fs/dag.h (1.32),
	libsvn_fs/node-rev.c (1.9), libsvn_fs/node-rev.h (1.8),
	libsvn_fs/nodes-table.c (1.16), libsvn_fs/nodes-table.h (1.8),
	libsvn_fs/txn-table.h (1.10), libsvn_fs/txn.c (1.31),
	tests/libsvn_fs/fs-test.c (1.38):

	Finished svn_fs_abort_txn and friends: 
	* fs-test.c (abort_txn): Completed.  
	* txn.c (delete_from_id): New func.  
	(svn_fs_abort_txn, txn_body_abort_txn, abort_txn_args): Filled in.  
	* nodes-table.h, nodes-table.c (svn_fs__delete_nodes_entry): New
	name for what was svn_fs__delete_node_revision.  
	* node-rev.h, node-rev.c (svn_fs__delete_node_revision): New wrapper 
	for above, also taking the old name of above.  Don't be confused.  
	* dag.h (svn_fs__dag_get_node): Doc fix.  
	* dag.c (svn_fs__dag_get_node): Indentation fix.  
	* svn_error.h (svn_errno_t): Doc fix for SVN_ERR_FS_NOT_MUTABLE.  
	* svn_fs.h (svn_fs_open_txn): Promise that the error returned is 
	* txn-table.h (svn_fs__get_txn): Same.  

2001-03-06 18:19   Ben Collins-Sussman <>

	* subversion/libsvn_fs/editor.c (1.22):

	Oops, missed part of the previous commit.  

2001-03-06 18:17   Ben Collins-Sussman <>

	* subversion/: include/svn_fs.h (1.56), include/svn_types.h (1.58),
	libsvn_fs/editor.c (1.21):

	Begin rewrite of filesystem commit-editor, using svn_fs.h interface 
	instead of the dag.h layer.  Woohoo! 
	* svn_fs.h (svn_fs_get_editor):  new base_path argument, change 
	  docstring promises accordingly.  
	* editor.c (svn_fs_get_editor):  accept new base_path argument 
	  (struct edit_baton):  reorder args by hierarchy for readability.  
	                        add base_path arg.  
	  (struct dir_baton):  remove dag_node_t, add absolute path,
	  simplify.  (struct file_baton): remove dag_node_t, add absolute
	path, simplify.  
	  (txn_body_clone_root, txn_body_delete, delete_args, 
	  txn_body_add_directory, txn_body_replace_directory, add_repl_args, 
	  txn_body_get_base_contents, txn_body_handle_window, 
	  handle_txdelta_args, txn_body_add_file, txn_body_replace_file, 
	  change_prop_args, txn_body_change_prop): 
	       remove all these things. We don't "do" db txns at this level.  
	  (replace_root):  greatly simplify.  
	  (close_edit): call svn_fs_abort_txn() if commit_txn 
	  fails.  call svn_fs_change_rev_prop to set log message.  (see code 
	  comments on both of these changes.) 
	* svn_types.h (SVN_PROP_REVISION_LOG):  our very first reserved prop
	name. :) 

2001-03-06 15:03   Karl Fogel <>

	* subversion/: libsvn_fs/txn.c (1.30), tests/libsvn_fs/fs-test.c

	Test case for svn_fs_abort_txn: 
	* fs-test.c (abort_txn): New test.  Mostly done, but parts commented 
	out until svn_fs_abort_txn works.  
	(greek_tree_under_root): It's "A/B/F", not "A/B/E/F".  
	* txn.c (svn_fs_abort_txn): New empty function, to link against.  
	(abort_txn_args, txn_body_abort_txn): New struct and function.  

2001-03-06 11:48   Greg Hudson <>

	* subversion/include/svn_io.h (1.30):

	Clarify stream interface comment.  

2001-03-06 11:16  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.36):

	Patches by Yoshiki Hayashi, applied and tweaked by cmpilato.  
	* tests/libsvn_fs/fs-test.c 
	  (revision_props): Removed unnecessary txn argument.  
	  (node_props): New test case for node properties.  
	  (check_greek_tree_under_root):  New helper function for 
	  commit_transaction.  Mike Pilato drastically re-formulated this 
	  function, so if it sucks, blame him.  
	  (commit_transaction): New test for svn_fs_commit.  Not active at 
	  this time (awaiting patch approval on commit_txn stuff).  
	  (fetch_youngest_rev): Expanded scope of this test.  Not active at
	  this time (awaiting patch approval on commit_txn stuff).  
	  (test_funcs): Added (inactive) commit_transaction test, and moved 
	  (the temporarily inactive) fetch_youngest_rev test to follow 
	  commit_transaction, since there is a code dependency on committed 
	  transactions now.  

2001-03-06 10:56  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c (1.72), tree.c (1.31):

	* libsvn_fs/dag.c 
	  (svn_fs__dag_get_proplist, svn_fs__dag_set_proplist): Bug fixes by 
	  Yoshiki Hayashi.  
	* libsvn_fs/tree.c 
	  (struct proplist_args, txn_body_node_proplist, 
	  svn_fs_node_proplist): Implemented this function, helper, and 
	  friends.  A poem by Yoshiki Hayashi.  
	  (txn_body_change_node_prop): Implemented promise that property will 
	  be removed when value is NULL.  More YH poetry.  

2001-03-05 22:43   Karl Fogel <>

	* subversion/libsvn_fs/err.h (1.21):

	(svn_fs__err_dangling_id): Doc fix.  

2001-03-05 22:34   Karl Fogel <>

	* subversion/: include/svn_error.h (1.81), libsvn_fs/err.c (1.25),
	libsvn_fs/nodes-table.h (1.7), tests/libsvn_fs/fs-test.c (1.35):

	Check that deleting mutable nodes actually removes them from the 
	filesystem entirely.  Also, this code should come in handy later
	when we're testing svn_fs_abort_txn.  
	* fs-test.c #include nodes-table.h; and #include trail.h, not
	(check_entry): Document.  
	(check_id, check_id_present, check_id_absent): New helper functions.  
	(check_id_args, txn_body_check_id): New helper struct and function, 
	(delete_mutables): Use check_id_* to ensure the node revisions
	really vanished.  
	* svn_fs.h (SVN_ERR_FS_ID_NOT_FOUND): New error.  
	* err.c (svn_fs__err_dangling_id): Return the new error.  
	* nodes-table.h (svn_fs__get_rep): Document the circumstances under 
	which SVN_ERR_FS_ID_NOT_FOUND is returned.  

2001-03-05 21:18   Karl Fogel <>

	* subversion/libsvn_fs/tree.h (1.5):

	A guide to the perplexed.  

2001-03-05 21:11   Karl Fogel <>

	* subversion/: libsvn_fs/dag.c (1.71), libsvn_fs/nodes-table.c
	(1.15), libsvn_fs/nodes-table.h (1.6), tests/libsvn_fs/fs-test.c

	* dag.c (svn_fs__dag_delete): Completed.  A large portion of this 
	change came from Yoshiki Hayashi <>.  
	* nodes-table.c, nodes-table.h (svn_fs__delete_node_revision): New 
	function, contributed by Yoshiki Hayashi <>.  
	* fs-test.c (delete_mutables): Completed.  
	(check_entry_absent, check_entry_present): New helpers for above.  
	(check_entry): New helper for above new helpers.  
	Unrelated changes: 
	* fs-test.c (greek_tree_under_root): Create "A/C", not "A/B/C".  Can 
	you say "Cut and paste?"  Because I can say "Subpoena"...  Also,
	don't take subpool arg.  All callers changed.  
	(verify_entry): Doc fix.  

2001-03-05 18:30   Karl Fogel <>

	* HACKING (1.26), subversion/tests/README (1.6, milestone-2),
	subversion/tests/TEST-FRAMEWORK (1.6):

	* HACKING: New section "Writing test cases before code".  Moved the 
	sections "Writing log entries" and "Generating changelogs" to come 
	after all discussion of coding style.  
	* subversion/tests/TEST-FRAMEWORK: Removed, all material moved to 
	* subversion/tests/README: Incorporate material from above.  

2001-03-05 18:11   Jim Blandy <>

	* subversion/libsvn_fs/rev-table.c (1.9):

	* include/svn_fs.h (svn_fs_free_file_contents): Function deleted.  
	svn_fs_file_contents no longer returns a baton; instead, it returns
	an svn_stream_t, which should be freed using svn_stream_close.  

2001-03-05 12:31  C. Michael Pilato <>

	* subversion/libsvn_fs/nodes-table.c (1.14):

	* libsvn_fs/nodes-table.c 
	  (svn_fs__new_successor_id): Bug fix.  Make sure we're doing our 
	  database lookup using an up-to-date key based on the new ID we
	  just assembled.  

2001-03-05 12:26   Greg Hudson <>

	* notes/delta.dtd (1.1, milestone-2):

	DTD for tree deltas.  Written by Branko back in September 2000.  I 
	think it's still correct.  

2001-03-05 11:07   Jim Blandy <>

	* subversion/: libsvn_fs/skel.c (1.22), libsvn_fs/skel.h (1.17),
	tests/libsvn_fs/skel-test.c (1.16):

	Don't bother to indent the skels.  Skels will usually be small and 
	simple, and the indentation is impossible to read anyway in output 
	from db_dump, which hexifies the newline characters.  
	* libsvn_fs/skel.c (estimate_unparsed_size, unparse): Remove `depth' 
	arguments; callers fixed.  Don't emit or reserve space for
	* libsvn_fs/skel.h: Doc fix.  
	* tests/libsvn_fs/skel-test.c (unparse_implicit_length): Don't
	expect a space after the atom; the interface doesn't promise it.  

2001-03-05 05:01   Daniel Stenberg <>

	* tools/cvs2svn/ (1.3, milestone-2):

	Now digs out the repository info from CVS/Root if -d wasn't
	specified. Very minor change.  PR: Obtained from: Submitted by: 
	Reviewed by: 

2001-03-03 15:10   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.55), libsvn_fs/dag.c (1.70),
	tests/libsvn_fs/fs-test.c (1.33):

	Working on svn_fs__dag_delete and dependencies: 
	* fs-test.c (greek_tree_under_root): New helper for various fs
	tests.  Fix the greek tree it creates to match the one in
	(create_greek_tree_transaction): Use above.  
	(delete_mutables): New test, also uses above.  This test is 
	incomplete, and the bulk of it is #if'd out.  
	* svn_fs.h (svn_fs_delete): Doc fix -- promise specific errors, so
	we can test for them.  
	* dag.c (svn_fs__dag_delete): Dup node revision skel before
	modifying.  Use `for' loop with compacted initialization.  
	NOTE: These changes are incomplete.  svn_fs__dag_delete is not yet 
	known to work correctly.  I'm just committing up because I have to
	run unexpectedly right now.  

2001-03-03 12:24   Karl Fogel <>

	* subversion/tests/xml/co1.txt (1.5):

	Better formatting.  

2001-03-03 12:23   Karl Fogel <>

	* subversion/tests/xml/co1.txt (1.4):

	Get rid of hated whitespace.  

2001-03-03 12:22   Karl Fogel <>

	* subversion/tests/xml/co1.txt (1.3):

	Add alternate (more compact) listing of the Greek Tree.  

2001-03-03 11:27   Greg Stein <>

	* subversion/: libsvn_fs/editor.c (1.20), tests/libsvn_fs/fs-test.c

	update some callers. svn_fs_txn_name now returns a const char * for
	the transaction name.  

2001-03-03 11:25   Greg Stein <>

	* subversion/: include/svn_fs.h (1.54), libsvn_fs/txn.c (1.29):

	* svn_fs.h (svn_fs_txn_name): name_p parameter should be "const" 
	* txn.c (svn_fs_txn_name): name_p parameter is now "const" 

2001-03-03 09:34   Greg Stein <>

	* TASKS (1.18):

	hurpty durpty durpty.  

2001-03-03 09:19   Greg Stein <>

	* subversion/tests/libsvn_fs/fs-test.c (1.31):

	[ sorry, I just can't resist. aprpool is "different" and the
	  hobgoblin is strong in my brain today. ] 
	Just toss the pool argument and use the global variable.  
	(stream_to_string, set_file_contents): Lose the "aprpool" parameter.
	  All callers changed. Use the "pool" global.  

2001-03-03 09:09   Brian Fitzpatrick <>

	* subversion/tests/libsvn_fs/.cvsignore (1.5, milestone-2):

	Mmmmm... donuts...  

2001-03-03 08:59   Ben Collins-Sussman <>

	* subversion/tests/libsvn_fs/fs-test.c (1.30):

	(test_funcs):  Duh... why were we running verify_txn_list twice? 

2001-03-03 04:18  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.29):

	* tests/libsvn_fs/fs-test.c 
	  (stream_to_string, set_file_contents): Renamed POOL argument to 
	  APRPOOL to eliminate warnings from GCC about name clashes.  
	  (revision_props): New test function for revision properties.  
	  (test_funcs): Added revision_props test to the queue.  

2001-03-03 04:18  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c (1.69), rev-table.c (1.8),
	rev-table.h (1.5), skel.c (1.21), skel.h (1.16):

	The following patch was submitted by Yoshiki Hayashi, with some 
	comments supplied by cmpilato, mostly for his own understanding
	while reviewing the patch.  
	* libsvn_fs/skel.h 
	* libsvn_fs/skel.c 
	  (svn_fs__atom_matches_string): New function and prototype.  
	* libsvn_fs/rev-table.c 
	* libsvn_fs/rev-table.h 
	* libsvn_fs/dag.c 
	  (svn_fs__get_rev, svn_fs__put_rev): Instead of a txn and a pool, 
	  these functions now take a trail, and use the trail's txn and pool 
	  members.  All callers are changed.  
	* libsvn_fs/rev-table.c 
	  (txn_body_revision_prop, svn_fs_revision_prop): New functions for 
	  getting a named property from a given FS revision.  
	  (txn_body_revision_proplist, svn_fs_revision_proplist): New 
	  functions for getting a list of properties from a given FS
	  (txn_body_change_rev_prop, svn_fs_change_rev_prop): New function for 
	  adding, removing, or changing the value of a property in a given
	  FS revision.  

2001-03-02 20:07   Greg Stein <>

	* subversion/tests/libsvn_fs/fs-test.c (1.28):

	this may be just a test program, but cutesy variable name wonkiness
	is simply going to cause headaches.  

2001-03-02 18:53   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.68):

	(svn_fs__dag_delete): Note where to pick up tomorrow.  

2001-03-02 17:38   Karl Fogel <>

	* (1.67), ac-helpers/berkeley-db.m4 (1.6):

	(SVN_LIB_BERKELEY_DB): Look for the new (3.2.x) version of Berkeley
	DB now.  

2001-03-02 17:19   Ben Collins-Sussman <>

	* www/project_status.html (1.9):

	update weekly status page.  

2001-03-02 17:07   Jim Blandy <>

	* subversion/: include/svn_fs.h (1.53), libsvn_fs/fs.c (1.38),
	tests/libsvn_fs/fs-test.c (1.27):

	Be more aggressive about collecting whatever error and warning 
	messages the filesystem can provide.  
	* libsvn_fs/fs.c (svn_fs_set_berkeley_errcall): New function.  
	* include/svn_fs.h (svn_fs_set_berkeley_errcall): New declaration.  
	* tests/libsvn_fs/fs-test.c (berkeley_error_handler): New function.  
	(fs_new): New function.  
	(create_fs_and_repos, open_berkeley_filesystem): Use fs_new, and 
	register a function to print Berkeley DB error messages.  
	* libsvn_fs/fs.c (svn_fs_delete_berkeley, check_apr): New functions.  
	* include/svn_fs.h (svn_fs_delete_berkeley): New declaration.  
	* tests/libsvn_fs/fs-test.c (create_fs_and_repos): If there's an old 
	repository where we're trying to create a new one, delete the old
	one first.  

2001-03-02 16:51   Karl Fogel <>

	* subversion/: libsvn_fs/dag.c (1.67), tests/libsvn_fs/fs-test.c

	(svn_fs__dag_dir_entries): Fill in, with contribution from Yoshiki 
	Hayashi <>.  
	* fs-test.c (list_directory, verify_entry): New test and helper, 
	respectively.  Passes.  

2001-03-02 16:49   Jim Blandy <>

	* subversion/libsvn_fs/trail.h (1.7):

	Doc fix.  

2001-03-02 16:36   Jim Blandy <>

	* subversion/libsvn_fs/rev-table.c (1.7):

	* libsvn_fs/rev-table.c (txn_body_youngest_rev): Don't forget to
	close the cursor.  

2001-03-02 16:34   Ben Collins-Sussman <>

	* subversion/tests/libsvn_fs/fs-test.c (1.25):

	(create_greek_tree_transaction):  add CONTENT to our tree of files! 

2001-03-02 16:25   Jim Blandy <>

	* subversion/libsvn_fs/nodes-table.c (1.13):

	NOTE!!!  With this change, the Subversion filesystem now requires 
	Berkeley DB 3.2.9.  
	* libsvn_fs/nodes-table.c (compare_nodes_keys): Add `DB *' argument, 
	to match the prototype expected by Berkeley DB 3.2.9.  GCC flags
	this mismatch as a warning, not an error, which seems silly.  

2001-03-02 16:22   Ben Collins-Sussman <>

	* subversion/tests/libsvn_fs/fs-test.c (1.24):

	(set_file_contents):  helper func.  
	(write_and_read_file):  use above helper now.  

2001-03-02 16:17   Jim Blandy <>

	* subversion/: include/svn_error.h (1.80), libsvn_subr/svn_error.c

	* libsvn_subr/svn_error.c (svn_handle_warning): Make the `fmt'
	argument const, for compatibility with svn_fs_warning_callback_t in
	* include/svn_error.h (svn_handle_warning): Update declaration.  

2001-03-02 16:05   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/tree.c (1.30), tests/libsvn_fs/fs-test.c

	We can read and write data to a repository file!!!  Woohoo!! 
	Two bugfixes: 
	* tree.c (svn_fs_apply_textdelta):  duh, initialize the
	* fs-test.c (test_funcs):  fix ordering.  

2001-03-02 15:47  C. Michael Pilato <>

	* subversion/tests/: libsvn_fs/ (1.4, milestone-2),
	libsvn_wc/ (1.18), libsvn_wc/ (1.12,

	Patches submitted by Yoshiki Hayashi 
	* tests/libsvn_fs/ 
	  Change output format to match other make check target.  Always 
	  return 0 since other targets do so.  
	* tests/libsvn_wc/ 
	  (check): Home made check target to avoid using automake's one.  
	* tests/libsvn_wc/ 
	  Output what has happened.  cmpilato tweaked this patch to print 
	  'SUCCESS' instead of 'DONE' for consistency with other tests.  

2001-03-02 15:47   Ben Collins-Sussman <>

	* subversion/tests/libsvn_fs/fs-test.c (1.22):

	Let's see if this read/write test works. :) 
	(stream_to_string):  new helper func.  
	(read_and_write_file):  simplify with above and *uncomment* this
	test. :) 
	(test_funcs):  add this new test.  

2001-03-02 15:22   Ben Collins-Sussman <>

	* subversion/libsvn_fs/tree.c (1.29):

	Implement the ability to read data from a repos file: 
	(svn_fs_file_contents):        implement 
	(txn_body_get_file_contents):  new machinery for above.  
	(file_contents_baton_t):       new machinery for above.  
	Also, stop calling open_path in svn_fs_apply_textdelta: 
	(txn_body_get_source_stream):  call get_dag instead of open_path.  
	(txdelta_baton_t):  lose parent_path, gain a dag_node_t instead.  

2001-03-02 15:18  C. Michael Pilato <>

	* subversion/libsvn_fs/tree.c (1.28):

	* libsvn_fs/tree.c 
	  (get_dag): Wrapper function around open_path for those who care only 
	  about the dag_node_t of the found node (the implication here being 
	  that the node must have been found).  
	  (node_id_args, txn_body_node_id, svn_fs_node_id): New stuff, 
	  complements of Yoshiki.  Minor tweak to his patch, whereby we make
	  a call to our new open_path() wrapper function, get_dag().  

2001-03-02 14:32  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c (1.66), dag.h (1.31):

	* libsvn_fs/dag.h 
	* libsvn_fs/dag.c 
	  (svn_fs__dag_get_node): Renamed from create_node, and exposed to 
	  other FS module components outside of dag.c.  

2001-03-02 13:26   Ben Collins-Sussman <>

	* subversion/: include/svn_delta.h (1.145),
	libsvn_delta/text_delta.c (1.29):

	Convenience routine to push an svn_string_t at txdelta window
	* svn_delta.h (svn_txdelta_send_string):  return an svn_error_t.  
	* text_delta.c (svn_txdelta_send_string): implement.  

2001-03-02 11:56   Ben Collins-Sussman <>

	* subversion/libsvn_fs/tree.c (1.27):

	Implement svn_fs_apply_textdelta().  We're almost ready to put data
	in repository files.  :) 
	(svn_fs_apply_textdelta):         implement.  
	(write_to_string):                necessary machinery.  
	(txn_body_get_source_stream):     necessary machinery.  
	(txn_body_write_target_string):   necessary machinery.  
	(window_consumer):                necessary machinery.  (struct
	txdelta_baton_t):         baton used by all machinery.  

2001-03-02 11:38  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.65):

	* libsvn_fs/dag.c 
	  (find_dir_entry): Take a NODE-REVISION skel_t instead of a 
	  dag_node_t in which to find the desired entry.  All callers
	  (replace_dir_entry): New helper function.  
	  (svn_fs__dag_clone_child): Made this function no longer suck.  

2001-03-02 10:56   Ben Collins-Sussman <>

	* subversion/include/svn_fs.h (1.52):

	(svn_fs_apply_textdelta):  augment docstring.  

2001-03-01 18:28  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.21):

	* tests/libsvn_fs/fs-test.c 
	  (create_mini_tree_transaction): Updated comment.  
	  (create_greek_tree_transaction): New function.  Builds a tree in the 
	  filesystem database to mimic the one used in the svn client XML 
	  tests (you know the one, with all the Greek letter-named files and 

2001-03-01 18:14  C. Michael Pilato <>

	* subversion/libsvn_fs/tree.c (1.26):

	* libsvn_fs/tree.c 
	  (make_dir_args, txn_body_make_dir): New stuff for making directories 
	  in the filesystem.  
	  (svn_fs_make_dir): Changed to use new stuff (above) for making 
	  directories in filesystem.  

2001-03-01 18:11  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.20):

	* tests/libsvn_fs/fs-test.c 
	  (create_mini_tree_transaction): New function (adds a file, then a 
	  subdir, then a file *in* that subdir, to the DB).  
	  (test_funcs): Added new test func (see above).  

2001-03-01 18:03  C. Michael Pilato <>

	* subversion/libsvn_fs/txn-table.c (1.18):

	* libsvn_fs/txn-table.c 
	  (put_txn): kfogel sez: "Prepending means doing things in reverse 
	  order".  Doh! 

2001-03-01 17:45   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.64):

	(svn_fs__dag_clone_root): Only put the new txn root when necessary.  
	Double doh.  

2001-03-01 17:42   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.63):

	#include "svn_error.h".  I think this was being included by 
	implication anyway, but it's cleaner to make it explicit.  
	(svn_fs__dag_clone_root): Set the txn's new root when done.  Doh.  

2001-03-01 12:26   Ben Collins-Sussman <>

	* subversion/libsvn_fs/tree.c (1.25):

	Saving work:  beginning implementation of fs's txdelta consumption.  
	(svn_fs_apply_text_delta):  skeletal machinery... needs meat.  
	(window_consumer):  same.  
	(consumer_baton_t): same.  

2001-03-01 12:19   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.167):

	(close_file, close_directory): Use %ld, not %d, to avoid warnings 
	about int versus svn_revnum_t.  

2001-03-01 12:16   Karl Fogel <>

	* subversion/libsvn_wc/entries.c (1.88):

	(svn_wc__entries_init): Use %d, not %ld, to avoid silly warning.  

2001-03-01 11:53   Ben Collins-Sussman <>

	* subversion/: include/svn_delta.h (1.144),
	tests/libsvn_fs/fs-test.c (1.19):

	Revise file read/write test case.  
	* svn_delta.h (svn_txdelta_from_string):  remove declaration. never
	(svn_txdelta_send_string):  a better interface instead.  
	* fs-test.c (write_and_read_file): use new interface above.  

2001-03-01 01:59   Brian Fitzpatrick <>

	* PORTING (1.3):

	'Nevermore' quoth the raven.  

2001-03-01 01:56   Brian Fitzpatrick <>

	* www/: blupixel.gif (1.2), redpixel.gif (1.2): 

2001-03-01 01:55   Brian Fitzpatrick <>

	* www/project_status.html (1.8):

	I like *my* bikeshed more of an ecru.  

2001-03-01 01:15   Brian Fitzpatrick <>

	* subversion/tests/libsvn_fs/ (1.3):

	Applied patch from Yoshiki Hayashi 

2001-03-01 00:22   Brian Fitzpatrick <>

	* PORTING (1.2):

	Looks like a duck, quacks like a Duracell? Must be a pimple.  

2001-02-28 18:06   Ben Collins-Sussman <>

	* subversion/tests/libsvn_fs/fs-test.c (1.18):

	(write_and_read_file):  new test.  (feedback?  does this look

2001-02-28 17:22   Jim Blandy <>

	* subversion/libsvn_fs/: dag.c (1.62), nodes-table.c (1.12):

	* libsvn_fs/structure: Clarify definition of `mutable' flag.  
	* libsvn_fs/dag.c (set_mutable_flag): Use an empty atom as the
	parent node revision ID of a mutable root directory.  
	* libsvn_fs/nodes-table.c (is_valid_flag): Revert previous change
	--- all valid mutable flags are two-element lists.  

2001-02-28 17:06   Ben Collins-Sussman <>

	* subversion/include/svn_delta.h (1.143):

	(svn_txdelta_from_string):  add details about this func's promise.  

2001-02-28 17:00   Ben Collins-Sussman <>

	* subversion/include/svn_delta.h (1.142):

	(svn_txdelta_from_string):  new prototype.  (to be written) 

2001-02-28 16:07   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.35):

	Tweak Karl's tweak of the syntax of the "mutable" flag.  

2001-02-28 15:37  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.61):

	* libsvn_fs/dag.c 
	  (make_entry): Little edits to comments.  
	  (svn_fs__dag_make_copy): Implement this function.  Still has some 
	  todo stuff in it that requires buggin' Jim (or others) for
	  guidance, but as far as I know, the COPY node stuff is all kinda
	  up-in-the-air from a design (and perhaps, necessity) perspective,

2001-02-28 15:36  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.17):

	* tests/libsvn_fs/fs-test.c 
	  (test_funcs): Little compiler warning fix.  The functions now return 
	  svn_error_t *, not int.  Confidence level: 65% 

2001-02-28 15:31   Greg Stein <>

	* subversion/libsvn_fs/validate.c (1.5):

	Dang... the Premature Optimization Gremlins wouldn't leave me
	* (svn_fs__is_single_path_component): we don't need strlen(), and
	  strchr() is *way* faster than a while loop.  

2001-02-28 15:25   Jim Blandy <>

	* subversion/: include/svn_error.h (1.79), tests/TEST-FRAMEWORK
	(1.5), tests/svn_tests_main.c (1.17), tests/libsvn_fs/skel-test.c
	(1.15), tests/libsvn_subr/hashdump-test.c (1.18),
	tests/libsvn_subr/stringtest.c (1.6):

	Change the common test framework to indicate failure by returning a 
	Subversion error.  This means that: 
	- we can use SVN_ERR in the usual way to report a failure whenever a 
	  library call fails, 
	- use svn_handle_error to print out the messages, 
	- set a breakpoint on svn_error_create to stop the process before we 
	  lose the context in which the failure was detected.  
	* tests/TEST-FRAMEWORK: Update documentation.  
	* tests/svn_tests_main.c (test_funcs): This is an array of functions 
	returning Subversion errors, not ints.  
	(do_test_num): Expect a Subversion error, not an int.  Tighten up
	some of the message formatting.  
	* tests/libsvn_fs/skel-test.c (fail): Take printf-style arguments,
	and return an svn_error_t.  All callers fixed.  
	(parse_implicit_length, try_explicit_length, parse_explicit_length, 
	parse_invalid_atoms, parse_list, unparse_implicit_length, 
	unparse_list): Return Subversion errors, not ints.  
	(test_funcs): Adjust to match declaration in `svn_tests_main.c'.  
	* tests/libsvn_subr/hashdump-test.c (check): New function.  
	(test1, test2, test3): Return Subversion errors, not ints.  
	(test_funcs): Adjust to match declaration in `svn_tests_main.c'.  
	* tests/libsvn_subr/stringtest.c (fail): New function.  
	(test1, test2, test3, test4, test5, test6, test7, test8, test9, 
	test10, test11, test12): Return Subversion errors, not ints.  
	(test_funcs): Adjust to match declaration in `svn_tests_main.c'.  
	* include/svn_error.h (SVN_ERR_TEST_FAILED): New error code.  

2001-02-28 15:10   Jim Blandy <>

	* subversion/libsvn_subr/svn_error.c (1.55):

	* libsvn_subr/svn_error.c (svn_handle_error): Don't print
	err->message unless it's non-zero.  In some cases (e.g., Subversion
	errors wrapping APR errors), we can get the message from the error
	code alone.  

2001-02-28 15:09   Jim Blandy <>

	* subversion/libsvn_subr/hashdump.c (1.22):

	* libsvn_subr/hashdump.c (svn_hash_write, read_length_line, 
	svn_hash_read): Since we return an apr_status_t, not an svn_error_t, 
	return APR_SUCCESS, not SVN_NO_ERROR.  

2001-02-28 14:44   Ben Collins-Sussman <>

	* subversion/tests/libsvn_fs/fs-test.c (1.16):

	Major rewrite of fs automated tests, to fix isolation issues.  
	Everything should be smaller and leaner now; each test creates its
	own repository.  Removed all tests of "implementation details";
	we're only testing straight API promises now.  
	Also: jimb has changed our testing system so that each automated
	test return an svn_error_t.  This allows us to use the SVN_ERR macro 
	everywhere, and get detailed errors in `make check`'s logfile. 
	(He's about to check this in.) 
	(fail):  no longer need this func;  see note above.  If you need an 
	equivalent breakpoint, break on svn_error_create() instead. :) 
	(repository):  deleted global name.  
	(check_filesystem_root_id):  internal implementation check; no
	longer needed, so we remove it.  
	(create_fs_and_repos):  new factorized helper func.  
	(create_berkeley_filesystem):   call helper func.  
	(open_berkeley_filesystem):  call helper func.  
	(fetch_youngest_rev):  broke this out into a new standalone test.  
	(trivial_transaction): call helper func.  
	(reopen_trivial_transaction): call helper func, and reopen *by name*
	(create_file_transaction): call helper func.  
	(verify_txn_list):  rename of (list_live_transactions);  better list

2001-02-28 14:16   Karl Fogel <>

	* subversion/include/svn_error.h (1.78):

	Revert previous change.  I was wrong: dag.c is complaining about 
	SVN_ERR_FS_NOT_SINGLE_PATH_COMPONENT, but that error is declared
	here, so dag.c must be smoking something else.  

2001-02-28 14:12   Karl Fogel <>

	* subversion/include/svn_error.h (1.77):

	(svn_errno_t): Add SVN_ERR_FS_NOT_SINGLE_PATH_COMPONENT.  It was
	already being used in dag.c, someone probably just forgot to add it

2001-02-28 14:09  C. Michael Pilato <>

	* subversion/libsvn_fs/validate.c (1.4):

	* libsvn_fs/validate.c 
	  (svn_fs__is_single_path_component): Oops!  Bug fix! 

2001-02-28 14:06   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.19):

	#if out whole file till rest of fs is done 

2001-02-28 13:47   Karl Fogel <>

	* subversion/tests/TEST-FRAMEWORK (1.4):

	New section "What not to test" (inspired by conversation with JimB).  

2001-02-28 13:27   Karl Fogel <>

	* www/project_status.html (1.7):

	Bump last-updated date.  

2001-02-28 13:25   Karl Fogel <>

	* www/project_status.html (1.6):

	Composer, pianist, and musical theorist, Easley Blackwood's career
	has been consistent only in its seeming contradictions and strong 
	individuality.  Blackwood is Professor Emeritus at the University of 
	Chicago, where he has taught since 1958.  He received his musical 
	training from such legendary figures as Olivier Messiaen, Paul 
	Hindemith (at Yale, where Blackwood earned his Bachelor's and
	Master's degrees in 1953 and 1954), and Nadia Boulanger, Blackwood's
	return to tonal composition since 1981 stems from his groundbreaking
	research into the properties of microtonal tunings and his
	decades-long study of traditional harmony.  

2001-02-28 13:23  C. Michael Pilato <>

	* subversion/: include/svn_error.h (1.76), libsvn_fs/dag.c (1.60),
	libsvn_fs/validate.c (1.3), libsvn_fs/validate.h (1.2):

	* include/svn_error.h 
	* libsvn_fs/dag.c 
	  (add_new_entry, find_dir_entry): Updated docstring.  
	  (svn_fs__dag_clone_child, svn_fs__dag_delete, make_entry, 
	  svn_fs__dag_link, svn_fs__dag_open, svn_fs__dag_make_copy): Making 
	  good on the promise that we'll only react if NAME is a valid
	  single path component.  
	* libsvn_fs/validate.c 
	  (svn_fs__is_single_path_component): New function.  
	* libsvn_fs/validate.h 
	  (svn_fs__is_single_path_component): New prototype.  

2001-02-28 13:19   Karl Fogel <>

	* www/project_status.html (1.5):

	Reorder sections, tweak a few wordings, fill in "Last Week's 
	Activities" section.  

2001-02-28 11:34  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.15):

	* tests/libsvn_fs/fs-test.c 
	  (common_test_prologue): New helper function for opening filesystem 
	  and init'ing an FS object.  
	  (open_berkeley_filesystem, trivial_transaction,
	  reopen_trivial_transaction, create_file_transaction,
	  list_live_transactions): Changed to use new helper 

2001-02-28 09:46   Jim Blandy <>

	* subversion/libsvn_fs/: dbt.c (1.17), nodes-table.c (1.11),
	rev-table.c (1.6), txn-table.c (1.17):

	* libsvn_fs/txn-table.c (allocate_txn_id): Add missing call to 
	Pair calls to svn_fs__track_dbt more closely with the corresponding 
	calls to svn_fs__result_dbt, to reduce the likelihood that people
	will make changes that leak storage.  
	* libsvn_fs/nodes-table.c (svn_fs__get_rep, svn_fs__new_node_id):
	Move call to svn_fs__track_dbt immediately after the Berkeley DB
	operation; it's fine to call svn_fs__track_dbt on a DBT with a null
	data pointer.  
	* libsvn_fs/rev-table.c (svn_fs__get_rev): Same.  
	* libsvn_fs/txn-table.c (svn_fs__get_txn): Same.  
	* libsvn_fs/dbt.c (svn_fs__recno_dbt): Move this out from between 
	svn_fs__result_dbt and svn_fs__track_dbt; those are meant to be used 

2001-02-28 09:36   Jim Blandy <>

	* subversion/libsvn_fs/dbt.h (1.17):

	* libsvn_fs/dbt.h: Formatting tweak.  Don't put svn_fs__recno_dbt 
	between svn_fs__result_dbt and svn_fs__track_dbt; the latter two are 
	supposed to be used as a pair.  

2001-02-28 09:26   Jim Blandy <>

	* subversion/libsvn_fs/nodes-table.c (1.10):

	Doc fixes.  

2001-02-28 01:53  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.59):

	* libsvn_fs/dag.c 
	  (add_new_entry): New helper function for connecting a parent node 
	  with a new entry.  This code was ganked from make_entry, and a 
	  bug-fix was made therein (I was previously tacking the new ENTRY 
	  skel into the wrong place in the parent's NODE-REVISION).  This
	  bug fix preserves the criteria for tonight's earlier beer
	  consumption -- without it, the beer would have been a premature
	  (make_entry): Added some error-checking, and modified to use new 
	  helper add_new_entry.  
	  (svn_fs__dag_link): Implemented this function (does error-checking, 
	  then calls new helper add_new_entry).  
	  (svn_fs__dag_rename): Added stub for this function.  
	  (svn_fs__dag_make_copy): Began work on this implementation.  Okay, 
	  so not much is done, yet.  Geez, everybody's a critic...  

2001-02-27 20:31   Ben Collins-Sussman <>

	* www/project_status.html (1.4):

	Increment fs status bar.  

2001-02-27 20:19   Ben Collins-Sussman <>

	* subversion/: libsvn_fs/dag.c (1.58), libsvn_fs/nodes-table.c
	(1.9), tests/libsvn_fs/fs-test.c (1.14):

	Bugfixes on the path to beer.  (Karl, why are we still here??) 
	* nodes-table.c (is_valid_flag): one-item lists are valid flags too, 
	   sometimes, e.g. (mutable). see the most recent commit to the BNF
	   in `structure'.  
	* dag.c (make_entry): dup the parent skel for safety.  Also fix the 
	  append() which was...... wrong.  But moving on.  
	* fs-test.c (create_file_transaction):  appropriate first file name.

2001-02-27 19:00   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.57):

	(set_mutable_flag): New function.  
	(svn_fs__dag_clone_root): Use above to make the new node mutable.  

2001-02-27 18:52   Karl Fogel <>

	* subversion/libsvn_fs/structure (1.34):

	(PARENT-ID): Allow the absent id, because root nodes have no parent.  

2001-02-27 17:51   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.56):

	(create_node): Don't take the node's content as an argument, deduce
	it from the other arguments instead.  Take a trail instead of a
	pool, since we need a trail for get_node_revision, and all callers
	have one handy anyway.  Sanity check arguments using assert()
	instead of the full run-time error system.  All callers changed.  
	(find_dir_entry): Promise that the returned entry is well-formed,
	and that it is allocated in either PARENT->pool or TRAIL->pool.  
	(make_entry): Do sanity checks before any real work.  
	(svn_fs__dag_open): More helpful error message.  
	(svn_fs__dag_revision_root, svn_fs__dag_txn_root, 
	svn_fs__dag_clone_child, svn_fs__dag_clone_root, svn_fs__dag_open): 
	(node_is_kind_p): Inspect header correctly.  (Ben found this bug.) 
	(cache_node_revision, uncache_node_revision, get_node_revision, 
	set_node_revision, has_mutable_flag): Move earlier in the file.  

2001-02-27 17:30   Jim Blandy <>

	* subversion/libsvn_fs/trail.h (1.6):

	Doc fixes --- give a general overview of how trails and 
	svn_fs__retry_txn are supposed to be used.  

2001-02-27 16:58   Ben Collins-Sussman <>

	* subversion/libsvn_fs/id.c (1.16):

	(svn_fs_parse_id):  bugfix:  make this func use malloc if no pool is 
	given, as described in its documentation.  

2001-02-27 16:38   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.55):

	(svn_fs__dag_dir_entries):  create stub so binaries can still link
	with fs 

2001-02-27 16:24  C. Michael Pilato <>

	* subversion/tests/libsvn_fs/fs-test.c (1.13):

	* tests/libsvn_fs/fs-test.c 
	  (create_file_transaction): New function--a test, in fact--that is 

2001-02-27 16:23   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.54):

	(svn_fs__dag_get_proplist):  simplify.  :) 

2001-02-27 16:15   Jim Blandy <>

	* subversion/libsvn_fs/tree.c (1.24):

	* libsvn_fs/tree.c (struct dir_entries_args, txn_body_dir_entries): 
	New type; new function.  
	(svn_fs_dir_entries): Fill in this definition.  

2001-02-27 16:03   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.30):

	Doc fix.  

2001-02-27 15:58   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.29):

	* libsvn_fs/dag.h (svn_fs__dag_get_proplist): Doc fix.  
	* libsvn_fs/dag.h (svn_fs__dag_dir_entries): New function.  

2001-02-27 15:50   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.53):

	(file_content_baton_t):  finish comment. :) 

2001-02-27 15:48   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.52):

	(svn_fs__dag_get_contents):  implement.  
	(read_file_contents):  local helper func for above.  
	(file_content_baton_t):  local helper struct for above.  

2001-02-27 15:02   Karl Fogel <>

	* STACK (1.79):

	Today I had a Biggie.  Usually I just have a small, and refill.  Why 
	pay more?  But today I needed a Biggie inside me.  Some days, I
	guess, are like that.  Only a biggie will do.  You wake up and you
	know: today I will get a Biggie and I will put it inside me and I
	will feel better.  One time I saw a guy with three Biggies at once. 
	One wonders not about him but about what it is that holds us back.  

2001-02-27 14:00   Brian Fitzpatrick <>

	* www/subversion-diagram.png (1.2, milestone-2):

	Trying this again.  

2001-02-27 13:29   Brian Fitzpatrick <>

	* www/: project_status.html (1.3), subversion-diagram.gif (1.2),
	subversion-diagram.png (1.1):

	Duh--use png. What am I smoking crack here? 

2001-02-27 12:55   Brian Fitzpatrick <>

	* www/: project_status.html (1.2), subversion-diagram.gif (1.1):

	Added pretty graphical diagram. Down with ascii art\! 

2001-02-27 11:48   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.28):

	* libsvn_fs/dag.h (svn_fs__dag_check_mutable): Doc fix.  
	* libsvn_fs/dag.h (svn_fs__dag_link): Doc fix.  
	(svn_fs__dag_rename): New function.  

2001-02-27 10:54  C. Michael Pilato <>

	* subversion/libsvn_fs/: TODO (1.18), dag.c (1.51), dag.h (1.27),
	tree.c (1.23):

	* libsvn_fs/TODO 
	  Um...some to-do was to-done today.  Perhaps some more todo will be 
	  to-done tomorrow.  
	* libsvn_fs/dag.h 
	  (svn_fs__dag_check_mutable): Renamed from svn_fs__dag_is_mutable, 
	  this function now takes a trail argument, and calls 
	  get_node_revision to ensure having an up-to-date NODE-REVISION
	  skel to pass into has_mutable_flag().  It returns an svn_error_t
	  (hence the name change from something that should return a boolean
	  value to something that should *populate* a boolean argument.  
	* libsvn_fs/dag.c 
	  (dag_node_kind_t): New enum for representing node kinds (file, dir, 
	  copy, etc.) 
	  (dag_node_t): Added 'kind' member for tracking node's permanent kind 
	  (file, dir, copy, etc.).  Also updated docstring regarding 
	  (node_is_kind_p): Takes NODE-REVISION skel now, node dag_node_t.  
	  (create_node): New constructor function for dag_node_t's 
	  (svn_fs__dag_is_file, svn_fs__dag_is_directory, 
	  svn_fs__dag_is_copy): Converted these into the trivial functions 
	  they now are thanks to the caching of the node 'kind' in the 
	  (has_mutable_flag): Updated docstring to warn about function's use 
	  (specifically, if you don't have a fresh NODE-REVISION in hand, 
	  don't use this helper function!! 
	  (get_node_revision, set_node_revision): Renamed from 
	  get_node_revision_cached and set_node_revision_cached,
	  (svn_fs__dag_check_mutable): Renamed from svn_fs__dag_is_mutable, 
	  this function now takes a trail argument, and calls 
	  get_node_revision to ensure having an up-to-date NODE-REVISION
	  skel to pass into has_mutable_flag().  It returns an svn_error_t
	  (hence the name change from something that should return a boolean
	  value to something that should *populate* a boolean argument.  
	  (find_dir_entry): Now takes a trail_t, and uses get_node_revision to 
	  retrieve a fresh NODE-REVISION before going to work.  Also,
	  returns an svn_error_t and populates a skel_t * (with an ENTRY
	  list) instead of returning the skel_t *.  Also, wrote an actual
	  docstring for this function.  
	  (svn_fs__dag_get_proplist, svn_fs__dag_set_proplist, 
	  svn_fs__dag_set_contents): Now uses get_node_revision to retrieve
	  a fresh NODE-REVISION before going to work.  
	  (svn_fs__dag_revision_root, svn_fs__dag_txn_root, 
	  svn_fs__dag_clone_root, svn_fs__dag_open, make_entry): Use the new 
	  fab create_node function! 
	  (svn_fs__dag_clone_child, svn_fs__dag_delete): TODO - Make this not
	* libsvn_fs/tree.c 
	  (make_path_mutable): Updated used of svn_fs__dag_is_mutable (now 

2001-02-27 10:54   Ben Collins-Sussman <>

	* www/project_nav.html (1.3):

	Add status page to sidebar.  

2001-02-27 10:38   Ben Collins-Sussman <>

	* www/: blupixel.gif (1.1), index.html (1.19), project_status.html
	(1.1), redpixel.gif (1.1):

	* project_status.html:  new status webpage.  
	* redpixel.gif, blupixel.gif:  new files.  
	* index.html:  add link to status page, fix events.  

2001-02-27 09:36   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.17):

	Categorize.  Maybe it would be more useful to prioritize this.  

2001-02-27 09:20   Jim Blandy <>

	* subversion/libsvn_fs/trail.c (1.7):

	* libsvn_fs/trail.c (begin_trail): The trail's pool must be a
	subpool of POOL, as described in the documentation for

2001-02-27 09:16   Jim Blandy <>

	* subversion/libsvn_fs/: txn-table.c (1.16), txn-table.h (1.9):

	* libsvn_fs/txn-table.c (svn_fs__delete_txn): New function.  
	* libsvn_fs/txn-table.h (svn_fs__delete_txn): New declaration.  
	(Thanks to Yoshiki Hayashi.) 

2001-02-27 08:46   Jim Blandy <>

	* subversion/tests/libsvn_fs/fs-test.c (1.12):

	* tests/libsvn_fs/fs-test.c (open_berkeley_filesystem): Follow
	interface change of svn_fs_youngest_rev.  (Thanks to Yoshiki

2001-02-27 08:45   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.50):

	* libsvn_fs/dag.c (find_dir_entry): Fix typo in entry list
	traversal.  (Thanks to Yoshiki Hayashi.) 

2001-02-26 22:41   Brian Fitzpatrick <>

	* subversion/libsvn_fs/dag.h (1.26):

	Compile time error pointed out by Yoshiki Hayashi 

2001-02-26 18:53   Brian Fitzpatrick <>

	* PORTING (1.1):

	Incorporated several reports from dev list to create this doc for
	tracking builds.  

2001-02-26 18:52   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.49):

	* libsvn_fs/dag.c (svn_fs__dag_clone_child): Note bug.  

2001-02-26 18:44   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.48):

	* libsvn_fs/dag.c (svn_fs__dag_set_proplist): Note dangerous code.  

2001-02-26 18:39   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.47):

	* libsvn_fs/dag.c (has_mutable_flag): Don't assume that every flag
	is a list.  At the moment, they are, but there's no reason they must
	* libsvn_fs/dag.c (has_mutable_flag): Minor style tweak: use `for'
	for linked list traversal.  

2001-02-26 18:35   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.46):

	* libsvn_fs/dag.c (node_is_kind_p): Unredund.  

2001-02-26 18:35   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.45):

	* libsvn_fs/dag.c (find_dir_entry): Minor style tweak: use `for' for 
	linked list traversal.  

2001-02-26 17:40   Jim Blandy <>

	* subversion/: include/svn_fs.h (1.51), libsvn_fs/rev-table.c

	* libsvn_fs/rev-table.c (svn_fs_youngest_rev): Add a `pool' argument
	--- the caller should be able to say where temporary allocation
	should happen.  Also, don't touch *youngest_p unless we're going to
	return SVN_NO_ERROR --- functions which return results by reference
	should leave their referents untouched unless they succeed.  
	* include/svn_fs.h (svn_fs_youngest_rev): Fix declaration.  
	* libsvn_fs/rev-table.c (txn_body_youngest_rev): Use 
	svn_fs__recno_dbt, instead of using svn_fs__result_dbt and 
	svn_fs__track_dbt and casting pointers to get the recno.  
	* libsvn_fs/rev-table.c (txn_body_youngest_rev): Formatting tweaks.  
	* include/svn_fs.h: Doc fix.  

2001-02-26 17:02  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.h (1.25):

	* libsvn_fs/dag.h 
	  (svn_fs__dag_link): Updated docstring to more adequately describe 
	  the intent of this function, "thus increasing shareholder value." 

2001-02-26 17:01  C. Michael Pilato <>

	* subversion/libsvn_fs/TODO (1.16):


2001-02-26 15:09   Jim Blandy <>

	* subversion/libsvn_fs/tree.c (1.22):

	* libsvn_fs/tree.c (make_path_mutable): Remove call to
	svn_fs__dag_close.  (Thanks to Yoshiki Hayashi.) 

2001-02-26 12:04   Jim Blandy <>

	* subversion/: include/svn_error.h (1.75), libsvn_fs/dag.c (1.44):

	When we detect an error caused by an inconsistency in the
	filesystem's own code, don't return an error --- the user can't do
	anything about it, and you may not get a chance to reproduce the
	bug.  Instead, call `abort', which gives you a core dump you can
	debug.  (This explanation should go somewhere --- HACKING?) 
	* include/svn_error.h (SVN_ERR_FS_MALFORMED_SKEL): Delete error.  
	* libsvn_fs/dag.c (malformed_proplist_error): Delete.  
	(svn_fs__dag_set_proplist): Call `abort', not

2001-02-26 12:00   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.15):

	To put Christian principles into practice through programs that
	build healthy Spirit, Mind, and Body for all people, regardless of
	race, creed, sex, ability or economic status.  

2001-02-26 11:54   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.43):

	* libsvn_fs/dag.c (dag_node_t): Rename `contents' member to 
	`node_revision'.  There are new rules for accessing this member, and 
	this makes sure any code referring to `contents' will break.  
	(uncache_node_revision, cache_node_revision,
	get_node_revision_cached, set_node_revision_cached): New functions.  
	* libsvn_fs/dag.c (svn_fs__dag_dup): No need to copy the FS
	structure.  Leave the cache zero, to avoid dealing with pool

2001-02-26 11:37   Ben Collins-Sussman <>

	* subversion/: include/svn_fs.h (1.50), libsvn_fs/dag.c (1.42),
	libsvn_fs/fs.h (1.18), libsvn_fs/rev-table.c (1.4), libsvn_fs/txn.h
	(1.9), tests/TEST-FRAMEWORK (1.3), tests/libsvn_fs/fs-test.c

	Bunch of patches from Yoshiki Hayashi <>.  
	* svn_fs.h (svn_fs_abort_txn): docfix 
	* TEST-FRAMEWORK: docfix 
	* fs.h (struct svn_fs_t): remove DB *clones.  
	* txn.h (svn_fs__create_transactions, svn_fs__open_transactions): 
	  removed... these functions do the same thing as 
	  svn_fs__open_transactions_table with different signature.  
	* rev-table.c (txn_body_youngest_rev): new function.  
	  (svn_fs_youngest_rev): new function.  
	* subversion/tests/libsvn_fs/fs-test.c (open_berkeley_filesystem): 
	  test if youngest rev equals 0.  
	* dag.c (svn_fs__dag_txn_root): new function.  
	  ((svn_fs__dag_dup):  fix typo.  :)) 

2001-02-26 11:34   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.24):

	Doc fix.  

2001-02-26 10:56  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.41):

	* libsvn_fs/dag.c 
	  (svn_fs__dag_dup): Make this function use fresh allocations for all 
	  pieces of the dag_node_t.  

2001-02-26 10:26   Jim Blandy <>

	* subversion/libsvn_fs/ (1.36):

	* libsvn_fs/ (libsvn_fs_la_SOURCES): Remove `node.h',
	which doesn't exist any more.  

2001-02-24 16:39  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.40):

	* libsvn_fs/dag.c 
	  (svn_fs__dag_clone_child): How many times will I re-work this 
	  (svn_fs__dag_dup): Some temporary gutz for this one, with comments 
	  and todos for researching this function's intent (Jim B., are you 
	  (svn_fs__dag_open): Implemented this function.  

2001-02-24 03:13   Greg Stein <>

	* subversion/libsvn_fs/: txn.c (1.28), txn.h (1.8):

	* txn.c (svn_fs__txn_id): New function.  
	Submitted by: Yoshiki Hayashi <> 

2001-02-24 03:11   Greg Stein <>

	* subversion/libsvn_fs/node-rev.c (1.8):

	sizeof() was returning 9 (the null-term), but should return 8. fix
	it.  [ bug found by Yoshiki Hayashi <> ] 

2001-02-24 03:09   Greg Stein <>

	* (1.36), (1.66):

	* Pass --foreign to automake so that it won't complain
	    missing ChangeLog 
	* Fix variable name to print client only build warning 
	Submitted by: Yoshiki Hayashi <> 

2001-02-23 18:31   Jim Blandy <>

	* subversion/ (1.24):

	subversion/ (DIST_SUBDIRS): New variable, so that `make 
	TAGS' will index libsvn_fs, and others.  

2001-02-23 18:25   Jim Blandy <>

	* (1.35):

	Check for APR and Neon before running any commands.  Running
	automake takes a while on my little Pentium 166.  

2001-02-23 17:16   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.74), libsvn_fs/dag.c (1.39):

	It's life, jimb, but not as we know it.  
	* dag.c (svn_fs__dag_set_contents):  implement.  
	* svn_error.c (SVN_ERR_FS_NOT_FILE): new error type.  

2001-02-23 16:11   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.38):

	(svn_fs__dag_revision_root):  gee, is this routine *really* so easy?

2001-02-23 16:06  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.37):

	Just claiming some territory here, my personal todo list for the
	near future.  

2001-02-23 13:16  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.36):

	* libsvn_fs/dag.c 
	  (svn_fs__dag_clone_child): How now, Brown Cow.  Now this sow has 
	  (make_entry): Added some error returns, renamed an internval 
	  variable or two.  Ya know, the same ol' same ol'.  

2001-02-23 07:10   Greg Stein <>

	* (1.34):

	fix up some of the dependencies between the various config
	components. also try to deal with automake's insistence on certain
	make dependencies.  

2001-02-23 05:24   Greg Stein <>

	* tools/ (1.4, milestone-2),
	subversion/tests/libsvn_subr/.cvsignore (1.6),
	subversion/tests/libsvn_subr/target-test.c (1.2):

	- add the (missing) license header to target-test.c 
	- add target-test to .cvsignore 
	- update to recognize copyrights for the year 2000,
	  or 2001, or 2000-2001 
	  (and let Karl determine policy for updating the values across SVN) 

2001-02-23 00:16   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.73), libsvn_fs/dag.c (1.35):

	Implement __dag_delete.  
	* dag.c (has_mutable_flag):  break this code out of
	(svn_fs__dag_is_mutable):  call has_mutable_flag.  
	  (svn_fs__dag_delete):  implement.  
	  new error values.  

2001-02-22 17:40   Ben Collins-Sussman <>

	* subversion/include/svn_error.h (1.72):

	Doh!  Committed too far down.  :) 
	* svn_error.h (SVN_ERR_FS_MALFORMED_SKEL):  new error value.  

2001-02-22 17:40   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.34):

	* dag.c (node_is_kind_p, svn_fs__dag_is_mutable, 
	  svn_fs__dag_get_proplist): add todo comment about impending 
	  dag_node_t change.   (want!  want!) 
	  (node_is_kind_p): simplify with svn_fs__matches_atom().  
	  (svn_fs__dag_set_proplist):  implement.  
	  (malformed_proplist_error):  helper for above.  
	* svn_error.h (SVN_ERR_FS_MALFORMED_SKEL):  new error value.  

2001-02-22 17:32   Jim Blandy <>

	* subversion/libsvn_fs/node-rev.h (1.7):

	For more than half a century, interferometry at radio wavelengths
	has succeeded brilliantly, mapping the structures of distant
	galaxies and quasars by their radio emissions.  

2001-02-22 16:26   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.18):

	(handle_txdelta_args, txn_body_handle_txdelta, 
	txn_body_handle_window): New struct and function helpers for 
	(apply_textdelta): Start to implement.  
	(dir_baton, file_baton): New base_path fields; also, move and
	document the base_rev that was already here.  
	(replace_file, replace_dir): Set base_revision in the returned
	(add_file, add_dir): Same, plus set base_path.  

2001-02-22 13:00  C. Michael Pilato <>

	* subversion/libsvn_fs/skel.c (1.20):

	* libsvn_fs/skel.c 
	  (svn_fs__prepend, svn_fs__append): These functions now abort() if 
	  the LIST_SKEL arguments are not actually lists.  

2001-02-22 12:59  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c (1.33), dag.h (1.23):

	* libsvn_fs/dag.h 
	  (svn_fs__dag_find_dir_entry): Removed this prototype (the function 
	  is now going undercover! 
	* libsvn_fs/dag.c 
	  (find_dir_entry): Renamed from svn_fs__dag_find_dir_entry.  Also: 
	  Bug fix!  Misread the language in the FS structure document 
	  regarding the construction of NODE-REVISION skels.  Little helper 
	  functions like this are of no use if they don't have a friggin'
	  clue what they're doing.  
	  (make_entry, svn_fs__dag_make_file, svn_fs__dag_make_dir): Moved the 
	  guts from the recently implement svn_fs__dag_make_file into a new 
	  helper function, make_entry, that now takes a boolean IS_DIR 
	  argument.  Why?  Because that made the implementation of 
	  svn_fs__dag_make_dir a cinch.  Now, svn_fs__dag_make_file and 
	  svn_fs__dag_make_dir just call the helper make_entry, which does 
	  slightly different things based on the value of IS_DIR.  

2001-02-22 12:03  C. Michael Pilato <>

	* subversion/libsvn_fs/: dag.c (1.32), dag.h (1.22):

	* libsvn_fs/dag.h 
	  (svn_fs__dag_find_dir_entry): New function prototype.  
	* libsvn_fs/dag.c 
	  (svn_fs__dag_find_dir_entry): New function.  
	  (svn_fs__dag_make_file): Fixed this so that it will not attempt to 
	  add a new file entry to the parent directory if the parent already 
	  has an entry of the same name.  

2001-02-22 11:58   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.21):

	(free_parent_path): Removed, and removed all calls.  This was the
	only caller of the now-defunct svn_fs__dag_close.  We're not freeing
	at this granularity anymore.  

2001-02-22 11:57  Kevin Pilch-Bisson <>

	* www/project_members.html (1.10):

	Added myself to the members_list.  

2001-02-22 11:49   Karl Fogel <>

	* subversion/libsvn_fs/node-rev.c (1.7):

	#include <string.h>, for memset.  

2001-02-22 11:01   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.31):

	Bugfixes from GregS.  Thanks, Greg. :) 
	(node_is_kind_p):  use correct length in memcmp().  
	(svn_fs__dag_is_mutable):  use svn_fs__matches_atom().  

2001-02-22 10:20  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.30):

	* libsvn_fs/dag.c 
	  (svn_fs__dag_make_file): Itty bitty docstring fix.  

2001-02-22 08:59   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.29):

	Doc fix from Yoshiki Hayashi.  

2001-02-22 08:56   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.28):

	* libsvn_fs/dag.c (struct dag_node_t): Doc fixes.  

2001-02-21 21:17   Greg Stein <>

	* doc/future.texi (1.11, milestone-2):

	correct our discussion of Berkeley DB and SQL database.  

2001-02-21 21:13   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.33):

	* libsvn_fs/structure: More doc fixes from Yoshiki Hayashi.  

2001-02-21 17:28  C. Michael Pilato <>

	* subversion/libsvn_fs/dag.c (1.27):

	* libsvn_fs/dag.c 
	  (svn_fs__dag_make_file): Gave this function some gutz.  

2001-02-21 17:26  C. Michael Pilato <>

	* subversion/libsvn_fs/: skel.c (1.19), skel.h (1.15):

	* libsvn_fs/skel.h 
	* libsvn_fs/skel.c 
	  (svn_fs__append): New function.  Similar to svn_fs__prepend, 

2001-02-21 17:23   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.26):

	(svn_fs__dag_get_proplist):  implement.  

2001-02-21 16:03   Jim Blandy <>

	* subversion/libsvn_fs/: trail.c (1.6), trail.h (1.5):

	Allow trail users to register functions to be run whenever the trail 
	completes, either successfully or unsuccessfully.  
	* libsvn_fs/trail.c (struct undo): New field, `when'.  
	(abort_trail): Only invoke actions marked to run on failure.  
	(commit_trail): New function.  
	(svn_fs__retry_txn): Call commit_trail instead of calling txn_commit 
	(record_undo): New function, containing old guts of
	svn_fs__record_undo, for use by both svn_fs__record_undo and
	(svn_fs__record_undo): Invoke record_undo.  
	(svn_fs__record_completion): New function.  
	* libsvn_fs/trail.h (svn_fs__record_undo): Doc fix.  
	(svn_fs__record_completion): New declaration.  
	* libsvn_fs/trail.c (begin_trail): Use `apr_pcalloc' instead of 
	`apr_palloc', just because.  

2001-02-21 15:15   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.25):

	(svn_fs__dag_is_mutable):  implement.  

2001-02-21 14:22   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.24):

	Act II, Scene 7: Recognizing that he is outnumbered, Gesualdo exits, 
	vowing to leave no nit unpicked.  (Aria: ``Osso pichi'') 
	* libsvn_fs/dag.c (svn_fs__dag_clone_root): No need to call 
	`svn_fs__get_node_revision' if we just cloned the root.  Doc fixes.  

2001-02-21 13:51   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.23):

	* libsvn_fs/dag.c (svn_fs__dag_clone_root): Use SVN_ERR.  

2001-02-21 11:29   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.22):

	* libsvn_fs/dag.c (struct dag_node_t): Doc fixes.  
	(txn_body_dag_init_fs): Renamed from dag_init_fs.  Use 
	svn_fs__put_node_revision to create the initial root directory; let 
	node-rev.h take care of choosing representations.  Remove extraneous 
	spaces from revision skel.  
	(svn_fs__dag_init_fs): Update for renaming above.  

2001-02-21 11:03   Ben Collins-Sussman <>

	* subversion/libsvn_fs/: dag.c (1.21), dag.h (1.21):

	(svn_fs__dag_close): removed for now.  we're not currently worried 
	about freeing memory at the resolution of individual dag nodes.  
	(node_is_kind_p, svn_fs__dag_is_file, svn_fs__dag_is_dir, 
	svn_fs__dag_is_copy):  implement.  

2001-02-21 10:58   Jim Blandy <>

	* subversion/libsvn_fs/ (1.35):

	* libsvn_fs/ Doc fix: file.[ch], revision.[ch] are no
	longer waiting to be added back into the build.  They're completely

2001-02-21 10:57   Jim Blandy <>

	* subversion/libsvn_fs/: revision.c (1.10), revision.h (1.5):

	* libsvn_fs/revision.c, libsvn_fs/revision.h: Deleted; this stuff is 
	handled by tree.c now.  

2001-02-21 10:54   Jim Blandy <>

	* subversion/libsvn_fs/file.h (1.10):

	* libsvn_fs/file.h: Deleted.  We don't have a file.c module any

2001-02-21 10:52   Jim Blandy <>

	* subversion/libsvn_fs/node-rev.c (1.6):

	* libsvn_fs/node-rev.c: #include "nodes-table.h".  
	* libsvn_fs/node-rev.c (svn_fs__stable_node): Trivial
	implementation, for our current non-deltifying situation.  

2001-02-21 10:47   Jim Blandy <>

	* subversion/libsvn_fs/node-rev.c (1.5):

	* libsvn_fs/node-rev.c: Finally complete the reorganization of the 
	mid-level node management stuff.  Most of the things in this file
	have been segregated into nodes-table.c.  This file will become
	fatter when we actually do deltification, or split file contents
	into a separate table.  
	(make_nodes, get_representation_skel, put_representation_skel, 
	new_node_id, last_key_before, new_successor_id): Deleted.  
	(svn_fs__get_node_revision): Call `svn_fs__get_rep', from 
	nodes-table.h, instead of `get_representation_skel'.  
	(svn_fs__put_node_revision): Remove interface explanation; this is a 
	public function, described in the interface file.  Don't rely on 
	automatic array initialization to construct the representation skel;
	I think that's a GCC extension.  Instead, construct the skel
	explicitly.  Call `svn_fs__put_rep', from nodes-table.h, instead of 
	(svn_fs__create_node): Call `svn_fs__put_node_revision, defined 
	elsewhere in this file, instead of `put_representation_skel'.  Not 
	only does the latter not exist, but it's the wrong function ---
	we're passing it a NODE-REVISION, not a REPRESENTATION.  
	(svn_fs__create_successor): Same.  And call
	`svn_fs__new_successor_id' from nodes-table.h, not

2001-02-21 10:39   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.17):

	(replace_root): Improve comment by using Jim's suggested wording.  
	(change_prop_args, txn_body_change_prop): New baton/func txn pair.  
	(change_file_prop, change_dir_prop): Implement using above.  

2001-02-21 10:38   Jim Blandy <>

	* subversion/libsvn_fs/nodes-table.c (1.8):

	* libsvn_fs/nodes-table.c (svn_fs__new_successor_id): When
	allocating space for the successor ID, there's no need to multiply
	the expected length of the ID by the *square* of the size of an ID. 
	(What kind of dimension is a square byte, anyway?) 

2001-02-21 09:54   Jim Blandy <>

	* subversion/libsvn_fs/editor.c (1.16):

	* libsvn_fs/editor.c: Use the SVN_ERR macro throughout, for 
	consistency with the rest of the filesystem code.  
	(txn_body_clone_root, replace_root, txn_body_delete, delete_entry, 
	txn_body_add_directory, add_directory, txn_body_replace_directory, 
	replace_directory, txn_body_add_file, add_file,
	txn_body_replace_file, replace_file, close_edit): Use SVN_ERR.  
	* libsvn_fs/editor.c (close_directory, close_file): Doc fixes.  
	* libsvn_fs/editor.c (struct edit_baton, struct dir_baton, struct 
	file_baton): Doc fixes.  

2001-02-21 09:26   Jim Blandy <>

	* subversion/include/svn_error.h (1.71):

	Doc fix.  

2001-02-21 08:54   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.20):

	P.P.S. You will not be billed for your gift until after January 1.  

2001-02-21 08:50   Jim Blandy <>

	* subversion/libsvn_fs/node-rev.h (1.6):

	We are reserving a teacher's time for you, so if you can not keep
	this appointment, please telephone me.  

2001-02-20 22:49  C. Michael Pilato <>

	* subversion/libsvn_delta/: compose_editors.c (1.14), xml_parse.c

	* libsvn_delta/compose_editors.c 
	* libsvn_delta/xml_parse.c 
	  Removed unnecessary sanity checks that preceded the use of editor 
	  functions since 1) all editors should be created using the default 
	  editor method, and 2) the default editor should have non-NULL 
	  routines for all functions available via the editor.  

2001-02-20 18:58   Joe Orton <>

	* subversion/libsvn_subr/svn_error.c (1.54):

	* svn_error.c (svn_error_create): Use apr_pstrdup to dup the

2001-02-20 18:52   Joe Orton <>

	* subversion/tests/libsvn_subr/ (1.2):

	if ! ... is not portable.  

2001-02-20 18:40   Joe Orton <>

	* subversion/libsvn_subr/svn_error.c (1.53):

	Fix non-portable use of 'va_list' argument.  
	* svn_error.c (make_error_internal): Don't set the 'message' field 
	of the error object here.  (svn_error_create, svn_error_createf):
	Set it here instead.  

2001-02-20 18:21   Joe Orton <>

	* subversion/libsvn_subr/svn_error.c (1.52):

	* svn_error.c (abort_on_pool_failure): Prevent compiler warning on 

2001-02-20 17:32   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.20):

	(svn_fs__dag_get_fs): another tricky implementation.  

2001-02-20 17:22   Greg Stein <>

	* subversion/libsvn_subr/path.c (1.32):

	(svn_path_is_empty): Construct current dir correctly.  
	Submitted by: Yoshiki Hayashi <> 

2001-02-20 16:43   Karl Fogel <>

	* subversion/libsvn_fs/: node-rev.c (1.4), nodes-table.c (1.7),
	rev-table.c (1.3), revision.c (1.9), skel.c (1.18), skel.h (1.14),
	txn-table.c (1.15):

	(svn_fs__matches_atom): New name for svn_fs__is_atom; because it 
	doesn't merely test for atomness, it tests whether the skel is an
	atom and matches a particular string.  [I kept getting confused.

2001-02-20 16:19   Ben Collins-Sussman <>

	* subversion/libsvn_fs/dag.c (1.19):

	(svn_fs__dag_get_id):  implement difficult func. ;) 

2001-02-20 16:00   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.15):

	(txn_body_replace_file): New func.  
	(replace_file): Implement using above.  

2001-02-20 15:52   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.14):

	(txn_body_replace_directory): Implemented.  

2001-02-20 15:25   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.13):

	(add_repl_args): Replaces add_args, since useful for replaces too.  
	(txn_body_replace_directory): New func, still incomplete.  
	(replace_directory): Implement using above.  

2001-02-20 15:12   Karl Fogel <>

	* subversion/libsvn_fs/dag.h (1.19):

	(svn_fs__dag_txn_root): Change doc to reflect presumed semantics.  

2001-02-20 15:10   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.12):

	Oops, remove noncompiling code from last checkin.  

2001-02-20 15:10   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.18), editor.c (1.11), node-rev.h

	(txn_body_clone_root): New name for clone_root, same motivation as 
	similar recent change.  
	Also, added some comments about possibly missing functionality.  

2001-02-20 14:15   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.10):

	Greg Stein noticed that the fs editor should be consistent with
	Jim's naming convention for transaction helpers: 
	(delete_args, txn_body_delete): New names for deletion_baton and 
	delete_name_in_node, respectively.  
	(add_args, txn_body_add_directory, txn_body_add_file): New names for 
	add_baton, add_dir_in_node, add_file_in_node, respectively.  
	All callers changed.  

2001-02-20 10:53   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/track_editor.c (1.6):

	Upgrade bikeshed exterior to mauve, as was decided by the dead horse 
	*  s/long int/svn_revnum_t *  (add_directory): use copyfrom_* * 
	(replace_directory, replace_file): use base_revision *  (add_file):
	use copy_* 

2001-02-20 03:30   Greg Stein <>

	* (1.65):


2001-02-19 21:52   Greg Stein <>

	* AUTHORS (1.11, milestone-2):

	"My bologna has a first name, it's K-E-V-I-N ...." 

2001-02-19 21:47   Greg Stein <>

	* ac-helpers/ (1.3, milestone-2):

	fix the detection of older versions of Neon 
	Submitted by: Sam TH <> 

2001-02-19 14:29   Jim Blandy <>

	* subversion/libsvn_fs/trail.h (1.4):

	Doc fix from Yoshiki Hayashi.  

2001-02-19 14:27   Jim Blandy <>

	* subversion/libsvn_fs/: rev-table.h (1.4), structure (1.32):

	Doc fix.  

2001-02-19 08:13  Kevin Pilch-Bisson <>

	* (1.64):

	Change mkdir to apr/build/ instead of apr/helpers/  
	Is there any way to get this directory automagically from APR? 

2001-02-18 23:59  Bill Tutt <>

	* subversion/: include/svn_fs.h (1.49), libsvn_fs/libsvn_fs.dsp

	2001-02-18 Bill Tutt <>: 
	* include/svn_fs.h: (svn_fs_get_editor) Make prototype match usage
	in libsvn_fs/editor.c.  
	* libsvn_fs/libsvn_fs.dsp: Update file list so it builds again.  

2001-02-18 20:29   Greg Stein <>

	* subversion/: include/svn_error.h (1.70), libsvn_subr/svn_error.c

	apr_clear_pool became apr_pool_clear. follow suit.  

2001-02-18 19:33   Greg Stein <>

	* STACK (1.78):

	some random changes (also testing email from 

2001-02-17 17:52   Joe Orton <>

	* (1.33), (1.63),
	subversion/libsvn_ra_dav/fetch.c (1.40), ac-helpers/

	Update to neon 0.11.  
	* has moved to neon/src/ 
	* 0.8 -> 0.11.  
	* ac-helpers/ Look for version number in
	* subversion/libsvn_ra_dav/fetch.c (start_resource): Renamed to
	(end_resource): Renamed to pfind_results and adjusted for new API.  
	(fetch_dirents):  Adjust for new API; fetch a set of 'complex'
	(start_element, end_element): Adjusted for new API.  

2001-02-17 12:08  C. Michael Pilato <>

	* subversion/: include/svn_delta.h (1.141),
	libsvn_delta/compose_editors.c (1.13),
	libsvn_delta/default_editor.c (1.5), libsvn_delta/xml_output.c
	(1.34), libsvn_delta/xml_parse.c (1.149), libsvn_ra_dav/commit.c
	(1.33), libsvn_wc/get_editor.c (1.166), tests/svn_test_editor.c
	(1.19), tests/xml/pipatch.xml (1.2, milestone-2):

	Cleaning stuff found by the careful eye of Greg S., in the following 
	basic categories: 
	1.  Editor add_* functions that should have copyfrom_path and 
	    copyfrom_revision instead of base_* or ancestor_*.  
	2.  Editor replace_* functions that should have base_revision
	    instead of ancestor_revision.  
	3.  Editors that should have been created by instantiating a default 
	    editor and then overriding necessary functions, instead of the
	    old way of everyone declaring their own static editor structure.  
	4.  Uses of fixed-length char buffers which, while likely to be of 
	    safe size, would be better handled as dynamically allocated 
	    buffers of *always* safe size.  
	* client/trace-commit.c 
	* client/trace-update.c 
	  (add_directory, add_file): Renamed ancestor_* arguments to 
	  copyfrom_*, also changing 'long int' to 'svn_revnum_t' type for 
	  (replace_directory, replace_file): Changed 'long int' to 
	  'svn_revnum_t' type for base_revision.  
	* include/svn_delta.h 
	  (svn_delta_edit_fns_t): Updated docstrings 
	  (svn_delta_edit_fns_t->add_directory, add_file): renamed 
	  base_revision and base_path to copyfrom_revision and
	* libsvn_delta/compose_editors.c 
	* libsvn_delta/default_editor.c 
	  (add_directory, add_file): Renamed base_* arguments to copyfrom_*, 
	  also changing 'long int' to 'svn_revnum_t' type for 
	  (replace_directory, replace_file): Changed 'long int' to 
	  'svn_revnum_t' type for base_revision.  
	* libsvn_delta/xml_output.c 
	  (output_addreplace): Using SVN_DELTA__XML_ATTR_COPYFROM_PATH and 
	  SVN_DELTA__XML_ATTR_COPYFROM_REV for adds, *_BASE_REV for replaces 
	  (replace has no base_path).  Also, no longer using static buf[128] 
	  for intermediate number-to-string conversion.  Going with 
	  svn_string_createf instead per Greg S.' request.  
	  (replace_root): Using svn_string_createf instead of buf[128] per 
	  Greg S.' request.  
	  (add_directory, add_file): Renamed base_* arguments to copyfrom_*.  
	* libsvn_delta/xml_parse.c 
	  (xml_handle_start): Looking for copyfrom-path and copyfrom-rev in 
	  add tags now, base-path and base-rev in other ones.  
	* libsvn_ra_dav/commit.c 
	  (commit_add_dir, commit_add_file): Renamed ancestor_* arguments to 
	  (commit_rep_dir, commit_rep_file): Renamed ancestor_path to 
	* libsvn_wc/get_editor.c 
	  (add_directory, add_file): Renamed base_* arguments to copyfrom_*.  
	* tests/svn_test_editor.c 
	  (test_add_directory, test_add_file): Renamed base_* arguments to 
	  copyfrom_*, also changing 'long int' to 'svn_revnum_t' type for 
	  (test_replace_directory, test_replace_file, add_or_replace_dir, 
	  add_or_replace_file): Changed 'long int' to 'svn_revnum_t' type
	  for base_revision.  
	* tests/xml/pipatch.xml 
	  Removed replace tag "ancestor" attributes, and renamed the "ver" 
	  attributes to "base-rev".  

2001-02-17 07:42   Greg Stein <>

	* (1.62):

	apr_common just moved 

2001-02-17 07:02   Greg Stein <>

	* subversion/include/svn_ra.h (1.39):

	oops. a bit overaggressive there. we need apr_tables.h for the

2001-02-17 06:49   Greg Stein <>

	* subversion/include/svn_ra.h (1.38):

	Doc fix. Parameter name fix.  

2001-02-17 06:47   Greg Stein <>

	* (1.61):

	Be a bit more fine-grained about linking ra_local into the client.  

2001-02-17 06:29   Greg Stein <>

	* (1.60), subversion/ (1.23),
	subversion/tests/ (1.12):

	* if shared builds are disabled, then link the RA
	    libraries into the client 
	  revamp decision making for subversion/ subdirs and
	    subversion/tests/ subdirs. this correctly orders them, and puts
	    ra_local into the list of dirs/tests that are dependent upon DB3
	    being present (by virtue of its dependency upon libsvn_fs) 
	* subversion/, subversion/tests/ use new
	    FS_BASED_* macros to determine what subdirs to build.  
	* subversion/client/ use new LIBSVN_CLIENT_DEPS macro to 
	    determine what needs to be linked into the client 

2001-02-17 05:58   Greg Stein <>

	* subversion/libsvn_client/ra_loader.c (1.5):

	Enable DSO loading and "prelinked" support for RA libraries.  
	(ra_libraries[]): new data structure to define RA library names and,
	  if linked-in, their initialization function 
	(load_ra_module): new function to load an RA module if DSO support
	  is available, and the module can be found.  
	(svn_client_init_ra_libs): revamp to use ra_libraries. linked-in
	  functions are preferred; otherwise, we try to load the RA module.  
	  rename "url_type" to "url_scheme" 
	(svn_client_get_ra_library): update scheme comparison logic --
	  schemes are case-sensitive and must be followed by a colon.  

2001-02-17 05:49   Greg Stein <>

	* subversion/include/svn_ra.h (1.37):

	* remove some include cruft 
	* (SVN_RA_ABI_VERSION): new define and doc on what it means 

2001-02-17 05:05   Greg Stein <>

	* subversion/libsvn_client/client.h (1.11):

	clean out some cruft 

2001-02-17 04:49   Greg Stein <>

	* (1.59), ac-helpers/svn-define-libs.m4 (1.1):

	shift some bulk out of 

2001-02-17 03:14   Greg Stein <>

	* STACK (1.77):

	Humpty Dumpty sat on a wall.  Humpty Dumpty had a great fall.  
	Everybody had scrambled eggs for three weeks after that.  

2001-02-16 20:33   Greg Stein <>

	* IDEAS (1.21, milestone-2):

	Anyone ever consider whether Android 18 can be classified as a
	"babe" or just as an intelligent toaster? 

2001-02-16 19:48   Karl Fogel <>

	* subversion/libsvn_fs/: (1.34), editor.c (1.9):

	Bring everyone into line with cmpilato's recent sweeping editor 
	changes, and: 
	(deletion_baton): New type.  
	(delete_node): New helper func.  
	(delete_entry): Implement using above.  
	(addition_baton): New type.  
	(add_dir_in_node, add_file_in_node): New helper functions.  
	(add_directory, add_file): Implement using above.  

2001-02-16 19:39   Karl Fogel <>

	* subversion/libsvn_ra_local/track_editor.c (1.5):

	Oops -- I must have done "make check" from the wrong place before, 
	because this thing was full of errors from the last commit.  
	(add_directory, add_file): Remove legacy code.  
	(close_file): Use apr_array_push instead of apr_hash_set, since,
	after all, it's an array not a hash.  Remove unused err variable.  
	(svn_ra_local__get_commit_track_editor): Don't initialize 
	delete_entry, since we don't define it.  Remove unused err variable.  

2001-02-16 18:52   Karl Fogel <>

	* subversion/: include/svn_delta.h (1.140), include/svn_fs.h
	(1.48), libsvn_fs/delta.c (1.25), libsvn_fs/editor.c (1.8),
	libsvn_repos/delta.c (1.25):

	Complete the "begin_edit" to "replace_root" rename, as promised to 

2001-02-16 18:46   Karl Fogel <>

	* subversion/libsvn_ra_local/track_editor.c (1.4):

	(svn_ra_local__get_commit_track_editor): Comment fix.  

2001-02-16 18:42   Karl Fogel <>

	* subversion/libsvn_ra_local/: ra_local.h (1.5), ra_plugin.c (1.9),
	track_editor.c (1.3):

	(svn_ra_local__commit_closer_t): New name for 
	svn_ra_local__commit_hook_baton_t, all callers changed.  It felt
	weird calling it a baton, because it wasn't opaque to anyone.  Also,
	it was a really long name.  
	(svn_ra_local__get_commit_track_editor): Return a real editor.  

2001-02-16 18:42   Karl Fogel <>

	* subversion/libsvn_fs/tree.c (1.20):

	#include "svn_error.h" 

2001-02-16 17:42   Karl Fogel <>

	* subversion/include/svn_error.h (1.69):


2001-02-16 17:41   Karl Fogel <>

	* subversion/include/svn_error.h (1.68):


2001-02-16 17:41   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/: split_url.c (1.4), track_editor.c

	Minor tweaks; saving work to look at from home over weekend.  

2001-02-16 16:59   Jim Blandy <>

	* subversion/include/svn_fs.h (1.47):

	* include/svn_fs.h: Doc fix.  

2001-02-16 16:58   Jim Blandy <>

	* subversion/libsvn_fs/tree.c (1.19):

	Finish off the tree-level support for file creation.  
	* libsvn_fs/tree.c (open_path_flags_t): New type.  
	(open_path): Add flag to allow the last path component to not exist.  
	(txn_body_node_prop, txn_body_change_node_prop, txn_body_delete):
	Pass the new argument to open_path.  (struct make_file_args,
	txn_body_make_file, svn_fs_make_file): New type/functions.  
	Absolute and null paths are legal now.  
	* libsvn_fs/tree.c (next_entry_name, open_path): Handle absolute and 
	null paths.  
	* libsvn_fs/tree.c (not_found, already_exists): New functions.  
	(open_path, txn_body_make_file): Improve error reporting.  

2001-02-16 16:40   Greg Stein <>

	* subversion/tests/libsvn_ra_local/.cvsignore (1.1):

	Over the river, and through the woods...  

2001-02-16 14:28  C. Michael Pilato <>

	* subversion/libsvn_delta/xml_output.c (1.33):

	(svn_delta_get_xml_editor): Updated this to use the new default
	editor standard instead of explicitly constructing its own 

2001-02-16 13:45  C. Michael Pilato <>

	* subversion/libsvn_delta/xml_parse.c (1.148):

	(xml_handle_start): Allowing the clients to override the target 
	revision found in the xml file's delta-pkg tag.  This is more for 
	debugging purposes than anything, and should be tagged as a 
	potentially reversible change once we have a real filesystem in
	place.  However, we're going to return an error if the delta-pkg tag
	has no valid revision number and we aren't given one to use from the
	client.  This would trigger an error later anyway, but we'll catch
	the case here because it's much easier to understand the cause at
	this stage.  

2001-02-16 13:44  C. Michael Pilato <>

	* subversion/libsvn_delta/delta.h (1.53):

	(svn_xml__digger_t): Removing unnecessary target_revision.  

2001-02-16 13:43  C. Michael Pilato <>

	* subversion/libsvn_client/update.c (1.12):

	(svn_client_update): Renamed some arguments for consistency with a) 
	the header files and b) the similar svn_client_checkout() function.  

2001-02-16 13:43  C. Michael Pilato <>

	* subversion/libsvn_client/apply_edits.c (1.13):

	(svn_client__checkout_internal, svn_client__update_internal):
	Changed 0 and 1 to FALSE and TRUE for more intuitive reading of that
	boolean value.  

2001-02-16 13:41  C. Michael Pilato <>

	* subversion/include/svn_client.h (1.23):

	(svn_client_checkout, svn_client_update): Gave these functions 
	docstrings that count, mainly for my own benefit, but I'm into 
	sharing the wealth.  

2001-02-16 08:44   Greg Stein <>

	* subversion/libsvn_ra_dav/: fetch.c (1.39), session.c (1.18):

	Various cleanup.  
	* session.c: remove SVN_VERSION define and pick up
	* fetch.c (fetch_props): activity collection is no longer a
	    property, so it can be removed; we will fetch the revision
	    elsewhere, so version-name is no longer needed 
	  (validate_element, end_element): target is now checked-in; remove
	    activity and version-name props 
	  (start_element): remove unneeded props 
	  (fetch_dirents): simplify logic for which props to fetch since we
	    don't fetch the activity collection set now 
	  (begin_checkout): new function to gear up for a checkout 
	  (svn_ra_dav__do_checkout): call begin_checkout to get activity_url
	    and the target_rev. call set_target_revision on the editor.  

2001-02-16 08:19   Jim Blandy <>

	* subversion/libsvn_fs/tree.c (1.18):

	Use a cleaner method to distinguish revision roots from transaction
	* libsvn_fs/tree.c (root_kind_t): New type.  
	(svn_fs_root_t): New member `kind', used to distinguish revision and 
	transaction roots.  These are no longer distinguished by special 
	values for `txn' or `rev'.  
	(make_root): Don't initialize `rev'.  
	(make_revision_root, make_txn_root): Set the root's `kind'.  
	(root_node, mutable_root_node, svn_fs_is_txn_root, 
	svn_fs_is_revision_root, svn_fs_txn_root_name, 
	svn_fs_revision_root_revision): Distinguish transaction and revision 
	roots by their `kind' field, not by checking for magic values of
	`txn' and `rev'.  

2001-02-16 08:05   Greg Stein <>

	* STACK (1.76):

	can I get a Mech suit for my b-day? 

2001-02-16 08:01   Greg Stein <>

	* (1.32), ac-helpers/ (1.1):

	Inspired by Mo DeJong, create the to fetch Neon's
	version.  This should allow us to upgrade to the next Neon a bit
	more easily.  

2001-02-15 17:55   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.22), include/svn_ra.h
	(1.36), libsvn_client/ra_loader.c (1.4), libsvn_ra_dav/ra_dav.h
	(1.10), libsvn_ra_dav/session.c (1.17), libsvn_ra_local/ra_plugin.c
	(1.8), tests/libsvn_ra_local/ra-local-test.c (1.2):

	Rewrite interface twixt libsvn_ra_ and libsvn_client; no more dso's! 
	* ra_loader.c (svn_client_init_ra_libs, svn_client_get_ra_library): 
	  new public funcs.  
	* svn_client.h (svn_client_init_ra_libs, svn_client_get_ra_library):
	  new declarations.  
	* svn_ra.h (svn_ra_init_func_t):  add `url_type' arg.  
	  (svn_ra_dav_init, svn_ra_local_init):  must declare now! 
	* session.c (svn_ra_dav_init):  return new value.  
	* ra_plugin.c (svn_ra_local_init):  return new value.  
	* ra_dav_test.c, ra-commit.c (main): use new init interface, remove 

2001-02-15 17:17   Jim Blandy <>

	* subversion/libsvn_fs/: (1.33), tree.c (1.17):

	New path representation and cloning strategy.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add back tree.c;
	this compiles again.  
	* libsvn_fs/tree.c: #include "txn.h", since we want svn_fs__txn_id.  
	(mutable_root_node, make_path_mutable): New function.  
	(txn_body_node_prop): Use the new open_path function.  
	(svn_fs_node_prop): Fix node/root typo.  (struct
	change_node_prop_args, txn_body_change_node_prop, 
	svn_fs_change_node_prop): Use a root / path pair instead of a node.  
	(txn_body_delete, svn_fs_delete): Adapt to new parent_path_t
	(txn_body_txn_root, svn_fs_txn_root): Transaction objects are opaque 
	to us now.  (struct revision_root_args): Fix typo in declaration of
	root_p member.  

2001-02-15 17:02   Jim Blandy <>

	* subversion/libsvn_fs/: err.c (1.24), err.h (1.20):

	* libsvn_fs/err.c (svn_fs__err_not_mutable): Take a revision number 
	and path as arguments, instead of a node ID.  This should be a bit 
	more informative.  
	* libsvn_fs/err.h (svn_fs__err_not_mutable): Fix declaration.  

2001-02-15 17:01   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.18):

	* libsvn_fs/dag.h (svn_fs__dag_clone_child): Put amongst the other 
	directory operations.  Cloning a transaction root goes with the
	other root operations, so...  

2001-02-15 17:00   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.14):

	Annual Health Screening for the Older Pet 

2001-02-15 15:11   Karl Fogel <>

	* subversion/libsvn_fs/node-rev.c (1.3):

	Make some comments excruciatingly accurate.  

2001-02-15 15:10   Karl Fogel <>

	* subversion/libsvn_fs/node-rev.c (1.2):

	Heh, it's "NODE-REVISION" not "NODE-VERSION".  

2001-02-15 15:06   Karl Fogel <>

	* subversion/libsvn_fs/: (1.32), node-rev.c (1.1),
	rep.c (1.4):

	* Build node-rev.c, remove all mention of obsolete
	* rep.c: Removed (renamed to node-rev.c).  
	* node-rev.c: New file, inherit code from old rep.c, with the 
	following changes: 
	(svn_fs__get_node_revision, get_representation_skel, 
	put_representation_skel, svn_fs__get_node_revision, new_node_id, 
	svn_fs__create_node, new_successor_id, svn_fs__create_successor): 
	Accept a trail_t instead of db_txn and pool, to match Jim Blandy's 
	interface change of 2001-02-09 16:13.  
	(svn_fs__create_nodes, svn_fs__open_nodes): Delete these one-liners, 
	as they have no callers.  JimB's log entry of 2000-10-11 13:18 
	mentions some new calls to these functions, but I think he really 
	meant svn_fs__open_nodes_table, as that's what appears in the code.  
	(make_nodes): #ifdef out this callerless, static function, with 
	comment asking about its future.  
	(compare_nodes_keys, compare_ids, parse_node_revision_dbt): Deleted; 
	these live in nodes-table.c now.  
	(svn_fs__put_node_revision): Cast away a const warning, prepare to 
	receive ticking package from Branko.  

2001-02-15 13:00   Jim Blandy <>

	* subversion/libsvn_fs/dag.c (1.17):

	* libsvn_fs/dag.c (svn_fs__dag_txn_node): Delete stub function; was 
	deleted from interface in an earlier change.  

2001-02-15 12:58   Jim Blandy <>

	* subversion/libsvn_fs/: err.c (1.23), fs.c (1.37), nodes-table.c
	(1.6), rep.c (1.3), revision.c (1.8), trail.c (1.5), tree.c (1.16),
	txn-table.c (1.14):

	Cleanup from Yoshiki Hayashi <>: 
	* libsvn_fs/err.c (svn_fs__wrap_db, svn_fs__check_fs): Return 
	SVN_NO_ERROR instead of 0 for uniformity and readability.  
	* fs.c (check_already_open, cleanup_fs_db, cleanup_fs, allocate_env, 
	svn_fs_create_berkeley, svn_fs_open_berkeley, 
	svn_fs_berkeley_recover): Same.  
	* nodes-table.c (svn_fs__get_rep, svn_fs__put_rep, 
	svn_fs__new_node_id, svn_fs__new_successor_id): Same.  
	* rep.c (make_nodes): get_representation_skel, 
	put_representation_skel, svn_fs__get_node_revision, new_node_id, 
	svn_fs__create_node, new_successor_id, svn_fs__create_successor):
	* revision.c (get_revision_skel): svn_fs__revision_root, 
	put_revision_skel, make_revisions): Same.  
	* trail.c (begin_trail, abort_trail, svn_fs__retry_txn): Same.  
	* tree.c (txn_body_node_prop, svn_fs_node_prop, 
	txn_body_change_node_prop, svn_fs_change_node_prop,
	txn_body_delete): Same.  
	* txn-table.c (put_txn, allocate_txn_id, svn_fs__create_txn, 
	svn_fs__get_txn, svn_fs__set_txn_root): Same.  

2001-02-15 12:33   Jim Blandy <>

	* subversion/libsvn_fs/tree.c (1.15):

	* libsvn_fs/tree.c (root_node): New function.  
	(parent_path_t): New type.  
	(make_parent_path, free_parent_path, next_entry_name): New
	(open_path): Take another shot at implementing this.  

2001-02-15 11:23   Ben Collins-Sussman <>

	* (1.58):

	Ooops, add ra_local.  (See yesterday's commit) 

2001-02-15 11:14   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.17):

	* libsvn_fs/dag.h (svn_fs__dag_txn_node): Delete function.  In the 
	absence of a clones table making references to arbitrary nodes, it 
	should be sufficient to simply access nodes by following the
	directory structure.  
	* libsvn_fs/dag.h (svn_fs__dag_txn_root): New function.  

2001-02-15 10:24   Jim Blandy <>

	* subversion/libsvn_fs/dbt.h (1.16):

	Doc fix.  

2001-02-15 08:37   Jim Blandy <>

	* subversion/libsvn_fs/: dbt.c (1.16), dbt.h (1.15):

	* libsvn_fs/dbt.c (svn_fs__recno_dbt): Remove comment above
	function.  For functions that form part of a module's public
	interface, any explanation of their purpose or usage (as opposed to
	notes about the implementation) should be in the header file.  
	* libsvn_fs/dbt.h (svn_fs__recno_dbt): Beef up explanatory comment.  

2001-02-14 16:53  C. Michael Pilato <>

	* subversion/libsvn_delta/xml_parse.c (1.147):

	Little bug fix-er-oo in xml_handle_start() callback function.  

2001-02-14 15:31  C. Michael Pilato <>

	* subversion/: include/svn_delta.h (1.139), include/svn_types.h
	(1.57), libsvn_delta/compose_editors.c (1.12),
	libsvn_delta/default_editor.c (1.4), libsvn_delta/delta.h (1.52),
	libsvn_delta/xml_output.c (1.32), libsvn_delta/xml_parse.c (1.146),
	libsvn_ra_dav/commit.c (1.32), libsvn_ra_dav/fetch.c (1.38),
	libsvn_wc/adm_crawler.c (1.75), libsvn_wc/get_editor.c (1.165),
	tests/svn_test_editor.c (1.18),
	tests/libsvn_delta/xml-output-test.c (1.12):

	SWEEPING CHANGE: Updated editor composition functions to make use of 
	the new interface described in the following file(s): 
	* include/svn_delta.h 
	  Herein lies interface changes that have been debated, debated, and 
	  debated again.  The gist of the final (?) outcome of the debates
	  is as follows: 
	  (svn_delta_edit_fns_t->set_target_revision): New function to handle 
	  setting of global target revision for the current edit operation.  
	  (svn_delta_edit_fns_t->begin_edit): Re-re-named to "replace_root()".  
	  See below for further changes.  
	  (svn_delta_edit_fns_t->replace_file, replace_directory, 
	  replace_root): These now take only a base_revision instead of both
	  a target_revision and base_revision (or ancestor_revision).  
	  (svn_delta_edit_fns_t->add_file, add_directory): Renamed 
	  ancestor_revision and ancestor_path to base_revision and base_path 
	The following file(s) were lined up and shot with this sweeping
	* client/trace-commit.c 
	* client/trace-update.c 
	* libsvn_delta/compose_editors.c 
	* libsvn_delta/default_editor.c 
	* libsvn_ra_dav/commit.c 
	* libsvn_wc/adm_crawler.c 
	* libsvn_wc/get_editor.c 
	* tests/svn_test_editor.c 
	* tests/libsvn_delta/xml-output-test.c 
	In addition to the sweeping change above, the following file(s) were 
	modified as described below: 
	* libsvn_delta/xml_parse.c 
	* libsvn_delta/xml_output.c 
	  Now using the "base-rev" attributes instead of "ver", "base-path" 
	  instead of "ancestor", and the delta-pkg tag can now have a 
	  "target-rev" attribute.  
	Here are other files changed as a result of this group of edits, but 
	did not really suffer a "sweeping change.": 
	* include/libsvn_types.c 
	  (SVN_IGNORED_REVNUM): Re-define'ing this to be the same value as 
	  SVN_INVALID_REVNUM until which time someone can verify that all 
	  checks of a revision number against SVN_INVALID_REVNUM are a)
	  still valid or b) changed to use the SVN_IS_VALID_REVNUM() macro.  
	* libsvn_delta/delta.h 
	  (svn_xml__digger_t): Added target_revision.  
	* libsvn_ra_dav/fetch.c 
	  (svn_ra_dav__do_checkout): This is the checkout case, so pass 
	  SVN_IGNORED_REVNUM to the editor's replace_root() function.  
	MIKE'S NOTEZ:  While these changes do compile, and "make check" does 
	run without error, there are some obviously erraneous results from 
	these changes.  I am attacking these problems immediately after 
	checking this stuff in, but other works in progress depend on these 
	interfaces changes.  

2001-02-14 14:55   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.35), libsvn_ra_local/
	(1.2), libsvn_ra_local/ra_local.h (1.4),
	libsvn_ra_local/ra_plugin.c (1.7), libsvn_ra_local/track_editor.c
	(1.1), tests/ (1.11), tests/libsvn_ra_local/
	(1.1), tests/libsvn_ra_local/ra-local-test.c (1.1):

	Progress on ra_local.  
	* ra_local.h (svn_ra_local__session_baton_t): remove useless 
	  `revision' field.  
	* ra_plugin.c (svn_ra_local_init):  simplify return value.  :) 
	  (open):  temporary debugging printf.  
	* svn_ra.h (svn_ra_local_init):  now publically declared, since
	  we're no longer using on-demand DSOs 
	* (@SVN_LIBSVN_RA_DAV_LIBS@, AC_OUTPUT): add ra_local.  
	* Makefile (x2):  add ra_local.  
	* target.c (PATH_MAX):  compensate for now, so freebsd will build.  
	* tests/libsvn_ra_local/*:  new dir & files for ra_local mini-test 

2001-02-14 12:01   Branko Cibej <>

	* HACKING (1.25), subversion/include/svn_path.h (1.30),
	subversion/include/svn_test.h (1.10), subversion/libsvn_fs/dbt.h
	(1.14), subversion/libsvn_fs/id.h (1.9),
	subversion/libsvn_fs/structure (1.31):

	Documentation fixes.  
	Contributed by Yoshiki Hayashi <> 

2001-02-14 12:00   Branko Cibej <>

	* STACK (1.75):

	Added item about svn_path_first_component.  

2001-02-13 19:01   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.16):

	(svn_fs__dag_clone_root): Clarifying comments.  

2001-02-13 18:22   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.15):

	Include "node-rev.h" and "txn-table.h".  
	(svn_fs__dag_clone_root): Implemented, but untested.  
	(svn_fs__dag_revision_root): Undid previous changes -- am not using 
	this function after all.  
	(dag_node_t): Doc fix.  

2001-02-13 16:29   Jim Blandy <>

	* subversion/libsvn_fs/: tree.c (1.14), tree.h (1.4):

	Another intermediate checkin of tree.c.  
	* libsvn_fs/tree.c: Don't #include "clones-table.h" --- it doesn't 
	exist any more.  (struct svn_fs_root_t): Add `root_dir' member.  
	(make_revision_root): New argument, to initialize the root's 
	`root_dir' member.  
	(open_path): New prototype for this.  I'd like to to try writing a 
	bunch of the callers to see what they need, and then see if the job 
	can't be factored into something a bit simpler than Branko's 
	`open_path' function.  (struct node_prop_args): Renamed from `struct
	get_node_prop_args'.  Replace `node' member with a root / path pair.  
	(txn_body_node_prop): Renamed from `txn_body_get_node_prop'.  Adjust 
	to use root / path pair and hypothetical `open_path' function.  
	(svn_fs_node_prop): Adjust for above rearrangements.  
	(traverse_path, traverse_to_parent): Deleted.  
	(svn_fs__txn_root_node): Deleted.  Instead, move entire task of
	creating transaction and revision roots to this file: (struct
	txn_root_args, txn_body_txn_root, svn_fs_txn_root, struct 
	revision_root_args, txn_body_revision_root, svn_fs_revision_root):
	New types and functions.  
	* libsvn_fs/tree.h (svn_fs__txn_root_node): Delete declaration.  

2001-02-13 16:06   Jim Blandy <>

	* subversion/: include/svn_fs.h (1.46), libsvn_fs/txn.c (1.27):

	* include/svn_fs.h (svn_fs_txn_fs): New declaration.  
	* libsvn_fs/txn.c (svn_fs_txn_fs): New function.  
	* libsvn_fs/txn.c (struct txn_root_args, txn_body_txn_root, 
	svn_fs_txn_root): Moved to tree.c; will appear in a subsequent

2001-02-13 13:38  Kevin Pilch-Bisson <>

	* subversion/libsvn_subr/target.c (1.3):

	Sorry, one more occurrence of a system maximum path length macro
	changed to the APR version.  

2001-02-13 13:31  Kevin Pilch-Bisson <>

	* subversion/libsvn_subr/target.c (1.2):

	Changed to use the new APR_PATH_MAX define, instead of the local
	system version for portability reasons.  

2001-02-13 11:09   Karl Fogel <>

	* HACKING (1.24):

	Mention the left-paren exception to the GNU coding standards.  
	See dev messages from Greg Stein, Greg Hudson, and myself on this 
	<200102131635.LAA05760@egyptian-gods.MIT.EDU>, and 

2001-02-13 10:44   Jim Blandy <>

	* subversion/libsvn_fs/: (1.31), clones-table.c (1.7),
	clones-table.h (1.5), fs.c (1.36):

	Remove the final traces of the clones table.  
	* libsvn_fs/clones.c, libsvn_fs/clones.h: Delete files.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Remove clones.c and
	clones.h from the list.  
	* libsvn_fs/fs.c: Don't #include "clones-table.h".  
	(cleanup_fs, svn_fs_create_berkeley, svn_fs_open_berkeley): Don't 
	clean up, create, or open the `clones' table.  

2001-02-13 10:38   Jim Blandy <>

	* subversion/libsvn_fs/: dag.c (1.14), dag.h (1.16), tree.c (1.13):

	Continue working on converting tree.c to the new interface.  
	* libsvn_fs/tree.c (struct clone_path_t, struct svn_fs_node_t, 
	new_child, clone_path_to_string, undo_set_clone, set_clone, 
	check_for_clone, clone_path, make_clone, check_node_mutable, 
	svn_fs_close_node, svn_fs_is_dir, svn_fs_is_file, svn_fs_node_id, 
	svn_fs_get_node_txn, svn_fs_get_node_rev): Deleted.  (struct
	svn_fs_root_t): New type.  
	(make_root): Renamed from `new_root_object'.  
	(make_revision_root, make_txn_root, svn_fs_close_root,
	svn_fs_root_fs, svn_fs_is_txn_root, svn_fs_is_revision_root,
	svn_fs_txn_root_name, svn_fs_revision_root_revision): New functions.  
	(open_path): Moved here from dag.c, where it was named
	* libsvn_fs/dag.c (svn_fs__dag_open_path): Function moved to tree.c, 
	made static, and renamed to `open_path'.  
	* libsvn_fs/dag.h (svn_fs__dag_open_path): Remove declaration.  
	* libsvn_fs/dag.c (dag_init_fs): Pass a trail to svn_fs_put_rep, not
	a DB transaction and pool.  

2001-02-13 10:21   Jim Blandy <>

	* subversion/libsvn_fs/txn-table.c (1.13):

	* libsvn_fs/txn-table.c (is_valid_transaction): Move this earlier in
	the file.  
	(put_txn): Call it, to sanity check the structure we just built.  

2001-02-13 10:18   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.30):

	Doc fix.  

2001-02-13 10:17   Jim Blandy <>

	* subversion/libsvn_fs/: nodes-table.c (1.5), nodes-table.h (1.5):

	Convert the nodes table code to use trails.  
	* libsvn_fs/nodes-table.c (svn_fs__get_rep, svn_fs__put_rep, 
	svn_fs__new_node_id, svn_fs__new_successor_id): Take a trail_t 
	argument, instead of a Berkeley DB transaction and a pool.  
	* libsvn_fs/nodes-table.h: Fix declarations.  

2001-02-13 10:15   Karl Fogel <>

	* subversion/libsvn_fs/txn.h (1.7):

	Fix descriptive comment at top of file.  

2001-02-13 10:14   Jim Blandy <>

	* subversion/libsvn_fs/: err.c (1.22), err.h (1.19):

	* libsvn_fs/err.c (svn_fs__err_not_directory): New function.  
	* libsvn_fs/err.h (svn_fs__err_not_directory): New declaration.  

2001-02-13 09:58   Karl Fogel <>

	* subversion/libsvn_fs/txn.c (1.26):

	(txn_body_txn_root): Comment out call to svn_fs__txn_root_node to
	get fs to compile, will undo this change when tree.c is part of the 
	compilation again.  

2001-02-12 22:34   Greg Stein <>

	* BUGS (1.5, milestone-2):

	a bit more refinement on APR bug reporting.  

2001-02-12 22:33   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.17), deadprops.c (1.8),
	repos.c (1.33), version.c (1.13):

	Updates to the new FS API 
	* dav_svn.h (dav_svn_repos): toss the root info since one repository
	    may have multiple roots opened (depending on what we're doing).  
	  (dav_svn_root): new struct to hold onto a repository root and its 
	    associated information.  
	  (dav_resource_private): add repos_path to state where the resource
	    is located within the FS repository. toss object_name (obsolete),
	    and activity_id and txn_name (moved to dav_svn_root) 
	* deadprops.c (dav_svn_db_fetch, dav_svn_db_store,
	    dav_svn_db_remove, dav_svn_db_exists, dav_svn_db_firstkey): path
	    ROOT and REPOS_PATH to the FS functions.  
	* version.c (dav_svn_checkout): use repos_path rather than
	(dav_svn_make_activity): use root.activity_id rather than
	* repos.c (dav_stream): remove "file" member from structure 
	  (dav_svn_parse_version_uri, dav_svn_parse_history_uri): use
	    repos_path rather than object_name 
	  (dav_svn_parse_working_uri): use repos_path rather than
	    object_name. use root.activity_id rather than activity_id.  
	  (dav_svn_parse_activity_uri): use root.activity_id rather than
	(dav_svn_parse_uri): fill in repos_path for REGULAR resources 
	  (dav_svn_prep_regular): update for new FS API taking
	    priv.root.root and priv.repos_path parameters 
	  (dav_svn_prep_working, dav_svn_prep_activity): use 
	    root.activity_id/txn_name rather than activity_id/txn_name.  
	  (dav_svn_get_resource): initialize new priv.root structure 
	  (dav_svn_open_stream, dav_svn_getetag, dav_svn_set_headers, 
	      dav_svn_create_collection, dav_svn_remove_resource): use new
	    FS API which take info->root.root and info->repos_path
	(dav_svn_do_walk): update for new FS API; no longer needs to
	    save/restore nodes, but just do path manipulation 
	  (dav_svn_walk): for now, only allow walking REGULAR resources;
	    prep the repos_path value.  
	  (dav_svn_create_working_resource): update for new root structure 

2001-02-12 19:29   Branko Cibej <>

	* subversion/libsvn_fs/dag.c (1.13):

	(svn_fs__dag_open_path): Return child's name in its parent dir, too.  

2001-02-12 19:28   Branko Cibej <>

	* subversion/libsvn_fs/dag.h (1.15):

	(svn_fs__dag_open_path): Return child' name in its parent dir, too.  

2001-02-12 19:20   Branko Cibej <>

	* subversion/libsvn_fs/tree.c (1.12):

	Reworking to fit new FS interface.  
	Saving current work. tree.c does *not* compile yet, but another 
	iteration should get us there.  
	(svn_fs_node_t): Renamed to svn_fs_root_t; some fields removed.  
	(new_node_object): Renamed to new_root_object.  
	 svn_fs_copy): Renamed and/or changed to conform to new API.  
	(svn_fs_open_node): Removed.  
	(txn_body_delete): Partial rewrite, use DAG nodes instead of FS
	(svn_fs__txn_root_node): Reflect the svn_fs_node_t -> svn_fs_root_t

2001-02-12 18:27   Branko Cibej <>

	* subversion/libsvn_fs/dag.c (1.12):

	Reworking to fit new FS interface.  
	(svn_fs__dag_open_path): Dummy implementation.  

2001-02-12 18:26   Branko Cibej <>

	* subversion/libsvn_fs/dag.h (1.14):

	Reworking to fit new FS interface.  
	(svn_fs__dag_open_path): New interface; will be used in tree.c to
	open DAG nodes.  

2001-02-12 17:29   Branko Cibej <>

	* subversion/libsvn_fs/txn.c (1.25):

	Reworking to fit new FS interface.  
	(svn_fs_open_txn_root): Renamed to svn_fs_txn_root.  
	(open_txn_root_args): Renamed to txn_root_args.  
	(txn_body_open_txn_root): Renamed to txn_body_txn_root.  

2001-02-12 17:26   Branko Cibej <>

	* subversion/include/svn_fs.h (1.45):

	(svn_fs_revision_root, svn_fs_txn_root): root_p must be an

2001-02-12 17:18   Branko Cibej <>

	* subversion/libsvn_fs/ (1.30):

	Enable compilation of txn.c again.  

2001-02-12 17:16   Branko Cibej <>

	* subversion/libsvn_fs/txn.c (1.24):

	Reworking to fit new FS interface.  
	(open_txn_root_args): Replace dir_p with root_p, an svn_fs_root_t.  
	(txn_body_open_txn_root): Adjust for this change.  
	(svn_fs_open_txn_root): Likewise.  

2001-02-12 17:12   Branko Cibej <>

	* subversion/libsvn_fs/tree.h (1.3):

	Reworking to fit new FS interface.  
	(svn_fs__txn_root_node): Return an svn_fs_root_t.  

2001-02-12 13:22  C. Michael Pilato <>

	* subversion/libsvn_delta/svndiff.c (1.17):

	* libsvn_delta/svn_diff.c 
	  (window_handler): Minor fix for compiler warning (needed cast).  

2001-02-12 13:21  C. Michael Pilato <>

	* subversion/include/svn_types.h (1.56):

	* include/svn_types.h 
	  (SVN_IS_VALID_REVNUM):  Oops.  Not supposed to have a space in the

2001-02-12 12:00   Jim Blandy <>

	* subversion/include/svn_fs.h (1.44):

	* include/svn_fs.h (svn_fs_revision_proplist): Renamed from 
	svn_fs_get_rev_proplist, for consistency with other functions.  

2001-02-12 12:00  Kevin Pilch-Bisson <>

	* subversion/: include/svn_path.h (1.29), libsvn_subr/
	(1.16), libsvn_subr/target.c (1.1), tests/libsvn_subr/
	(1.17), tests/libsvn_subr/target-test.c (1.1),
	tests/libsvn_subr/ (1.1):

	The implementation of svn_path_get_absolute, svn_path_split_if_file 
	and svn_path_condense_targets.  
	    * new file libsvn_subr/target.c implementations 
	    * new file test/libsvn_subr/target-test.c a test program for above 
	    * new file test/libsvn_subr/ invokation script for
	    * libsvn_subr/ test/libsvn_subr/, addition of 
	        those files and test suites.  
	    * include/svn_path.h prototypes for the above functions.  

2001-02-12 11:57   Jim Blandy <>

	* subversion/: include/svn_fs.h (1.43), libsvn_fs/

	Change filesystem interface to use roots and paths, instead of node 
	* include/svn_fs.h (svn_fs_node_t, svn_fs_close_node, 
	svn_fs_get_node_id, svn_fs_get_node_txn, svn_fs_get_node_rev, 
	svn_fs_open_node, svn_fs_open_rev_root): Deleted.  
	(svn_fs_root_t, svn_fs_revision_root, svn_fs_txn_root, 
	svn_fs_close_root, svn_fs_root_fs, svn_fs_is_txn_root, 
	svn_fs_is_revision_root, svn_fs_txn_root_name, 
	svn_fs_revision_root_revision): New type and functions.  
	(svn_fs_change_node_prop, svn_fs_merge, svn_fs_dir_entries, 
	svn_fs_make_dir, svn_fs_delete, svn_fs_delete_tree, svn_fs_rename, 
	svn_fs_copy, svn_fs_file_length, svn_fs_file_contents, 
	svn_fs_make_file, svn_fs_apply_textdelta, svn_fs_dir_delta, 
	svn_fs_file_delta): Use svn_fs_root_t's and paths, not 
	(svn_fs_is_dir, svn_fs_is_file, svn_fs_node_prop, 
	svn_fs_node_proplist): Renamed from svn_fs_node_is_dir, 
	svn_fs_node_is_file, svn_fs_get_node_prop, svn_fs_get_node_proplist; 
	use an svn_fs_root_t and path, not svn_fs_node_t.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Remove editor.c, 
	tree.c, and txn.c from the list, since they don't compile any more.  
	We'll put them back as we fix them.  
	* include/svn_fs.h (svn_fs_youngest_rev): Fix order of arguments; 
	youngest_p is a return value, so it should come first.  
	* include/svn_fs.h (svn_fs_revision_prop): Renamed from 
	svn_fs_get_revision_prop, for consistency with other functions.  

2001-02-12 11:42   Karl Fogel <>

	* STACK (1.74):

	Added item from list discussion between GregS and Ben.  

2001-02-12 10:53  Kevin Pilch-Bisson <>

	* subversion/libsvn_subr/path.c (1.31):

	Fixed a minor fencepost error, that was causing two null terminators
	if it reached the end of a string.  

2001-02-12 10:51   Jim Blandy <>

	* subversion/libsvn_fs/trail.c (1.4):

	* libsvn_fs/trail.c (svn_fs__retry_txn): Doc fix.  

2001-02-12 10:49   Jim Blandy <>

	* subversion/libsvn_fs/fs.c (1.35):

	* libsvn_fs/fs.c: Formatting tweak.  

2001-02-12 09:51   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.13):

	* libsvn_fs/dag.h: Doc fixes about copy nodes.  
	(svn_fs__dag_is_copy, svn_fs__dag_get_copy): New functions.  

2001-02-12 06:47   Daniel Stenberg <>

	* BUGS (1.4):

	as Greg Stein just pointed out on the list, the email address for
	APR bug report was wrong, fixed now PR: Obtained from: Submitted by: 
	Reviewed by: 

2001-02-11 22:40   Greg Stein <>

	* subversion/: libsvn_subr/hashdump.c (1.21), libsvn_subr/io.c
	(1.30), libsvn_wc/entries.c (1.87), libsvn_wc/questions.c (1.50):

	Fix a bad rename: apr_file_read_file should be apr_file_read_full 
	(was originally apr_full_read) 

2001-02-11 18:26   Branko Cibej <>

	* subversion/: libsvn_fs/clones-table.c (1.6),
	libsvn_fs/clones-table.h (1.4), libsvn_fs/convert-size.c (1.10),
	libsvn_fs/convert-size.h (1.6), libsvn_fs/dag.c (1.11),
	libsvn_fs/dag.h (1.12), libsvn_fs/dbt.c (1.15), libsvn_fs/dbt.h
	(1.13), libsvn_fs/delta.c (1.24), libsvn_repos/delta.c (1.24),
	libsvn_fs/err.c (1.21), libsvn_fs/err.h (1.18), libsvn_fs/file.h
	(1.9), libsvn_fs/fs.c (1.34), libsvn_fs/fs.h (1.17), libsvn_fs/id.c
	(1.15), libsvn_fs/id.h (1.8), libsvn_fs/node-rev.h (1.4),
	libsvn_fs/nodes-table.c (1.4), libsvn_fs/nodes-table.h (1.4),
	libsvn_fs/rep.c (1.2), libsvn_fs/rev-table.h (1.3),
	libsvn_fs/revision.c (1.7), libsvn_fs/revision.h (1.4),
	libsvn_fs/skel.c (1.17), libsvn_fs/skel.h (1.13), libsvn_fs/trail.c
	(1.3), libsvn_fs/trail.h (1.3), libsvn_fs/tree.c (1.11),
	libsvn_fs/tree.h (1.2), libsvn_fs/txn-table.c (1.12),
	libsvn_fs/txn-table.h (1.8), libsvn_fs/txn.c (1.23),
	libsvn_fs/txn.h (1.6), libsvn_fs/validate.c (1.2):

	Let's follow the coding style: Removed all tabs, added local eval
	bits where missing.  

2001-02-09 20:22   Branko Cibej <>

	* subversion/libsvn_fs/dag.h (1.11):

	* dag.h (svn_fs__dag_make_copy): First stab at interface for
	creating copy nodes.  

2001-02-09 20:08   Branko Cibej <>

	* subversion/libsvn_ra_local/.cvsignore (1.1, milestone-2):

	This one is obvious.  

2001-02-09 19:46   Branko Cibej <>

	* subversion/libsvn_fs/structure (1.29):

	Added description of COPY nodes, and a `Copying' section (just the 
	template from STACK right now).  
	Oh, and must have done an `M-x untabify RET' somewhere along the 
	line. Sorry about the spurious diffs.  

2001-02-09 18:59   Ben Collins-Sussman <>

	* (1.57), subversion/ (1.22),
	subversion/libsvn_ra_local/ (1.1),
	subversion/libsvn_ra_local/ra_local.h (1.3),
	subversion/libsvn_ra_local/ra_plugin.c (1.6),
	subversion/libsvn_ra_local/split_url.c (1.3):

	OK, libsvn_ra_local is now linked into main svn tree and is
	*  add libsvn_ra_local 
	*  add libsvn_ra_local 
	*  new file in libsvn_ra_local 
	* ra_local.h (svn_ra__local_commit_hook_baton_t):  fix func
	  pointers.  Also, this symbol gets nominated for longest silly type
	name.  :-) 
	* ra_plugin.c (many symbols):  fix typos, compile-o's as necessary.  
	* split_url.c (svn_ra_local__split_URL):  filled out routine.  

2001-02-09 17:14  C. Michael Pilato <>

	* subversion/libsvn_delta/: delta.h (1.51), xml_output.c (1.31),
	xml_parse.c (1.145):

	* libsvn_delta/delta.h 
	  Added #defines for the various XML tag names and attribute names
	  used by the xml parser and xml output routines in this module.  
	* libsvn_delta/xml-parse.c 
	* libsvn_delta/xml-output.c 
	  Modified various functions to use the newly abstracted XML tag names
	  and attribute names found in delta.h instead of explicitly
	  referencing char strings.  
	  All of the above was done in anticipation of (yea, as a precursor 
	  to) a slew of editor interface changes that I'll soon be working
	  on, which will inevitably result in changes to the XML DTD as
	  well.  Greg Stein, please put on your Namespace Protection Police
	  cap and make sure that new brain I ordered this morning is working
	  better than my old one.  

2001-02-09 16:13   Jim Blandy <>

	* subversion/libsvn_fs/node-rev.h (1.3):

	* libsvn_fs/node-rev.h (svn_fs__get_node_revision, 
	svn_fs__put_node_revision, svn_fs__create_node, 
	svn_fs__create_successor, svn_fs__stable_node): Accept a trail, 
	instead of a Berkeley DB transaction and a pool.  

2001-02-09 15:05   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.34):

	(do_update):  docfix, based on latest discussions.  

2001-02-09 14:36   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.10):

	Doc fixes.  

2001-02-09 14:26   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.9):

	* libsvn_fs/dag.h (svn_fs__dag_get_fs): Remove stray `const'.  

2001-02-09 02:22  Bill Tutt <>

	* subversion/clients/win32/svn_com/SVN.cpp (1.5, milestone-2):

	SVN.cpp (CSVNWorkingCopy::wc_statuses): Rename apr_make_hash to
	apr_hash_make to follow APR's lead.  

2001-02-08 23:39  C. Michael Pilato <>

	* subversion/include/svn_types.h (1.55):

	Fixing a gross violation of namespace integrity (IS_VALID_REVNUM
	should be, and now is, SVN_IS_VALID_REVNUM), as well as dishonest

2001-02-08 22:30   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/: ra_local.h (1.2), ra_plugin.c (1.5),
	split_url.c (1.2):

	Saving work.  

2001-02-08 21:36   Ben Collins-Sussman <>

	* subversion/include/svn_path.h (1.28):

	docfix in header comment.  

2001-02-08 20:13   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.32):

	(dav_svn_prep_regular): add "fs" parameter to svn_fs_youngest_rev
	    call [this call is still #if'd out] 
	(dav_svn_open_stream): add a check for opening a writable stream 
	(dav_svn_create_collection): begin some implementation 
	(dav_svn_remove_resource): begin some implementation 

2001-02-08 20:02   Greg Stein <>

	* subversion/: include/svn_fs.h (1.42), libsvn_fs/tree.c (1.10):

	* include/svn_fs.h (svn_fs_make_dir): add "const" to path parameter 
	* libsvn_fs/tree.c (svn_fs_make_dir): add "const" to path parameter 

2001-02-08 19:34   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/ra_plugin.c (1.4):

	Fleshing out routines, bit by bit.  

2001-02-08 19:24   Ben Collins-Sussman <>

	* subversion/include/svn_fs.h (1.41):

	(svn_fs_youngest_rev):  um, I think we need the `fs' arg in the 
	declaration here.  :-) 

2001-02-08 19:23   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.10), editor.c (1.7):

	(dag_node_t): Added skel field.  Removed is_mutable and kind fields; 
	they just cache information that's in the skel anyway, and it's 
	premature to make a cache at this point.  Removed ancestor field.  
	(edit_baton): Cache txn name.  
	(clone_root): New helper func, a txn_body for svn_fs__retry_txn.  
	(begin_edit): Use it.  
	(svn_fs__dag_revision_root, svn_fs__dag_clone_root): Started 

2001-02-08 19:04   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/: ra_local.h (1.1), ra_plugin.c (1.3),
	split_url.c (1.1):

	Adding files for backup;  not attempting compilation yet.  

2001-02-08 19:00   Greg Stein <>

	* STACK (1.73):

	bumble bumble bumbly boo 

2001-02-08 18:48   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.33), libsvn_ra_dav/commit.c
	(1.31), libsvn_ra_dav/ra_dav.h (1.9), libsvn_ra_local/ra_plugin.c

	Temporary change to RA interface until Change #2 is completed.  
	* svn_ra.h (svn_ra_plugin_t->get_commit_editor): add base_revision 
	  argument, to align correctly with svn_fs_get_editor.  
	* ra_dav.h (svn_ra_dav__get_commit_editor): add base_revision arg 
	* commit.c (svn_ra_dav__get_commit_editor): same.  

2001-02-08 16:37  C. Michael Pilato <>

	* subversion/include/svn_types.h (1.54):

	(IS_VALID_REVNUM): New macro for determining validity of a revision 
	(SVN_IGNORED_REVNUM): New #define for svn_revnum_t's that are not 
	really invalid...just unimportant to functions that take them as

2001-02-08 12:55   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.28):

	* libsvn_fs/structure: Remove all references to the `clones' table; 
	we're simplifying the FS interface to make it unnecessary.  Remove
	the optional BASE-PATH from directory entries; that also existed
	only to allow clone tracking.  

2001-02-08 12:52   Karl Fogel <>

	* subversion/libsvn_fs/dag.c (1.9):

	(dag_node_t): Doc clarification.  

2001-02-08 12:44   Karl Fogel <>

	* subversion/libsvn_fs/: dag.c (1.8), editor.c (1.6):

	(dag_node_t): Removed silly svn_fs_node_t field.  Added is_mutable, 
	kind, and ancestor fields.  Documented all fields.  
	(dir_baton, file_baton): Added dag_node_t node fields.  
	(begin_edit): Use the dag interface, not that other interface.  
	(everywhere): Replace "db" with "dirb", because in the filesystem 
	context, saying "db" for dir baton might cause it to be confused 
	with the database.  

2001-02-08 11:53  C. Michael Pilato <>

	* STACK (1.72):

	Assigning myself a little piece o' Hell.  

2001-02-08 11:26   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.8):

	* libsvn_fs/dag.h (svn_fs__dag_get_fs, svn_fs__dag_is_mutable, 
	svn_fs__dag_is_file, svn_fs__dag_is_directory): New functions.  
	* libsvn_fs/dag.h: Doc fixes.  
	* libsvn_fs/dag.h (svn_fs__dag_revision_root, svn_fs__dag_txn_node): 
	Move these to a separate page, with the other root-handling
	(svn_fs__dag_dup, svn_fs__dag_get_id): Move these to "Generic DAG
	node stuff" page.  

2001-02-08 06:32   Greg Stein <>

	* subversion/: libsvn_client/add.c (1.6),
	libsvn_client/apply_edits.c (1.12), libsvn_client/commit.c (1.18),
	libsvn_client/delete.c (1.7), libsvn_client/status.c (1.9),
	libsvn_delta/svndiff.c (1.16), libsvn_delta/text_delta.c (1.28),
	libsvn_delta/xml_output.c (1.30), libsvn_delta/xml_parse.c (1.144),
	libsvn_fs/dbt.c (1.14), libsvn_fs/delta.c (1.23), libsvn_fs/fs.c
	(1.33), libsvn_fs/revision.c (1.6), libsvn_fs/trail.c (1.2),
	libsvn_fs/tree.c (1.9), libsvn_fs/txn.c (1.22),
	libsvn_repos/delta.c (1.23), libsvn_ra_dav/commit.c (1.30),
	libsvn_ra_dav/fetch.c (1.37), libsvn_ra_dav/session.c (1.16),
	libsvn_subr/base64.c (1.15), libsvn_subr/hashdump.c (1.20),
	libsvn_subr/io.c (1.29), libsvn_subr/keysort.c (1.8),
	libsvn_subr/quoprint.c (1.2), libsvn_subr/svn_error.c (1.50),
	libsvn_subr/xml.c (1.35), libsvn_wc/adm_crawler.c (1.74),
	libsvn_wc/adm_files.c (1.68), libsvn_wc/entries.c (1.86),
	libsvn_wc/get_editor.c (1.164), libsvn_wc/log.c (1.86),
	libsvn_wc/props.c (1.24), libsvn_wc/questions.c (1.49),
	libsvn_wc/util.c (1.16), mod_dav_svn/liveprops.c (1.14),
	svnadmin/main.c (1.3), tests/svn_tests_main.c (1.16),
	tests/libsvn_delta/deltaparse-test.c (1.63),
	tests/libsvn_delta/random-test.c (1.19),
	tests/libsvn_subr/hashdump-test.c (1.17),
	tests/libsvn_wc/checkout-test.c (1.40),
	tests/libsvn_wc/commit-test.c (1.18):

	Big APR renaming for function name consistency.  

2001-02-08 06:08   Greg Stein <>

	* subversion/mod_dav_svn/version.c (1.12):

	(dav_svn_checkout): ensure the activity exists 

2001-02-08 05:45   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.16), liveprops.c (1.13),
	repos.c (1.31), version.c (1.11):

	Get the rough outline of CHECKOUT working. This allows a client to
	perform a checkout against a version resource URL and get back a
	meaningful working resource URL. (bits are missing, but the
	framework is now there) 
	* dav_svn.h (dav_svn_repos): rename root_uri to root_path for
	    clarity (it is just the path portion of a URI); add base_url and
	(dav_resource_private): remove pool; rename path to uri_path for
	    clarity (and to prevent confusion with a repos path); add comments
	    about object_name interpretation; add activity_id for working and
	    activity resources to use; add node_id for version resources to use 
	  (dav_svn_create_working_resource): new func. add prototype.  
	* liveprops.c (dav_svn_insert_prop): private.pool is now gone; grab
	    pool from the public part of the resource.  
	* repos.c (dav_svn_parse_version_uri): implement 
	  (dav_svn_parse_working_uri): implement 
	  (dav_svn_parse_activity_uri): store activity_id in
	    private.activity_id rather than object_name.  
	  (dav_svn_prep_regular): private.path is now private.uri_path 
	  (dav_svn_prep_version): pretend version resources always exist 
	  (dav_svn_prep_working): implement 
	  (dav_svn_prep_activity): use private.activity_id rather than
	(dav_svn_get_resource): rename parameter from root_uri to root_path
	    to better reflect its semantic; private.pool is now gone;
	    private.path is now private.uri_path; store base_url and special_uri
	    into the repos structure 
	  (dav_svn_get_parent_resource, dav_svn_is_same_resource, 
	      dav_svn_get_parent_resource, dav_svn_is_parent_resource, 
	      dav_svn_do_walk, dav_svn_walk): private.path is now
	(dav_svn_open_stream, dav_svn_getetag): private.pool is now gone,
	    use resource pool instead 
	  (dav_svn_create_working_resource): new function 
	* version.c (dav_svn_checkout): implement 

2001-02-08 02:12   Greg Stein <>

	* subversion/: mod_dav_svn/ (1.13),
	libsvn_delta/ (1.17):

	FS now depends on DELTA. include that into the mod_dav_svn
	installation handling.  

2001-02-08 01:49   Greg Stein <>

	* subversion/: include/svn_ra.h (1.32), libsvn_ra_dav/commit.c
	(1.29), libsvn_ra_dav/fetch.c (1.36), libsvn_ra_dav/ra_dav.h (1.8),
	libsvn_ra_dav/session.c (1.15):

	switch over to the new RA API.  (no functional change) 

2001-02-07 22:46   Ben Collins-Sussman <>

	* subversion/libsvn_ra_local/ra_plugin.c (1.1):

	New file with ra_local skeleton in it.  

2001-02-07 17:48   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.31):

	Minor tweaks to new RA interface.  
	(svn_ra_reporter_t):  don't need set_baseline, because the root URL
	is already specified in open().  Also change some doc strings.  
	(svn_ra_plugin_t->do_checkout):  don't need root_path arg, again 
	because root URL is specified in open() (thus it's part of the 
	ra_session object).  

2001-02-07 17:29  C. Michael Pilato <>

	* subversion/: include/svn_fs.h (1.40), libsvn_fs/editor.c (1.5),
	libsvn_fs/txn.c (1.21):

	* include/svn_fs.h 
	  (svn_fs_commit_txn): Changed prototype to return the new revision 
	  number that results from this successful commit! 
	* libsvn_fs/editor.c 
	  General Statement:  base revision handling is about to undergo 
	  Change #2, so stay tuned for more updates in this arena.  
	  (begin_edit): Implemented basic functionality, which for now means 
	  that we call svn_fs_begin_txn() to get a txn, then toss that into 
	  svn_fs_open_txn_root() to get the root directory of the
	  transaction.  Also added necessary variables to the edit_baton,
	  dir_baton, and file_baton structures associated with transactions.  
	  (close_edit): Began (perhaps completed?) implementation of this one.  
	* libsvn_fs/txn.c 
	  (svn_fs_commit_txn): Implemented skeleton function.  Does precious 

2001-02-07 16:54   Greg Stein <>

	* subversion/svnadmin/ (1.2):

	FS now depends on DELTA, so we must link that in, too.  

2001-02-07 16:12   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.30):

	Beginning change #4 and #5, which revise the RA interface quite a
	(This is in preparation for writing ra_local, which will use the 
	filesystem commit-editor being written on top of libsvn_fs/dag.c.) 
	* svn_ra.h: 
	  (svn_ra_reporter_t): new vtable type for reporting WC state, part of 
	  change #5.  
	  (svn_ra_close_commit_func_t, svn_ra_set_wc_prop_func_t):  new 
	  function types, for closing a commit.  
	  (svn_ra_plugin_t->get_commit_editor):  major new interface (Change
	  (svn_ra_plugin_t->do_checkout) doc fix;  add root_path back in.  
	  (svn_ra_plugin_t->do_update) new interface to use `reporter' and

2001-02-07 14:42   Jim Blandy <>

	* subversion/include/svn_fs.h (1.39):

	Doc fixes.  

2001-02-07 10:42   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.38), libsvn_fs/dag.c (1.7),
	libsvn_fs/editor.c (1.4):

	(svn_fs_get_editor): Take log_message arg, store it in edit_baton.  
	(dag_node_t): Include underlying svn_fs_node_t.  

2001-02-07 06:35   Greg Stein <>

	* subversion/mod_dav_svn/: repos.c (1.30), version.c (1.10):

	Update to latest mod_dav API (some CHECKOUT code was updated in
	Apache, which affected the APIs) 

2001-02-07 03:43   Greg Stein <>

	* (1.56), subversion/libsvn_fs/ (1.28),
	subversion/tests/libsvn_fs/ (1.14):

	System headers are hopelessly whacked. I give up. This commit backs
	out the POSIX_SOURCE thing. As a result, we can't check for
	redundant declarations because we'll get errors from the system

2001-02-06 19:30   Branko Cibej <>

	* subversion/libsvn_fs/dag.c (1.6):

	Oh all right, I give in.  
	(But I still think svn_fs__parse_skel and friends should take `const 
	char*' parameters.) 
	(dag_init_fs): Make rep_skel and rev_skel non-const and remove

2001-02-06 19:26   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.37), libsvn_fs/dag.c (1.5),
	libsvn_fs/editor.c (1.3):

	(svn_fs_commit_hook_t): Removed log_msg argument, adjust callers and 
	documentation accordingly.  
	(dag_node_t): Start defining this struct.  

2001-02-06 18:12   Karl Fogel <>

	* subversion/libsvn_fs/editor.c (1.2):

	Do baton construction and swapping correctly.  

2001-02-06 18:00   Karl Fogel <>

	* subversion/libsvn_delta/: compose_editors.c (1.11),
	default_editor.c (1.3):

	(change_dir_prop): Fix typo.  

2001-02-06 17:26   Karl Fogel <>

	* subversion/: include/svn_fs.h (1.36), libsvn_fs/
	(1.27), libsvn_fs/editor.c (1.1):

	Start tree editor interface for committing changes to the
	(svn_fs_commit_hook_t): New prototype 
	(svn_fs_get_editor): New function.  
	* libsvn_fs/editor.c: New file.  

2001-02-06 15:16  C. Michael Pilato <>

	* subversion/libsvn_fs/libsvn_fs.dsp (1.7):

	After a chat with Jim, we've found some files in the libsvn_fs win32
	build that shouldn't be there, namely dir.c, node.c, and node.h. 
	Also, the file txn-table.h was inaccurately existing in the project
	as txm-table.h.  

2001-02-06 12:27   Karl Fogel <>

	* subversion/libsvn_fs/: (1.26), dir.c (1.14), node.h

	* dir.c, node.h: Removed, Jim says they're not relevant anymore.  

2001-02-06 10:33   Karl Fogel <>

	* subversion/tests/libsvn_wc/ (1.17):

	(noinst_PROGRAMS): Restored "commit-test".  
	(commit_test_SOURCES): Uncommented.  
	(commit_test_LDADD): Use the right incantation.  

2001-02-05 18:46   Karl Fogel <>

	* subversion/: include/svn_client.h (1.21), include/svn_delta.h
	(1.138), include/svn_fs.h (1.35), include/svn_ra.h (1.29),
	include/svn_test.h (1.9), include/svn_wc.h (1.71),
	libsvn_client/apply_edits.c (1.11), libsvn_client/checkout.c
	(1.14), libsvn_client/client.h (1.10), libsvn_client/commit.c
	(1.17), libsvn_client/update.c (1.11),
	libsvn_delta/compose_editors.c (1.10),
	libsvn_delta/default_editor.c (1.2), libsvn_delta/delta.h (1.50),
	libsvn_delta/xml_output.c (1.29), libsvn_delta/xml_parse.c (1.143),
	libsvn_fs/delta.c (1.22), libsvn_repos/delta.c (1.22),
	libsvn_ra_dav/commit.c (1.28), libsvn_ra_dav/fetch.c (1.35),
	libsvn_ra_dav/ra_dav.h (1.7), libsvn_wc/adm_crawler.c (1.73),
	libsvn_wc/adm_ops.c (1.41), libsvn_wc/get_editor.c (1.163),
	libsvn_wc/status.c (1.26), tests/svn_test_editor.c (1.17),
	tests/libsvn_delta/deltaparse-test.c (1.62),
	tests/libsvn_delta/xml-output-test.c (1.11),
	tests/libsvn_wc/ (1.16), tests/libsvn_wc/checkout-test.c
	(1.39), tests/libsvn_wc/commit-test.c (1.17):

	Reverted Change #1, also known as "2001-01-30 17:06   Karl Fogel".  
	The unrelated portions of that change were not reverted, however.  
	Also, where Change #1 overlapped with Change #8, appropriate 
	adjustments were made, and this new code was added: 
	* libsvn_delta/default_editor.c (replace_root, close_edit): New 
	(default_editor): Include them.  
	Unrelated to the reversion, renamed two editor functions: 
	* include/svn_delta.h (svn_delta_edit_fns_t): Rename "replace_root"
	to "begin_edit" and "delete_item" to "delete_entry".  All callers
	and providers changed.  Considered fixing the doc string here to
	describe how an editor should remain inactive until begin_edit() is
	called, but the existing doc implies this, and it's intuitively what
	one would expect anyway.  
	Finally, one non-code bugaboo about the reversion, which will need
	to be investigated further: 
	* tests/libsvn_wc/ (noinst_PROGRAMS, commit_test_SOURCES, 
	commit_test_LDADD): Don't build commit-test for now, due to the 
	bizarre linker error mentioned in a comment in the sources.  I think 
	it's just a matter of changing some orderings in commit_test_LDADD, 
	will go back and investigate after this commit.  

2001-02-05 14:12   Karl Fogel <>

	* subversion/tests/: svn_tests_main.c (1.15), libsvn_fs/fs-test.c

	Make the test framework able to run multiple named tests: 
	* tests/svn_tests_main.c (main): Handle multiple test number
	Untangle filesystem intertest dependencies, so tests can be run 
	* tests/libsvn_fs/fs-test.c (create_berkeley_filesystem, 
	trivial_transaction): Do nothing if run twice.  Latter make sure 
	former has been run, too.  
	(open_berkeley_filesystem, reopen_trivial_transaction, 
	list_live_transactions): Make sure dependees have been run.  

2001-02-05 08:11   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.15), repos.c (1.29):

	Store the transaction name for later usage.  

2001-02-05 08:08   Greg Stein <>

	* subversion/mod_dav_svn/: activity.c (1.2), dav_svn.h (1.14),
	repos.c (1.28), version.c (1.9):

	Get activity creation working. We now have ACTIVITY -> TXN mappings.  
	* version.c (dav_svn_can_be_activity): the resource must be a
	    non-existing activity resource to be allowed as an activity.  
	  (dav_svn_make_activity): make up a transaction name and store a
	    mapping from the activity name (info->object_name) to the txn
	* activity.c (dav_svn_get_txn): new function. get a transaction name
	    given an activity id.  
	  (dav_svn_store_activity): new function. store a mapping from an
	    activity id to a transaction name.  
	* dav_svn.h (dav_svn_get_txn, dav_svn_store_activity): new
	* repos.c (dav_svn_prep_activity): set the EXISTS flag based on
	    whether the activity already exists in the mapping table.  
	  (dav_svn_get_resource): store the pool into the repository

2001-02-05 07:44   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.27):

	fix typo: wrong prep function.  

2001-02-05 07:20   Greg Stein <>

	* subversion/mod_dav_svn/: (1.12), activity.c (1.1):

	add a placeholder for some activity manipulation functions 

2001-02-05 07:18   Greg Stein <>

	* STACK (1.71):

	"Hey! Give me back my holy man!" 
	  -- Glory, Buffer the Vampire Slayer (TV Series) 

2001-02-05 06:32   Greg Stein <>

	* subversion/mod_dav_svn/: repos.c (1.26), version.c (1.8):

	Shift some code around in repos.c for cleanliness; fix a few
	buglets. Begin some of the versioning code.  
	* repos.c (dav_svn_parse_version_uri, dav_svn_parse_working_uri):
	      set the .versioned flag for these resource types 
	  (struct special_defn): rename member from "func" to "parse" 
	  (special_subdirs[]): reorder to match mod_dav.h's
	(dav_svn_parse_uri): fix leading comment. use (renamed) ->parse
	(dav_svn_prep_regular): new function, extracted from
	(dav_svn_prep_version, dav_svn_prep_history, dav_svn_prep_working, 
	        dav_svn_prep_activity, dav_svn_prep_private): new functions
	      for prepping a resource for usage.  
	  (struct res_type_handler, res_type_handlers): structures to map
	      from a resource type to a prep function 
	  (dav_svn_prep_resource): dispatch to the per-type prep functions 
	  (dav_svn_get_resource): shift code to dav_svn_prep_regular() 
	    Not all resource types exist (e.g. an activity resource is known
	      by its location, but it might not exist (yet)).  
	    Not all resource types are "versioned".  
	* version.c (dav_svn_get_vsn_options): add the SVN options 
	  (dav_svn_can_be_activity, dav_svn_make_activity): new functions
	      for handling activities.  
	  (dav_svn_hooks_vsn{}): add new activity hooks 

2001-02-05 03:00  Bill Tutt <>

	* subversion/clients/win32/WinSVN/: DriveHelpers.bas (1.2,
	milestone-2), ExplorerViewHelpers.bas (1.2),
	ExplorerViewHelpers.cls (1.1, milestone-2), WinSVN.vbp (1.3,
	milestone-2), frmMain.frm (1.2, milestone-2), frmMain.frx (1.2,

	Prime the tree view for being rooted at "My Computer", drive, or
	folder, and create beginning of directory combo box to assist in
	changing the tree view's root.  
	2001-02-02 Bill Tutt <> 
	  * DriveHelpers.bas: Added new helper functions PathSkipTail and
	  * frmMain.bas: Added new ImageCombo drop down, and associated list
	    box.  The intended purpose of this is to help assist in narrowing
	    the scope of the left pane. Moved Tree View event hooks into
	  * frmMain.frx: New imagelist data for the drive combo box.  
	  * ExplorerViewHelpers.bas: Renamed to ExplorererViewHelpers.cls. (VB
	     only lets you hook events from forms, and classes.) 
	  * ExplorerViewHelpers.cls: New file. Recipient of all Tree View
	     event hooks from frmMain.bas. Moved node creation into ExpandNodes
	     for use by initial tree loading code. Tweaked tree population code
	to handle having "My Computer", a drive, or a folder as the root
	node of a tree.  
	  * WinSVN.vbp: VB munging for renamed files, etc.  

2001-02-05 01:27   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.25):

	Refactor the code a bit to avoid a big-ass get_resource.  
	(dav_svn_get_resource): broke URI parsing code out into
	(dav_svn_parse_uri): new code for parsing the different types of SVN

2001-02-04 23:29   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.24):

	Update for recent Apache/mod_dav changes.  
	(dav_svn_get_resource): return type is a dav_error* and the resource
	  is an OUT parameter 
	(dav_svn_get_parent_resource): same 

2001-02-04 23:27   Greg Stein <>

	* subversion/libsvn_fs/fs.c (1.32):

	(svn_fs_create_berkeley) allow the directory to exist beforehand.  

2001-02-04 23:21   Greg Stein <>

	* .cvsignore (1.6, milestone-2):

	forgot this one in a prior commit. compensate for the config.h to 
	svn_private_config.h rename.  

2001-02-04 23:16   Greg Stein <>

	* (1.55), subversion/libsvn_fs/ (1.25),
	subversion/tests/libsvn_fs/ (1.13):

	Our code can compile with pure POSIX semantics (thanks, APR!).  
	One gotcha for the FS (and its tests) library: it includes db.h
	which depends on the u_long type (and db.h is not dynamic enough to
	ensure that u_long exists). For those directories, we specify our
	source as being BSD (in addition to POSIX).  

2001-02-04 22:55   Greg Stein <>

	* subversion/libsvn_wc/adm_crawler.c (1.72):

	blast a couple compile warnings 

2001-02-04 22:27   Greg Stein <>

	* subversion/svnadmin/main.c (1.2):

	quick hack to create an SVN environment 

2001-02-04 21:06   Greg Stein <>

	* (1.31), (1.54), svn_config.dsp (1.2),
	svn_private_config.hw (1.1), subversion/libsvn_wc/get_editor.c
	(1.162), subversion/include/svn_path.h (1.27),
	subversion/libsvn_subr/path.c (1.30),
	subversion/mod_dav_svn/mod_dav_svn.c (1.18):

	autoconf output is supposed to be private. Otherwise, it may
	conflict with other autoconf'd programs.  
	Rename config.h to keep this point in mind, and to prevent filename
	conflict with the (generically-named) config.h. Also remove the
	thing from include/svn_path.h -- including on it in there means that
	everybody must have it available, which just isn't true
	(specifically: it isn't shipped as part of an SDK).  
	* rename the header to "svn_private_config.h" 
	* change an echo to reflect the new name 
	* svn_config.dsp: change for the new name 
	* client/diff.c, libsvn_wc/get_editor.c, mod_dav_svn/mod_dav_svn.c:
	    change include file for the new name 
	* include/svn_path.h: remove include of "config.h" 
	  shift SVN_PATH_*_SEPARATOR constants into libsvn_subr/path.c;
	    these are private values for the path code. carry comments along.  
	* libsvn_subr/path.c: constants and comments moved from svn_path.h 
	* svn_private_config.hw: added as a copy of config.hw 
	* config.hw: no longer applicable 

2001-02-04 19:00   Greg Stein <>

	* STACK (1.70):

	refactor, avoid code dup...  

2001-02-04 18:52   Greg Stein <>

	* STACK (1.69), subversion/libsvn_wc/entries.c (1.85),
	subversion/libsvn_wc/questions.c (1.48):

	Use sizeof() rather than hard-coded values in case the buffer
	declaration changes (as I think it should).  
	* client/main.c (read_from_file): use sizeof rather than len;
	    imagine if len got shorter each time, then you'd ask for less each
	    time.  [ of course, that doesn't happen with apr_full_read, but
	still... ] 
	* libsvn_wc/entries.c, libsvn_wc/questions.c: use sizeof rather than

2001-02-04 18:25   Greg Stein <>

	* subversion/tests/libsvn_subr/ (1.16):

	delta builds on subr. reorder the libs.  

2001-02-04 17:41   Greg Stein <>

	* subversion/tests/: libsvn_fs/ (1.12),
	libsvn_subr/ (1.15):

	add missing libsvn_delta library from some of the link steps 

2001-02-04 16:34   Greg Stein <>

	* (1.53):

	we don't refer to unistd.h any more. toss it.  

2001-02-02 17:09  Bill Tutt <>

	* AUTHORS (1.10):

	2001-02-02 Bill Tutt <> 
	    * AUTHORS:  Greg was nice enough to toss me a slightly more
	    convenient address.  

2001-02-02 11:14   Karl Fogel <>

	* subversion/include/svn_error.h (1.67):

	(SVN_ERR_MALFORMED_XML): Doc fix from Sam TH <>.  

2001-02-02 02:39  Bill Tutt <>

	* IDEAS (1.20):

	2001-02-01 Bill Tutt <> 
	    * IDEAS: Add idea tor common diff output parsing code in order
	    to calculate the required data for a visual diff.  

2001-02-02 02:27  Bill Tutt <>

	* subversion/clients/win32/svn_com/: MarshalArray.h (1.3), SVN.cpp

	2001-02-01 Bill Tutt <> 
	    * SVN.cpp (CSVNWorkingCopy::wc_statuses): Add cast to remove 
	    compiler warning.  
	    * MarshalArray.h: Document limitation with current code not
	    following all of the connection point rules atm.  

2001-02-01 22:24   Branko Cibej <>

	* STACK (1.68):

	And they told me time and again not to volunteer for anything ...  

2001-02-01 20:29   Branko Cibej <>

	* subversion/clients/win32/svn_com/svn_com.dsp (1.4, milestone-2):

	* svn_com.dsp: Change to DOS format line-endings.  
	Now why MSVC insists on having lines end in curlifs, I never will

2001-02-01 19:30   Branko Cibej <>

	* notes/guis/pics/ClearCase-lsvtree-README (1.2, milestone-2):

	Stuff about the tooltip in the second shot.  

2001-02-01 18:40   Branko Cibej <>

	* notes/guis/pics/: ClearCase-lsvtree-1.gif (1.1, milestone-2),
	ClearCase-lsvtree-2.gif (1.1, milestone-2), ClearCase-lsvtree-3.gif
	(1.1, milestone-2), ClearCase-lsvtree-4.gif (1.1, milestone-2),
	ClearCase-lsvtree-README (1.1):

	ClearCase version tree.  

2001-02-01 17:35   Bob Miller <>

	* notes/difftools/pics/: xxdiff-1.png (1.1), xxdiff-README (1.1)
	(utags: milestone-2):

	Added a screenshot of xxdiff to subversion/difftools/notes/pics/ .  
	PR: Obtained from: Submitted by: Reviewed by: 

2001-02-01 07:47   Ben Collins-Sussman <>

	* notes/guis/: README (1.1), pics/README (1.1) (utags:

	Added guis/ and guis/pics/ areas to notes/ subdir 

2001-02-01 06:24   Branko Cibej <>

	* HACKING (1.23):

	Add note about include and lib directories for DB3 for Win32 builds.  

2001-01-31 14:57  C. Michael Pilato <>

	* STACK (1.67):

	Added bug inquiry regarding timestamps 

2001-01-31 11:36  C. Michael Pilato <>

	* (1.52):

	Adding client/test/ to list of automagically built thingamabobs.  

2001-01-31 11:02  C. Michael Pilato <>

	* subversion.dsw (1.11):

	Updated VS workspace to reflect new location of the test project
	* subversion.dsw:  See above.  

2001-01-31 10:57   Ben Collins-Sussman <>

	* (1.51), subversion/ (1.21):

	Build `svnadmin' iff `libsvn_fs' is built too.  
	*, (@SVNADMIN@): new build variable defined 
	  only if @LIBSVN_FS@ is defined.  

2001-01-31 08:47  Kevin Pilch-Bisson <>

	* subversion/: libsvn_delta/libsvn_delta.dsp (1.5),
	tests/libsvn_delta/deltaparse_test.dsp (1.5),
	tests/libsvn_delta/random_test.dsp (1.4, milestone-2),
	tests/libsvn_delta/svndiff_test.dsp (1.4, milestone-2),
	tests/libsvn_delta/vdelta_test.dsp (1.4, milestone-2),
	tests/libsvn_delta/xml_output_test.dsp (1.4, milestone-2),
	tests/libsvn_fs/fs_test.dsp (1.4), tests/libsvn_fs/skel_test.dsp
	(1.5, milestone-2), tests/libsvn_subr/hashdump_test.dsp (1.5,
	milestone-2), tests/libsvn_subr/string_test.dsp (1.5, milestone-2),
	tests/libsvn_wc/checkout_test.dsp (1.4, milestone-2),
	tests/libsvn_wc/commit_test.dsp (1.5):

	This change is to support the moving of the test modules that
	happened as part of Change #8.  Since each of the test programs
	links it's respective library, the path to that library needs to be
	changed to reflect the new location of the test modules. Also, the
	libsvn_delta project file needed to include default_editor.c as a
	source file.  
	    * subversion/libsvn_delta/libsvn_delta.dsp - Added default_editor.c
	            to project 
	    * subversion/tests/libsvn_delta/deltaparse_test.dsp - Changed
	            location of libsvn_delta.lib 
	    * subversion/tests/libsvn_delta/random_test.dsp - Changed location
	            of libsvn_delta.lib 
	    * subversion/tests/libsvn_delta/svndiff_test.dsp - Changed location
	            of libsvn_delta.lib 
	    * subversion/tests/libsvn_delta/vdelta_test.dsp - Changed location
	            of libsvn_delta.lib 
	    * subversion/tests/libsvn_delta/xml_output_test.dsp - Changed
	            location of libsvn_delta.lib 
	    * subversion/tests/libsvn_fs/fs_test.dsp - Changed location of 
	    * subversion/tests/libsvn_fs/skel_test.dsp - Changed location of 
	    * subversion/tests/libsvn_subr/hashdump_test.dsp - Changed location
	            of libsvn_subr.lib 
	    * subversion/tests/libsvn_subr/string_test.dsp - Changed location of 
	    * subversion/tests/libsvn_wc/checkout_test.dsp - Changed location of 
	    * subversion/tests/libsvn_wc/commit_test.dsp - Changed location of 

2001-01-30 22:13   Brian Fitzpatrick <>

	* notes/difftools/pics/: FileMerge-README (1.1), FileMerge1.jpg
	(1.1), FileMerge2.jpg (1.1), FileMerge3.jpg (1.1), FileMerge4.jpg
	(1.1), FileMerge5.jpg (1.1) (utags: milestone-2):

	Added FileMerge screenshots and accompanying information.  

2001-01-30 20:58   Karl Fogel <>

	* BUGS (1.3):

	Q: How late is it in Chicago? 
	A: Too late.  

2001-01-30 20:47   Karl Fogel <>

	* subversion.dsw (1.10), subversion/tests/TEST-FRAMEWORK (1.2),
	subversion/tests/libsvn_delta/deltaparse_test.dsp (1.4),
	subversion/tests/libsvn_fs/fs_test.dsp (1.3),
	subversion/tests/libsvn_fs/skel_test.dsp (1.4),
	subversion/tests/libsvn_subr/hashdump_test.dsp (1.4),
	subversion/tests/libsvn_subr/sting_test.dsp (1.4),
	subversion/tests/libsvn_subr/string_test.dsp (1.4),
	subversion/tests/libsvn_wc/commit_test.dsp (1.4):

	Change "tests-common" to "tests" everywhere.  Also: 
	* subversion/tests/libsvn_subr/string_test.dsp: Replaces misnamed 
	file "sting_test.dsp".  
	* subversion.dsw: Compensate for above change.  

2001-01-30 20:19   Ben Collins-Sussman <>

	* notes/difftools/: README (1.1), pics/README (1.1) (utags:

	Add scratch areas for diff-tool photos 

2001-01-30 17:32   Karl Fogel <>

	* subversion/tests/libsvn_wc/ (1.11):

	Wow, an utterly unprecedented change.  I'm sure this will come as a 
	surprise to the whole list.  Everyone will wonder how I figured out 
	what the problem was.  I'll be a hero!  I'll build my own backhoe! 
	(TEST_DELTA): It's "tests", not "tests-common".  

2001-01-30 17:30   Karl Fogel <>

	* subversion/tests/ (1.10):

	(SUBDIRS): Put . first, you'll never regret it.  

2001-01-30 17:06   Karl Fogel <>

	* README (1.12, milestone-2), STACK (1.66), (1.50),
	subversion.dsw (1.9), subversion/ (1.20),
	subversion/include/svn_delta.h (1.137),
	subversion/libsvn_client/ (1.12),
	subversion/libsvn_delta/ (1.16),
	subversion/libsvn_delta/compose_editors.c (1.9),
	subversion/libsvn_delta/default_editor.c (1.1),
	subversion/libsvn_delta/xml_output.c (1.28),
	subversion/libsvn_fs/ (1.24),
	subversion/libsvn_ra_dav/ (1.6),
	subversion/libsvn_ra_dav/commit.c (1.27),
	subversion/libsvn_ra_dav/fetch.c (1.34),
	subversion/libsvn_subr/ (1.15),
	subversion/libsvn_wc/ (1.26),
	subversion/libsvn_wc/get_editor.c (1.161),
	subversion/mod_dav_svn/ (1.11),
	subversion/tests/ (1.9),
	subversion/tests/svn_test_editor.c (1.16),
	subversion/tests/libsvn_delta/ (1.15),
	subversion/tests/libsvn_fs/ (1.11),
	subversion/tests/libsvn_fs/fs-test.c (1.9),
	subversion/tests/libsvn_fs/skel-test.c (1.14),
	subversion/tests/libsvn_subr/ (1.14),
	subversion/tests/libsvn_wc/ (1.15):

	This is Change #8, from the set of 8 or so changes posted by Ben to 
	the dev list and now recorded in the STACK file.  
	In the delta library, a single routine returns a "dummy" editor 
	structure full of pointers to do-nothing functions.  The editor 
	implementor then fills in only the ones it cares about.  
	To avoid circular dependency between the test library and 
	libsvn_delta, the "tests-common/" directory has been renamed
	"tests/" and all library-specific test subdirs have been moved into
	it.  The tests are now all built together, after all the libraries.  
	* subversion/include/svn_delta.h (svn_delta_default_editor):
	Prototype and document.  
	* subversion/libsvn_delta/default_editor.c: New file, implements a 
	default editor template.  
	* subversion/libsvn_delta/xml_output.c (svn_delta_get_xml_editor): 
	Construct editor the new way.  
	(tree_editor): Now local to svn_delta_get_xml_editor.  
	* subversion/libsvn_delta/compose_editors.c
	(svn_delta_compose_editors, composed_editor): Same.  
	* subversion/client/trace-update.c (svn_cl__get_trace_update_editor, 
	trace_editor): Same.  
	* subversion/client/trace-commit.c (svn_cl__get_trace_commit_editor, 
	trace_editor): Same.  
	* subversion/libsvn_ra_dav/commit.c (svn_ra_dav__get_commit_editor, 
	commit_editor): Same.  
	* subversion/libsvn_ra_dav/fetch.c (svn_ra_dav__get_update_editor, 
	update_editor): Same.  Also, moved #if to top of file, to avoid 
	warnings about unused functions.  
	* subversion/libsvn_wc/get_editor.c (make_editor, tree_editor):
	Rearrangements to consolidate tests and avoid circular dependencies: 
	     tests/                 replaces   tests-common/ 
	     tests/libsvn_delta/    replaces   libsvn_delta/tests/ 
	     tests/libsvn_fs/       replaces   libsvn_fs/tests/ 
	     tests/libsvn_ra_dav/   replaces   libsvn_ra_dav/tests/ 
	     tests/libsvn_wc/       replaces   libsvn_wc/tests/ 
	     tests/libsvn_vcdiff/   replaces   vcdiff/tests/ 
	     tests/libsvn_subr/     replaces   libsvn_subr/tests/ 
	     tests/libsvn_string/   replaces   libsvn_string/tests/ 
	     tests/mod_dav_svn/     replaces   mod_dav_svn/tests/ 
	* (AC_OUTPUT): Compensate for above changes.  
	* subversion/tests/svn_test_editor.c (svn_test_get_editor): Use new 
	* subversion/ (SUBDIRS): Put tests/ subdir last.  
	* subversion/tests/ (SUBDIRS): Mention new subdirs.  
	* subversion/libsvn_client/, 
	subversion/libsvn_wc/, subversion/mod_dav_svn/
	(SUBDIRS): Removed this rule, as it was used only for the
	now-obsolete tests/ subdirs.  
	* subversion/client/, 
	subversion/tests/libsvn_wc/ Replace 
	* subversion/tests/libsvn_delta/ (deltaparse_test_LDADD): 
	Reverse order of test editor library and delta library.  How Ben
	knew that this would make the linker error go away is one of the
	great mysteries of my life at the moment.  
	* subversion/tests/libsvn_fs/skel-test.c, 
	subversion/tests/libsvn_fs/fs-test.c: Fix #include paths.  
	*, README, subversion.dsw: Compensate for above
	* STACK: Remove Change #8.  

2001-01-30 15:35  C. Michael Pilato <>

	* (1.49), subversion/clients/win32/svn_com/svn_com.dsp
	(1.3), subversion/include/svn_path.h (1.26),
	subversion/libsvn_subr/path.c (1.29):

	Fixes path inconsistencies on Windows.  More generally, actually
	makes use of the "style" parameter passed to the path library
	functions to choose the right path delimeter ('/' or '\' at this
	  Added this #define for Windows usage.  
	  Added this #define for those systems that use autoconf.  
	* svn_com.dsp: 
	  Added the subversion root directory to the include path so
	  config.h can be found by the inclusion of the path headers.  
	  Added url separator define, and changed naming of repos to be an
	  exported symbol.  
	* path.c (get_separator_from_style): 
	  Added new function for choosing an appropriate path separator,
	  given a subversion path style.  Also changed a variety of
	  functions in this module to make use of this new function instead of
	  simply using SVN_PATH_REPOS_SEPARATOR.  

2001-01-30 12:23   Karl Fogel <>

	* AUTHORS (1.9):

	Added Mark Murphy, Bill Tutt, C. Michael Pilato.  

2001-01-29 18:25   Branko Cibej <>

	* subversion/: libsvn_subr/io.c (1.28), libsvn_wc/log.c (1.85),
	libsvn_wc/questions.c (1.47):

	* libsvn_subr/io.c (svn_io_check_path, apr_transfer_file_contents, 
	svn_io_file_affected_time): Call apr_stat with APR_FINFO_MIN instead 
	of APR_FINFO_NORM, so that we don't get an APR_INCOMPLETE on Win32.  
	* libsvn_wc/log.c (log_do_detect_conflict, conflict_if_rejfile):
	* libsvn_wc/questions.c (filesizes_definitely_different_p):

2001-01-29 18:20   Branko Cibej <>

	* subversion/clients/win32/svn_com/.cvsignore (1.1, milestone-2):

	   "Are we visible from the earth?" I asked.  
	   "I knew someone -- who was interested in astronomy. It occurred
	to me that it would be odd if -- my friend -- chanced to be looking
	   through a telescope and should chance to see us." "It would need the
	most powerful telescope on earth even now to see us as the minutest

2001-01-29 17:12   Ben Collins-Sussman <>

	* STACK (1.65):

	Ooops, really, change #1 is done.  Really.  

2001-01-29 17:10   Ben Collins-Sussman <>

	* STACK (1.64):

	Fixed add/del logic bugs, update my STACK.  
	 (I used to be a FUNDAMENTALIST, but then I heard about the 

2001-01-29 17:03   Branko Cibej <>

	* subversion/clients/win32/svn_com/svn_com.dsp (1.2):

	* clients/win32/svn_com/svn_com.dsp: Define APR_DECLARE_STATIC to
	avoid linking errors.  

2001-01-29 17:02   Branko Cibej <>

	* subversion/libsvn_client/libsvn_client.dsp (1.6):

	* client/subversion_client.dsp: Added Added diff.c and diff-cmd.c to
	sources list.  
	* libsvn_client/libsvn_client.dsp: Added diff.c to sources list.  

2001-01-29 16:51   Ben Collins-Sussman <>

	* subversion/libsvn_wc/entries.c (1.84):

	Entry add/del flag logic actually works now.  Phew.  
	(fold_entry):  correctly merge the incoming flag state into the
	entry; we interpret the integer as a *command* in this routine,
	honoring the clear bits.  
	(normalize_entry):  make the entry's attribute hash *exactly* match 
	the state flags, ignoring clear bits.  
	(internal_fold_sync): handle special case where interpret_changes() 
	might deliberately remove the entry.  

2001-01-29 16:04   Karl Fogel <>

	* STACK (1.63):

	Removed Change #1.  Since it's done it can be removed from the
	stack, though it's still under discussion (most especially with Greg
	Hudson) and may have an uncertain future.  I hope I'll convince him
	it's a good idea in the long run, though. :-) 

2001-01-28 10:56   Branko Cibej <>

	* subversion/libsvn_delta/xml_output.c (1.27):

	* xml_output.c (close_edit): Moved before first use to eliminate
	warnings.  Removed unused local variable.  

2001-01-28 10:45   Branko Cibej <>

	* (1.48):

	* Remove shorthands for private include directories.  

2001-01-28 10:43   Branko Cibej <>

	* subversion/tests/libsvn_fs/ (1.10):

	* (INCLUDES): Use $(srcdir)/.. rather than 
	(COMMON_LIBS): Reformat.  

2001-01-28 09:50   Branko Cibej <>

	* subversion/libsvn_fs/txn-table.c (1.11):

	* txn-table.c (svn_fs__get_txn_list): Copy the transaction ID to the
	right pool, and to make sure it's null-terminated.  

2001-01-26 23:43   Greg Hudson <>

	* subversion/libsvn_delta/xml_output.c (1.26):

	Redo Karl's change to this file.  Instead of ref-counting directory 
	batons, keep a count of open files in edit_context.  Open issue: as 
	with Karl's approach, svn_delta_get_xml_editor generates some output 
	before the first editor call; I'm not sure I consider that within
	the contract.  
	Relative to rev 1.24: 
	(replace_root): Removed.  
	(close_edit): No longer an editor function; accepts a struct 
	edit_context * instead of a void *.  
	(edit_context): Replaces edit_baton.  All references changed.  Add
	open_file_count and root_dir_closed fields to track when the edit is
	(close_directory): Note when the root dir is closed, and close the 
	edit if there are no open files at that point.  
	(add_file, replace_file): Bump open_file_count.  
	(close_file): Decrement open_file_count, and close the edit if the 
	root dir has been closed and there are no open files.  
	(tree_editor): Remove entries for replace_root and close_edit.  
	(svn_delta_get_xml_editor, close_edit): Don't use a subpool for the 
	editor.  We still use subpools for the directory and file batons 
	because they use a large, unbounded amount of storage together, but 
	there's no need for a subpool for the editor itself.  
	(svn_delta_get_xml_editor): Conform to new interface.  

2001-01-26 20:36   Karl Fogel <>

	* subversion/: include/svn_client.h (1.20), include/svn_delta.h
	(1.136), include/svn_fs.h (1.34), include/svn_ra.h (1.28),
	include/svn_test.h (1.8), include/svn_wc.h (1.70),
	libsvn_client/apply_edits.c (1.10), libsvn_client/checkout.c
	(1.13), libsvn_client/client.h (1.9), libsvn_client/commit.c
	(1.16), libsvn_client/update.c (1.10),
	libsvn_delta/compose_editors.c (1.8), libsvn_delta/delta.h (1.49),
	libsvn_delta/xml_output.c (1.25), libsvn_delta/xml_parse.c (1.142),
	libsvn_fs/delta.c (1.21), libsvn_ra_dav/commit.c (1.26),
	libsvn_ra_dav/fetch.c (1.33), libsvn_ra_dav/ra_dav.h (1.6),
	libsvn_repos/delta.c (1.21), tests/libsvn_delta/deltaparse-test.c
	(1.61), tests/libsvn_delta/xml-output-test.c (1.10),
	libsvn_wc/adm_crawler.c (1.71), libsvn_wc/adm_ops.c (1.40),
	libsvn_wc/get_editor.c (1.160), libsvn_wc/status.c (1.25),
	tests/libsvn_wc/checkout-test.c (1.38),
	tests/libsvn_wc/commit-test.c (1.16), tests/svn_test_editor.c
	(1.15) (utags: post-edit-baton-removal):

	This is Change #1, from the set of 8 or so changes posted by Ben to 
	the dev list and now recorded in the STACK file.  Prior to this 
	commit, the tree was tagged with `pre-edit-baton-removal'.  
	When an editor is created, the root_dir_baton is returned and used
	as the baton for the first call requiring a dir baton.  There is no
	more externally visible edit_baton, and the editor functions
	replace_root() and close_edit() are gone.  This resolves the
	ambiguity about whether replace_root() can be called multiple times
	per edit, or only once.  Since you now get a root directory baton
	when you start the edit, clearly you can call replace_directory() on
	it only once.  
	As a result of this change, the editor in libsvn_delta/xml_output.c 
	has become a reference counting editor, so it can continue to handle 
	postfix text-deltas.  Wheras formerly its close_edit() took care of 
	closing the delta-pkg, now close_directory() has to close the 
	outermost tree-delta, while leaving the closing of the delta-pkg for 
	free_dir_baton(), which will only get run after the last postfix
	text delta is sent and the top dir baton's reference count reaches
	Or that's the idea, anyway.  Unfortunately, I seem to have broken
	the xml output editor, and after spending a few hours trying to make
	it work under the new scheme, I'm ready for Greg Hudson to have a
	swing at it.  I'm pretty sure there's nothing theoretically wrong
	with doing things in the ref counting way, but am just not familiar
	enough with the code, particularly get_to_elem(), to know what I'm
	doing wrong.  
	In the meantime, I've commented out various tests, so `make check' 
	will still work for sufficiently small values of "work".  (Actually,
	I think the fs tests are failing for some reason, but that's not
	related to this commit.)  Greg, to reproduce the xml problems,
	uncomment the "exit 0" in client/tests/ and watch svn try
	to update a working copy from a malformed commit-2.xml.  
	* libsvn_delta/xml_output.c (replace_root, close_edit): Removed.  
	(edit_context): Replaces edit_baton.  
	(tree_editor): Remove entries for replace_root and close_edit.  
	(svn_delta_get_xml_editor): Replace edit_baton with root_dir_baton.  
	(everywhere): Replace edit_baton with edit_context.  
	(file_baton): Added new parent_dir_baton field.  
	(dir_baton): Same new parent_dir_baton, ref_count fields.  
	(make_file_baton): Take parent_dir_baton, bump its ref_count.  
	(make_dir_baton): Same as above, plus initialize own ref_count.  
	(decrement_ref_count, free_dir_baton): New funcs, former invokes 
	latter when dir baton's ref_count reaches zero.  Latter handles root 
	directory specially.  
	(close_file, close_directory): Decrement ref_counts appropriately.  
	* include/svn_delta.h (svn_delta_edit_fns_t): Remove replace_root 
	and close_edit, change documentation accordingly.  
	(svn_delta_compose_editors, svn_delta_wrap_editor, 
	svn_delta_get_xml_editor, svn_delta_make_xml_parser, 
	svn_delta_xml_auto_parse): Replace edit_baton parameters with 
	root_dir_baton parameters.  
	* include/svn_fs.h (svn_fs_dir_delta): Replace edit_baton parameter 
	with root_dir_baton parameter.  
	* include/svn_wc.h (svn_wc_get_checkout_editor, 
	svn_wc_get_update_editor, svn_wc_crawl_local_mods, 
	svn_wc_crawl_revisions): Replace edit_baton parameter with 
	root_dir_baton parameter.  
	* include/svn_ra.h (svn_ra_plugin_t): Replace edit_baton parameter
	with root_dir_baton parameter in get_commit_editor and do_checkout. 
	In do_update, do the same for report_baton and update_baton, which
	are also edit_batons anyway.  Report editors in general are probably 
	obsolete and about to be replaced with something simpler.  
	* include/svn_client.h (svn_client_checkout, svn_client_update, 
	svn_client_commit): Replace edit_baton parameter with root_dir_baton 
	* include/svn_test.h (svn_test_get_editor): Replace edit_baton 
	parameter with root_dir_baton parameter.  
	* client/trace-update.c, client/trace-commit.c (edit_context): New 
	struct type, replaces edit_baton.  
	(dir_baton): Store an edit_context now, not an edit_baton.  
	(replace_root, close_edit): Removed.  
	(trace_editor): Remove replace_root and close_edit.  
	(svn_cl__get_trace_commit_editor, svn_cl__get_trace_update_editor): 
	return a root_dir_baton.  Construct it to contain an edit_context.  
	* libsvn_delta/delta.h (svn_xml__digger_t): Remove edit_baton.  
	Replace rootdir_baton with root_dir_baton, for consistency.  
	* libsvn_delta/tests/deltaparse-test.c (main): Replace edit_baton
	with root_dir_baton.  
	* libsvn_delta/tests/xml-output-test.c (main): Replace edit_baton
	with root_dir_baton, get rid of now-superfluous root_baton.  Remove
	calls to replace_root and close_edit.  
	* libsvn_delta/xml_parse.c (svn_delta_make_xml_parser, 
	svn_delta_xml_auto_parse): Replace edit_baton with root_dir_baton.  
	(xml_handle_start): Remove call to replace_root.  Also remove
	setting of initial frame's baton, which we take care of in
	do_stack_append now.  
	(do_stack_append): Set baton of initial stack frame to 
	(svn_delta_xml_parsebytes): Don't call close_edit.  
	* libsvn_delta/compose_editors.c (edit_baton): Removed.  
	(dir_baton): Get the fields edit_baton used to have.  
	(add_directory, replace_directory): Put new stuff into child dir
	* libsvn_delta/delta.c (svn_fs_dir_delta): Take root_dir_baton
	instead of edit_baton.  Don't call replace_root.  
	* client/cl.h (svn_cl__get_trace_update_editor, 
	svn_cl__get_trace_commit_editor): Take root_dir_baton not
	* client/checkout-cmd.c (svn_cl__checkout): Use root_dir_baton 
	instead of edit_baton with the trace editor.  
	* client/commit-cmd.c (svn_cl__commit): Use root_dir_baton instead
	of edit_baton with the trace editor.  
	* client/update-cmd.c (svn_cl__update): Use root_dir_baton instead
	of edit_baton with the trace editor.  
	* libsvn_client/update.c (svn_client_update): Use root_dir_baton 
	instead of edit_baton with the update editors.  
	* libsvn_client/checkout.c (svn_client_checkout): Use root_dir_baton 
	instead of edit_baton with the checkout editors.  
	* libsvn_client/commit.c (svn_client_commit): Use root_dir_baton 
	instead of edit_baton with the commit editors.  
	* libsvn_client/client.h, libsvn_client/apply_edits.c (apply_delta, 
	do_edits, svn_client__checkout_internal,
	svn_client__update_internal): Use root_dir_batons instead of
	edit_batons with all editors.  
	* libsvn_ra_da/tests/ra-dav-test.c (main): Use root_dir_baton
	instead of edit_baton.  Don't call close_edit.  
	* libsvn_ra_dav/ra-commit.c (main): Use root_dir_baton instead of 
	* libsvn_ra_dav/commit.c (commit_replace_root): Removed.  
	(commit_close_edit): Removed.  
	(dir_baton_t): New field `is_root'.  
	(svn_ra_dav__get_commit_editor): Replace edit_baton parameter with 
	root_dir_baton parameter.  Initialize root_dir_baton using code from 
	replace_root(), setting new `is_root' field.  
	(commit_close_dir): If this is the root dir baton, do what
	close_edit used to do.  
	* libsvn_ra_dav/fetch.c (fetch_ctx_t): Replace edit_baton field with 
	(svn_ra_dav__checkout): Fold edit_baton and root_baton into a single 
	(svn_ra_dav__get_update_editor): Replace edit_baton with 
	root_dir_baton, even though this function is #if'd out right now 
	(update_editor): Remove the null placeholders where 
	update_replace_root and update_close_edit would have been.  How 
	interestingly coincidental that those were the only two not 
	implemented here! 
	* libsvn_ra_dav/ra_dav.h (svn_ra_dav__get_commit_editor, 
	svn_ra_dav__checkout): Replace edit_baton with root_dir_baton.  
	* libsvn_wc/tests/checkout-test.c (apply_delta): Use root_dir_baton 
	instead of edit_baton.  
	* libsvn_wc/tests/commit-test.c (main): Use root_dir_baton instead
	of edit_baton.  
	* libsvn_wc/adm_crawler.c (svn_wc_crawl_local_mods): Replace 
	edit_baton with root_dir_baton.  Replace close_edit call with a call 
	to close_directory on that root_dir_baton.  
	(svn_wc_crawl_revisions): Don't call close_edit.  
	(do_dir_replaces): Use root_dir_baton instead of edit_baton.  Don't 
	call replace_root, just use the baton we have.  
	(report_local_mods): Use root_dir_baton instead of edit_baton.  
	* libsvn_wc/get_editor.c (make_editor): Replace edit_baton with 
	root_baton, set up an edit_context instead.  Do what replace_root
	used to do.  
	(free_dir_baton): Do what close_edit used to do, if this is the root 
	directory baton.  
	(edit_context): Replaces edit_baton, still lives in dir_baton.  
	(replace_root): Removed.  
	(close_edit): Removed.  
	(replace_root): Removed.  
	(tree_editor): Removed replace_root and close_edit members.  
	(svn_wc_get_update_editor, svn_wc_get_checkout_editor): Use 
	root_dir_baton instead of edit_baton.  
	* libsvn_wc/tests-common/svn_test_editor.c (edit_context): Replaces 
	(test_replace_root, test_close_edit): Removed.  
	(svn_test_get_editor): Do what test_replace_root used to do.  Don't
	put test_replace_root and test_close_edit in the editor anymore.  
	(close_directory): When called on the root directory baton, do what 
	test_close_edit used to do.  
	Unrelated changes: 
	* libsvn_delta/xml_parse.c (xml_handle_start): Fix typo.  
	* libsvn_delta/compose_editors.c (add_directory, replace_directory): 
	Set child_baton's parent to parent_baton instead of NULL.  Why was
	it being set to NULL before, anyway? 
	* libsvn_wc/adm_ops.c (svn_wc_get_pristine_copy_path): Don't bother 
	declaring unused err variable.  

2001-01-26 15:01   Ben Collins-Sussman <>

	* subversion/ (1.19, post-edit-baton-removal,

	Fix library build order;  `make clean && make' was failing, because 
	svnadmin was trying to link against libsvn_fs, which didn't yet

2001-01-26 13:15   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.19), include/svn_wc.h
	(1.69), libsvn_wc/adm_ops.c (1.39) (utags: pre-edit-baton-removal):

	After talking with Karl, simplify/cleanup diff command.  
	* adm_ops.c (svn_wc_get_pristine_copy_path):  remove the copying of 
	  the text-base;  it may interfere with updates and such.  Instead 
	  just a return a path directly to text-base.  
	* svn_wc.h (svn_wc_get_pristine_copy_path): update doc string.  
	* diff.c (svn_cl__print_file_diff):  don't need remove temporary
	  file anymore;  also some comments about what future architecure
	  should be.  
	* svn_client.h (svn_client_file_diff):  more doc comments on future.  

2001-01-26 11:27   Ben Collins-Sussman <>

	* subversion/include/svn_client.h (1.18):

	(svn_client_file_diff):  add to docstring.  

2001-01-26 08:21   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.17), include/svn_wc.h
	(1.68), libsvn_client/ (1.11, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_client/diff.c (1.1,
	post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_wc/adm_ops.c (1.38), libsvn_wc/log.c (1.84,
	post-edit-baton-removal, pre-edit-baton-removal):

	Late-night coding itch:  just for fun, let's implement `svn diff'.
	Everything compiles and passes `make check', but the `svn diff' 
	command currently segfaults in the middle of apr_put_os_file().  I'm 
	sure we'll fix this momentarily.  
	* libsvn_client/diff.c (svn_client_file_diff): new file and func,
	  able to fetch a path to a pristine file copy from either WC or RA.  
	* svn_client.h (svn_client_file_diff): declaration.  
	* adm_ops (svn_wc_get_pristine_copy_path): make a copy of a
	  text-base file from into adminitrative tmp area, and return a path
	to it.  
	* log.c (svn_wc_run_cmd_in_directory):  make run_cmd_in_directory a 
	  public routine.  The client sure finds it handy for running
	  `diff', and it's not particularly WC-specific.  
	  (log_do_run_command):  change call to above.  
	* svn_wc.h (svn_wc_get_pristine_copy_path):  new func declaration 
	  (svn_wc_run_cmd_in_directory):  now a public declaration.  
	* client/diff.c (svn_cl__print_file_diff): new file and func for 
	  command-line, prints out a file diff; uses svn_client_file_diff().  
	* cl.h (svn_cl__print_file_diff):  declaration.  
	* diff-cmd.c (svn_cl__diff_command): new file and func, top-most 
	* libsvn_client/  compile diff.c 
	* client/  compile diff.c and diff-cmd.c 
	* main.c (cmd_table): add diff command 

2001-01-26 07:06   Daniel Stenberg <>

	* (1.30, post-edit-baton-removal,

	I had to change the neon version check, as that if-expression
	doesn't work in the solaris bourne shell, I hope this approach will
	work on most platforms PR: Obtained from: Submitted by: Reviewed by: 

2001-01-25 16:41   Ben Collins-Sussman <>

	* subversion/libsvn_wc/log.c (1.83):

	(log_do_run_cmd):  fix array size, doh! 
	Submitted by Kevin Pilch-Bisson <>.  Thanks
	Kevin. :) 

2001-01-25 14:30   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.66, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_wc/adm_ops.c (1.37),
	libsvn_wc/entries.c (1.83, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_wc/get_editor.c (1.159,
	pre-edit-baton-removal), libsvn_wc/log.c (1.82), libsvn_wc/wc.h
	(1.142, post-edit-baton-removal, pre-edit-baton-removal):

	Major rewrite of WC interface for changing an `entry' on disk.  
	We now have two routines to do this: one dumb one, and one smart
	one.  The "smart" one will alter an entry's attributes according to
	the caller's *intent*, while the dumb one will just merge a direct
	(and possibly incorrect) change.  
	* entries.c (normalize_entry):  renamed from sync_entry, which was 
	  overloading the term "sync".  
	  (svn_wc__entry_fold_sync):  renamed from svn_wc__entry_merge_sync.  
	  Again, "merge" is a loaded term we'd like to avoid.  
	  (svn_wc__entry_fold_sync_intelligently): new function which may 
	  actually end up making *different* entry changes than what you
	  asked for, based on an entry's current context.  
	  (internal_fold_sync): new function, shared code for the two exported 
	  fold_sync routines.  
	  (fold_entry):  renamed from stuff_entry.  It's doing a fold (merge), 
	  which is more descriptive than "stuffing" an entry.  Also update
	  doc string for clarity.  
	  (interpret_changes): new routine.  the "logic" module called by 
	  fold_sync_intelligently that (potentially) alters requested entry 
	  changes into something different, based on an entry's current 
	* wc.h (svn_wc_entry__fold_sync, 
	  svn_wc__entry_fold_sync_intelligently): new declarations and docs.  
	* svn_error.h (SVN_ERR_WC_ENTRY_BOGUS_MERGE):  new error type.  
	* adm_ops.c (svn_wc_delete_file, svn_wc_add_file): change all calls
	  to __entry_merge_sync to __entry_fold_sync_intelligently.  
	* get_editor.c (free_dir_baton, add_directory): same as above.  
	* log.c (log_do_detect_conflict, log_do_modify_entry, 
	  conflict_if_rejfile):  same as above.  

2001-01-25 07:53   Greg Stein <>

	* (1.47, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/ (1.18):

	add svnadmin to the build.  

2001-01-25 07:44   Greg Stein <>

	* subversion/svnadmin/: .cvsignore (1.1, milestone-2),
	(1.1), main.c (1.1) (utags: post-edit-baton-removal,

	"There can be only one." 

2001-01-25 07:37   Greg Stein <>

	* subversion/libsvn_fs/fs.c (1.31, post-edit-baton-removal,

	doc fix.  

2001-01-25 07:23   Greg Stein <>

	* subversion/libsvn_fs/fs.c (1.30):

	txn_checkpoint() returns EINVAL if the environment isn't properly
	opened. We want to ignore that case -- if we don't, then we exit
	cleanup_fs() early which causes a second call to cleanup_fs() when
	the pool is cleaned, which fails again, which (typically) means
	cleanup_fs_apr() calls fs->warning() which is the
	defalt_warning_func, which aborts.  
	Solution: ignore the EINVAL and complete the close (zero out
	fs->env).  cleanup_fs() returns quickly on the invocation from
	cleanup_fs_apr() and all is well.  
	(cleanup_fs): handle EINVAL from txn_checkpoint() 

2001-01-25 05:31   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.13), liveprops.c (1.12),
	version.c (1.7) (utags: post-edit-baton-removal,

	tweaks to match some recent Apache (mod_dav) prototype changes.  
	* liveprops.c (dav_svn_insert_prop): use new dav_prop_insert
	    mechanism for deciding what to insert (the format).  
	  (dav_svn_insert_all_liveprops): use new dav_prop_insert mechanism 
	* version.c (dav_svn_get_vsn_options, dav_svn_get_options): new
	(dav_svn_get_vsn_header): removed 
	* dav_svn.h (dav_svn_insert_all_liveprops): update prototype 

2001-01-24 22:54   Jim Blandy <>

	* subversion/libsvn_fs/: err.c (1.20), err.h (1.17), txn-table.c
	(1.10) (utags: post-edit-baton-removal, pre-edit-baton-removal):

	* libsvn_fs/txn-table.c (svn_fs__get_txn): If there's no transaction 
	by the given name, return a Subversion "no such transaction" error, 
	instead of returning the Berkeley DB error code.  
	* libsvn_fs/err.c, libsvn_fs/err.h (svn_fs__err_no_such_txn): New
	* libsvn_fs/err.c, libsvn_fs/err.h (svn_fs__err_path_syntax): New

2001-01-24 22:46   Jim Blandy <>

	* subversion/libsvn_fs/clones-table.c (1.5,
	post-edit-baton-removal, pre-edit-baton-removal):

	* libsvn_fs/clones-table.c (svn_fs__record_clone, 
	svn_fs__record_rename): Note a logic bug which needs fixing when I'm 
	more awake.  

2001-01-24 22:42   Jim Blandy <>

	* subversion/libsvn_fs/clones-table.c (1.4):

	* libsvn_fs/clones-table.c (make_clones_key): Use apr_pstrcat
	instead of apr_psprintf.  

2001-01-24 21:41   Branko Cibej <>

	* (1.46), subversion/ (1.17),
	expat-lite/ (1.3, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/libsvn_client/
	(1.10), subversion/libsvn_delta/ (1.15,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_fs/ (1.23, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/tests/libsvn_delta/
	(1.14, post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_ra_dav/ (1.5, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/libsvn_subr/ (1.14,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_fs/ (1.9,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_subr/ (1.13,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_wc/ (1.25, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/mod_dav_svn/ (1.10,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/ (1.8, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/tests/libsvn_wc/
	(1.14, post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_wc/ (1.10,
	post-edit-baton-removal, pre-edit-baton-removal):

	Fix build support for VPATH builds and factor out library names and 
	include dirs.  
	Contributed by Kevin Pilch-Bisson <> 
	* (EXTRA_DIST): Add autoconf helpers.  
	* (MKDIR): Define, use APR's helper script.  
	(abs_srcdir, abs_builddir): Absolute source and build dir paths.  
	Use $abs_srcdir to point neon at expat-lite.  Pull APRVARS from
	$abs_builddir/apr.  Define SVN_*_INCLUDES and SVN_*_LIBS
	substitutions for include dirs and library lists in Makefiles.  
	* subversion/client/tests/ (check): Pass XML source 
	  directory to test scripts.  
	* subversion/client/tests/, 
	  subversion/client/tests/ Accept and use XML source 
	  directory parameter.  
	* expat-lite/, subversion/, 
	  subversion/tests-common/ Add header files to lists of
	sources, for "make dist".  Use SVN_*_INCLUDES and SVN_*_LIBS instead
	of explicit paths.  

2001-01-24 16:13   Jim Blandy <>

	* subversion/libsvn_fs/txn-table.c (1.9):

	* libsvn_fs/txn-table.c (svn_fs__get_txn_list): Don't set *NAMES_P 
	until we know the operation has succeeded.  

2001-01-24 12:59   Jim Blandy <>

	* subversion/libsvn_fs/txn-table.h (1.7, post-edit-baton-removal,

	Doc fix.  

2001-01-24 12:56   Jim Blandy <>

	* subversion/libsvn_fs/: txn-table.c (1.8), txn-table.h (1.6):

	* libsvn_fs/txn-table.c, libsvn_fs/txn-table.h: Doc fixes.  

2001-01-24 12:47   Jim Blandy <>

	* subversion/libsvn_fs/tree.c (1.8, post-edit-baton-removal,

	Use svn_node_kind instead of kind_t.  
	* libsvn_fs/tree.c (kind_t): Deleted.  
	(svn_fs_node_t, new_node_object, svn_fs_node_is_dir, 
	svn_fs_node_is_file, svn_fs__txn_root_node): Use enum svn_node_kind 
	instead of kind_t.  

2001-01-24 12:30   Karl Fogel <>

	* STACK (1.62, post-edit-baton-removal, pre-edit-baton-removal):

	Added Change #8 from Ben's email.  

2001-01-24 12:19   Ben Collins-Sussman <>

	* www/index.html (1.18, post-edit-baton-removal,

	Remove names from list, we already have an AUTHORS file and
	"Members" area of website.  

2001-01-23 15:34   Karl Fogel <>

	* (1.29):

	Check for neon 0.8.1, since we depend on exactly that release right 

2001-01-23 15:31   Ben Collins-Sussman <>

	* subversion/libsvn_wc/wc.h (1.141):

	(svn_wc__entry_merge_sync):  docfix.  

2001-01-23 12:43   Ben Collins-Sussman <>

	* subversion/: include/svn_types.h (1.53, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_subr/io.c (1.27,
	post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_subr/keysort.c (1.7, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_wc/log.c (1.81),
	libsvn_wc/questions.c (1.46, post-edit-baton-removal,

	Make subversion build again, after APR interface changes.  
	* svn_types.h (svn_item_t):  new type to make up for the loss of 
	* keysort.c (svn_sort_compare_as_paths, apr_hash_sorted_keys): use 
	  svn_item_t instead of apr_item_t now.  
	* status.c (svn_cl__print_status_list):  use svn_item_t instead of 
	  apr_item_t now.  
	* io.c, log.c, questions.c: add new required argument to all 
	  apr_stat() calls.  Patch submitted by Kevin Pilch-Bisson 

2001-01-23 11:30   Ben Collins-Sussman <>

	* www/index.html (1.17):

	Update some dates and such.  

2001-01-23 11:26   Ben Collins-Sussman <>

	* www/project_bugs.html (1.4, milestone-2, post-edit-baton-removal,

	Update bugs page, it's not May anymore.  :) 

2001-01-23 10:59   Ben Collins-Sussman <>

	* www/project_source.html (1.4, post-edit-baton-removal,

	New web section:  how to contribute code.  

2001-01-23 10:19   Ben Collins-Sussman <>

	* STACK (1.61):

	Add general problems, don't let these fall on the floor.  

2001-01-23 08:44   Karl Fogel <>

	* STACK (1.60):

	Note that Change #2 is still being discussed.  

2001-01-22 19:47   Karl Fogel <>

	* STACK (1.59):

	Change status of "Change #2" (that was added in previous commit).  

2001-01-22 19:30   Karl Fogel <>

	* STACK (1.58):

	Added Ben's emails ("Change #1", "Change #2", ... "Change #7") as 
	stack items.  

2001-01-22 12:36   Branko Cibej <>

	* STACK (1.57):

	Added a tentative list of what needs to be done in the FS before an 
	abort_txn can be tested.  

2001-01-19 04:18   Greg Stein <>

	* subversion/mod_dav_svn/mod_dav_svn.c (1.17,
	post-edit-baton-removal, pre-edit-baton-removal):

	update for recent rename in mod_dav code. some prefixes are now
	"dav_" rather than "ap_". we also have a pool in the register_hooks
	function now.  

2001-01-16 17:02   Branko Cibej <>

	* IDEAS (1.19, post-edit-baton-removal, pre-edit-baton-removal):

	Add section about removing obsolete versions to archive.  Fix some

2001-01-15 03:40  Bill Tutt <>

	* subversion/clients/win32/svn_com/SVN.cpp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal):

	* SVN.cpp (CSVNWorkingCopy::wc_statuses): Fix apr_hash_count call to
	current prototype.  

2001-01-14 15:50   Branko Cibej <>

	* STACK (1.56):

	Remove svn_fs_list_transactions from the todo list.  
	Hmm, the first half of this list is getting really short.  

2001-01-14 15:47   Branko Cibej <>

	* subversion/libsvn_fs/txn.c (1.20, post-edit-baton-removal,

	(txn_body_open_txn_root, svn_fs_open_txn_root): Use SVN_NO_ERROR 
	instead of plain 0.  

2001-01-14 15:45   Branko Cibej <>

	* subversion/tests/libsvn_fs/fs-test.c (1.8,
	post-edit-baton-removal, pre-edit-baton-removal):

	(list_live_transactions): New test for svn_fs_list_transactions.  
	(text_funcs): Add it.  

2001-01-14 15:43   Branko Cibej <>

	* subversion/libsvn_fs/txn.c (1.19):

	Yikes, I really should check before committing! 
	* txn.c (svn_fs_list_transactions): New func, implements api seen in 

2001-01-14 15:41   Branko Cibej <>

	* subversion/libsvn_fs/: txn-table.c (1.7), txn-table.h (1.5),
	txn.c (1.18):

	* txn_table.h (svn_fs__get_txn_list): New prototype.  
	* txn_table.c (svn_fs__get_txn_list): New function, creates a list
	of keys in the transactions table.  
	(next_id_key): Factor out the "next-id" key. All users changed.  
	Load svn-dev.el.  

2001-01-14 12:26   Branko Cibej <>

	* STACK (1.55):

	Remove svn_fs_open_txn from the todo list.  

2001-01-14 12:24   Branko Cibej <>

	* subversion/tests/libsvn_fs/fs-test.c (1.7):

	(reopen_trivial_transaction): New test for svn_fs_open_txn.  
	(text_funcs): Add it.  

2001-01-14 12:21   Branko Cibej <>

	* subversion/libsvn_fs/txn.c (1.17):

	(svn_fs_open_txn): New func, implements api seen in svn_fs.h 
	(txn_body_begin_txn, svn_fs_begin_txn, svn_fs_close_txn): Return
	SVN_NO_ERROR instead of plain 0.  

2001-01-14 12:17   Branko Cibej <>

	* subversion/libsvn_fs/fs.c (1.29):

	(svn_fs_open_berkeley): Store the filesystem path fs->env_path.  
	Load svn-dev.el.  

2001-01-14 12:14   Branko Cibej <>

	* subversion/libsvn_fs/skel.c (1.16, post-edit-baton-removal,

	(svn_fs__prepend): Fix typo, nake this actually work.  

2001-01-12 18:34   Karl Fogel <>

	* STACK (1.54):

	Remove svn_fs_close_txn() and svn_fs_txn_name() from the todo list.  

2001-01-12 18:32   Karl Fogel <>

	* subversion/: libsvn_fs/txn-table.c (1.6), libsvn_fs/txn.c (1.16),
	libsvn_fs/txn.h (1.5, post-edit-baton-removal,
	pre-edit-baton-removal), tests/libsvn_fs/fs-test.c (1.6):

	(svn_fs__create_txn): Store the new txn id in *txn_id_p.  
	(svn_fs_txn_name): New func, implements api seen in svn_fs.h.  
	* tests/fs-test.c (trivial_transaction): Replaces 
	begin_then_close_transaction(), test that svn_fs_txn_name() works.  
	(test_funcs): Adjust for above.  
	* txn.h, txn.c: Load svn-dev.el.  

2001-01-12 15:59   Ben Collins-Sussman <>

	* subversion/libsvn_wc/entries.c (1.82):

	(svn_wc__entry_merge_sync):  oops, fix doc typo. :) 

2001-01-12 15:58   Ben Collins-Sussman <>

	* subversion/libsvn_wc/entries.c (1.81):

	(svn_wc__entry_merge_sync):  add long doc string describing 

2001-01-12 15:43   Karl Fogel <>

	* subversion/: libsvn_fs/txn.c (1.15), tests/libsvn_fs/fs-test.c

	* txn.c (svn_fs_txn_t): Fix typo in comment.  
	(svn_fs_close_txn): New func, implements api seen in svn_fs.h 
	* tests/fs-test.c (begin_then_close_transaction): New test.  
	(test_funcs): Add it.  
	JimB, pls let me know if I missed something, thanks.  

2001-01-12 15:29   Ben Collins-Sussman <>

	* subversion/include/svn_wc.h (1.67):

	(svn_wc_entry):  clearer doc string.  

2001-01-12 15:24   Karl Fogel <>

	* STACK (1.53):

	Mike's working on Bill Tutt's path problem, Ben's working on his
	entry deletion problem, so move those items to the appropriate

2001-01-12 14:52   Ben Collins-Sussman <>

	* STACK (1.52):

	Finished the trace-commit editor.  

2001-01-12 13:19  Bill Tutt <>

	* subversion/clients/win32/SVNControls/: SGrid.vbp (1.3),
	SVNControls.ocx (1.1) (utags: milestone-2, post-edit-baton-removal,

	In order for VB to keep a constant set of GUID, VB needs a
	preexisting binary to validate version compatability against. Yes,
	this is wierd, checking in a built binary, but VB's requirements
	here are wierd. :( Please update SVNControls.ocx whenever you change
	any of these files.  
	* SVNControls.OCX:  New file required to keep VB's GUID generation
	* SGrid.vpb: Adjustment to the version compatible binary so that its
	in the same directory.  
	Submitted by: Bill Tutt Reviewed by: 

2001-01-12 12:19   Karl Fogel <>

	* STACK (1.51):

	Add stack items from Bill Tutt, so can have the satisfaction later
	of popping them off.  

2001-01-12 06:22   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.23, post-edit-baton-removal,

	fill in the new pool argument of the dav_walk_resource.  

2001-01-11 18:23   Karl Fogel <>

	* subversion/libsvn_subr/svn_error.c (1.49,
	post-edit-baton-removal, pre-edit-baton-removal):

	Changes cascaded from fixing svn_pool_clear() to handle an orphaned 
	error pool: 
	With the advent of svn_error_init_pool(), it became possible to have 
	an initial error pool created on a non-tippy-topmost pool, that is,
	on a pool whose parent is not null.  Therefore, we now store some
	extra information to indicate whether an error pool is a subpool of
	the pool to which we found it attached, as opposed to being a
	subpool of someone farther up the chain.  
	(svn_error__set_error_pool, svn_error__get_error_pool): New funcs.  
	(svn_pool__inherit_error_pool): Replaces
	svn_pool__attach_error_pool.  Demand a parent who has an error pool.
	All callers changed.  
	(svn_error__make_error_pool): New func.  
	(SVN_ERROR_POOL_ROOTED_HERE): New #define string constant.  
	(svn_error_init_pool): Implement using above new helpers; note that 
	the pool is rooted here.  Also, use APR_STATUS_IS_SUCCESS macro 
	instead of direct comparison.  
	(svn_pool_create): Either init an error pool or inherit one, but not
	(svn_pool_clear): Make sure there's an error pool to reattach, i.e., 
	handle the case in which the error pool got destroyed when its
	parent was cleared.  Also, don't assume pool is not tippy-topmost,
	rather, handle the null parent case.  

2001-01-11 15:29  Bill Tutt <>

	* subversion/libsvn_wc/questions.c (1.45):

	svn_wc_text_modified_p was assuming that just because we could 
	construct a string variable that might point to the text-base
	version of the file, that the actual file exists.  
	* questions.c:  (svn_wc_text_modified_p): Check for existance of
	text-base file.  
	Submitted by: Bill Tutt Reviewed by: Karl Fogel 

2001-01-11 15:21   Karl Fogel <>

	* subversion/libsvn_fs/: clones-table.c (1.3), dag.c (1.4,
	post-edit-baton-removal, pre-edit-baton-removal), txn-table.c

	Add casts away from const, to get rid of compiler warnings.  
	We have const strings being passed into functions that take
	non-const strings, but -- if I understand correctly -- we don't want
	those functions promising the incoming data will never be changed. 
	After all, the functions are just storing the data directly
	(non-copying) into skels, and it would be too restrictive if all
	skels had to promise never to modify the data in their strings.  
	If this is wrong, and skels can make such a promise, then we should
	do this change the other way, adding const to the string parameters
	of svn_fs__str_atom(), svn_fs__parse_skel(), and

2001-01-11 05:25   Greg Stein <>

	* subversion/libsvn_ra_dav/session.c (1.14,
	post-edit-baton-removal, pre-edit-baton-removal):

	sync with latest RA interface: add an entry for get_latest_revnum 

2001-01-11 05:24   Greg Stein <>

	* subversion/mod_dav_svn/mod_dav_svn.c (1.16):

	Apache 2.0 now deals with handlers a bit differently.  

2001-01-11 05:22   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.22):

	#if out some functions that aren't in the FS.  [ lack of
	open_rev_root basically prevents all operation ] 

2001-01-11 05:21   Greg Stein <>

	* subversion/libsvn_fs/dag.c (1.3):

	add some stubs so the symbols will be defined and the library can

2001-01-11 03:35  Bill Tutt <>

	* subversion/clients/win32/svn_com/: MarshalArray.h (1.2), SVN.h
	(1.2), SVNStatus.h (1.2), misc.h (1.2), resource.h (1.2,
	milestone-2), svn_comCP.h (1.2) (utags: post-edit-baton-removal,

	Include guards shouldn't have leading underscores, since that
	namespace is reserved for the compiler.  
	* resource.h: Fix .rc name in comment.  
	* SVNStatus.h:  Fix include guards to not have leading underscores.  
	* misc.h: Same.  
	* MarshallArray.h: Same.  
	* svn_comCP.h: Same.  
	* SVN.h: Same.  

2001-01-11 03:22  Bill Tutt <>

	* subversion/clients/win32/WinSVN/: WinSVN.vbp (1.2), lvh.cls (1.2,
	milestone-2) (utags: post-edit-baton-removal,

	WinSVN has successfully made it through! 
	* *.vbp: VB IDE stuff 
	* lvh.cls:  Fix ImageList index usages. Use the row key in FindRow.
	                  Correctly assign icon for files that are "pending deletes".
	                  Correctly assign icons for files that should be in the current
	                  directory, but aren't there for some reason.  Discontinue using

2001-01-11 03:10  Bill Tutt <>

	* subversion/clients/win32/svn_com/SVN.cpp (1.2):

	* SVN.cpp: Only unlock the SAFEARRAY if I've gone and locked it

2001-01-11 03:08  Bill Tutt <>

	* subversion/clients/win32/SVNControls/: SGrid.ctl (1.2,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	SGrid.vbp (1.2), cGridCell.cls (1.2, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	Document AutoWidthColumn repaint bug and expose row Keys.  
	* *.vbp: VB IDE auto-changes 
	* SGrid.ctl: Document the repaint bug, and set cGridCell.Key 
	* cGridCell.cls: Add the Key property.  

2001-01-10 18:57  Bill Tutt <>

	* subversion/libsvn_subr/libsvn_subr.dsp (1.5,
	post-edit-baton-removal, pre-edit-baton-removal):

	Add missing file to fix the Win32 build.  
	* libsvn_subr/libsvn_subr.dsp: Add quoprint.c.  

2001-01-10 18:10   Greg Stein <>

	* subversion/: include/svn_error.h (1.65), libsvn_subr/svn_error.c
	(1.48), tests/libsvn_fs/skel-test.c (1.13, post-edit-baton-removal,

	Add svn_pool_clear() to properly deal with the error pool.  
	* include/svn_error.h (svn_pool_clear): new declaration 
	* libsvn_subvr/svn_error.c (svn_pool_clear): new function 
	(svn_pool__attach_error_pool): new function 
	* libsvn_fs/tests/skel-test.c (get_empty_string): use svn_pool_clear
	    rather than calling apr_clear_pool directly.  
	Submitted by: Bill Tutt <> Reviewed by: Greg

2001-01-10 18:00   Greg Stein <>

	* notes/issues.txt (1.3, milestone-2, post-edit-baton-removal,

	don't lose track of this one! 

2001-01-10 17:17  Bill Tutt <>

	* subversion/clients/win32/WinSVN/: CheckedFolder.ico (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	DriveHelpers.bas (1.1, post-edit-baton-removal,
	pre-edit-baton-removal), ExplorerViewHelpers.bas (1.1,
	post-edit-baton-removal, pre-edit-baton-removal),
	OpnCheckedFolder.ico (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), Removable.ico (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), Startup.bas (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	WinSVN.res (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), WinSVN.vbp (1.1), binary.ico (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	conflict.ico (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), frmAbout.frm (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), frmAbout.frx
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), frmLogin.frm (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), frmMain.frm (1.1,
	post-edit-baton-removal, pre-edit-baton-removal), frmMain.frx (1.1,
	post-edit-baton-removal, pre-edit-baton-removal), frmOptions.frm
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), frmSplash.frm (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), frmSplash.frx
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), ignored_dir.ico (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), ignored_file.ico
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), lvh.cls (1.1), missing_dir.ico (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	missing_file.ico (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), modified_binary.ico (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	modified_normal.ico (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), normal.ico (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), pending_del.ico
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), unknown.ico (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), ve_split.cur
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), Binaries/SSubTmr6.dll (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	Binaries/vbalIml6.ocx (1.1, milestone-2, post-edit-baton-removal,

	Initial checkin of WinSVN VB prototype UI WinSVN/Binaries are COM
	DLLs you need to regsvr32 before trying to use WinSVN.  

2001-01-10 17:14  Bill Tutt <>

	* subversion/clients/win32/SVNControls/: SGrid.ctl (1.1), SGrid.vbp
	(1.1), article.dat (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), cFlatHeader.cls (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), cGridCell.cls
	(1.1), cHeaderControl.cls (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), cScrollBars.cls
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), cShellSort.cls (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), csgrid.res (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	frmOutlookDemo.frm (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), frmOutlookDemo.frx (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	frmOutlookGroup.frm (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), frmOutlookGroup.frx (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), frmTest.frm (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	frmTest.frx (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), frmTestMatrix.frm (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), frmTestMatrix.frx
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), frmVirtual.frm (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), frmVirtual.frx
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), gDevGrid.vbg (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), link.dat (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	mGDI.bas (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), pTest.vbp (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), ppgColumns.pag
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), ppgMain.pag (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), type.dat (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal):

	Initial checkin of the SVN SGrid control, based off of VB
	Accelerators SGrid control.  

2001-01-10 16:32  Bill Tutt <>

	* subversion.dsw (1.8, post-edit-baton-removal,

	* subversion.dsw: Add the svn_com project to the workspace.  

2001-01-10 16:30  Bill Tutt <>

	* subversion/clients/win32/svn_com/: MarshalArray.h (1.1), SVN.cpp
	(1.1), SVN.h (1.1), SVN.rgs (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), SVNCOM.cpp (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	SVNCOM.def (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), SVNCOM.idl (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), SVNCOM.rc (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	SVNCOMps.def (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), SVNStatus.cpp
	(1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), SVNStatus.h (1.1), SVNStatus.rgs (1.1,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	StdAfx.cpp (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), StdAfx.h (1.1, post-edit-baton-removal,
	pre-edit-baton-removal), dlldatax.c (1.1, post-edit-baton-removal,
	pre-edit-baton-removal), dlldatax.h (1.1, post-edit-baton-removal,
	pre-edit-baton-removal), misc.cpp (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), misc.h (1.1),
	resource.h (1.1), svn_com.dsp (1.1, post-edit-baton-removal,
	pre-edit-baton-removal), svn_comCP.h (1.1):

	Initial svn_com checkin.  Supports: 
	* File change notification watcher thread for VB UI 
	* Exposing svn_wc_statuses() into COM objects.  
	* Exposes check_wc to determine if directory is a valid WC directory 
	* Generic ATL code to allow C++ code to fire events to the VB UI
	thread from any thread.  
	Known issues: MarshalArray.h must event implement a proxy interface
	cache per thread in order to give back the correct interface when
	ATL's IEnumConnectionPoints code is used.  

2001-01-09 18:43   Branko Cibej <>

	* subversion/libsvn_fs/structure (1.27, post-edit-baton-removal,

	(Merge rules): Fix typo.  
	(Appendix): Replace "" with "node.revision-id" where 

2001-01-09 18:08   Branko Cibej <>

	* (1.45), subversion/tests/libsvn_delta/
	(1.13), subversion/tests/libsvn_fs/ (1.8),
	subversion/tests/libsvn_subr/ (1.12),
	subversion/tests/libsvn_wc/ (1.13):

	Update donfigury and makefiles for libtoolized APR.  
	( New subtitution SVN_APR_LIBS.  Point it to
	and $LIBTOOL_LIBS defined in apr/APRVARS.  
	subversion/libsvn_wc/tests/ Use @SVN_APR_LIBS@ instead
	of explicitly linking libapr.a.  

2001-01-08 23:01   Greg Stein <>

	* subversion/libsvn_ra_dav/commit.c (1.25, pre-edit-baton-removal):

	Continue the development of the commit code.  
	Warning: this stuff compiles only. It doesn't work at all right now.
		 (lack of a way to fetch RA-specific properties, and no server to
	talk to) 
	(add_resource): new function to add a resource into the RESOURCES
	(checkout_resource): implement 
	(commit_delete_item): remove the #if 0, so we execute the DELETE
	path now 
	(commit_add_dir): implement 
	(commit_rep_dir): note that this function will never "do" anything 
	(commit_change_dir_prop): do the CHECKOUT immediately; defer the
	(commit_add_file): implement CHECKOUT; add notes 
	(commit_rep_file): implement CHECKOUT portion 
	(commit_change_file_prop): do the CHECKOUT immediately; defer the
	(commit_close_edit): we'll be MERGE'ing the activity 
	(svn_ra_dav__get_commit_editor): remove the if (0), so we create the

2001-01-08 22:54   Greg Stein <>

	* subversion/libsvn_ra_dav/: fetch.c (1.32), ra_dav.h (1.5) (utags:

	* fetch.c, ra_dav.h (svn_ra_dav__checkout): update prototype to
	    match RA specification -- drop the URL argument.  

2001-01-08 18:05   Karl Fogel <>

	* subversion/libsvn_wc/status.c (1.24, pre-edit-baton-removal):

	(svn_wc_statuses): Don't report subdirs at all if not descending.  
	Thanks to Bill Tutt for noticing the logic bug.  

2001-01-08 17:15   Karl Fogel <>

	* subversion/include/svn_wc.h (1.66):

	Change introduction to status section based on Greg Stein's

2001-01-08 17:06   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.65), libsvn_wc/adm_crawler.c
	(1.70, pre-edit-baton-removal), libsvn_wc/entries.c (1.80),
	libsvn_wc/get_editor.c (1.158), libsvn_wc/log.c (1.80),
	libsvn_wc/props.c (1.23, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_wc/questions.c (1.44),
	libsvn_wc/status.c (1.23), libsvn_wc/wc.h (1.140):

	(svn_wc_entries_read): Public replacement for svn_wc__entries_read.  
	All callers changed.  

2001-01-08 16:08   Greg Stein <>

	* STACK (1.50):

	some changes lying around 

2001-01-08 14:35   Ben Collins-Sussman <>

	* subversion/libsvn_fs/convert-size.c (1.9,
	post-edit-baton-removal, pre-edit-baton-removal):

	Comment fix.  Some global-search-and-replace got carried away.  :) 

2001-01-08 12:55   Karl Fogel <>

	* subversion/: include/svn_client.h (1.16), include/svn_wc.h
	(1.64), libsvn_client/status.c (1.8, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_wc/status.c (1.22):

	At the request of Bill Tutt: 
	(svn_wc_statuses): Take new descend arg, only recurse beyond
	immediate entries if it is non-zero.  
	(svn_client_status): Take new descend arg, pass through to 
	(svn_cl__status): Pass a non-zero descend arg .  Add note about
	having a command-line option to control descent later.  

2001-01-06 10:34   Joe Orton <>

	* subversion/tests/libsvn_delta/random-test.c (1.18,
	post-edit-baton-removal, pre-edit-baton-removal):

	* random-test.c (main): Pass the pool to apr_initopt.  

2001-01-04 03:12   Greg Stein <>

	* www/webdav-usage.html (1.12, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	continued updates based on discussions on the DeltaV and SVN lists 

2001-01-03 20:42   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.15), libsvn_client/commit.c
	(1.15, pre-edit-baton-removal):

	Make svn_client_commit() accept and compose "before" and "after"
	Translation:  `svn commit' now prints status information as it goes.
	* commit.c (svn_client_commit):  take before/after editors as args, 
	  compose them before driving the final editor.  
	* svn_client.h (svn_client_commit):  update the declaration too.  
	* commit-cmd.c (svn_cl__commit):  fetch trace-commit editor and pass 
	  it to svn_client_commit().  
	* trace-commit.c:  print terse output during commit.  
	*  fix long-standing bug in invocation of `svn
	  commit'.  Why has nobody noticed that this script has been broken
	  for so long? :) 

2001-01-03 15:39   Karl Fogel <>

	* STACK (1.49):

	Fix typo.  

2001-01-03 15:39   Karl Fogel <>

	* STACK (1.48):

	Made a small-scale, concrete fs task list, as discussed w/ Branko on 
	the phone.  

2001-01-03 12:50   Karl Fogel <>

	* www/project_docs.html (1.14, post-edit-baton-removal,

	Link to webdav-usage.html.  

2001-01-03 12:45   Karl Fogel <>

	* notes/webdav-usage.html (1.12):

	moved to ../www/ 

2001-01-03 12:11   Karl Fogel <>

	* notes/issues.txt (1.2):

	Tweak wording, and add a comment.  

2001-01-03 12:09   Karl Fogel <>

	* notes/issues.txt (1.1):

	Ben's summary email, repositized so we can edit it.  

2000-12-26 18:54   Karl Fogel <>

	* subversion/tests/libsvn_fs/fs-test.c (1.4):

	Fix typo (might as well, as long as I'm browsing).  

2000-12-26 18:47   Karl Fogel <>

	* subversion/libsvn_fs/: structure (1.26), tree.c (1.7):

	* tree.c (kind_t): add question about this enum.  
	(svn_fs_node_t): fix presumed typo in doc comment.  
	* structure: fix typo, add clarifying adjective.  

2000-12-26 18:25   Greg Hudson <>

	* subversion/libsvn_subr/quoprint.c (1.1, post-edit-baton-removal,

	Routines for quoted-printable encoding.  Also forgot this in the
	last commit.  

2000-12-26 18:20   Greg Hudson <>

	* subversion/include/svn_quoprint.h (1.1, post-edit-baton-removal,

	Header for quoted-printable encoding.  Forgot this in the last

2000-12-26 17:28   Greg Hudson <>

	* subversion/: include/svn_error.h (1.64), libsvn_delta/delta.h
	(1.48, pre-edit-baton-removal), libsvn_delta/xml_output.c (1.24,
	pre-edit-baton-removal), libsvn_delta/xml_parse.c (1.141,
	pre-edit-baton-removal), libsvn_subr/ (1.13),
	tests/libsvn_delta/svndiff-test.c (1.10, post-edit-baton-removal,

	Add support for quoted-printable encoding, as requested by Karl.  
	(svn_quoprint_encode, svn_quoprint_decode,
	svn_quoprint_encode_string, svn_quoprint_decode_string): New
	functions, very much like the base64 analogs.  
	(SVN_ERR_XML_UNKNOWN_ENCODING): New error for unknown binary
	(svn_xml__stackframe_t, xml_handle_start): Field for new attribute 
	* xml_parse.c (do_begin_textdelta): Understand "encoding" attribute
	and handle quoted-printable and base64 encodings.  Default is
	* xml_output.c (apply_textdelta): If QUOPRINT_SVNDIFFS is defined,
	output deltas using quoted-printable instead of base64.  

2000-12-26 16:52   Greg Hudson <>

	* doc/deltas.texi (1.6, milestone-2, post-edit-baton-removal,

	Fix formatting error.  

2000-12-26 15:36   Greg Hudson <>

	* subversion/include/svn_wc.h (1.63):

	Eliminate duplicate #ifdef wrapping left by last commit.  

2000-12-26 15:14   Greg Hudson <>

	* subversion/libsvn_subr/base64.c (1.14, post-edit-baton-removal,

	Typo fix in comment.  

2000-12-26 12:37   Karl Fogel <>

	* subversion/include/: svn_base64.h (1.8, post-edit-baton-removal,
	pre-edit-baton-removal), svn_client.h (1.14), svn_delta.h (1.135,
	pre-edit-baton-removal), svn_error.h (1.63), svn_fs.h (1.33,
	pre-edit-baton-removal), svn_hash.h (1.14, post-edit-baton-removal,
	pre-edit-baton-removal), svn_io.h (1.29, post-edit-baton-removal,
	pre-edit-baton-removal), svn_path.h (1.25, post-edit-baton-removal,
	pre-edit-baton-removal), svn_ra.h (1.27, pre-edit-baton-removal),
	svn_string.h (1.43, post-edit-baton-removal,
	pre-edit-baton-removal), svn_test.h (1.7, pre-edit-baton-removal),
	svn_types.h (1.52), svn_wc.h (1.62), svn_xml.h (1.28,
	post-edit-baton-removal, pre-edit-baton-removal):

	Wrap everything in extern "C" iff __cplusplus is defined (thanks to 
	Greg Stein and Bill Tutt for the suggestion).  
	Also: load svn-dev.el where it wasn't being loaded, and get rid of 
	page-break characters before the final sections (although there is a 
	boundary there, the result of delimiting it this way was that 
	printouts always ended with a predictably silly final page).  

2000-12-26 12:14   Karl Fogel <>

	* subversion/include/svn_xml.h (1.27):

	Load svn-dev.el.  

2000-12-24 06:52   Greg Hudson <>

	* subversion/libsvn_subr/io.c (1.26):

	(svn_stream_t, svn_stream_create): Oops, forgot, don't need the
	"pool" element of svn_stream_t any more now that the pool argument
	to the read and write handlers is gone.  

2000-12-24 06:35   Greg Hudson <>

	* subversion/: include/svn_io.h (1.28), libsvn_delta/svndiff.c
	(1.15, post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_delta/xml_output.c (1.23), libsvn_subr/base64.c (1.13),
	libsvn_subr/io.c (1.25):

	(svn_read_fn_t, svn_write_fn_t): Eliminate the pool argument; if a
	read or write handler needs to do allocation, it must use a pool
	stored in the baton argument--not an inconvenience for any of our
	current handlers now that we have svn_stream_from_aprfile() and
	svn_stream_from_stdio() to handle the simple cases.  All instances
	of svn_read_fn_t and svn_write_fn_t changed, as well as the callers
	in io.c.  

2000-12-24 06:24   Greg Hudson <>

	* subversion/: include/svn_base64.h (1.7), include/svn_delta.h
	(1.134), libsvn_delta/svndiff.c (1.14), libsvn_delta/text_delta.c
	(1.27, post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_delta/xml_output.c (1.22), libsvn_delta/xml_parse.c (1.140),
	libsvn_subr/base64.c (1.12):

	(svn_txdelta_parse_svndiff, svn_base64_encode, svn_base64_decode, 
	svn_tdelta_apply, svn_txdelta_parse_svndiff,
	svn_delta_get_xml_editor): Use a close handler instead of a
	zero-length write to signify end of writing, or add an
	svn_stream_close() request when the writable stream wasn't being

2000-12-24 05:48   Greg Hudson <>

	* subversion/: include/svn_base64.h (1.6), include/svn_delta.h
	(1.133), libsvn_delta/svndiff.c (1.13), libsvn_delta/xml_output.c
	(1.21), libsvn_delta/xml_parse.c (1.139), libsvn_subr/base64.c
	(1.11), tests/libsvn_delta/random-test.c (1.17),
	tests/libsvn_delta/svndiff-test.c (1.9):

	(svn_base64_encode, svn_base64_decode, svn_delta_parse_svndiff): Now
	that streams are represented by a single object instead of a handler
	and baton, we can simply return streams instead of assigning them
	through pointer arguments, at least in the case of constructors
	which can't return an error.  So do so.  All callers changed.  

2000-12-24 05:35   Greg Hudson <>

	* subversion/: include/svn_io.h (1.27), libsvn_subr/io.c (1.24):

	(svn_stream_from_aprfile, svn_stream_from_stdio): Don't close the 
	underlying file on a "close" operation.  This matches the existing
	uses of writable streams on apr or stdio files; none of the uses
	assume that the stream "owns" the underlying file.  

2000-12-24 05:26   Greg Hudson <>

	* subversion/include/svn_io.h (1.26):

	(svn_stream_from_aprfile, svn_stream_from_stdio): Doc change.  The 
	convenience of allowing file/fp to be NULL is still pretty
	convenient even though it's easy to create an empty readable stream.
	So we'll leave it around.  

2000-12-24 04:55   Greg Hudson <>

	* subversion/: include/svn_io.h (1.25), libsvn_subr/io.c (1.23):

	(svn_io_file_reader, svn_io_file_writer): Garbage collect, now that 
	generic streams have supplanted svn_read_fn_t and svn_write_fn_t. 
	It's possible that functions like these will want to be reintroduced
	in a slightly different form, simply as a shim to translate apr
	status codes to svn status codes.  But right now the only function
	that was using them that way was already using two other apr
	functions; that didn't seem to qualify as sufficient demand.  

2000-12-24 04:35   Greg Hudson <>

	* subversion/: include/svn_base64.h (1.5), include/svn_delta.h
	(1.132), libsvn_client/commit.c (1.14), libsvn_delta/delta.h
	(1.47), libsvn_delta/svndiff.c (1.12), libsvn_delta/text_delta.c
	(1.26), libsvn_delta/xml_output.c (1.20), libsvn_delta/xml_parse.c
	(1.138), libsvn_fs/file.h (1.8, post-edit-baton-removal,
	pre-edit-baton-removal), tests/libsvn_delta/random-test.c (1.16),
	tests/libsvn_delta/svndiff-test.c (1.8),
	tests/libsvn_delta/xml-output-test.c (1.9, pre-edit-baton-removal),
	libsvn_subr/base64.c (1.10), libsvn_wc/get_editor.c (1.157),
	tests/libsvn_wc/commit-test.c (1.15, pre-edit-baton-removal):

	(svn_base64_encode, svn_base64_decode, svn_txdelta_apply, 
	svn_txdelta_to_svndiff, svn_txdelta_parse_svndiff, 
	svn_delta_get_xml_editor): Use generic streams for output.  All
	callers changed.  Right now these functions still use a zero-length
	write to indicate the end of stream; I'll change them to use
	svn_stream_close() later.  
	* base64.c (encode_data): Fix an order of operations problem
	revealed by ALLOC_DEBUG during testing of the change to use writable
	generic streams.  

2000-12-23 21:54   Greg Hudson <>

	* subversion/libsvn_subr/io.c (1.22):

	(svn_stream_create): Remember to initialize close_fn.  

2000-12-23 16:41   Greg Hudson <>

	* subversion/libsvn_fs/file.h (1.7):

	(svn_fs__file_contents): Whoops, forgot to actually change the type.  

2000-12-23 16:38   Greg Hudson <>

	* subversion/: include/svn_fs.h (1.32), libsvn_fs/dag.h (1.7,
	post-edit-baton-removal, pre-edit-baton-removal), libsvn_fs/delta.c
	(1.20, pre-edit-baton-removal), libsvn_fs/file.h (1.6),
	libsvn_repos/delta.c (1.20, pre-edit-baton-removal),
	mod_dav_svn/repos.c (1.21):

	(I couldn't really test this patch; I hope I got it right.) 
	(svn_fs_file_contents): Use generic stream.  All callers changed. 
	But it doesn't seem to be implemented yet.  
	(svn_fs__dag_get_contents, svn_fs__file_contents): Use generic
	stream.  Doesn't seem to be implemented or used yet.  

2000-12-23 16:27   Greg Hudson <>

	* subversion/libsvn_delta/xml_parse.c (1.137):

	(svn_delta_xml_auto_parse): Doc fix.  

2000-12-23 16:24   Greg Hudson <>

	* subversion/: include/svn_delta.h (1.131),
	libsvn_client/apply_edits.c (1.9, pre-edit-baton-removal),
	libsvn_delta/xml_parse.c (1.136),
	tests/libsvn_delta/deltaparse-test.c (1.60,
	pre-edit-baton-removal), tests/libsvn_wc/checkout-test.c (1.37,

	(svn_delta_xml_auto_parse): Use generic stream for input.  All
	callers changed.  

2000-12-23 08:42   Greg Hudson <>

	* subversion/: include/svn_delta.h (1.130),
	libsvn_delta/text_delta.c (1.25), tests/libsvn_delta/random-test.c
	(1.15), libsvn_wc/get_editor.c (1.156):

	(svn_txdelta_apply): Change the source data to a generic stream. 
	All callers changed.  (The target data will become a generic stream
	later; the write_fns pretty much have to all be changed at once
	because we make pipelines out of them.) 

2000-12-23 05:38   Greg Stein <>

	* www/webdav-usage.html (1.11), notes/webdav-usage.html (1.11):

	major revamp to bring up to date (w.r.t the latest DeltaV draft and
	how we will map SVN concepts onto the DAV concepts).  
	many sections are still out of date, but these now have specific
	warnings about their problems.  
	also performed some terminology changes: (SVN) version -> revision 

2000-12-22 20:47   Greg Stein <>

	* subversion/libsvn_ra_dav/commit.c (1.24):

	Don't record local paths, just repository URLs.  

2000-12-22 16:48   Karl Fogel <>

	* doc/deltas.texi (1.5), subversion/include/svn_delta.h (1.129),
	subversion/libsvn_client/delete.c (1.6, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/libsvn_delta/compose_editors.c
	(1.7, pre-edit-baton-removal), subversion/libsvn_delta/svndiff.c
	(1.11), subversion/libsvn_delta/text_delta.c (1.24),
	subversion/libsvn_delta/xml_output.c (1.19),
	subversion/libsvn_delta/xml_parse.c (1.135),
	subversion/tests/libsvn_delta/vdelta-test.c (1.7,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_delta/xml-output-test.c (1.8),
	subversion/libsvn_fs/delta.c (1.19),
	subversion/libsvn_repos/delta.c (1.19),
	subversion/libsvn_ra_dav/commit.c (1.23),
	subversion/libsvn_ra_dav/fetch.c (1.31),
	subversion/libsvn_wc/adm_crawler.c (1.69),
	subversion/libsvn_wc/get_editor.c (1.155),
	subversion/tests/svn_test_editor.c (1.14, pre-edit-baton-removal):

	(svn_delta_edit_fns_t): changed delete to delete_item, to avoid 
	incompatibility with C++.  All uses changed.  
	(svn_txdelta_window_t): changed new to new_data, for same reason.  
	All uses changed.  
	Thanks to Bill Tutt <>.  

2000-12-21 18:39   Karl Fogel <>

	* STACK (1.47), subversion/libsvn_wc/entries.c (1.79),
	subversion/libsvn_wc/log.c (1.79), subversion/libsvn_wc/wc.h

	Fix the bug in which, for dir/subdir, dir/SVN/entries redundantly 
	mentioned subdir's ancestry.  Now only dir/subdir/SVN/entries has
	it.  Simultaneously, fix the bug whereby a dir's own entry did not
	mention being of type "dir".  
	#defines.  All former hard-coded "dir"s and "file"s replaced.  
	(svn_wc__entries_init): create this dir's own entry with the "dir" 
	attribute set.  
	(stuff_entry): don't absorb defaults for dirs.  
	(resolve_to_defaults): skip all dirs, not just this dir.  
	(log_do_committed): don't clobber the entry's `kind'.  

2000-12-21 17:49   Greg Hudson <>

	* subversion/: include/svn_io.h (1.24), libsvn_subr/io.c (1.21):

	Based on a suggestion from Greg Stein, detect fp == NULL or file ==
	NULL at stream creation time rather than in the handlers.  As a side
	effect, add a new interface svn_stream_empty().  Now that it's easy
	to make an empty stream, I think we should desupport the convenience
	and let the caller handle it, but I'll do that after I've finished
	converting everything to generic streams.  Small bites good.  
	(svn_stream_empty): New interface to make an empty readable stream.  
	(svn_stream_from_aprfile, svn_stream_from_stdio): Return 
	svn_stream_empty(pool) when file argument is NULL.  
	* io.c (read_handler_empty): New function.  
	* io.c (read_handler_apr, close_handler_apr, read_handler_stdio, 
	write_handler_stdio): Revert last change.  

2000-12-21 17:09   Branko Cibej <>

	* subversion.dsw (1.7), svn_check.dsp (1.2, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_client/libsvn_client.dsp (1.5,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_delta/libsvn_delta.dsp (1.4,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_fs/libsvn_fs.dsp (1.6, post-edit-baton-removal,
	subversion/tests/libsvn_delta/deltaparse_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_delta/random_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_delta/svndiff_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_delta/vdelta_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_delta/xml_output_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_subr/libsvn_subr.dsp (1.4),
	subversion/libsvn_wc/libsvn_wc.dsp (1.4, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_fs/fs_test.dsp (1.2,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_fs/skel_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_subr/hashdump_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_subr/sting_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_subr/string_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_test_editor.dsp (1.4,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_test_main.dsp (1.4,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_wc/checkout_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_wc/commit_test.dsp (1.3,
	post-edit-baton-removal, pre-edit-baton-removal):

	Now this is absolutely the *last* commit I make this year. Promise! 
	Synchronise Win32 build with changes in APR: 
	* subversion.dsw: Rename project aprlib to apr.  
	* .../*.dsp: Define APR_DECLARE_STATIC instead of APR_DECLARE_EXPORT
	for static linking.  
	* subversion/libsvn_fs/tests/skel_test.dsp: Don't link with Berkeley
	DB libraries.  subversion/libsvn_fs/tests/fs_test.dsp: Use release
	DB3 DLL for Release build.  

2000-12-21 15:56   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.26):

	oops, typo.  

2000-12-21 15:38   Karl Fogel <>

	* HACKING (1.22, post-edit-baton-removal, pre-edit-baton-removal):

	Removed spurious `x'.  

2000-12-21 15:17   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.25):

	  (get_latest_revnum):  new func to retrieve latest revnum from

2000-12-21 15:14   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.24):

	The RA interface doesn't need root_path specified anywhere; 
	presumably it's part of the URL used to open the ra "session".  
	So... score 1 for Greg Stein.  :) 
	  (get_commit_editor):  remove root_path arg.  
	  (do_checkout):        remove root_path arg.  
	  (do_update):          remove root_path arg.  

2000-12-21 14:45   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.61), libsvn_wc/adm_files.c
	(1.67, post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_wc/entries.c (1.78), libsvn_wc/get_editor.c (1.154),
	libsvn_wc/questions.c (1.43), libsvn_wc/wc.h (1.138):

	(svn_wc_check_wc): new public name of `svn_wc__check_wc'.  Moved
	from private to public header; all callers changed.  

2000-12-21 10:23   Karl Fogel <>

	* STACK (1.46):

	note subdir ancestor bug 

2000-12-20 22:58   Greg Hudson <>

	* subversion/: include/svn_delta.h (1.128),
	libsvn_delta/text_delta.c (1.23), tests/libsvn_delta/random-test.c
	(1.14), tests/libsvn_delta/svndiff-test.c (1.7),
	tests/libsvn_delta/vdelta-test.c (1.6), libsvn_wc/adm_crawler.c

	(svn_txdelta): Use generic streams.  All callers changed.  

2000-12-20 22:58   Greg Hudson <>

	* subversion/: include/svn_io.h (1.23), libsvn_subr/io.c (1.20):

	(read_handler_apr, close_handler_apr, read_handler_stdio, 
	close_handler_stdio): Allow file to be NULL and act as if it's an
	empty file.  

2000-12-20 19:57   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.60), libsvn_wc/adm_crawler.c

	Start to implement "mini" crawler that reports working copy's 
	revisions to an editor.  
	* svn_wc.h (svn_wc_crawl_local_mods):  fixed doc strings.  
	  (svn_wc_crawl_revisions):  new declaration.  
	* adm_crawler.c (process_subdirectory):  renamed to
	(svn_wc_crawl_revisions):  new public interface to 
	  report_revisions(), not yet completed.  

2000-12-20 19:09   Branko Cibej <>

	* subversion/libsvn_fs/fs.c (1.28):

	Remove <sys/stat.h>, <sys/types.h>, <fcntl.h>, <unistd.h>.  Not
	needed and breaks Win32 build.  

2000-12-20 19:08   Branko Cibej <>

	* subversion/libsvn_fs/err.h (1.16):

	(svn_fs__err_dangling_rev): Remove const from REV parameter to fix 
	MSVC warning.  

2000-12-20 19:06   Branko Cibej <>

	* subversion.dsw (1.6):

	Add project test_libsvn_fs-fs.  

2000-12-20 19:05   Branko Cibej <>

	* subversion/: libsvn_client/libsvn_client.dsp (1.4),
	libsvn_fs/libsvn_fs.dsp (1.5):

	Add missing files to MSVC projects.  

2000-12-20 19:03   Branko Cibej <>

	* subversion/tests/libsvn_fs/fs_test.dsp (1.1):

	Project for building fs-test.exe 

2000-12-20 13:24   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.23):

	Add some important parts to RA interface that we forgot, given the 
	way that editors work.  Without these things, replace_root() would
	be meaningless.  
	(get_commit_editor): the client must specify a ROOT_PATH in
	repository that it plans to commit to.  The EDIT_BATON handed back
	with the editor has this knowledge.  
	(do_update): similarly, the client must supply a ROOT_PATH in the 
	repository that represents the topmost subdir in the working copy
	that is being updated.  The REPORT_BATON handed back should have
	this knowledge.  

2000-12-20 06:15   Daniel Stenberg <>

	* ac-helpers/svn-apache.m4 (1.10, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	Modified to work with the new-style apache 2.0 directory tree (the
	httpd-2.0 module). This breaks compilation against the old
	apache-2.0 module.  PR: Obtained from: Submitted by: Reviewed by: 

2000-12-19 23:27   Greg Stein <>

	* subversion/include/svn_types.h (1.51):

	add a little safety to the macro 

2000-12-19 23:26   Greg Hudson <>

	* subversion/: include/svn_io.h (1.22), libsvn_subr/io.c (1.19):

	Implement "generic stream" objects which wrap read/write/close
	functions with a baton.  Nothing uses these yet (the old
	svn_read_fn_t and svn_write_fn_t still work fine); I'll be
	converting stuff to use them piece by piece.  I'll also eventually
	get rid of the pool argument to svn_read_fn_t and svn_write_fn_t as
	previously discussed on the dev list.  
	(svn_close_fn_t): New function type, intended to replace the
	practice of writing 0 bytes to signify the end of an output stream.  
	(svn_stream_create, svn_stream_set_read, svn_stream_set_write, 
	svn_stream_set_close): Functions for creating a stream using custom 
	(svn_stream_from_aprfile, svn_stream_from_stdio): Functions for
	creating a stream which wraps an APR or stdio file.  Perhaps the
	stdio one should die eventually, but it's convenient for the moment.  
	(svn_stream_read, svn_stream_write, svn_stream_close): Functions for 
	operating on a stream.  
	* io.c (svn_stream_t, baton_apr, read_handler_apr,
	write_handler_apr, close_handler_apr, svn_stream_from_aprfile,
	baton_stdio, read_handler_stdio, write_handler_stdio,
	close_handler_stdio, svn_stream_from_stdio): Internal types and
	functions to implement the public functions described above.  

2000-12-19 06:56   Daniel Stenberg <>

	* ac-helpers/svn-apache.m4 (1.9):

	Added $withval/src/lib/aputil to the list of directories in
	APACHE_INCLUDES since the mod_dav.h in apache includes apu_db.h
	which resides in that directory. mod_dav.h is itself of course
	included from mod_dav_svn. Perhaps we should split the apache
	include directories in several variables? PR: Obtained from: 
	Submitted by: Reviewed by: 

2000-12-19 06:26   Daniel Stenberg <>

	* subversion/mod_dav_svn/ (1.9):

	Added -I../../apr/include to the INCLUDES since the apr include
	files have been moved from the apache include directory PR: Obtained
	from: Submitted by: Reviewed by: 

2000-12-18 22:01   Greg Stein <>

	* HACKING (1.21):

	whoops. Ben already put in a title/date.  

2000-12-18 21:47   Greg Stein <>

	* HACKING (1.20):

	first pass at how to config/build/install/setup mod_dav_svn.  

2000-12-18 19:41   Branko Cibej <>

	* subversion/: libsvn_fs/dag.c (1.2), libsvn_fs/dbt.c (1.13,
	post-edit-baton-removal, pre-edit-baton-removal), libsvn_fs/dbt.h
	(1.12, post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_fs/rev-table.c (1.2, post-edit-baton-removal,
	pre-edit-baton-removal), tests/libsvn_fs/fs-test.c (1.3):

	* dag.c (svn_fs__dag_init_fs): Implement filesystem initialisation.  
	(dag_init_fs): New. Trail body for svn_fs__dag_init_fs.  
	* dbt.h (svn_fs__recno_dbt): New prototype.  
	* dbt.c (svn_fs__recno_dbt): New. Prepare DBT for RECNO ops.  
	*rev-table.c (svn_fs__get_rev): Explain rev->recno transform.  
	(svn_fs__put_rev): Prepare key with svn_fs__recno_dbt.  Explain
	recno->rev transform.  
	* tests/fs-test.c (check_filesystem_root_id): New. Trail body checks
	that the filesystem's initial node revision is `0.0'.  
	(open_berkeley_filesystem): Call check_filesystem_root_id.  

2000-12-18 15:13   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.22):

	(svn_ra_plugin_t):  clearer variable names.  

2000-12-18 10:26   Ben Collins-Sussman <>

	* HACKING (1.19):

	Adding newbie info and a TOC.  

2000-12-18 06:53   Greg Stein <>

	* subversion/libsvn_ra_dav/ra_dav.h (1.4):

	add a local property (SVN_RA_DAV__LP_VSN_URL) for storing the URL of
	a file's or dir's version resource.  

2000-12-18 06:52   Greg Stein <>

	* subversion/libsvn_ra_dav/fetch.c (1.30):

	Continued work on refining "proper" checkout behavior. Specifically,
	make sure that we collect and store the appropriate data items. Also
	simplified some of the processing.  
	* fetch DAV:version-name for all resources (it will contain the SVN
	    revision number) 
	* toss file_rec_t and dir_rec_t; just use resource_t directly within
	    the subdirs/files arrays 
	* resource_t: remember the version resource's URL (as vsn_url).
	    record the parent_baton of the resource's parent collection.  
	* fetch_ctx_t: store the activity URL as an svn_string_t rather than
	    as a const char *; when we apply the property, the interface wants a
	    string, so just build it once.  
	* (start_resource): record the parent_baton. use "url" terminology
	    rather than "href" * (end_resource): store the resource_t into the
	    subdirs/files rather than constructing a dir_rec_t or a file_rec_t.  
	  free the parsed URL structure when we're done with it *
	(validate_element): add validation for ELEM_version_name *
	    (end_element): record the version resource as r->vsn_url (rather
	    than the old form of r->target_href) 
	  construct and store the activity URL as an svn_string_t 
	  comments and framework for future storing of the revision number *
	    (fetch_file): take a resource_t as a param, rather than the
	    resource's URL.  
	  take some care to close the files when an error occurs 
	  store the version resource's URL as a file property *
	    (svn_ra_dav__checkout): store resource_t* in subdirs/files rather
	    than _rec_t structure.  
	  store the activity URL in a directory property 
	  don't scan the new subdirs to set the parent_baton; it now gets
	    set properly during the fetching of (sub)directory entries 
	  revise/comment the sentinel stuff a bit for the new resource_t*

2000-12-16 20:19   Branko Cibej <>

	* subversion/libsvn_fs/fs.c (1.27):

	Include "apr_file_io.h" 
	(svn_fs_create_berkeley): Use apr_make_dir instead of mkdir.  

2000-12-16 18:25   Branko Cibej <>

	* subversion/tests/libsvn_fs/fs-test.c (1.2):

	"When /I/ use a word," Humpty Dumpty said, in rather a scornful
	tone, "it means just what I chose it to mean -- neither more nor
	(create_berkeley_filesystem) Fixed test id.  

2000-12-16 18:14   Branko Cibej <>

	* subversion/tests/libsvn_fs/ (1.7):

	(noinst_PROGRAMS): Added fs-test.  Uncomment bits to build it.  

2000-12-16 18:13   Branko Cibej <>

	* subversion/tests/libsvn_fs/ (1.2,
	post-edit-baton-removal, pre-edit-baton-removal):

	Added fs-test to the list of tests.  Remove database files created
	by fs-test before running the tests.  

2000-12-16 18:12   Joe Orton <>

	* subversion/libsvn_ra_dav/commit.c (1.22):

	* commit.c (simple_request): Use the method name passed rather than 
	hard-coding MKACTIVITY.  Fix the http_get_status() call.  

2000-12-16 18:11   Branko Cibej <>

	* subversion/libsvn_fs/ (1.22):

	(libsvn_fs_la_SOURCES): Added dag.c.  

2000-12-16 18:11   Branko Cibej <>

	* subversion/tests/libsvn_fs/.cvsignore (1.4,
	post-edit-baton-removal, pre-edit-baton-removal):

	Added fs-test and test-repo.  

2000-12-16 18:10   Branko Cibej <>

	* subversion/tests/libsvn_fs/fs-test.c (1.1):

	      "The time has come," the Walrus said, 
	         "To talk of many things: 
	       Of shoes -- and ships -- and sealing wax -- 
	          Of cabbages -- and kings -- 
	       And why the sea is boiling hot -- 
	          And whether pigs have wings." 

2000-12-16 18:09   Branko Cibej <>

	* subversion/libsvn_fs/dag.c (1.1):

	       Tweedledum and Tweedledee 
	          Agreed to have a battle, 
	       For Tweedledum said Tweedledee 
	          Had spoiled his nice new rattle.  
	       Just then flew down a monstrous crow, 
	          As black as a tar-barrel; 
	       Which frightened both the heroes so, 
	          They quite forgot their quarrel.  

2000-12-16 17:21   Branko Cibej <>

	* subversion/libsvn_fs/: err.c (1.19), err.h (1.15), fs.c (1.26),
	fs.h (1.16, post-edit-baton-removal, pre-edit-baton-removal), id.c
	(1.14, post-edit-baton-removal, pre-edit-baton-removal),
	nodes-table.c (1.3, post-edit-baton-removal,
	pre-edit-baton-removal), rev-table.h (1.2, post-edit-baton-removal,

	* err.h (svn_fs__err_corrupt_fs_revision, svn_fs__err_dangling_rev): 
	New prototypes.  
	* err.c (corrupt_rev, svn_fs__err_corrupt_fs_revision, 
	svn_fs__err_dangling_rev): New functions.  
	* fs.h (svn_fs_t): Add member "revisions".  
	* fs.c: Inlcude "rev-table.h".  
	(cleanup_fs): Clean up revisions table.  
	(svn_fs_create_berkeley): Create revisions table.  
	(svn_fs_open_berkeley): Open revisions table.  
	* id.c: Include "validate.h".  
	(svn_fs_parse_id): Use svn_fs__count_id_components to check ID's 
	* nodes-table.c: Include "validate.h".  
	(is_valid_proplist): Removed.  
	(is_valid_flag): Use svn_fs__is_valid_proplist instead.  
	* rev-table.h: Include <db.h> and "skel.h".  
	(svn_fs__open_revisions_table, svn_fs__get_rev, svn_fs__put_rev): 
	New prototypes.  Add local eval to load svn-dev.el.  

2000-12-16 17:07   Branko Cibej <>

	* subversion/libsvn_fs/ (1.21):

	(libsvn_fs_la_SOURCES): Added rev-table.c and validate.c.  

2000-12-16 17:05   Branko Cibej <>

	* subversion/libsvn_fs/rev-table.c (1.1):

	What mattered it to her just then that the rushes had begun to fade, 
	and to lose all their scent and beauty, from the very moment that
	she picked them?  Even real scented rushes, you know, last only a
	very little while -- and these, being dream-rushes, melted away,
	almost like snow, as they lay in heaps at her feet -- but Alice
	hardly noticed this, there were so many other curious things to
	think about.  

2000-12-16 17:05   Branko Cibej <>

	* subversion/libsvn_fs/validate.c (1.1, post-edit-baton-removal,

	"I only hope the boat won't tipple over!" she said to herself.  "Oh, 
	/what/ a lovely one! Only I couldn't quite reach it."  And it 
	certainly /did/ seem a little provoking ("almost as if it happened
	on purpose," she thought) that, though she managed to pick plenty of 
	beautiful rushes as the boat glided by, there was always a more
	lovely one that she couldn't reach.  

2000-12-16 17:04   Branko Cibej <>

	* subversion/libsvn_fs/validate.h (1.1, post-edit-baton-removal,

	So the boat was left to drift down the stream as it would, till it 
	glided gently in among the waving rushes.  And then the little
	sleeves were carefully rolled up, and the little arms were plunged
	in elbow-deep, to get hold of the rushes a good long way down before 
	breaking them off -- and for a while Alice forgot all bout the sheep 
	and the knitting, as she bent over the side of the boat, with just
	the ends of her tangled hair dipping into the water -- while with
	bright eager eyes she caught at one bunch after another of the
	darling scented rushes.  

2000-12-16 15:36   Greg Stein <>

	* subversion/libsvn_ra_dav/fetch.c (1.29):

	(my_basename): svn_path_last_component() no longer canonicalizes the
	  path, so we must do it manually. Also, use the right enum value for
	the "style".  

2000-12-16 03:15   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.28):

	* fetch.c: Use the new constant for the first element ID rather than
	a magic 0x1000.  

2000-12-16 01:32   Greg Stein <>

	* (1.28), subversion/libsvn_ra_dav/commit.c (1.21),
	subversion/libsvn_ra_dav/fetch.c (1.27):

	Patch from Mo DeJong to update SVN for Neon 0.8.0.  
	Submitted by: Mo DeJong <> 

2000-12-14 23:19   Branko Cibej <>

	* subversion/: libsvn_fs/skel.c (1.15), libsvn_fs/skel.h (1.12,
	post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_fs/structure (1.25), tests/libsvn_fs/skel-test.c (1.12):

	* structure (atom.imp-len): Allow '(' and ')' as terminators;
	trailing space isn't mandatory.  
	* skel.c: (implicit_atom, use_implicit): Implement this change.  
	* skel.h: Change comment to reflect the change.  
	* test/skel_test.c (skel_is_paren, check_atom): New.  
	(check_implicit_length_byte, check_implicit_length_all_chars, 
	check_explicit_length): Call check_atom.  
	(put_implicit_length_byte): Allow parens or nothing as terminators.  
	(put_implicit_length_all_chars): Likewise.  
	(parse_implicit_length): Try all kinds of terminators. Don't try 
	invalid atoms.  
	(parse_explicit_length): Don't try invalid atoms.  
	(try_explicit_length): Add parameter check_len for atom checking, 
	needed by parse_invalid_atoms. All callers changed.  
	(parse_invalid_atoms): New test.  
	(test_funcs): Add it.  
	* skel.c, skel.h: Add local eval to load svn-dev.el.  

2000-12-14 14:04   Ben Collins-Sussman <>

	* subversion/libsvn_client/: client.h (1.8), ra_loader.c (1.3,
	post-edit-baton-removal) (utags: pre-edit-baton-removal):

	* ra_loader.c, client.h (svn_client__ra_library_table): made static 
	  within this function, nobody else needs it.  Fixes linker bug too.  

2000-12-14 13:18   Ben Collins-Sussman <>

	* STACK (1.45):

	To understand Political Power right, and derive it from its
	Original, we must consider what State all Men are naturally in, and
	that is a *State of Perfect Freedom* to order their Actions, and
	dispose of their Possessions, and Persons as they think fit, within
	the bounds of the Law of Nature, without asking leave, or depending
	upon the Will of any other Man.  

2000-12-14 12:48   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.21), libsvn_client/
	(1.9), libsvn_client/client.h (1.7), libsvn_client/ra_loader.c

	Implement libsvn_client mechanism for loading RA libraries.  
	* ra_loader.c:  simplify, rewrite.  
	* svn_ra.h (svn_ra_init_func_t):  new type that describes the 
	  svn_ra_FOO_init() routine.  
	* client.h:  add new client ra-loading declarations from ra_loader.c 
	*  compile ra_loader.c 

2000-12-14 11:03   Jim Blandy <>

	* subversion/: libsvn_fs/clones-table.c (1.2), libsvn_fs/dbt.c
	(1.12), libsvn_fs/dbt.h (1.11), libsvn_fs/skel.c (1.14),
	libsvn_fs/skel.h (1.11), tests/libsvn_fs/skel-test.c (1.11):

	Clean up `const' usage.  
	This is a matter of style, but I think `const' should be used when
	the additional static checking it enables accurately reflects
	functions' contracts and structures' invariants.  When using `const'
	would introduce casts which don't reflect genuine, deliberate type
	(which, given the rest of the C language, is a fine thing in many 
	cases) on the part of the code doing the cast, it's best to just
	avoid it.  (This should be in a comment somewhere, not a log
	message, but I'm not sure exactly where.) 
	* libsvn_fs/dbt.c (svn_fs__skel_to_dbt): Remove `const' from SKEL 
	argument.  This declares only the top skel of the tree to be
	constant, whereas what we want to say is that the entire tree will
	be unchanged.  
	* libsvn_fs/dbt.h (svn_fs__skel_to_dbt): Same for declaration.  
	* libsvn_fs/skel.c (estimate_unparsed_size, unparse, use_implicit, 
	svn_fs__unparse_skel): Same.  
	(parse, list, implicit_atom, explicit_atom, svn_fs_parse_skel, 
	svn_fs__str_atom, svn_fs__mem_atom): Remove const from DATA and STR 
	arguments, and locals that point into DATA; the `data' member of a 
	skel isn't const, so this is misleading.  
	* libsvn_fs/skel.h (struct skel_t): Make `data' member non-const; 
	you're supposed to be able to munge the data a skel points to.  
	(svn_fs__parse_skel, svn_fs__str_atom, svn_fs__mem_atom, 
	svn_fs__unparse_skel): Fix declarations.  
	* libsvn_fs/clones-table.c (svn_fs__record_rename): Copy entry_name, 
	to keep the const promise.  
	* libsvn_fs/tests/skel-test.c (parse_cstr): Remove `const'
	qualifier.  Instead, cast the call sites; only the callers know that
	they will not change the text of the string.  

2000-12-14 07:53   Greg Stein <>

	* subversion/libsvn_ra_dav/commit.c (1.20):

	Many more "notes to self" plus some property work.  
	* (record_prop_change): [new] initial sketch * (do_proppatch): [new]
	initial sketch * (dir_baton_t, file_baton_t): add prop_changes
	    member for aggregating property changes * (singleton_delete_prop,
	    DELETE_THIS_PROP): [new] (will be) used for recording properties
	that need to be delete.  

2000-12-14 06:55   Greg Stein <>

	* subversion/: include/svn_error.h (1.62), libsvn_ra_dav/commit.c

	Toodling along with a bit more code, feeling out the right model and
	utility functions.  
	* svn_error.h: add SVN_ERR_RA_REQUEST_FAILED and
	* commit.c: (simple_request) new function to perform a simple
	      request and return the HTTP Status-Code.  
	    (create_activity) refactored to create/use simple_request() 
	    (checkout_resource) remove the #if 0 around the function and
	      flesh it out with a bit of initial logic. still doesn't work,
	(commit_delete) add some initial code, but left it out pending 
	      completion of the checkout_resource() code (need a valid

2000-12-13 13:35   Ben Collins-Sussman <>

	* subversion/: include/svn_ra.h (1.20), libsvn_client/ra_loader.c

	* svn_ra.h (svn_ra_library_t):  removed, made private in ra_loader.c 
	* ra_loader.c:  new file with pseudocode, just saving some

2000-12-13 13:02   Jim Blandy <>

	* subversion/libsvn_fs/txn-table.c (1.4):

	* libsvn_fs/txn-table.c (put_txn, svn_fs__get_txn): Acknowledge the 
	loss of svn_txn's constness, at a point where it is clear this does
	no harm.  

2000-12-13 12:52   Jim Blandy <>

	* subversion/libsvn_fs/txn-table.c (1.3):

	* libsvn_fs/txn-table.c (put_txn): Renamed from set_txn, for 
	consistency with the Berkeley DB functions.  All callers changed.  

2000-12-13 11:10   Jim Blandy <>

	* subversion/libsvn_fs/txn-table.c (1.2):

	Yeast has changed over the centuries.  Until the 1700s, bread was 
	produced from bitter beer or brewer's yeast (called `barm',
	referring to the liquid in which yeast grows) or from fermented
	solutions of grains potatoes, malt, or sugar.  Each method was
	problematic and unpredictable.  In the late 1700s, Holland became
	the first country to produce a compressed baker's yeast from spirit

2000-12-13 11:05   Jim Blandy <>

	* subversion/libsvn_fs/: err.c (1.18), err.h (1.14):

	* libsvn_fs/err.c (svn_fs__err_corrupt_txn): New function.  
	* libsvn_fs/err.h (svn_fs__err_corrupt_txn): New declaration.  

2000-12-12 18:31   Jim Blandy <>

	* subversion/: libsvn_fs/ (1.20),
	libsvn_fs/clones-table.c (1.1), libsvn_fs/clones-table.h (1.3,
	post-edit-baton-removal, pre-edit-baton-removal), libsvn_fs/dag.h
	(1.6), libsvn_fs/err.c (1.17), libsvn_fs/err.h (1.13),
	libsvn_fs/fs.c (1.25), libsvn_fs/fs.h (1.15), libsvn_fs/structure
	(1.24), libsvn_fs/txn-table.c (1.1), libsvn_fs/txn-table.h (1.4),
	tests/libsvn_fs/ (1.6):

	* libsvn_fs/clones-table.c: New file.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add clones-table.c.  
	* libsvn_fs/txn-table.c: New file.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add txn-table.c.  
	* libsvn_fs/err.c (svn_fs__err_corrupt_next_txn_id): New function.  
	* libsvn_fs/err.h (svn_fs__err_corrupt_next_txn_id): New
	* libsvn_fs/clones-table.h (svn_fs__check_clone, svn_fs__is_cloned, 
	svn_fs__is_renamed): Call the skel `clone', not `clone_info', for 
	consistency with `structure'.  
	* libsvn_fs/fs.h (struct svn_fs_t): Update list of tables.  
	* libsvn_fs/fs.c: #include "clones-table.h", "txn-table.h", and
	(cleanup_fs): Adjust to reflect the new set of tables.  
	(svn_fs_create_berkeley): Initialize the `clones' and `transactions' 
	tables, too.  Call svn_fs__dag_init_fs to put together the initial 
	root directory and revision.  
	(svn_fs_open_berkeley): Open the `clones' and `transactions' tables, 
	* libsvn_fs/clones-table.h (svn_fs__open_clones_table): New
	* libsvn_fs/txn-table.h (svn_fs__open_transactions_table): Same.  
	* libsvn_fs/dag.h (svn_fs__dag_init_fs): Same.  
	* libsvn_fs/fs.c (svn_fs_create_berkeley): Move initialization of 
	fs->env_path earlier, so error messages will say something
	* libsvn_fs/structure: Update.  
	* libsvn_fs/tests/ (COMMON_LIBS): New variable.  
	(skel_test_LDADD): Use COMMON_LIBS.  
	(fs_test_SOURCES, fs_test_LDADD): Added, but commented out.  

2000-12-12 14:28   Jim Blandy <>

	* subversion/libsvn_fs/: tree.c (1.6), txn-table.h (1.3), txn.c

	Implement svn_fs_open_txn_root.  
	* libsvn_fs/txn.c: #include "tree.h".  
	(txn_body_open_txn_root, svn_fs_open_txn_root): New function.  
	* libsvn_fs/tree.c (new_node_object): Un-dyke this function.  
	(svn_fs__txn_root_node): New function.  
	* libsvn_fs/tree.h: New file.  
	(svn_fs__txn_root_node): New declaration.  
	* libsvn_fs/txn-table.h (svn_fs__get_txn): Add missing `fs'
	* libsvn_fs/tree.c (check_for_clone): Pass the `fs' argument to 

2000-12-12 14:24   Jim Blandy <>

	* subversion/libsvn_fs/tree.h (1.1, post-edit-baton-removal,

	This should include the use of locked facilities, fences, barbed
	wire, and locked file cabinets.  

2000-12-12 14:22   Jim Blandy <>

	* subversion/libsvn_fs/rev-table.h (1.1):

	But then here comes Professor Kaufman blasting over the top of him
	in a language we all understand: twenty pink.  

2000-12-12 13:46   Jim Blandy <>

	* subversion/libsvn_fs/: (1.19), txn-table.h (1.2),
	txn.c (1.13):

	* libsvn_fs/txn.c: Throw out the old contents; some of that will
	reappear in txn-table.c.  
	(make_txn, txn_body_begin_txn, svn_fs_begin_txn): New functions.  
	* libsvn_fs/txn-table.h (svn_fs__create_txn): New declaration.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add back txn.c.  

2000-12-12 13:18   Jim Blandy <>

	* subversion/: include/svn_fs.h (1.31), libsvn_fs/tree.c (1.5):

	Implement svn_fs_delete.  
	* libsvn_fs/tree.c (check_node_mutable, traverse_to_parent): New
	(txn_body_delete, svn_fs_delete): New functions.  
	* include/svn_fs.h (svn_fs_delete): Doc fix.  
	* include/svn_fs.h (svn_fs_delete_tree): New function.  
	* libsvn_fs/tree.c (svn_fs_delete_tree): New dummy definition.  
	* include/svn_fs.h (svn_fs_warning_callback_t): Make the format 
	argument a const char *.  
	* include/svn_fs.h (svn_fs_parse_id): Doc fix.  

2000-12-12 13:12   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.5):

	* libsvn_fs/dag.h (svn_fs__dag_delete): Doc fix.  

2000-12-12 13:11   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.13, post-edit-baton-removal,

	Have some priest! 

2000-12-12 09:32   Jim Blandy <>

	* subversion/include/svn_error.h (1.61):

	* include/svn_error.h (svn_errno_t): Delete
	SVN_ERR_FS_BAD_REPLACE_ROOT.  The filesystem doesn't even have this
	operation any more.  
	* include/svn_error.h (svn_errno_t): New error SVN_ERR_FS_CONFLICT.  

2000-12-11 22:07   Jim Blandy <>

	* subversion/libsvn_fs/tree.c (1.4):

	Doc fixes.  

2000-12-11 22:04   Jim Blandy <>

	* subversion/libsvn_fs/tree.c (1.3):

	Doc fixes.  

2000-12-11 21:54   Jim Blandy <>

	* subversion/libsvn_fs/: clones-table.h (1.2), dag.h (1.4), err.c
	(1.16), err.h (1.12), tree.c (1.2):

	* libsvn_fs/clones-table.h, libsvn_fs/dag.h: Change functions to 
	expect trails, not Berkeley DB transaction / APR pool pairs. 
	#include "trail.h".  
	Fix / flesh out the clone-tracking logic.  
	* libsvn_fs/tree.c: #include "txn-table.h", and "trail.h" (struct
	svn_fs_node_t): Doc fixes.  If a clone_path is zero, that's still a
	valid value, meaning that the node represents the root directory, so
	we can't use that to distinguish node states.  Use new member
	`is_cloned' instead.  Delete clone_cache; using trails allows 
	dag_node to always be accurate.  Add `original_dag_node' member, for 
	the undo_set_clone function to use.  
	(txn_prep_node, txn_finalize_node): Deleted, in favor of trails.  
	(undo_set_clone, set_clone): New functions.  
	(check_for_clone, make_clone): Simplify argument lists, thanks to 
	trails and the new svn_fs_node_t structure.  Fill in
	(clone_path_to_string): Renamed from path_to_string; implementation 
	filled in.  
	(clone_path): Rework to use new svn_fs_node_t structure and trails.  
	Check the return value from svn_fs_parse_id.  (struct
	get_node_prop_args, txn_body_get_node_prop, svn_fs_get_node_prop,
	struct change_node_prop_args, txn_body_change_node_prop,
	svn_fs_change_node_prop): Update to use trails.  
	* libsvn_fs/err.c (svn_fs__err_corrupt_clone,
	svn_fs__err_not_mutable): New error functions.  
	* libsvn_fs/err.h (svn_fs__err_corrupt_clone,
	svn_fs__err_not_mutable): New declarations.  
	* libsvn_fs/clones-table.h (svn_fs__record_clone,
	svn_fs__record_rename): New declarations.  
	* libsvn_fs/tree.c (clone_path): Record the clones we create in the 
	clones table.  
	* libsvn_fs/tree.c (clone_path_t): Doc fixes.  
	* libsvn_fs/tree.c (new_node_object, new_child, traverse_path):
	these functions aren't used at the moment; dyke them out to avoid
	* libsvn_fs/dag.h (svn_fs__dag_clone_child): Renamed from
	* libsvn_fs/tree.c (clone_path): Change caller.  
	* libsvn_fs/dag.h (svn_fs__dag_get_contents): Add omitted 
	* libsvn_fs/err.c (svn_fs__retry_txn): Function deleted; it now
	lives in trail.c.  
	* libsvn_fs/err.h (svn_fs__retry_txn): Delete declaration.  
	Make the header files self-sufficient: 
	* libsvn_fs/clones-table.h: #include "skel.h".  
	* libsvn_fs/err.h: #include "svn_fs.h".  

2000-12-11 21:37   Jim Blandy <>

	* subversion/libsvn_fs/trail.h (1.2, post-edit-baton-removal,

	Make the header files self-sufficient: 
	* libsvn_fs/trail.h: #include "svn_fs.h".  

2000-12-11 21:37   Jim Blandy <>

	* subversion/libsvn_fs/skel.h (1.10):

	Make the header files self-sufficient: 
	* libsvn_fs/skel.h: Don't #include "apr.h".  Instead, #include
	"svn_string.h" and "apr_pools.h".  

2000-12-11 21:36   Jim Blandy <>

	* subversion/libsvn_fs/node-rev.h (1.2, post-edit-baton-removal,

	Make the header files self-sufficient: 
	* libsvn_fs/node-rev.h: #include "skel.h".  

2000-12-11 20:06   Jim Blandy <>

	* subversion/libsvn_fs/: nodes-table.c (1.2), nodes-table.h (1.3,
	post-edit-baton-removal, pre-edit-baton-removal):

	* libsvn_fs/nodes-table.c (svn_fs__new_node_id, last_key_before, 
	svn_fs__new_successor_id): New functions.  (Actually, these were 
	just moved from the now-dead node.c.) 
	* libsvn_fs/nodes-table.h (svn_fs__new_successor_id): Make ID const.  

2000-12-11 17:29   Jim Blandy <>

	* subversion/libsvn_fs/ (1.18):

	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add `trail.c'.  

2000-12-11 17:29   Jim Blandy <>

	* subversion/libsvn_fs/txn-table.h (1.1):

	Do not believe in witches.  ... People who say they can steal or
	work harm by muttering certain words, those who claim to know the
	future, are madmen or thieves.  Do not believe in ghosts, in
	specters, in spirits, in phantoms...  

2000-12-11 02:28   Karl Fogel <>

	* doc/deltas.texi (1.4):

	More tweaks in serialized deltas section; still in progress.  

2000-12-09 22:24   Jim Blandy <>

	* subversion/libsvn_fs/: trail.c (1.1, post-edit-baton-removal,
	pre-edit-baton-removal), trail.h (1.1):

	Hey nonny nonny.  

2000-12-09 05:18   Branko Cibej <>

	* subversion/include/svn_fs.h (1.30):

	(svn_fs_get_node_rev): Fixed typo: return type isn't a pointer.  

2000-12-08 17:49   Karl Fogel <>

	* doc/deltas.texi (1.3):

	Massaged wording of introductory section.  
	Doing same to serialized deltas section, but that is still in

2000-12-08 15:51   Ben Collins-Sussman <>

	* subversion/include/svn_delta.h (1.127):

	fix typo.  

2000-12-08 11:21   Ben Collins-Sussman <>

	* doc/deltas.texi (1.2):

	typo fixed.  

2000-12-08 11:09   Jim Blandy <>

	* subversion/libsvn_fs/: clone.c (1.2), clone.h (1.2):

	* libsvn_fs/clone.c, libsvn_fs/clone.h: These are now part of the
	tree layer.  

2000-12-08 10:36   Jim Blandy <>

	* subversion/libsvn_fs/: (1.17), tree.c (1.1):

	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add tree.c.  
	* libsvn_fs/tree.c: New file.  The basic cloning logic is here; the
	rest is sketchy.  

2000-12-08 10:35   Jim Blandy <>

	* subversion/libsvn_fs/: file.c (1.8), node.c (1.15):

	These are replaced with the table/dag/tree layering.  A lot of their
	code has just been moved around, though.  

2000-12-08 10:33   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.3):

	* libsvn_fs/dag.h (svn_fs__dag_txn_root): Allow the caller to open
	any mutable node in the given transaction, by ID.  This still allows
	us to detect inconsistencies, if we record the transaction in each
	mutable node, and is necessary to make use of the `clones' table.  
	* libsvn_fs/dag.h (svn_fs__dag_dup): New declaration.  
	* libsvn_fs/dag.h (svn_fs__dag_get_proplist, 
	svn_fs__dag_set_proplist): Verify that the property list is 
	* libsvn_fs/dag.h (svn_fs__dag_commit_txn): New declaration,
	replacing svn_fs__dag_stabilize_txn.  This is just as useful, and
	gives us a better opportunity to sanity-check the operation.  

2000-12-08 10:27   Jim Blandy <>

	* subversion/libsvn_fs/clones-table.h (1.1):

	Conan Doyle's eventual conversion to Spiritualism must be seen in
	the context of his real understanding of the sociological and
	theological issues involved, as well as his sound knowledge of the
	major world religions.  

2000-12-08 10:24   Jim Blandy <>

	* subversion/libsvn_fs/node-rev.h (1.1):

	One quick call is all it takes to see how much you could save.  

2000-12-08 08:55   Jim Blandy <>

	* subversion/libsvn_fs/: skel.c (1.13), skel.h (1.9):

	* libsvn_fs/skel.c (svn_fs_str_atom): Renamed from svn_fs_make_atom.  
	(svn_fs_mem_atom): New function.  
	* libsvn_fs/skel.h (svn_fs_str_atom, svn_fs_mem_atom): Update

2000-12-07 19:36   Ben Collins-Sussman <>

	* doc/: (1.3, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), client.texi (1.34, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), deltas.texi
	(1.1), svn-design.texi (1.16, milestone-2, post-edit-baton-removal,

	* client.texi:  remove all mention of deltas.  
	* deltas.texi:  new chapter in its own right.  now includes new 
	  subsection describing how the "editor" interface works.  
	* svn-design.texi:  include deltas.texi.  
	*  compile deltas.texi.  

2000-12-07 08:14   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.12), deadprops.c (1.7,
	post-edit-baton-removal, pre-edit-baton-removal), repos.c (1.20):

	Update to new SVN/FS interface 
	* dav_svn.h: svn_fs_dir_t -> svn_fs_node_t 
	* repos.c: 
	    svn_fs_dir_t -> svn_fs_node_t.  
	    add some pool parameters to some svn_fs_* calls.  
	    svn_fs_close_file() -> svn_fs_free_file_contents().  
	    svn_fs_open_node() now takes a char* rather than svn_string_t*.  
	    svn_fs_open_root() -> svn_fs_open_rev_root() 
	    (dav_svn_get_resource) use svn_fs_youngest_rev() 
	    (dav_svn_getetag) use svn_fs_get_node_id() 
	* deadprops.c: svn_fs_change_prop() -> svn_fs_change_node_prop().
	    add the pool parameter.  

2000-12-07 08:03   Greg Stein <>

	* subversion/libsvn_fs/: (1.16), err.c (1.15):

	Add err.c to the compile/link so DB_WRAP() can link to
	* err.c: fix function definitions to match prototypes in err.h 

2000-12-06 17:32   Ben Collins-Sussman <>

	* STACK (1.44):

	I celebrate myself, and what I assume you shall assume.  For every
	atom belonging to me as good belongs to you.  

2000-12-06 15:46   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.2):

	It's not meaningful to mark only a single node as immutable.  You've 
	got to do the transaction's entire tree, at once.  
	* libsvn_fs/dag.h (svn_fs__dag_stabilize_txn): New declaration,
	(svn_fs__dag_stabilize): Deleted.  
	* libsvn_fs/dag.h (svn_fs__dag_clone, svn_fs__dag_make_file): New 

2000-12-06 15:40   Jim Blandy <>

	* subversion/libsvn_fs/nodes-table.c (1.1):

	[Forgot to include this in the 2nd-to-last commit...] 
	* libsvn_fs/nodes-table.c: New file.  
	PR: Obtained from: Submitted by: Reviewed by: 

2000-12-06 15:39   Jim Blandy <>

	* subversion/libsvn_fs/rep.h (1.2):

	* libsvn_fs/rep.h: Deleted; we've got a better way to structure
	things now.  

2000-12-06 15:38   Jim Blandy <>

	* subversion/libsvn_fs/: (1.15), nodes-table.h (1.2):

	* libsvn_fs/nodes-table.c: New file.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add nodes-table.c.  
	* libsvn_fs/nodes-table.h (svn_fs__get_rep, svn_fs_put_rep): Add 
	`const' qualifiers to the ID arguments.  

2000-12-06 15:36   Jim Blandy <>

	* subversion/tests/libsvn_fs/skel-test.c (1.10):

	Replace uses of NEW and NEWARRAY with direct calls to apr_palloc.  

2000-12-06 15:30   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.59), libsvn_wc/adm_crawler.c
	(1.66), libsvn_wc/questions.c (1.42), libsvn_wc/status.c (1.21),
	libsvn_wc/wc.h (1.137):

	Fix the trace editor's status code reporting.  
	* trace.c (close_file, close_directory):  rewrite the logic of these 
	  two functions to correctly print `U', `G', or `C' during
	* wc.h (svn_wc__conflicted_p):  removed declaration.  
	* svn_wc.h (svn_wc_conflicted_p):  moved here, removed an
	  underscore.  This needs to be a public function, so the trace editor
	  in client/ can easily report conflicts.  
	* questions.c (svn_wc_conflicted_p): changed definition name too.  
	* status.c (assemble_status), adm_crawler.c
	  (bail_if_unresolved_conflict): changed callers.  

2000-12-06 15:27   Jim Blandy <>

	* subversion/libsvn_fs/: (1.14), fs.c (1.24), fs.h

	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add back fs.c.  It's 
	alleged to compile now.  
	* libsvn_fs/fs.h (struct svn_fs_t): Delete the transaction and node 
	caches; I don't really understand how they're going to work yet.  
	(struct node_parent_t, struct svn_fs_node_t): Deleted.  We're doing
	this stuff in other ways.  
	* libsvn_fs/fs.c: Don't #include "revision.h", "node.h", or "txn.h".  
	Instead, #include "nodes-table.h".  
	(svn_fs_new): Don't initialize node_cache, open_txns.  
	(svn_fs_create_berkeley, svn_fs_open_berkeley): Only deal with
	`nodes' table for now.  We'll add more initializers as we get the
	other table modules together.  For now, we want to compile.  
	* libsvn_fs/fs.c (default_warning_func): Add `const' qualifier to 
	format string.  
	* libsvn_fs/fs.h (NEW, NEWARRAY): Deleted.  If we're not going to
	use them throughout Subversion (and I don't like them enough to
	recommend that), it's better to just use the apr pool functions
	* libsvn_fs/fs.c (svn_fs_new): Call apr_pcalloc directly.  

2000-12-06 15:22   Jim Blandy <>

	* subversion/libsvn_fs/nodes-table.h (1.1):

	Inside... an exclusive new member offer that includes 2,500 bonus 
	Dividend Miles! 

2000-12-06 13:49   Ben Collins-Sussman <>

	* STACK (1.43):

	I do not ask any more than this.  I swim in it, as in the sea.  

2000-12-06 13:43   Ben Collins-Sussman <>

	* subversion/libsvn_wc/log.c (1.78):

	(log_do_detect_conflict): bugfix -- was stat'ing the wrong file. :) 

2000-12-06 12:06   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.23):

	Record parents in mutable nodes.  

2000-12-06 12:06   Jim Blandy <>

	* subversion/libsvn_fs/dag.h (1.1):

	If you have any questions about your scores, see you dean or

2000-12-05 17:54   Karl Fogel <>

	* subversion/: include/svn_path.h (1.24), include/svn_string.h
	(1.42), libsvn_subr/path.c (1.28, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_subr/svn_string.c (1.8,
	post-edit-baton-removal, pre-edit-baton-removal):

	(svn_path_split): cleaner semantics, document them.  
	(svn_path_last_component): add const, don't canonicalize source
	path, document resulting new behavior.  
	(svn_string_find_char_backward): add const due to cascade from above 

2000-12-05 17:30   Ben Collins-Sussman <>

	* subversion/: libsvn_wc/get_editor.c (1.153), libsvn_wc/log.c
	(1.77), libsvn_wc/wc.h (1.136), tests/xml/pipatch.xml (1.1,
	post-edit-baton-removal, pre-edit-baton-removal):

	SVN_WC__LOG_RM_IF_EMPTY didn't go far enough.  Replace this command 
	Also unrelatedly, check in progress on -- our 
	"conflict/merge" test script.  
	* wc.h (SVN_WC__LOG_DETECT_CONFLICT):  new log command;   replaces 
	* get_editor.c (close_file): write this new command to the log after 
	  <run-cmd `patch'>, instead of the older RM_IF_EMPTY.  
	* log.c (start_handler):  new detect_conflict command replaces 
	  rm_if_empty in the dispatcher.  
	  (log_do_rm_if_empty):  removed.  
	  (log_do_detect_conflict): if the .rej file is zero bytes, remove it.  
	  Otherwise mark the entry as conflicted.  Slightly CISC-ish, but 
	  that's life.  :) 
	*  textual conflicts are now detected, because of our 
	  new log command above.  :) 
	* pipatch.xml:  new xml file for -- designed to create 
	  textual conflict when applied to `pi' 

2000-12-05 11:24   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.65):

	(process_subdirectory):  bugfix.  we were checking for local 
	propchanges on each directory *twice*.  all fixed.  

2000-12-05 10:04   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.64):

	(get_common_path):  new utility func 

2000-12-05 09:58   Ben Collins-Sussman <>

	* STACK (1.42):

	Save stack.  

2000-12-04 10:42   Ben Collins-Sussman <>

	* subversion/: include/svn_path.h (1.23), libsvn_subr/path.c

	(svn_path_get_longest_ancestor):  new utility func 

2000-12-03 13:59   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.22):

	I am going to Los Angeles to see my own name on a screen, five feet 
	long and luminous...  

2000-12-03 13:53   Jim Blandy <>

	* subversion/libsvn_fs/ (1.13):

	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add dbt.c and id.c
	to list of buildable files.  

2000-12-03 13:52   Jim Blandy <>

	* subversion/libsvn_fs/skel.c (1.12):

	* libsvn_fs/skel.c (svn_fs__prepend): Rename argument `list_skel'
	from `list', to avoid warnings.  

2000-12-03 13:33   Jim Blandy <>

	* subversion/libsvn_fs/id.c (1.13):

	* libsvn_fs/id.c: Don't #include "fs.h".  This file is independent
	of the rest of the filesystem code.  
	(svn_fs_parse_id): Replace use of NEWARRAY with a direct call to

2000-12-03 13:29   Jim Blandy <>

	* subversion/libsvn_fs/skel.c (1.11):

	Don't #include "fs.h".  This makes skel.c's independence clearer.  
	Replace uses of NEW and NEWARRAY macros (defined in fs.h) with
	direct calls to apr_palloc.  Any reader of Subversion will be used
	to the pool allocation functions anyway; unless macros like that are
	used consistently throughout the system, they're just one more level
	to read through.  

2000-12-03 08:04   Jim Blandy <>

	* subversion/include/svn_fs.h (1.29):

	New version of filesystem interface.  
	- Use char * for filenames, not svn_string_t.  
	- Simplified transaction interface: transactions look more like 
	  ordinary mutable Unix filesystems.  
	- Interface to revision table.  

2000-12-03 07:52   Greg Stein <>

	* subversion/libsvn_ra_dav/: commit.c (1.18), ra_dav.h (1.3):

	* commit.c: (create_activity) fill out with "real" code to create an 
	      activity on the server. (not used yet) 
	    (all) add directory and file baton structures, and their
	(all) add temporary prints to watch what is going on 
	* ra_dav.h: add SVN_RA_DAV_LP_* symbols for local (client-side-only) 
	      property names 
	* ra-dav-test.c: simplify an error case. leave a note about
	* ra-commit.c: [new] perform a commit to the server 

2000-12-03 07:43   Greg Stein <>

	* subversion/libsvn_ra_dav/DESIGN-NOTES.txt (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	some notes about the implementation 

2000-12-03 07:43   Greg Stein <>

	* subversion/include/svn_error.h (1.60):

	* add some more RA-specific errors. add some doc to that effect.  

2000-12-03 03:48   Greg Stein <>

	* subversion/: libsvn_delta/svndiff.c (1.10), libsvn_subr/base64.c
	(1.9), libsvn_subr/hashdump.c (1.19, post-edit-baton-removal,
	pre-edit-baton-removal), tests/libsvn_delta/vdelta-test.c (1.5):

	Tweak a few declarations and types to fix some minor type mismatches
	that are found by very strict compilers.  
	Submitted by: Sam TH <> 

2000-12-02 22:10   Jim Blandy <>

	* subversion/libsvn_fs/: TODO (1.12), clone.c (1.1), clone.h (1.1),
	dir.c (1.13, post-edit-baton-removal, pre-edit-baton-removal),
	dir.h (1.5), err.c (1.14), err.h (1.11), file.c (1.7), file.h
	(1.5), fs.c (1.23), fs.h (1.13), node.c (1.14), node.h (1.8,
	post-edit-baton-removal, pre-edit-baton-removal), rep.c (1.1,
	post-edit-baton-removal, pre-edit-baton-removal), rep.h (1.1),
	revision.c (1.5, post-edit-baton-removal, pre-edit-baton-removal),
	structure (1.21), txn.c (1.12):

	Just dump everything I've got into CVS.  I kept thinking it'd all be 
	ready soon, but that never works out.  So, for now, I've disabled 
	everything in, so as not to break builds for the rest of 
	Subversion; we can add things back as we get them working.  
	PR: Obtained from: Submitted by: Reviewed by: 

2000-12-02 21:59   Jim Blandy <>

	* subversion/libsvn_fs/ (1.12):

	(libsvn_fs_la_SOURCES): Remove the files that (I think) don't
	compile at the moment.  

2000-12-02 17:30   Greg Stein <>

	* subversion/tests/libsvn_delta/random-test.c (1.13):

	* client/main.c: (main) add "const" to argv parameter 
	    make options[] "static const" to constify and initialize it 
	* libsvn_delta/tests/random-test.c: (main) add "const" to argv

2000-12-02 02:08   Greg Stein <>

	* subversion/: include/svn_ra.h (1.19), libsvn_ra_dav/ra_dav.h
	(1.2), libsvn_ra_dav/session.c (1.13):

	* svn_ra.h: (svn_ra_plugin_t) remove svn_ra_ prefix on field members
	      -- these don't need namespace protection.  
	    adjust doc about svn_ra_FOO_init: pass a pool, make the returned
	      plugin "const" 
	* ra_dav.h: include svn_ra.h; fix prototype for the init function 
	* session.c: fix prototype for the init function. return the plugin.  
	* ra-dav-test.c: update for new RA apis.  

2000-12-01 10:23   Greg Hudson <>

	* subversion/libsvn_delta/xml_output.c (1.18):

	(add_file, replace_file): Set eb->curfile after calling 
	output_addreplace, not before.  output_addreplace calls get_to_elem, 
	which uses and sets eb->curfile assuming it points to the previously 
	open file.  

2000-11-30 23:32   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.18):

	Second pass at the public "ra" interface, after talking with Greg.  
	More changes likely to come. :) 

2000-11-30 22:25   Greg Stein <>

	* subversion/: include/svn_ra.h (1.17), libsvn_ra_dav/commit.c
	(1.17), libsvn_ra_dav/fetch.c (1.26), libsvn_ra_dav/ra_dav.h (1.1),
	libsvn_ra_dav/ra_session.h (1.6), libsvn_ra_dav/session.c (1.12):

	*) add "const" to some of the types in the new svn_ra.h interface 
	*) update libsvn_ra_dav to the new interface 
	   [ some portions remain disabled/hacked-out ] 
	*) change that got picked up: fetch.c: grab the
	   DAV:activity-collection-set property and its contained HREF(s).
	   store it as the location where we can create activities.  

2000-11-30 18:33   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.63):

	Add comments on how to improve crawler interface.  (temporary) 

2000-11-30 16:55   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.16):

	Fix typo in declaration.  

2000-11-30 16:53   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.15):

	Describe how working copy updates should work through RA.  

2000-11-30 13:25   Ben Collins-Sussman <>

	* subversion/include/svn_ra.h (1.14):

	First draft of new RA implementation.  Everybody take a look-see.  

2000-11-29 15:24   Greg Stein <>

	* subversion/mod_dav_svn/version.c (1.6):

	fill out the framework for the versioning hooks 

2000-11-29 12:58   Greg Stein <>

	* subversion/: include/svn_ra.h (1.13), mod_dav_svn/dav_svn.h
	(1.11), mod_dav_svn/deadprops.c (1.6), mod_dav_svn/liveprops.c
	(1.11), mod_dav_svn/mod_dav_svn.c (1.15), mod_dav_svn/repos.c
	(1.19), mod_dav_svn/util.c (1.4, post-edit-baton-removal,
	pre-edit-baton-removal), mod_dav_svn/version.c (1.5),
	libsvn_ra_dav/commit.c (1.16), libsvn_ra_dav/fetch.c (1.25),
	libsvn_ra_dav/ra_session.h (1.5), libsvn_ra_dav/session.c (1.11):

	SapphireCreek sponsored the specification process, but they were
	required to cancel the project before the additional (coding)
	milestones. Therefore, these comments do not apply.  

2000-11-29 11:58   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: get_editor.c (1.152), log.c (1.76), wc.h

	When we merge text during updates, remove any zero-byte reject files 
	left lying around from the `patch` command.  
	* log.c (log_do_rm_if_empty):  new variant of log_do_rm() which only 
	  removes file iff its size is zero.  
	  (start_handler):  add SVN_WC__LOG_RM_IF_EMPTY to log dispatcher.  
	* wc.h (SVN_WC__LOG_RM_IF_EMPTY):  new log command.  
	* get_editor.c (close_file):  after adding a log command to <rm 
	  received_diff_filename> unconditionally, add a command to 
	  <rm-if-empty reject_filename>.  

2000-11-28 19:36   Branko Cibej <>

	* subversion/libsvn_fs/structure (1.20):

	(REVISION): Fixed typo, "V-1" -> "V+1".  

2000-11-28 15:56   Branko Cibej <>

	* subversion/libsvn_fs/structure (1.19):

	(Clones): Renamed ENTRY -> ENTRY-NAME in "moved" clone.  Added
	"Appendix: Filesystem structure summary".  

2000-11-27 14:47   Ben Collins-Sussman <>

	* STACK (1.41):

	Behold the Mighty Stack.  

2000-11-27 13:12   Ben Collins-Sussman <>

	* subversion/tests/xml/: up-props.xml (1.1), up5.xml (1.1) (utags:
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal):

	New `make check` script.  Tests merging/conflict handling for
	properties.  Soon to be expanded to textual tests.  

2000-11-27 12:21   Branko Cibej <>

	* subversion/libsvn_fs/structure (1.18):

	Fix typos in "DELTA", "Cloning" and "Merging rules" sections..  
	Clarify description in "REVISION" secion.  

2000-11-27 10:56   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.17):

	Clarify `Cloning' page, as per Branko's comments.  

2000-11-27 07:03   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.10), liveprops.c (1.10):

	* liveprops.c, dav_svn.h: sync with updated mod_dav.h: prototype for 
	  find_liveprop hook now takes a dav_resource (rather than a
	* liveprops.c (dav_svn_find_liveprop, dav_svn_insert_all_liveprops):
	  add check on the passed resource to ensure it is "ours" before
	  looking for or inserting props.  

2000-11-27 04:45   Greg Stein <>

	* subversion/mod_dav_svn/mod_dav_svn.c (1.14):

	sync with changes to dav_provider: remove the "liveprop" field; add 
	"binding" field.  

2000-11-26 09:20   Greg Stein <>

	* (1.44):

	We don't use strerror(), and we can compile with stricter GCC

2000-11-26 09:13   Greg Stein <>

	* subversion/: include/svn_hash.h (1.13), include/svn_io.h (1.21),
	libsvn_client/apply_edits.c (1.8), libsvn_delta/text_delta.c
	(1.22), libsvn_delta/vdelta.c (1.9, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_fs/err.c (1.13), libsvn_fs/err.h
	(1.10), libsvn_fs/id.c (1.12), tests/libsvn_delta/deltaparse-test.c
	(1.59), tests/libsvn_delta/xml-output-test.c (1.7),
	libsvn_subr/base64.c (1.8), libsvn_wc/adm_files.c (1.66),
	libsvn_wc/entries.c (1.77), tests/libsvn_fs/skel-test.c (1.9),
	tests/libsvn_subr/hashdump-test.c (1.16, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_wc/get_editor.c (1.151),
	libsvn_wc/local_changes.c (1.26, post-edit-baton-removal,
	pre-edit-baton-removal), libsvn_wc/lock.c (1.21,
	post-edit-baton-removal, pre-edit-baton-removal), libsvn_wc/log.c
	(1.75), libsvn_wc/props.c (1.22), libsvn_wc/wc.h (1.134),
	tests/svn_test_editor.c (1.13), tests/svn_tests_main.c (1.14,
	post-edit-baton-removal, pre-edit-baton-removal),
	tests/libsvn_wc/checkout-test.c (1.36),
	tests/libsvn_wc/commit-test.c (1.14):

	Small tweaks for stricter compilation, and compensate for some APR
	header rearrangement. Fixed a small bug in
	* client/main.c: add <apr_general.h> for
	* include/svn_hash.h: add APR headers for APR types used in file 
	* include/svn_io.h: add APR headers for APR types used in file 
	* libsvn_client/apply_edits.c: (do_edits) add const to 'repos'
	    variable since the RHS is actually const.  
	* libsvn_delta/text_delta.c: add <apr_general.h> for APR_INLINE 
	* libsvn_delta/vdelta.c: add <apr_general.h> for APR_INLINE 
	* libsvn_delta/tests/deltaparse-test.c: add a <apr_general.h> for 
	    apr_initialize/apr_terminate. group APR includes and use < > 
	* libsvn_delta/tests/xml-output-test.c: add a <apr_general.h> for 
	    apr_initialize/apr_terminate. group APR includes and use < > 
	* libsvn_fs/err.c: (svn_fs__dberrf) add const to 'fmt' argument 
	* libsvn_fs/err.h: (svn_fs__dberrf) add const to 'fmt' argument 
	* libsvn_fs/id.c: remove unneeded <math.h> include 
	* libsvn_fs/tests/skel-test.c: (parse_cstr, put_explicit_length, 
	    check_explicit_length, try_explicit_length) add const to an
	(init_char_types) add const to 'c' local variable 
	* libsvn_subr/base64.c: add a <apr_general.h> for 
	    apr_initialize/apr_terminate. group APR includes and use < > 
	* libsvn_subr/tets/hashdump-test.c: remove key, f, and err globals,
	    moving them into the appropriate functions. add const to 'review'
	(test1) add 'key' and 'f' local variables 
	  (test2) add 'f' local variable 
	* libsvn_wc/adm_files.c: (close_adm_file) remove inner declarations
	    of apr_err and components_added to prevent shadowing of outer decl.
	    minor formatting changes.  
	* libsvn_wc/entries.c: (handle_start_tag) add const to 'nstr' local
	    variable since the RHS can/should be const.  
	* libsvn_wc/get_editor.c: add a <apr_thread_proc.h>.  
	  (close_file): add const to 'diff_args' since the values are const.
	    remove inner decl of 'apr_err' which shadowed an outer decl 
	* libsvn_wc/local_changes.c: (svn_wc__string_to_time) use 'when'
	    rather than 'time' to prevent shadowing of a global 'time' symbol.  
	* libsvn_wc/lock.c: (svn_wc__lock) use 'wait_for' rather than 'wait'
	    to prevent shadowing of a global 'wait' symbol.  
	* libsvn_wc/log.c: (run_cmd_in_directory) add const to 'args'
	    argument to match expectation of apr_create_process() (and remove
	    cast). fix typos in error strings ("run_cmd_under_directory" ->
	* libsvn_wc/props.c: (svn_wc__do_property_merge) rename inner
	    'full_path' to 'full_reject_path' to prevent shadowing of outer
	    decl. fix bug in error condition which used reject_path->data, yet
	    reject_path is NULL; correct value is full_reject_path->data.  
	* libsvn_wc/wc.h: (svn_wc__lock) use 'wait_for' rather than 'wait'.  
	  (svn_wc__time_to_string) use 'when' rather than 'time'.  
	* libsvn_wc/tests/checkout-test.c: add a <apr_general.h> for 
	* libsvn_wc/tests/commit-test.c: add a <apr_general.h> for 
	    apr_initialize/apr_terminate. group APR includes and use < > 
	* tests-common/svn_test_editor.c: (test_delete) add a const to
	    'Aname' since the RHS could be const.  
	  (add_or_replace_dir) add a const to 'Aname' and 'ancestor' since
	    RHS values could be const.  
	  (test_apply_textdelta) add a const to 'Aname' since RHS may be
	(add_or_replace_file) add a const to 'Aname' and 'ancestor' since
	    RHS values could be const.  
	* tests-common/svn_tests_main.c: add a <apr_general.h> for 

2000-11-25 18:51   Greg Stein <>

	* subversion/mod_dav_svn/liveprops.c (1.9):

	Minor tweaks. Some additional commentary.  
	* (SVN_RO_DAV_PROP, SVN_RW_DAV_PROP): [new] macros to ease
	    construction of dav_liveprop_spec initialization structures.  *
	    (dav_svn_insert_prop): add (empty) cases for DAV:getcontentlanguage, 
	DAV:getcontenttype, and DAV:target.  

2000-11-23 07:27   Greg Stein <>

	* subversion/mod_dav_svn/liveprops.c (1.8):

	Remove the DAV:displayname and DAV:source liveprops. mod_dav handles
	these "core" properties now.  

2000-11-23 05:45   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.18):

	dav_resource now has a public pool field for related allocations.  
	* (dav_svn_get_resource): fill in pool field * (dav_svn_walk): put
	the proper pool into the resource's pool field 

2000-11-23 04:42   Greg Stein <>

	* subversion/mod_dav_svn/liveprops.c (1.7):

	Update to sync with some recent mod_dav work. Specifically, some
	changes that simplify handling of liveprops.  
	* torch DAV_PROPID_SVN_* values. use new DAV_PROPID_* values.  
	* toss dav_svn_liveprop_name in favor of dav_liveprop_spec (and add 
	  writeable flag to the property defns) 
	* add dav_svn_liveprop_group * (dav_svn_insert_prop): use new
	    DAV_PROPID_* values. use new dav_get_liveprop_info() function.
	    rename "ns" to "global_ns" for clarification.  *
	    (dav_svn_is_writeable): returns a simple "int" now. use new 
	dav_get_liveprop_info() function.  * (dav_svn_find_liveprop): use
	new dav_do_find_liveprop() function *
	(dav_svn_insert_all_liveprops): use new DAV_PROPID_* values *
	(dav_svn_register_uris): use new dav_register_liveprop_group()

2000-11-23 04:35   Branko Cibej <>

	* IDEAS (1.18):

	O.K., so I'm being stubborn.  

2000-11-23 04:20   Branko Cibej <>

	* IDEAS (1.17):

	No such thing as :ssh: remote CVS.  

2000-11-22 21:45   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.17):

	(dav_svn_get_resource): sync with mod_dav.h -- the hook no longer
	    takes a WORKSPACE argument 

2000-11-22 21:06   Branko Cibej <>

	* subversion.dsp (1.1, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), subversion.dsw (1.5), svn_check.dsp (1.1),
	svn_config.dsp (1.1, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/libsvn_client/libsvn_client.dsp
	(1.3), subversion/libsvn_delta/libsvn_delta.dsp (1.3),
	subversion/libsvn_fs/libsvn_fs.dsp (1.4),
	subversion/tests/libsvn_delta/deltaparse_test.dsp (1.2),
	subversion/tests/libsvn_delta/random_test.dsp (1.2),
	subversion/tests/libsvn_delta/svndiff_test.dsp (1.2),
	subversion/tests/libsvn_delta/vdelta_test.dsp (1.2),
	subversion/tests/libsvn_delta/xml_output_test.dsp (1.2),
	subversion/tests/libsvn_fs/skel_test.dsp (1.2),
	subversion/libsvn_subr/libsvn_subr.dsp (1.3),
	subversion/libsvn_wc/libsvn_wc.dsp (1.3),
	subversion/tests/libsvn_subr/hashdump_test.dsp (1.2),
	subversion/tests/libsvn_subr/sting_test.dsp (1.2),
	subversion/tests/libsvn_subr/string_test.dsp (1.2),
	subversion/tests/libsvn_wc/checkout_test.dsp (1.2),
	subversion/tests/libsvn_wc/commit_test.dsp (1.2),
	subversion/tests/libsvn_test_editor.dsp (1.3),
	subversion/tests/libsvn_test_main.dsp (1.3):

	Major update of the Win32 build environment.  
	* subversion.dsp: New, build all libraries and modules.  
	* svn_check.dsp: New, build all test drivers.  
	* svn_config.dsp: New, create config.h from config.hw.  
	* subversion.dsw: Include the above new projects, add dependencies.  
	* subversion/client/subversion_client.dsp: Update include path.  Add
	files add-cmd.c, checkout-cmd.c, commit-cmd.c, delete-cmd.c, 
	propget-cmd.c, proplist-cmd.c, props.c, propset-cmd.c, statuc-cmd.c, 
	tracs.c and update-cmd.c.  
	* subversion/libsvn_client/libsvn_client.dsp, 
	subversion/tests-common/libsvn_test_main.dsp: Update include path.  
	* subversion/libsvn_delta/tests/random_test.dsp, 
	subversion/libsvn_wc/tests/commit_test.dsp: Rename project and 
	update include path.  PR: Obtained from: Submitted by: Reviewed by: 

2000-11-22 20:34   Branko Cibej <>

	* HACKING (1.18):

	Describe chanes in Win32 build environment.  (Not that things build
	on Win32 right now, of course.) 

2000-11-22 18:21   Karl Fogel <>

	* STACK (1.40):


2000-11-22 17:56   Karl Fogel <>

	* COPYING (1.5, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), STACK (1.39):

	* COPYING: tweak intro.  
	* STACK: pop.  

2000-11-22 17:48   Karl Fogel <>

	* doc/license.texi (1.3, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/include/svn_base64.h (1.4),
	subversion/include/svn_client.h (1.13),
	subversion/include/svn_delta.h (1.126),
	subversion/include/svn_error.h (1.59), subversion/include/svn_fs.h
	(1.28), subversion/include/svn_hash.h (1.12),
	subversion/include/svn_io.h (1.20), subversion/include/svn_path.h
	(1.22), subversion/include/svn_ra.h (1.12),
	subversion/include/svn_string.h (1.41),
	subversion/include/svn_test.h (1.6), subversion/include/svn_types.h
	(1.50), subversion/include/svn_wc.h (1.58),
	subversion/include/svn_xml.h (1.26), subversion/libsvn_client/add.c
	(1.5, post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_client/apply_edits.c (1.7),
	subversion/libsvn_client/checkout.c (1.12, pre-edit-baton-removal),
	subversion/libsvn_client/client.h (1.6),
	subversion/libsvn_client/commit.c (1.13),
	subversion/libsvn_client/delete.c (1.5),
	subversion/libsvn_client/status.c (1.7),
	subversion/libsvn_client/update.c (1.9, pre-edit-baton-removal),
	subversion/libsvn_delta/compose_editors.c (1.6),
	subversion/libsvn_delta/delta.h (1.46),
	subversion/libsvn_delta/svndiff.c (1.9),
	subversion/libsvn_delta/text_delta.c (1.21),
	subversion/libsvn_delta/vdelta.c (1.8),
	subversion/libsvn_delta/xml_output.c (1.17),
	subversion/libsvn_delta/xml_parse.c (1.134),
	subversion/tests/libsvn_delta/deltaparse-test.c (1.58),
	subversion/tests/libsvn_delta/random-test.c (1.12),
	subversion/tests/libsvn_delta/svndiff-test.c (1.6),
	subversion/tests/libsvn_delta/vdelta-test.c (1.4),
	subversion/tests/libsvn_delta/xml-output-test.c (1.6),
	subversion/libsvn_fs/convert-size.c (1.8),
	subversion/libsvn_fs/convert-size.h (1.5, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/libsvn_fs/dbt.c (1.11),
	subversion/libsvn_fs/dbt.h (1.10), subversion/libsvn_fs/delta.c
	(1.18), subversion/libsvn_fs/dir.c (1.12),
	subversion/libsvn_fs/dir.h (1.4), subversion/libsvn_fs/err.c
	(1.12), subversion/libsvn_fs/err.h (1.9),
	subversion/libsvn_fs/file.c (1.6), subversion/libsvn_fs/file.h
	(1.4), subversion/libsvn_fs/fs.c (1.22), subversion/libsvn_fs/fs.h
	(1.12), subversion/libsvn_fs/id.c (1.11), subversion/libsvn_fs/id.h
	(1.7, post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_fs/node.c (1.13), subversion/libsvn_fs/node.h
	(1.7), subversion/libsvn_fs/revision.c (1.4),
	subversion/libsvn_fs/revision.h (1.3, post-edit-baton-removal,
	pre-edit-baton-removal), subversion/libsvn_fs/skel.c (1.10),
	subversion/libsvn_fs/skel.h (1.8), subversion/libsvn_fs/txn.c
	(1.11), subversion/libsvn_fs/txn.h (1.4),
	subversion/libsvn_repos/delta.c (1.18),
	subversion/tests/libsvn_fs/skel-test.c (1.8),
	subversion/libsvn_ra_dav/commit.c (1.15),
	subversion/libsvn_ra_dav/fetch.c (1.24),
	subversion/libsvn_ra_dav/ra_session.h (1.4),
	subversion/libsvn_ra_dav/session.c (1.10),
	subversion/libsvn_subr/base64.c (1.7),
	subversion/libsvn_subr/hashdump.c (1.18),
	subversion/libsvn_subr/io.c (1.18),
	subversion/libsvn_subr/keysort.c (1.6),
	subversion/libsvn_subr/path.c (1.26),
	subversion/libsvn_subr/svn_error.c (1.47),
	subversion/libsvn_subr/svn_string.c (1.7),
	subversion/libsvn_subr/xml.c (1.34, post-edit-baton-removal,
	subversion/tests/libsvn_subr/hashdump-test.c (1.15),
	subversion/tests/libsvn_subr/stringtest.c (1.5,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_wc/adm_crawler.c (1.62),
	subversion/libsvn_wc/adm_files.c (1.65),
	subversion/libsvn_wc/adm_ops.c (1.36),
	subversion/libsvn_wc/entries.c (1.76),
	subversion/libsvn_wc/get_editor.c (1.150),
	subversion/libsvn_wc/local_changes.c (1.25),
	subversion/libsvn_wc/lock.c (1.20), subversion/libsvn_wc/log.c
	(1.74), subversion/libsvn_wc/props.c (1.21),
	subversion/libsvn_wc/questions.c (1.41),
	subversion/libsvn_wc/status.c (1.20), subversion/libsvn_wc/util.c
	(1.15, post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_wc/wc.h (1.133),
	subversion/tests/libsvn_wc/checkout-test.c (1.35),
	subversion/tests/libsvn_wc/commit-test.c (1.13),
	subversion/mod_dav_svn/dav_svn.h (1.9),
	subversion/mod_dav_svn/deadprops.c (1.5),
	subversion/mod_dav_svn/liveprops.c (1.6),
	subversion/mod_dav_svn/mod_dav_svn.c (1.13),
	subversion/mod_dav_svn/repos.c (1.16),
	subversion/mod_dav_svn/util.c (1.3),
	subversion/mod_dav_svn/version.c (1.4),
	subversion/tests/svn_test_editor.c (1.12),
	subversion/tests/svn_tests_main.c (1.13), tools/
	(1.3, post-edit-baton-removal, pre-edit-baton-removal):

	Change to shorter license blurb, referencing the COPYING file and a 
	URL, and mentioning the possibility of later versions.  

2000-11-22 17:40   Karl Fogel <>

	* www/license-1.html (1.2, milestone-2, post-edit-baton-removal,

	Remove backlink; the frames take care of that already.  

2000-11-22 17:31   Karl Fogel <>

	* www/license-1.html (1.1):

	Post license on web.  

2000-11-22 15:10   Greg Stein <>

	* tools/ (1.2):

	add the -C switch to support changing licenses in files 

2000-11-22 13:56   Karl Fogel <>

	* TASKS (1.17, post-edit-baton-removal, pre-edit-baton-removal):

	A foolish consistency is the hobgoblin of little minds.  

2000-11-22 13:55   Karl Fogel <>

	* TASKS (1.16):

	Added Win/Mac GUI client task.  

2000-11-22 10:55   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.16):

	Update to describe new cloning strategy, which allows transactions
	to look pretty much exactly like Unix filesystems.  

2000-11-22 09:51   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.15):

	Check in blather before deleting it all.  Maybe it'll be appropriate 
	for the design doc on the filesystem implementation, but for now 
	structure should assume you know how things work.  

2000-11-22 05:28   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.8), liveprops.c (1.5),
	repos.c (1.15):

	* liveprops.c: initial framework for live property handling 
	* repos.c: (dav_svn_getetag) make this available outside the file 
	* dav_svn.h: (dav_svn_getetag) [new] now available to other files 

2000-11-21 19:01   Greg Stein <>

	* TASKS (1.15):

	*) The fs/apache stuff is already on my plate.  
	*) libsvn_client (not WC) hooks with libsvn_ra_dav 
	*) note that libsvn_client includes XML stuff which should be

2000-11-21 18:51   Greg Stein <>

	* IDEAS (1.16):

	After having a CVS/ subdir blown away by an app, I can definitely
	see the positive benefit of a single, central database of data.  

2000-11-21 18:07   Ben Collins-Sussman <>

	* STACK (1.38):


2000-11-21 18:04   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_crawler.c (1.61), log.c (1.73):

	Finish making property-commits work on both files and directories.  
	(After a successful commit: recognize the newest property files; 
	update *both* dir and file entries appropriately with text- and
	prop- timestamps; remove any mention of reject files.) 
	* log.c (svn_wc__log_commit): reorganized routine; we now
	  potentially write <log-committed ...> entries whose "name" attribute
	  (log_do_committed): major rewrite, because old routine was assuming 
	  files-only (and no props).  
	  (svn_wc__run_log):  add a quick_wrap error message.  
	  (svn_wc__cleanup):  *check* to see if a logfile exists in a dir 
	  before trying to run it.  It's now possible to have directories in 
	  affected_targets, therefore you may "care_about_dir" (because a 
	  child entry is affected), but the log file may be *within* the 
	  child, not the current dir you "care" about.  
	* adm_crawler.c (do_apply_textdelta):  check for error after 
	  (do_prop_deltas):  *copy* the working property file to tmp area, 
	  just like we do when commiting a file's text! 

2000-11-21 00:13   Brian Fitzpatrick <>

	* (1.27):

	I changed cvs directory for apr to /home/cvspublic.  

2000-11-20 16:38   Karl Fogel <>

	* (1.26):

	Update instructions for getting APR via CVS.  

2000-11-17 21:46   Karl Fogel <>

	* STACK (1.37):

	One more straw.  

2000-11-17 20:27   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.57), libsvn_wc/adm_crawler.c
	(1.60), libsvn_wc/adm_ops.c (1.35), libsvn_wc/entries.c (1.75),
	libsvn_wc/log.c (1.72), libsvn_wc/questions.c (1.40),
	libsvn_wc/status.c (1.19), libsvn_wc/wc.h (1.132):

	(svn_wc_entry_t): change `flags' field to `state', to indicate
	meaning not implementation.  

2000-11-17 20:15   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.131):

	(svn_wc__entry_merge_sync): outright doc FIX.  

2000-11-17 20:14   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.130):

	(svn_wc__entry_merge_sync): doc tweaklet.  

2000-11-17 20:14   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.129):

	(svn_wc__entry_merge_sync): doc tweak.  

2000-11-17 20:07   Karl Fogel <>

	* subversion/libsvn_wc/: adm_ops.c (1.34), entries.c (1.74),
	get_editor.c (1.149), log.c (1.71), wc.h (1.128):

	Finish clearing all relevant attributes if no conflict: 
	(conflict_if_file): remove the reject file attribute if no conflict.  
	Change argument `conflict_type' to `rejfile_type', because more 
	(svn_wc__entry_merge_sync): variadically take names of attributes to 
	be removed from the entry, terminated by NULL.  All callers changed.  
	(stuff_entry): take a va_list of attributes to remove, remove them.  
	Unrelatedly, constificate argv throughout client: 
	(svn_cl__cmd_proc_t): add const qualifier to char **.  
	(main, parse_command_options, svn_cl__add, svn_cl__checkout, 
	svn_cl__commit, svn_cl__delete, , svn_cl__help, svn_cl__propget, 
	svn_cl__proplist, svn_cl__propset, svn_cl__status, svn_cl__update): 
	adjust for above.  
	(svn_cl__add, svn_cl__delete): undo previous casts -- they covered
	up the real `const' needs.  Thanks to Greg Stein for noticing.  

2000-11-17 19:43   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.56), libsvn_wc/entries.c (1.73),
	libsvn_wc/log.c (1.70), libsvn_wc/wc.h (1.127):

	Set and remove conflict markers in entries, based on update results, 
	and along the way, extend the entry-merging interface: 
	* libsvn_wc/log.c (conflict_if_rejfile): finished and renamed 
	conflict_if_file.  All callers changed.  
	(log_do_committed): pass SVN_WC_ENTRY_CLEAR_ALL to 
	svn_wc__entry_merge_sync, to achieve same behavior as old 
	* include/svn_wc.h (SVN_WC_ENTRY_CLEAR_NAMED,
	SVN_WC_ENTRY_CLEAR_ALL): new flags, replacing SVN_WC_ENTRY_CLEAR.  
	* libsvn_wc/entries.c (sync_entry): handle both new flags.  
	(svn_wc__entry_merge_sync): document new behavior.  
	Unrelatedly, fix some warnings in the client: 
	(svn_cl__add, svn_cl__delete): cast argument to svn_cl__help.  

2000-11-17 18:47   Greg Stein <>

	* STACK (1.36):

	um. was that supposed to be hard? Next time, I'll have to get drunk
	first...  make it a real challenge.  

2000-11-17 18:38   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.7), deadprops.c (1.4),
	mod_dav_svn.c (1.12), repos.c (1.14):

	* dav_svn.h: (dav_resource_private, dav_svn_repos) moved here from
	* repos.c: (dav_resource_private, dav_svn_repos) moved to dav_svn.h 
	    (various) rename 'err' to 'serr' to indicate an SVN error
	              (rather than a DAV err) 
	* deadprops.c: initial implementation 
	* mod_dav_svn.c: oops, fell into the commit. an extra newline is

2000-11-17 17:29   Greg Stein <>

	* STACK (1.35):

	"I will give you commands! You will obey them!"  -- Mojo Jojo 

2000-11-17 16:59   Ben Collins-Sussman <>

	* STACK (1.34):

	stack stack stack.  

2000-11-17 16:59   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.59):

	Make the working copy crawler detect and emit local property changes 
	during commit.  
	(struct target_baton):  add new fields text_modified_p and 
	prop_modified_p, to examine when applying postfix text-deltas later 
	on.  (Remember, it's now possible to have an "affected target" which 
	has local prop changes, but not local text changes!) 
	(process_subdirectory): MAJOR rewrite/reorganization. add section
	that checks for local mods.  Look for property changes too now, on
	both files and dirs.  focus directory recursion at routine's end, no
	longer in the middle too.  remove special (delete && add) section;
	just keep the delete and add section in correct order, and make them 
	non-mutually exclusive.  call do_prop_deltas() if a local mod is 
	found, or if a file being added has props.  
	(do_postfix_text_deltas):  rewrite logic.  Send a text delta iff the 
	affected target has text_modified_p set.  
	(do_prop_deltas):  new func.  

2000-11-17 16:47   Ben Collins-Sussman <>

	* STACK (1.33):

	Save da stack.  

2000-11-17 16:27   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.126):

	(svn_wc__entry_merge_sync): doc fix.  

2000-11-17 12:05   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.58):

	(bail_if_unresolved_conflict): Renamed from 
	check_for_unresolved_file_conflict.  Use svn_wc__conflicted_p for 
	check, rather than timestamps.  Should work on dirs as well as files 
	(process_subdirectory):  change call to above.  

2000-11-17 11:53   Ben Collins-Sussman <>

	* subversion/libsvn_wc/props.c (1.20):

	(svn_wc__do_property_merge):  oops, missed one path argument. 
	should be `full_path' when calling svn_wc_prop_path().  

2000-11-17 11:43   Ben Collins-Sussman <>

	* subversion/libsvn_wc/props.c (1.19):

	(svn_wc__do_property_merge):  fix braino; use full path when
	computing path to property files.  

2000-11-17 06:17   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.13):

	(dav_svn_walker_context) clean out 'path' and 'locknull_buf' which
	    are not used by our walker.  
	(dav_svn_do_walk) initial implementation 

2000-11-17 05:00   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.12):

	fix URL in license; should be "http://www.Collab.Net/" 
	(dav_svn_walker_context) new structure for walking resource tree 
	(dav_svn_do_walk) [new] internal, recursive function for walking
	    resources.  empty for now.  
	(dav_svn_walk) fill in with walk context initialization and initial 
	    invocation of dav_svn_do_walk() 

2000-11-17 04:04   Greg Stein <>

	* subversion/libsvn_fs/: dbt.c (1.10), dbt.h (1.9), node.c (1.12),
	skel.c (1.9), skel.h (1.7), txn.c (1.10):

	Add 'const' to some static globals to keep them out of the
	per-process data segment. Deal with the resulting const poisoning.  
	* dbt.c, dbt.h: (svn_fs__id_to_dbt) add 'const' to the 'id' param 
	    (svn_fs__skel_to_dbt) add 'const' to the 'skel' param 
	* node.c: (put_representation_skel) add 'const' to the 'skel' param 
	    (put_node_revision_skel) remove 'static' from the 'rep'
	      declaration so that we get an automatic variable each time (for
	(make_nodes) add 'const' to 'node_1_1' and 'id_1_1' 
	* skel.c: (svn_fs__unparse_skel, estimate_unparsed_size,
	    use_implicit, unparse) add 'const' to the 'skel' param 
	* skel.h: (svn_fs__unparse_skel) add 'const' to the 'skel' param 
	* txn.c: (begin_txn_body) add 'const' to 'new_txn_skel' and add
	      casts into the initialization elements because skel.children is
	(put_transaction_skel) add 'const' to the 'txn_skel' param 

2000-11-17 03:12   Greg Stein <>

	* tools/ (1.1):

	quick tool for checking the licenses in files 

2000-11-17 02:51   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.6), deadprops.c (1.3),
	liveprops.c (1.4), mod_dav_svn.c (1.11), util.c (1.2), version.c


2000-11-17 02:45   Greg Stein <>

	* subversion/tests/: libsvn_delta/deltaparse-test.c (1.57),
	libsvn_delta/svndiff-test.c (1.5), libsvn_delta/vdelta-test.c
	(1.3), libsvn_wc/commit-test.c (1.12):

	add a license header to the test programs 

2000-11-17 02:39   Greg Stein <>

	* subversion/: libsvn_fs/delta.c (1.17), libsvn_repos/delta.c
	(1.17), tests/libsvn_fs/skel-test.c (1.7):

	fix name in the license: Collab.Net -> CollabNet 

2000-11-17 02:38   Greg Stein <>

	* subversion/: libsvn_delta/delta.h (1.45), libsvn_delta/vdelta.c
	(1.7), libsvn_delta/xml_output.c (1.16), libsvn_delta/xml_parse.c
	(1.133), tests/libsvn_delta/random-test.c (1.11),
	tests/libsvn_delta/xml-output-test.c (1.5):

	fix URL in license. should be: http://www.Collab.Net/ 

2000-11-17 02:35   Greg Stein <>

	* subversion/libsvn_delta/: compose_editors.c (1.5), svndiff.c
	(1.8), text_delta.c (1.20):

	*) fix name in the license: Collab.Net -> CollabNet 
	*) fix post-license comment: "may consist" -> "consists" 

2000-11-17 02:24   Greg Stein <>

	* subversion/: libsvn_wc/adm_crawler.c (1.57),
	libsvn_wc/adm_files.c (1.64), libsvn_wc/adm_ops.c (1.33),
	libsvn_wc/entries.c (1.72), libsvn_wc/get_editor.c (1.148),
	libsvn_wc/local_changes.c (1.24), libsvn_wc/lock.c (1.19),
	libsvn_wc/log.c (1.69), libsvn_wc/props.c (1.18),
	libsvn_wc/questions.c (1.39), libsvn_wc/status.c (1.18),
	libsvn_wc/util.c (1.14), libsvn_wc/wc.h (1.125),
	libsvn_subr/base64.c (1.6), libsvn_subr/hashdump.c (1.17),
	libsvn_subr/keysort.c (1.5), libsvn_subr/path.c (1.25),
	libsvn_subr/svn_string.c (1.6), libsvn_subr/xml.c (1.33),
	tests/libsvn_wc/checkout-test.c (1.34),
	tests/libsvn_subr/hashdump-test.c (1.14),
	tests/libsvn_subr/stringtest.c (1.4):

	fix URL in license. should be: http://www.Collab.Net/ 

2000-11-17 02:10   Greg Stein <>

	* subversion/libsvn_subr/: io.c (1.17), svn_error.c (1.46):

	*) fix URL in license. should be: http://www.Collab.Net/ 
	*) fix post-license text: "may consist" -> "consists" 
	   [ Ahem. also remove the marine fronds' contributions. :-) ] 

2000-11-16 17:06   Ben Collins-Sussman <>

	* STACK (1.32):

	Glub glub, updated stack.  

2000-11-16 17:00   Greg Stein <>

	* subversion/: tests/svn_test_editor.c (1.11), libsvn_client/add.c
	(1.4), libsvn_client/apply_edits.c (1.6), libsvn_client/checkout.c
	(1.11), libsvn_client/client.h (1.5), libsvn_client/commit.c
	(1.12), libsvn_client/delete.c (1.4), libsvn_client/status.c (1.6),
	libsvn_client/update.c (1.8), libsvn_ra_dav/commit.c (1.14),
	libsvn_ra_dav/fetch.c (1.23), libsvn_ra_dav/ra_session.h (1.3),
	libsvn_ra_dav/session.c (1.9):

	fix URL in license. should be: http://www.Collab.Net/ 

2000-11-16 16:56   Greg Stein <>

	* subversion/tests/svn_tests_main.c (1.12):

	*) fix URL in license. should be: http://www.Collab.Net/ 
	*) fix company name: should be CollabNet 

2000-11-16 16:51   Greg Stein <>

	* subversion/include/: svn_base64.h (1.3), svn_client.h (1.12),
	svn_delta.h (1.125), svn_error.h (1.58), svn_hash.h (1.11),
	svn_io.h (1.19), svn_path.h (1.21), svn_ra.h (1.11), svn_string.h
	(1.40), svn_test.h (1.5), svn_types.h (1.49), svn_wc.h (1.55),
	svn_xml.h (1.25):

	*) fix URL: "http://www.Collab.Net" -> "http://www.Collab.Net/" 
	*) fix post-license comment: "may consist" -> "consists" 

2000-11-16 16:42   Greg Stein <>

	* subversion/: libsvn_fs/convert-size.c (1.7),
	libsvn_fs/convert-size.h (1.4), libsvn_fs/dbt.c (1.9),
	libsvn_fs/dbt.h (1.8), libsvn_fs/dir.c (1.11), libsvn_fs/dir.h
	(1.3), libsvn_fs/err.c (1.11), libsvn_fs/err.h (1.8),
	libsvn_fs/file.c (1.5), libsvn_fs/file.h (1.3), libsvn_fs/fs.c
	(1.21), libsvn_fs/fs.h (1.11), libsvn_fs/id.c (1.10),
	libsvn_fs/id.h (1.6), libsvn_fs/node.c (1.11), libsvn_fs/node.h
	(1.6), libsvn_fs/revision.c (1.3), libsvn_fs/revision.h (1.2),
	libsvn_fs/skel.c (1.8), libsvn_fs/skel.h (1.6), libsvn_fs/txn.c
	(1.9), libsvn_fs/txn.h (1.3), include/svn_fs.h (1.27):

	fix the company name in the license: Collab.Net -> CollabNet 

2000-11-16 16:10   Karl Fogel <>

	* subversion/libsvn_wc/: log.c (1.68), wc.h (1.124):

	Start of changes to detect conflicts after updates and mark entries 
	(SVN_WC__LOG_ATTR_SAVED_MODS): removed, obsolete.  
	SVN_WC__LOG_ATTR_PROP_REJFILE): new #defines for new log action and 
	its attributes.  
	(log_do_updated): new func, implement above new action.  
	(conflict_if_file): new helper func, skeletal.  
	Unrelatedly, reduce error-handling acreage, by returning errors from 
	helper functions directly and handling them in an xml-friendly way
	in one place: 
	(log_do_run_cmd, log_do_modify_entry, log_do_delete_entry, 
	log_do_updated, log_do_committed, log_do_rm, log_do_file_xfer):
	return errors directly, instead of calling signal_error.  
	(start_handler): check for error, call signal error if get one.  

2000-11-16 16:05   Ben Collins-Sussman <>

	* subversion/libsvn_wc/questions.c (1.38):

	(svn_wc_props_modified_p):  fixed buglet.  If the prop file exists, 
	but not the pristine version, there's been a local mod.  :) 

2000-11-16 12:54   Karl Fogel <>

	* subversion/libsvn_wc/: get_editor.c (1.147), wc.h (1.123):

	(SVN_WC__DIFF_EXT): new #define.  
	(close_file): add a log entry to remove the diff file after `patch'
	is done with it.  Use new #define above.  

2000-11-16 12:44   Karl Fogel <>

	* subversion/libsvn_wc/log.c (1.67):

	Code cleanup: turn log.c's start_handler(), which formerly did 
	everything inline, into a simple dispatch function: 
	(log_do_run_cmd, log_do_modify_entry, log_do_delete_entry, 
	log_do_committed log_do_rm log_do_file_xfer): new helper funcs, made 
	from code that used to be in start_handler.  Error checks changed 
	(start_handler): just hand off to above.  

2000-11-16 11:18   Karl Fogel <>

	* STACK (1.31):

	removed two items 

2000-11-16 11:16   Karl Fogel <>

	* subversion/libsvn_wc/adm_files.c (1.63):

	(prop_path_internal): new func, factorizes common code.  
	(svn_wc__prop_path, svn_wc__prop_base_path): rewrite to use above.  

2000-11-16 10:49   Ben Collins-Sussman <>

	* subversion/libsvn_wc/props.c (1.17):

	(svn_wc__do_property_merge): simplify code by using
	svn_wc__prop_path wherever possible.  This removes some ugly
	internal code forks.  (thank you, Karl!) 

2000-11-16 10:10   Ben Collins-Sussman <>

	* subversion/libsvn_wc/questions.c (1.37):

	Our hashdump format makes no guarantee on the order of pairs in a 
	file.  A byte-for-byte comparison might conclude that two property 
	files are different, when in fact they contain the *exact* same set
	of pairs.  Fix this: 
	(svn_wc_props_modified_p):  use svn_wc__get_local_propchanges
	instead of contents_identical_p.  

2000-11-15 22:21   Ben Collins-Sussman <>

	* subversion/libsvn_wc/status.c (1.17):

	The ability to print double status codes.  
	* libsvn_wc/status.c (assemble_status): mark *both* status flags in 
	  status_t structure by examining conflicts & local mods on both 
	  textual and property components.  
	* client/status.c (generate_status_codes):  new func, generates
	  either 1 or 2 character status code.  
	  (svn_cl__print_status):  call generate_status_codes().  

2000-11-15 14:19   Greg Stein <>

	* (1.25):

	Stupid Makefile will run aclocal (again) if we don't update the
	timestamp.  Go ahead and create the aclocal.m4 every time.  

2000-11-15 01:18   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.146):

	(close_file): signal end of option processing for patch program.  

2000-11-15 01:06   Karl Fogel <>

	* subversion/tests/libsvn_subr/.cvsignore (1.5,
	post-edit-baton-removal, pre-edit-baton-removal):

	Ignore ignorables.  

2000-11-15 01:00   Karl Fogel <>

	* STACK (1.30):

	Added two items.  

2000-11-15 00:55   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.145):

	(close_file): removed unused `--quiet' argument to patch.  It's 
	irrelevant now that we drive patch via apr's subprocess api.  

2000-11-15 00:09   Karl Fogel <>

	* HACKING (1.17):

	The shepherds knew not whither she was gone.  

2000-11-14 20:17   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.54), libsvn_wc/README (1.60,
	post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_wc/questions.c (1.36), libsvn_wc/status.c (1.16),
	libsvn_wc/wc.h (1.122):

	(Explanation added to libsvn_wc/README:) 
	A Subversion working copy keeps track of *two* forks per file, much 
	like the way MacOS files have "data" forks and "resource" forks. 
	Each file under revision control has its "text" and "properties"
	tracked with different timestamps and different conflict (reject)
	files.  In this vein, each file's status-line has two columns which
	describe the file's state.  
	  --  glub.c      --> glub.c is completely up-to-date.  
	  U-  foo.c       --> foo.c's textual component was updated.  
	  -M  bar.c       --> bar.c's properties have been locally modified 
	  UC  baz.c       --> baz.c has had both components patched, but a 
	                      local property change is creating a conflict.  
	(In reality, this will only be the command-line client's "verbose" 
	mode.  Normal operation will show only one status column, not two.) 
	This commit expands our svn_wc_status_t structure and pushes our 
	status reporting toward the description above.  Not yet completed!! 
	* README:  new text above.  
	* svn_wc.h (svn_wc_status_t):  `flag' is now `text_status'.  added
	  an identical `prop_status'.  
	* questions.c (svn_wc__conflicted_p):  now returns two answers: 
	  whether the textual component remains conflicted, and whether the 
	  property component remains conflicted.  
	* wc.h (svn_wc__conflicted_p):  change declaration.  
	* status.c (svn_cl__print_status):  use new status structure

2000-11-14 19:27   Ben Collins-Sussman <>

	* STACK (1.29):

	commit, commit, ba-da-da-da-da-da dum.  

2000-11-14 19:24   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.144):

	(close_file): doc fix.  Or doc break, depending on how you look at

2000-11-14 19:21   Karl Fogel <>

	* subversion/libsvn_wc/: adm_files.c (1.62), get_editor.c (1.143),
	log.c (1.66), wc.h (1.121):

	Unrevert previously reverted change, and then some, as expected, to 
	implement file patching using the generic SVN_WC__LOG_RUN_CMD and 
	relative paths: 
	(close_file): relativize paths w.r.t. current working dir.  Write
	out log item for patch using SVN_CLIENT_PATCH and the new, generic 
	command-running interface.  
	(start_handler): implement SVN_WC__LOG_RUN_CMD using the APR-hip 
	run_cmd_under_directory, instead of C `system' and redirection.  
	Unrelatedly, fix some compile warnings: 
	(svn_wc__open_adm_file, svn_wc__close_adm_file): take const args, to 
	pacify callers, but cast them because -- due to evil trickery -- we
	do actually muck with them temporarily.  

2000-11-14 15:09   Jim Blandy <>

	* IDEAS (1.15):

	Change section title to something more informative.  

2000-11-14 15:08   Jim Blandy <>

	* IDEAS (1.14):

	Add blurb about random access to delta-encoded files.  

2000-11-13 22:20   Karl Fogel <>

	* subversion/libsvn_wc/: adm_files.c (1.61), get_editor.c (1.142),
	log.c (1.65), wc.h (1.120):

	Revert previous change as promised, so "make check" works again.  

2000-11-13 22:16   Karl Fogel <>

	* subversion/libsvn_wc/: adm_files.c (1.60), get_editor.c (1.141),
	log.c (1.64), wc.h (1.119):

	(svn_wc__open_adm_file, svn_wc__close_adm_file): take const args, to 
	pacify callers, but cast them because -- due to evil trickery -- we
	do actually muck with them temporarily.  
	(close_file): implement patch using 
	(start_handler): implement SVN_WC__LOG_RUN_CMD using 
	run_cmd_under_directory and the APR way.  
	Will revert this change immediately, as it breaks make check.  I
	just wanted to get the stuff into the repository before going home. 
	You never know when the building might collapse.  

2000-11-13 21:51   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: questions.c (1.35), wc.h (1.118):

	(svn_wc__conflicted_p) new func that decides if an entry is (still)
	in a state  of conflict 

2000-11-13 21:47   Karl Fogel <>

	* subversion/include/svn_io.h (1.18):

	(svn_io_check_path): doc fix.  

2000-11-13 21:23   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.53), libsvn_wc/entries.c (1.71):

	* svn_wc.h (svn_wc_prop_list, svn_wc_prop_set):  oops, forgot to 
	  include these on previous commit.  
	* entries.c (handle_start_tag):  look for `conflict' attribute in 
	  entries file.  
	* status.c, proplist-cmd.c:  fix braino and use new func name.  

2000-11-13 21:08   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_files.c (1.59), get_editor.c (1.140),
	log.c (1.63), props.c (1.16), questions.c (1.34), wc.h (1.117):

	Get directory properties to correctly update and merge.  
	If directory props conflict during merge, a .prej file is created
	*in* the directory, not next to it.  
	Also:  minor renaming of property functions.  
	* svn_wc.h (svn_wc_prop_list):  renamed from svn_wc_prop_find.  
	  (svn_wc_prop_set):  renamed from svn_wc_prop_patch.  
	* proplist-cmd.c:  call svn_wc_prop_list, not prop_find.  
	* adm_files.c (svn_wc__prop_base_path):  new func based on 
	  svn_wc__prop_path.  TODO:  we should probably factorize these.  
	* get_editor.c (close_dir): do <modify-entry> log command correctly 
	* log.c (start_handler):  use svn_wc__prop_path;  don't check for 
	  svn_node_file before calling svn_io_file_affected_time.  
	* props.c (svn_wc__do_property_merge):  split function into two 
	  codepaths, one for (path == svn_node_file) and one for (path == 
	  svn_node_dir).  Fix many small bugs as well.  
	  (svn_wc_prop_list): rename from svn_wc_prop_find.  use 
	  svn_wc__prop_path too.  
	  (svn_wc_prop_set):  rename from svn_wc_prop_set.  use 
	  svn_wc__prop_path too.  
	* questions.c (timestamps_equal_p):  doc fix;  take `path' instead
	  of `filename' as argument;  handle case where path may be a
	  (svn_wc_props_modified_p):  use svn_wc__prop_path and 
	* wc.h (svn_wc__prop_base_path):  declare.  

2000-11-13 18:21   Ben Collins-Sussman <>

	* subversion/libsvn_delta/compose_editors.c (1.4):

	(change_dir_prop):  fix cut-and-paste-o.  

2000-11-13 18:01   Ben Collins-Sussman <>

	* subversion/libsvn_subr/hashdump.c (1.16):

	(svn_hash_read):  if we get an APR_EOF on the very *first* line
	read, then it's not an error;  it's just a zero-byte file, so we

2000-11-13 17:37   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: get_editor.c (1.139), props.c (1.15), wc.h

	On the road to making directory properties merge correctly.  
	* wc.h:  various doc fixes.  
	* props.c (svn_wc__do_property_merge):  rewrite into two code paths, 
	  one for merging file props, and one for merging dir props.  Dir 
	  props still untested.  Remove "kind" field to this function.  
	* get_editor.c (close_file, close_dir):  change calls to 

2000-11-13 16:11   Karl Fogel <>

	* subversion/libsvn_wc/: adm_files.c (1.58), entries.c (1.70),
	get_editor.c (1.138), questions.c (1.33), wc.h (1.115):

	(svn_wc__check_wc): take `is_wc' argument, just set it depending on 
	result, return error only to indicate a condition that prevents an 
	accurate answer.  This makes the interface consistent with other 
	question-asking functions.  All callers changed.  
	(svn_wc__prop_path): replaces svn_wc__file_prop_path, tries to 
	intelligently handle dirs, files, and dirs that were files. 
	Untested; have at it, Ben.  

2000-11-13 12:50   Ben Collins-Sussman <>

	* STACK (1.28):

	Goodtimes will give you Dutch Elm disease. It will leave the toilet 
	seat up. It will make a batch of Methanphedime in your bathtub and 
	then leave bacon cooking on the stove while it goes out to chase 
	gradeschoolers with your new snowblower.  
	It will update your STACK.  

2000-11-13 12:43   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.52), libsvn_wc/props.c (1.14),
	libsvn_wc/wc.h (1.114):

	Split "reject-file" entry attribute into one for text conflicts, one 
	for property conflicts.  The prop-merging code is now reading and 
	writing only the relevant attribute now.  The text-merging code 
	doesn't yet mark conflicts in the entries file; but when it does, it 
	has its own attribute to use.  
	* svn_wc.h (SVN_WC_ENTRY_ATTR_PREJFILE): new `entries' attribute to 
	  distinguish between textual and property reject files.  
	* props.c (svn_wc__get_existing_prop_reject_file):  renamed from
	  plain old `get_existing_reject_file'.  
	  (svn_wc__do_property_merge):  use PREJFILE and new function name
	* wc.h (svn_wc__get_existing_prop_reject_file):  change declaration 

2000-11-13 11:56   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.51), libsvn_wc/adm_ops.c (1.32),
	libsvn_wc/props.c (1.13):

	* svn_wc.h (svn_wc_get_dirent_prop, svn_wc_get_path_prop):  remove 
	  ancient, crufty declarations.  
	  (svn_wc_prop_get, svn_wc_prop_patch): new declarations to go with 
	  svn_wc_prop_find().  Oooh, look, our function names are becoming
	  all DAV-ey.  :) 
	* adm_ops.c (svn_wc_get_dirent_prop, svn_wc_get_path_prop):  remove 
	  blank definitions.  
	* props.c (svn_wc_prop_get, svn_wc_prop_patch):  new funcs.  

2000-11-13 11:28   Ben Collins-Sussman <>

	* subversion/libsvn_wc/README (1.59):

	Notes about properties in the working copy.  

2000-11-13 01:13   Branko Cibej <>

	* IDEAS (1.13):

	New item: Interoperate with CVS servers 

2000-11-12 19:46   Branko Cibej <>

	* subversion/libsvn_delta/vdelta.c (1.6):

	(svn_txdelta__vdelta): Add some hash statistics, toggled off.  

2000-11-12 19:18   Karl Fogel <>

	* (1.43), subversion/libsvn_wc/get_editor.c (1.137),
	subversion/libsvn_wc/log.c (1.62), subversion/libsvn_wc/wc.h

	Changes in preparation for driving patch, and all other programs run 
	from the log file, via a single generic interface using APR's
	process creation api: 
	* find a default patch program path, just like diff.  
	* libsvn_wc/get_editor.c (run_cmd_in_directory): new func, inheritor 
	of old run_cmd_under_directory.  Untested.  
	* libsvn_wc/wc.h (SVN_WC__LOG_RUN_CMD): document.  
	SVN_WC__LOG_ATTR_ARG_8, SVN_WC__LOG_ATTR_ARG_9): new defines, use
	with the generic command runner.  

2000-11-12 17:49   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.50), libsvn_wc/props.c (1.12):

	Mechanism for displaying all properties of a working copy node.  
	$ ./svn propfind tests/t1/A/mu $ $ ./svn propfind tests/t1/iota 
	ocean : atlantic bat : ball color : blue 
	* props.c (svn_wc_prop_find):  new public function.  
	* svn_wc.h (svn_wc_prop_find):  declaration thereof.  
	* main.c (main):  add new "propfind" command to svn binary.  
	* props.c (svn_cl__print_prop_hash):  new file and func.  
	* cl.h (svn_cl__print_prop_hash:  declaration thereof.  
	*  compile props.c into `svn'.  

2000-11-12 15:55   Ben Collins-Sussman <>

	* subversion/: include/svn_delta.h (1.124), libsvn_delta/delta.h
	(1.44), libsvn_delta/xml_parse.c (1.132), libsvn_wc/get_editor.c
	(1.136), libsvn_wc/props.c (1.11), libsvn_wc/wc.h (1.112):

	Moving datastructures around.  
	* svn_delta.h (svn_propdelta_t):  move back into private world of 
	  (svn_prop_t):  generic property structure for the public 
	* delta.h (svn_delta__propdelta_t, svn_xml_digger_t): rename of 
	  svn_propdelta_t to svn_delta__propdelta_t 
	* xml_parse.c (do_begin_propdelta):  do rename as above 
	* props.c, get_editor.c:  do rename as above 
	* get_editor.c (change_file_prop, change_dir_prop):  don't fill out 
	  pointless fields in the prop structure anymore.  They're gone.  

2000-11-12 15:29   Karl Fogel <>

	* subversion/libsvn_wc/: (1.24), get_editor.c (1.135):

	Put -I../.. into include path, and #include "config.h".  
	(close_file): use SVN_CLIENT_DIFF, instead of a hardcoded diff path.  
	Note: I don't see any reason to conditionalize the include, as in 
	   #ifdef HAVE_CONFIG_H 
	   #include "config.h" 
	   #endif /* HAVE_CONFIG_H */ 
	because we can't build without config.h, right?  However, a lot of 
	examples and tradition seem to indicate that such a conditional is 
	expected.  I don't know why.  If you do, please say so. :-) 

2000-11-12 13:34   Joe Orton <>

	* (1.42):

	* Make the search for a diff program work, using 

2000-11-12 12:47   Karl Fogel <>

	* (1.41):

	Tweak unsuccessful attempt to get SVN_CLIENT_DIFF set in config.h,
	so other readers have a better sense of what I was actually trying.  

2000-11-12 12:43   Karl Fogel <>

	* (1.40):

	Unsuccessful attempt to get SVN_CLIENT_DIFF set in config.h.  

2000-11-12 12:41   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: props.c (1.10), wc.h (1.111):

	* props.c (svn_wc__do_property_merge):  bugfix, stop creating .prej 
	  files in CWD.  Guarantee logfile only mentions "relative" paths.  
	* wc.h (svn_wc__do_property_merge):  docfix.  

2000-11-12 11:34   Bruce Korb <>

	* doc/: client.texi (1.33), model.texi (1.10, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), server.texi
	(1.37, milestone-2, post-edit-baton-removal,

	provide: itemize mark 

2000-11-12 11:24   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.134):

	(close_file): formatting fix.  

2000-11-12 11:23   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.133):

	(close_file): drive diff the APR way, instead of via C system() and 

2000-11-12 11:16   Ben Collins-Sussman <>

	* subversion/libsvn_wc/props.c (1.9):

	(svn_wc__conflicting_propchanges_p):  better english descriptions of 
	property conflicts.  

2000-11-10 20:18   Karl Fogel <>

	* STACK (1.27), subversion/libsvn_wc/status.c (1.15):

	(svn_wc_statuses): use known length, not APR_HASH_KEY_STRING.  

2000-11-10 20:12   Karl Fogel <>

	* subversion/libsvn_wc/status.c (1.14):

	(svn_wc_statuses): recurse on dirs only, never files, so we never
	have to read an entries file twice.  

2000-11-10 19:36   Karl Fogel <>

	* STACK (1.26), subversion/include/svn_io.h (1.17),
	subversion/libsvn_subr/io.c (1.16),
	subversion/libsvn_wc/adm_crawler.c (1.56),
	subversion/libsvn_wc/get_editor.c (1.132),
	subversion/libsvn_wc/local_changes.c (1.23),
	subversion/libsvn_wc/log.c (1.61), subversion/libsvn_wc/questions.c
	(1.32), subversion/libsvn_wc/wc.h (1.110):

	Random cleanups: 
	* include/svn_io.c, libsvn_subr/io.c, libsvn_wc/questions.c 
	(svn_io_file_affected_time): now a public function in svn_io, was 
	svn_wc__file_affected_time.  All callers changed.  
	* libsvn_wc/get_editor.c (close_file): renamed variable to avoid 
	* STACK: popped.  

2000-11-10 19:12   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.131):

	(close_file): try to drive diff the APR way.  Not yet successful, so 
	the new code is toggled out, and the old code is toggled in, for

2000-11-10 16:52   Ben Collins-Sussman <>

	* STACK (1.25):

	The Square Root of 2 is Irrational:  Proof by Poem 
	Double a square is never a square, 
	  and here is the reason why: If m-squared were equal to two
	  n-squared, then to their prime factors we'd fly.  But the
	  decomposition that lies on the left had all of its exponents even, 
	But the power of two on the right must be odd, 
	  so one of the twos is "bereaven"! 

2000-11-10 16:24   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: get_editor.c (1.130), questions.c (1.31):

	(svn_wc_props_modified_p):  fill out this routine.  
	(close_file):  use svn_wc_props_modified_p() correctly.  

2000-11-10 15:40   Karl Fogel <>

	* subversion/libsvn_wc/: adm_files.c (1.57), get_editor.c (1.129),
	props.c (1.8), wc.h (1.109):

	(thing_path): new helper func.  
	(svn_wc__text_base_path): reimplement using above.  
	(svn_wc__prop_path): new func.  
	(svn_wc__do_property_merge): doc fix.  
	(SVN_WC__TEXT_REJ_EXT, SVN_WC__TEXT_REJ_EXT): new pair of #defines, 
	replacing former SVN_WC__REJ_EXT.  Use everywhere instead of ".rej" 
	and ".prej".  

2000-11-10 15:25   Karl Fogel <>

	* subversion/libsvn_subr/io.c (1.15):

	(svn_io_open_unique_file): fix error message.  

2000-11-10 15:03   Ben Collins-Sussman <>

	* subversion/: include/svn_wc.h (1.49), libsvn_wc/README (1.58),
	libsvn_wc/adm_crawler.c (1.55), libsvn_wc/adm_ops.c (1.31),
	libsvn_wc/entries.c (1.69), libsvn_wc/get_editor.c (1.128),
	libsvn_wc/local_changes.c (1.22), libsvn_wc/log.c (1.60),
	libsvn_wc/questions.c (1.30), libsvn_wc/wc.h (1.108):

	Subversion Timestamps.  Now with Sophistication(tm) Technology. :) 
	Track two independent timestamps in the WC "entries" file: one for 
	text, one for properties.  See libsvn_wc/README for details.  
	Obviously, this is a big change that affects many, many things.  
	* README:  describe text-time and prop-time entry attributes.  
	  SVN_WC_ENTRY_ATTR_PROP_TIME): define new entry attributes for
	  textual timestamps and property timestamps.  
	  (svn_wc_entry_t):  rename `timestamp' field to `text_time', add 
	  `prop_time' field as well.  
	* get_editor.c (close_file): write log item to bump revision number, 
	  then write one (or both) log items to bump text_time and/or 
	  prop_time.  Also: only bump a timestamp if the file's text (or 
	  props) is *not* locally modified! 
	  (free_dir_baton, add_directory): change calls to 
	* entries.c (handle_start_tag):  fill in both timestamp fields when
	  reading an entry from XML.  
	  (sync_entry):  sync both timestamp fields into the attribute hash.  
	  (svn_wc__entry_merge_sync):  take both text_time and prop_time as 
	  (stuff_entry):  same.  
	  (svn_wc__entry_dup):  use new text_time and prop_time fields in
	* log.c (start_handler): when executing <modify-entry .../>, check
	  for all three timestamps scenarios for BOTH text_time and prop_time.  
	  Change all calls to svn_wc__entry_merge_sync().  
	* questions.c (timestamps_equal_p):  add svn_wc__timestamp_kind
	  input, indicating if you want either text or property timestamps
	  (svn_wc_text_modified_p):  change calls to timestamps_equal_p().  
	  Also run svn_io_check_path to see if file exists... if not, return 
	* wc.h:  (svn_wc__entry_merge_sync):  update prototype.  
	* adm_ops.c: (svn_wc_delete_file, svn_wc_add_file):  change call to 
	* adm_crawler.c: (check_for_unresolved_file_conflict):  use new 
	  text_time entry field.  This whole function is Wrong anyway, will
	  be fixed soonly.  
	* local_changes.c: (svn_wc__file_affected_time):  doc fix.  

2000-11-10 12:27   Karl Fogel <>

	* subversion/libsvn_wc/local_changes.c (1.21):

	(svn_wc__file_affected_time): don't do props, just do the requested 
	file, as before.  This reverts change 1.18--1.19, at Ben's request.  

2000-11-10 12:22   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.48), libsvn_wc/get_editor.c
	(1.127), libsvn_wc/local_changes.c (1.20), libsvn_wc/wc.h (1.107):

	(svn_wc__get_local_changes, svn_wc__gnudiff_differ, 
	svn_wc__merge_local_changes, svn_wc__gnudiff_patcher, 
	svn_wc_diff_fn_t, svn_wc_patch_fn_t, svn_wc__diff_holder): removed.  
	This turns out not to be how we do merging.  
	(close_file): removed cruft.  

2000-11-10 12:06   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.47), libsvn_wc/adm_crawler.c
	(1.54), libsvn_wc/questions.c (1.29), libsvn_wc/status.c (1.13):

	(svn_wc_props_modified_p): new func, skeleton for Ben to fill in.  
	(svn_wc_text_modified_p): new name for svn_wc_file_modified_p, to
	make room in the namespace for above.  All callers changed.  

2000-11-10 11:45   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.46), libsvn_wc/adm_crawler.c
	(1.53), libsvn_wc/questions.c (1.28), libsvn_wc/status.c (1.12),
	libsvn_wc/wc.h (1.106):

	* client/trace.c (close_file): rearrange code in preparation for 
	adding sensitivity to merges.  
	* client/tests/ demonstrate merging.  
	* include/svn_wc.h, libsvn_wc/questions.c (svn_wc_file_modified_p): 
	new public name for svn_wc__file_modified_p.  All callers changed.  

2000-11-10 05:19   Branko Cibej <>

	* subversion/libsvn_delta/vdelta.c (1.5):

	Wall! Just changing the multiplier and factor in the hash function
	speeds up the vdelta encoder. You live and learn.  

2000-11-09 16:38   Ben Collins-Sussman <>

	* STACK (1.24):

	One, two! One, two! And through and through 
	  The vorpal blade went snicker-snack! He left it dead, and with its
	  head He went galumphing back.  

2000-11-09 16:26   Karl Fogel <>

	* STACK (1.23):

	"Hey, Pinky, I've got an idea: how about a country where everybody 
	gets to vote, but depending on your province, your vote might not 
	actually count." 
	"Sounds great, Brain!  When do we start?  Also, I think when we
	tally the results, we should use computers that are known to come up
	with a different answer every time we run the ballot." 
	"You're catching on, Pinky, you're catching on..." 

2000-11-09 16:18   Karl Fogel <>

	* subversion/libsvn_wc/log.c (1.59):

	(start_handler): use svn_path_add_component_nts, as Greg Stein 

2000-11-09 15:42   Karl Fogel <>

	* subversion/: include/svn_path.h (1.20), include/svn_wc.h (1.45),
	libsvn_subr/path.c (1.24), libsvn_wc/entries.c (1.68),
	libsvn_wc/status.c (1.11):

	Obtaining entry and status information: 
	(svn_cl__print_statuses): new name for what was
	svn_cl__print_status.  All callers changed.  
	(svn_cl__print_status): new func, prints one status line.  
	(svn_wc_status_t): document meaning of null `entry' field.  
	(assemble_status): handle null entry.  
	(svn_wc_status, svn_wc_entry): completed.  
	(svn_path_is_empty): replaces svn_path_isempty; this kept biting me.  

2000-11-09 14:47   Ben Collins-Sussman <>

	* subversion/libsvn_wc/README (1.57):

	Change definition of `timestamp'.  

2000-11-09 12:44   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: get_editor.c (1.126), local_changes.c
	(1.19), log.c (1.58), questions.c (1.27), wc.h (1.105):

	.  Make file_affected_time() examine property-file timestamp, too.  
	Plus, unrelated rename of constant.  
	* wc.h (SVN_WC__LOG_ATTR_TIMESTAMP_WC): rename to
	* get_editor.c (close_file):  rename to SVN_WC_TIMESTAMP_WC 
	* log.c (start_handler):  rename to SVN_WC_TIMESTAMP_WC 
	* questions.c (svn_wc__file_modified_p):  doc fix 
	* local_changes.c (svn_wc__file_affected_time):  now returns latest 
	  timestamp from file or its *property* file, if one exists.  

2000-11-09 11:06   Ben Collins-Sussman <>

	* subversion/libsvn_wc/README (1.56):

	Replace `version' with `revision'.  
	Explain that timestamp and revision bumping are inseparable.  

2000-11-09 10:22   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.125):

	(close_file): use "-c" instead of "-u" for diff, "-r" instead of 
	"--reject-file" for patch, because more widely compatible. 
	Suggested by Daniel Stenberg <>.  

2000-11-09 09:31   Ben Collins-Sussman <>

	* subversion/tests/xml/up3.xml (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	Add another prop-conflict test file 

2000-11-09 09:22   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: get_editor.c (1.124), log.c (1.57), wc.h

	Fixed broken timestamp interface and execution.  
	First of all, an entry should *always* receive a timestamp whenever
	it receives a revision-stamp.  They are inseparable concepts; the 
	timestamp represents the last time the file was known to be updated
	by a repository.  
	Second, the log entry "<modify-entry ...>" should do *exactly* as
	its told, and not try to be smarter than its caller unless
	explicitly asked.  Therefore the timestamp attribute has three
	potential values: 
	  1. <modify-entry timestamp="8378128827" revision="6"/> 
	      Use the timestamp directly, as an apr_time_t.  
	  2. <modify-entry conflict="true" reject-file="foo.c.342.34.prej"/> 
	      No mention of timestamp, so don't modify it.  
	  3. <modify-entry timestamp="working" revision="6"/> 
	      Be smart.  Get the timestamp from the working version of the 
	All files now have timestamps.  They get them when they're checked
	out or updated.  (finally!) 
	* wc.h (SVN_WC__LOG_ATTR_TIMESTAMP_WC): new `smart' value of the 
	  timestamp field in <modify-entry> 
	  (svn_wc__entry_merge_sync):  small doc fix 
	* log.c (start_handler): new implementation of timestamp handling,
	  as described above.  
	* get_editor.c (close_file):  use `smart' value for timestamp when 
	  writing log entry to bump the revision number.  

2000-11-09 07:08   Greg Stein <>

	* STACK (1.22):

	sleep calls. then yesterday's taped Dragonball Z. then today's. oh,
	   and the Blue Submarine mini-series, of course. (why are you still
	reading this?) 

2000-11-08 13:00   Greg Hudson <>

	* subversion/tests/xml/: co1-inline.xml (1.4), co1-postfix.xml
	(1.4) (utags: milestone-2, post-edit-baton-removal,

	Fix encoded svndiffs (they were encoded using a faulty base64

2000-11-08 11:53   Greg Hudson <>

	* subversion/libsvn_wc/questions.c (1.26):

	(timestamps_equal_p): Handle the case where the entry for the 
	requested file does not exist.  (By returning false, just as when
	the entry exists but the timestamp does not.) 

2000-11-08 10:50   Branko Cibej <>

	* HACKING (1.16):

	Added a note about checking APR status codes.  

2000-11-08 04:32   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.11):

	checkpoint some continued development.  

2000-11-08 01:33   Greg Hudson <>

	* subversion/libsvn_subr/base64.c (1.5):

	(base64tab): I seem not to have learned my ABCs well enough in
	school.  I had two characters missing in the capital alphabet, and
	was thus two characters short overall.  

2000-11-08 00:00   Karl Fogel <>

	* STACK (1.21):

	Depending on the results of tonight's election, I may be forced to
	use "cvs admin" to remove one revision from U.S. history.  

2000-11-07 23:59   Ben Collins-Sussman <>

	* subversion/libsvn_wc/log.c (1.56):

	(start_handler):  call apr_remove_file with correct full path.  

2000-11-07 23:48   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.123):

	(close_file): pass --quiet option to patch program, but #ifdef'd out 
	for now because it's still useful to watch patch run.  

2000-11-07 23:45   Karl Fogel <>

	* subversion/libsvn_wc/log.c (1.55):

	(start_handler): pass received attribute hash to 

2000-11-07 23:43   Karl Fogel <>

	* subversion/libsvn_wc/: entries.c (1.67), wc.h (1.103):

	In preparation for fixing the bug Ben reported, about adding generic 
	attributes to log items / entries: 
	(svn_wc__entry_merge_sync): take an attribute hash instead of 
	varargs.  All callers changed.  
	(stuff_entry): replaces stuff_entry, takes an attribute hash instead 
	of va_list now.  
	(svn_wc__entry_add): removed, unused.  

2000-11-07 23:26   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: log.c (1.54), props.c (1.7), wc.h (1.102):

	* wc.h (SVN_WC__LOG_RM):  new log command 
	* log.c (start_handler):  SVN_WC__LOG_RM just calls
	  apr_remove_file(), nothing more.  This is different than
	  SVN_WC__LOG_DELETE_ENTRY, which calls
	* props.c (svn_wc__do_property_merge):  use new SVN_WC__LOG_RM 

2000-11-07 23:24   Karl Fogel <>

	* subversion/libsvn_wc/entries.c (1.66):

	(sync_entry): handle merge and conflict flags.  

2000-11-07 23:18   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.44), libsvn_wc/entries.c (1.65),
	libsvn_wc/status.c (1.10):

	(assemble_status): new helper func.  
	(add_status_structure): use it.  
	(svn_wc_status): new func, incomplete.  
	(svn_wc_entry): new func, incomplete.  

2000-11-07 23:02   Ben Collins-Sussman <>

	* STACK (1.20):

	Bugs for Ben n' Karl regarding merging/conflicts 

2000-11-07 22:07   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.43), libsvn_client/status.c
	(1.5), libsvn_wc/status.c (1.9):

	(svn_wc_statuses): replaces svn_wc_get_status, in preparation for 
	addition of new func svn_wc_status.  All callers changed.  And I
	don't want to hear it about the plural -- this is English, not 

2000-11-07 21:59   Greg Stein <>

	* subversion/: include/svn_fs.h (1.26), libsvn_fs/convert-size.c
	(1.6), libsvn_fs/convert-size.h (1.3), libsvn_fs/dir.c (1.10),
	libsvn_fs/id.c (1.9), libsvn_fs/id.h (1.5), libsvn_fs/skel.c (1.7),
	libsvn_fs/skel.h (1.5), libsvn_fs/txn.c (1.8):

	*) turn some "char *" into "const char *" and deal with the
	   resulting const poisoning :-) 
	*) add "const" to a lot of the svn_fs_id_* functions 
	[ it would be a Good Thing to constify the internal skel handling at
	  some future time, but I skipped it here... I was mostly concerned
	  with the svn_fs_id interfaces and svn_fs_parse_id's use of a char* ] 

2000-11-07 21:50   Karl Fogel <>

	* subversion/include/svn_wc.h (1.42):

	(svn_wc_entry_t): doc fix.  

2000-11-07 21:44   Karl Fogel <>

	* subversion/include/svn_wc.h (1.41):

	(svn_wc_entry_t): doc fix.  

2000-11-07 21:40   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.40), libsvn_client/status.c
	(1.4), libsvn_wc/adm_crawler.c (1.52), libsvn_wc/adm_ops.c (1.30),
	libsvn_wc/entries.c (1.64), libsvn_wc/get_editor.c (1.122),
	libsvn_wc/log.c (1.53), libsvn_wc/props.c (1.6),
	libsvn_wc/questions.c (1.25), libsvn_wc/status.c (1.8),
	libsvn_wc/wc.h (1.101):

	Make the entries interface public and partially unify with status 
	information, the first stage of some code unification: 
	(svn_wc_entry_t): replaces svn_wc__entry_t, moved from wc.h to 
	svn_wc.h, and: 
	   SVN_WC_ENTRY_CLEAR           replaces  SVN_WC__ENTRY_CLEAR 
	   SVN_WC_ENTRY_ADD             replaces  SVN_WC__ENTRY_ADD 
	   SVN_WC_ENTRY_DELETE          replaces  SVN_WC__ENTRY_DELETE 
	   SVN_WC_ENTRY_MERGED          replaces  SVN_WC__ENTRY_MERGED 
	(svn_wc_status_t): new field `entry'.  Lose `local_ver' field, it's
	part of the entry now.  Doc changes.  
	Unrelatedly, implement an append action for wc adm logs: 
	(svn_wc__xfer_action): new enum.  
	(file_xfer_under_path): replaces cp_or_mv_under_directory.  
	(start_handler): use above to implement appending, copying, and 
	Even more unrelatedly: 
	(svn_wc__get_existing_reject_file): add `const' qualifier.  

2000-11-07 20:37   Ben Collins-Sussman <>

	* subversion/: libsvn_subr/io.c (1.14), libsvn_wc/props.c (1.5):

	* props.c (svn_wc__do_property_merge):  convert absolute path to 
	  relative path for use in log commands 
	* io.c (svn_io_open_unique_file): don't dereference a NULL value. :) 

2000-11-07 20:32   Karl Fogel <>

	* subversion/: include/svn_xml.h (1.24), libsvn_subr/io.c (1.13),
	libsvn_subr/xml.c (1.32), libsvn_wc/log.c (1.52):

	Use `apr_size_t' instead of the now-obsolete `apr_ssize_t'.  

2000-11-07 19:46   Branko Cibej <>

	* subversion/libsvn_wc/get_editor.c (1.121):

	* libsvn_wc/get_editor (close_file): Remove a bit that got left in 
	by mistake after merging Karl's changes.  

2000-11-07 19:30   Branko Cibej <>

	* subversion/: libsvn_client/apply_edits.c (1.5), libsvn_subr/io.c
	(1.12), tests/libsvn_delta/deltaparse-test.c (1.56),
	tests/libsvn_delta/random-test.c (1.10), libsvn_wc/adm_files.c
	(1.56), libsvn_wc/entries.c (1.63), libsvn_wc/get_editor.c (1.120),
	libsvn_wc/lock.c (1.18), libsvn_wc/log.c (1.51),
	libsvn_wc/questions.c (1.24), libsvn_wc/util.c (1.13),
	tests/libsvn_wc/checkout-test.c (1.33):

	This is the main batch of changes for Win32.  
		* all: Change all tests of APR status codes to use the 
		APR_STATUS_IS...() macros.  
		* libavn_subr/io.c (apr_transfer_file_contents): Bug fix: 
		initialize `read_err' before first use.  
		* libsvn_wc/adm_files.c (check_adm_exists): Check for directory 
		with `svn_io_check_path' instead of `apr_opendir'. Add assertions 
		for extra error checking.  
		* libsvn_wc/util.c (svn_wc__ensure_directory): Likewise.  

2000-11-07 18:54   Karl Fogel <>

	* subversion/: include/svn_delta.h (1.123), include/svn_error.h
	(1.57), include/svn_hash.h (1.10), include/svn_wc.h (1.39),
	libsvn_delta/xml_parse.c (1.131), libsvn_subr/hashdump.c (1.15),
	libsvn_subr/keysort.c (1.4), libsvn_subr/path.c (1.23),
	libsvn_subr/svn_error.c (1.45), libsvn_subr/xml.c (1.31),
	libsvn_wc/adm_crawler.c (1.51), libsvn_wc/status.c (1.7):

	Make sure public functions are documented in their header files and 
	never in their source files (in many cases, the two had diverged).  

2000-11-07 18:24   Ben Collins-Sussman <>

	* subversion/tests/xml/up2.xml (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	A property patch update against co1.xml 

2000-11-07 18:16   Ben Collins-Sussman <>

	* subversion/libsvn_wc/props.c (1.4):

	(svn_wc__append_prop_conflict):  drop the prefix, this is a static

2000-11-07 18:14   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: props.c (1.3), wc.h (1.100):

	Finish property merging and conflict detection.  Still untested; 
	but it compiles and doesn't break `make check`. :) 
	* props.c (svn_wc__conflicting_propcahnges_p):  new definition,
	  return an english description of the property conflict.  
	  (svn_wc__append_prop_conflict): new func 
	  (svn_wc__get_existing_reject_file):  new func 
	  (svn_wc__do_property_merge):  lots of new code to record conflicts 
	  and merging.  
	* wc.h (SVN_WC__LOG_APPEND):  new log command;  needs to be 
	  implemented in log.c still.  
	  (SVN_WC__ENTRIES_ATTR_REJFILE):  new entry attribute, points to the 
	  .rej or .prej file that keeps a file "in conflict" 
	  (svn_wc__conflicting_propchanges_p):  new declaration 
	  (svn_wc__get_existing_reject_file):  new declaration 

2000-11-07 17:56   Greg Stein <>

	* subversion/: include/svn_fs.h (1.25), libsvn_fs/dbt.c (1.8),
	libsvn_fs/dbt.h (1.7), libsvn_fs/dir.c (1.9), libsvn_fs/file.c
	(1.4), libsvn_fs/id.c (1.8), libsvn_fs/id.h (1.4), libsvn_fs/node.c
	(1.10), libsvn_fs/revision.c (1.2), libsvn_fs/txn.c (1.7):

	* include/svn_fs.h: (svn_fs_parse_id, svn_fs_unparse_id) New funcs,
	    renamed from svn_fs__parse_id and svn_fs__unparse_id (from
	* libsvn_fs/id.h: (svn_fs__parse_id, svn_fs__unparse_id) Renamed to 
	    svn_fs_parse_id and svn_fs_unparse_id and moved to
	    include/svn_fs.h.  Trim the headers back to just what is needed.  
	* libsvn_fs/dbt.h: remove id.h include (superfluous); use angle
	    brackets for the "system" header apr_pools.h. Add svn_fs.h for the
	svn_fs_id_t type.  
	* libsvn_fs/dbt.c, dir.c, file.c, node.c, revision.c, txn.c: update
	    for the renamed svn_fs_parse_id, svn_fs_unparse_id.  
	    Trim the headers: remove unneeded id.h 
	* libsvn_fs/id.c: rename to svn_fs_parse_id and svn_fs_unparse_id 
	    (svn_fs_parse_id): simplify memory allocation logic 

2000-11-07 17:38   Karl Fogel <>

	* subversion/libsvn_wc/: get_editor.c (1.119), log.c (1.50):

	Preserve local mods by patching: 
	* libsvn_client/tests/ make more changes in the updated 
	tree t2, commit them.  
	* libsvn_wc/get_editor.c (close_file): if working file present,
	update by patching.  
	* libsvn_wc/log.c (start_handler): implement SVN_WC__LOG_RUN_CMD.  
	(run_cmd_under_directory): removed, unnecessary right now.  
	Note: this change breaks "make check", because the final update in 
	client/tests/t2 fails, apparently due to some ascii nulls in the XML 
	file resulting from the second commit (run "make check" in 
	subversion/client/, then look at
	subversion/client/tests/commit-2.xml, line 51).  
	Am committing anyway for the sake of reproduction, but will commit 
	another change immediately to restore "make check"'s success.  

2000-11-07 17:28   Greg Stein <>

	* STACK (1.19):

	watching Blue Submarine No. 6 ...  

2000-11-07 17:17   Karl Fogel <>

	* subversion/include/svn_io.h (1.16):

	(svn_io_open_unique_file): doc fix.  

2000-11-07 16:45   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.118):

	(close_file): mask out irrelevant bits of return code.  

2000-11-07 15:51   Karl Fogel <>

	* subversion/: include/svn_io.h (1.15), libsvn_subr/io.c (1.11):

	(apr_transfer_file_contents): new helper func, holding common code.  
	(apr_copy_file): implement using above.  
	(apr_append_file): new func, same.  
	(svn_io_append_file): new func.  

2000-11-07 15:40   Karl Fogel <>

	* subversion/: include/svn_io.h (1.14), libsvn_subr/io.c (1.10),
	libsvn_wc/adm_crawler.c (1.50), libsvn_wc/adm_files.c (1.55),
	libsvn_wc/local_changes.c (1.18), libsvn_wc/log.c (1.49),
	libsvn_wc/wc.h (1.99):

	(apr_copy): lives in io.c for now.  
	(svn_io_copy_file): replaces svn_wc__copy_file, lives in io.c now.  
	All callers changed.  

2000-11-07 00:32   Greg Stein <>

	* subversion/mod_dav_svn/ (1.8):

	*) hack the LIBADD line until we get libtool 1.4 
	*) add the right commands for the APXS install type 

2000-11-07 00:29   Greg Stein <>

	* subversion/mod_dav_svn/static/config.m4 (1.3, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	Explicitly default dav_svn to "no". This also guarantees that the
	variable is set before we check it on the next line.  

2000-11-07 00:27   Greg Stein <>

	* subversion/mod_dav_svn/mod_dav_svn.c (1.10):

	fix the header_parser prototype (it needs to return an HTTP status) 

2000-11-07 00:26   Greg Stein <>

	* subversion/: libsvn_subr/svn_error.c (1.44),
	tests/libsvn_wc/checkout-test.c (1.32):

	don't use apr_canonical_error() -- its continued existence is

2000-11-07 00:23   Greg Stein <>

	* ac-helpers/svn-apache.m4 (1.8):

	*) fix the set of include directories 
	*) don't pick up CFLAGS from apxs; Apache and SVN both use libtool
	   for compilations, so the basic flags should be the same already;
	   this also keeps a lot of duplicate flags and other crap out of

2000-11-06 19:58   Branko Cibej <>

	* subversion/: libsvn_subr/.cvsignore (1.4, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	tests/libsvn_delta/.cvsignore (1.9, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	tests/libsvn_fs/.cvsignore (1.3), tests/libsvn_subr/.cvsignore
	(1.4), tests/libsvn_wc/.cvsignore (1.6, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	Ignore Debug and Release subfdirs created by MSVC. Clean up
	.cvsignore in libsvn_subr(/tests).  

2000-11-06 19:51   Branko Cibej <>

	* subversion.dsw (1.4), subversion/libsvn_client/libsvn_client.dsp
	(1.2), subversion/libsvn_delta/libsvn_delta.dsp (1.2),
	subversion/libsvn_fs/libsvn_fs.dsp (1.3),
	subversion/tests/libsvn_delta/deltaparse_test.dsp (1.1),
	subversion/tests/libsvn_delta/random_test.dsp (1.1),
	subversion/tests/libsvn_delta/svndiff_test.dsp (1.1),
	subversion/tests/libsvn_delta/vdelta_test.dsp (1.1),
	subversion/tests/libsvn_delta/xml_output_test.dsp (1.1),
	subversion/tests/libsvn_fs/skel_test.dsp (1.1),
	subversion/libsvn_subr/libsvn_subr.dsp (1.2),
	subversion/libsvn_wc/libsvn_wc.dsp (1.2),
	subversion/tests/libsvn_subr/hashdump_test.dsp (1.1),
	subversion/tests/libsvn_subr/sting_test.dsp (1.1),
	subversion/tests/libsvn_subr/string_test.dsp (1.1),
	subversion/tests/libsvn_wc/checkout_test.dsp (1.1),
	subversion/tests/libsvn_wc/commit_test.dsp (1.1),
	subversion/tests/libsvn_test_editor.dsp (1.2),
	subversion/tests/libsvn_test_main.dsp (1.2):

	More MSVC projects and fixes. Almost there ...  

2000-11-06 19:04   Karl Fogel <>

	* subversion/libsvn_fs/: structure (1.14), TODO (1.11):

	Replace "version" with "revision".  

2000-11-06 18:27   Karl Fogel <>

	* AUTHORS (1.8, post-edit-baton-removal, pre-edit-baton-removal):

	added Daniel Stenberg 

2000-11-06 17:29   Karl Fogel <>

	* subversion/libsvn_wc/log.c (1.48):

	Fix void returns.  

2000-11-06 11:51   Greg Stein <>

	* (1.24):

	we want 0.7.7 to get the right linking behavior when shared libs are

2000-11-05 21:05   Branko Cibej <>

	* subversion/libsvn_subr/xml.c (1.30):

	Oh wow, I wonder how many of those are still in there ...  
	* libsvn_subr/xml.c (amalgamate): Copy the hash keys to the pool, 
	too, because otherwise the keys get clobbered when we return to 

2000-11-05 16:32   Branko Cibej <>

	* subversion/libsvn_subr/hashdump.c (1.14):

	* libsvn_subr/hashdump.c (read_length_line): Change `i' to `size_t'
	to match parameter and silence MSVC warning.  

2000-11-05 16:30   Branko Cibej <>

	* subversion/tests/libsvn_fs/skel-test.c (1.6):

	* libsvn_fs/tests/skel-test.c: Include <stdlib.h> for alloca on

2000-11-05 16:29   Branko Cibej <>

	* subversion/tests/libsvn_delta/vdelta-test.c (1.2):

	* libsvn_delta/tests/vdelta-test.c: Added option `-q'.  
	(print_delta_window): Print only bottom 8 bits of escaped char, so
	negative numbers don't overflow the field size with MSVC.  

2000-11-05 05:59   Greg Stein <>

	* subversion/libsvn_fs/fs.c (1.20):

	(cleanup_fs): cleanup fs->env only when it is non-NULL. set it to
	  NULL after cleaning it up.  
	(svn_fs_open_berkeley): cleanup_fs() isn't quite smart enough to
	  clean up after a failure during opening (it attempts to checkpoint
	  an unopend db).  set fs->env to NULL if we don't get the thing
	opened properly.  

2000-11-04 19:58   Greg Stein <>

	* subversion/: include/svn_error.h (1.56), libsvn_subr/svn_error.c
	(1.43), mod_dav_svn/mod_dav_svn.c (1.9):

	Create a way for embedding apps to initialize the error pool so that
	SVN won't blow up when it calls svn_pool_create() and expects an
	error pool to exist.  
	* include/svn_error.h: (svn_error_init_pool) declaration for new
	  func.  Add mucho doc on the error pool.  
	* libsvn_subr/svn_error.c: (svn_error_init_pool) new func.  
	    (svn_pool_create) use svn_error_init_pool to initialize/prep the
	      error pool.  
	* mod_dav_svn/mod_dav_svn.c: call svn_error_init_pool at right point 

2000-11-04 19:01   Greg Stein <>

	* subversion/: libsvn_fs/.cvsignore (1.3, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	libsvn_fs/ (1.11), libsvn_subr/.cvsignore (1.3),
	libsvn_subr/ (1.12), mod_dav_svn/.cvsignore (1.2,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	mod_dav_svn/ (1.7), mod_dav_svn/repos.c (1.10),
	mod_dav_svn/static/config.m4 (1.2):

	Fix up the installation stuff for mod_dav_svn.  
	* libsvn_fs/ add -ldb to mark a dependency in the .la
	    file so that Apache will link in -ldb when it statically links
	* libsvn_fs/, libsvn_subr/ add install code
	    to copy the .a and .la files into Apache when we statically link
	    into Apache.  creates .la-a with a filtered library_names just in
	    case static AND shared libs are built 
	* mod_dav_svn/ go back to lib_LTLIBRARIES cuz the
	    noinst_ form does not build .a and .so files when --disable-shared
	    was not given.  Similar to _fs and _subr, preprocess the .la file
	    before copying into the Apache directory.  
	* mod_dav_svn/repos.c: #if out the FS stuff that was recently
	* mod_dav_svn/static/config.m4: add the extra libs to the link 
	* .../.cvsignore: ignore the .la-a files which are .la files forced
	    to refer to just the .a (static) libraries 

2000-11-04 17:43   Greg Stein <>

	* ac-helpers/svn-apache.m4 (1.7):

	use a different test for IS_STATIC_APACHE -- this ensures that the
	condition is also false when Apache wasn't found at all. IOW, it is
	only true when we are definitely building for a static-link with

2000-11-04 02:12   Greg Stein <>

	* subversion/tests/libsvn_fs/ (1.5):

	add some missing libraries to the link 

2000-11-03 20:44   Greg Stein <>

	* expat-lite/ (1.2):

	make libtool be quiet 

2000-11-03 20:15   Branko Cibej <>

	* subversion/: include/svn_string.h (1.39), libsvn_delta/delta.h
	(1.43), libsvn_wc/adm_files.c (1.54):

	Fixed some warnings reported by Win32 build.  
	* include/svn_string.h (svn_string_appendbytes): `count' is
	* libsvn_delta/delta.h (svn_txdelta__vdelta); Remove const from
	* libsvn_wc/adm_files.c (close_adm_file): Create error string from 
	`path->data'; `tmp_path' isn't initialised here. Also remove
	top-level `tmp_path', it's not used any more and it's shadowed in
	block scope later on.  

2000-11-03 20:05   Branko Cibej <>

	* subversion/libsvn_fs/libsvn_fs.dsp (1.2):

	Put `.\' on files, like DevStudio does.  

2000-11-03 20:03   Branko Cibej <>

	* subversion.dsw (1.3):

	Get rid of those weird uppercase path names.  

2000-11-03 19:06   Branko Cibej <>

	* HACKING (1.15):

	Describe Win32 build process.  

2000-11-03 17:34   Branko Cibej <>

	* subversion.dsw (1.2):

	Include libsvn_fs project.  

2000-11-03 17:33   Branko Cibej <>

	* subversion/libsvn_fs/: .cvsignore (1.2), fs.c (1.19), id.c (1.7),
	libsvn_fs.dsp (1.1):

	Made changes to compile libsvn_fs on Win32, plus minor fix to the
	client build.  
	* libsvn_fs/libsvn_fs.dsp: New.  
	* libsvn_fs/.cvsignore: Ignore Debug and Release dirs.  
	* libsvn_fs/fs.c (cleanup_fs): Use apr_sleep instead of sleep, and
	don't include <unistd.h>.  
	* libsvn_fs/id.c (abs): Remove. It's an ISO C function.  
	* client/subversion_client.dsp: Link incrementally in debug build to
	shut up MSVC warning.  

2000-11-02 20:37   Branko Cibej <>

	* .cvsignore (1.5, post-edit-baton-removal,
	pre-edit-baton-removal), subversion.dsw (1.1),
	expat-lite/.cvsignore (1.2, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal), expat-lite/libexpat.dsp (1.1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_client/.cvsignore (1.2, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_client/libsvn_client.dsp (1.1),
	subversion/libsvn_delta/.cvsignore (1.6, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_delta/libsvn_delta.dsp (1.1),
	subversion/libsvn_subr/.cvsignore (1.2),
	subversion/libsvn_subr/libsvn_subr.dsp (1.1),
	subversion/libsvn_wc/.cvsignore (1.6, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/libsvn_wc/libsvn_wc.dsp (1.1),
	subversion/tests/.cvsignore (1.2, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal),
	subversion/tests/libsvn_test_editor.dsp (1.1),
	subversion/tests/libsvn_test_main.dsp (1.1):

	Add MSVC project files for building the client and libraries.  
	Modify .cvsignore files to not complain about the new build dirs.  

2000-11-02 14:26   Karl Fogel <>

	* subversion/: include/svn_error.h (1.55), include/svn_io.h (1.13),
	libsvn_subr/io.c (1.9), libsvn_wc/get_editor.c (1.117),
	libsvn_wc/log.c (1.47):

	(close_file): convert svn diff to textual diff and save in wc adm 
	area, so updates can be done in a mergey way.  
	(svn_io_open_unique_file): replaces svn_io_tmp_file, more accurate.  
	(svn_io_check_path): add const qualifier.  
	(merge_text): removed.  
	(run_cmd_under_directory): new func, in progress, #if'd out.  

2000-11-02 12:43   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: get_editor.c (1.116), props.c (1.2), wc.h

	Factorize code for merging properties into a working copy.  Property 
	merges should now work on directories as well as files now.  (In 
	theory. ;))  `make check` still works.  
	* props.c (svn_wc__do_property_merge): new func; factorized code is 
	  called by close_file() and close_dir() when properties need to be 
	* get_editor.c (struct dir_baton):  add apr array of svn_propdelta_t
	  (make_dir_baton):  initialize this array 
	  (change_dir_prop): accumulate propchanges in the baton, just like 
	  (close_file):  call svn_wc__do_property_merge() 
	  (close_dir):  if there are pending propchanges, do all the stuff 
	  that close_file() does:  lock, merge, write log, run log, unlock.  
	  Then decrement the ref count at the end of everything, as usual.  
	* wc.h (svn_wc__do_property_merge):  declare prototype.  

2000-11-02 12:12   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.97):


2000-11-02 12:11   Karl Fogel <>

	* subversion/libsvn_wc/: log.c (1.46), wc.h (1.96):

	over-specialized log actions.  
	(start_handler): don't handle the latter anymore.  Also, added some
	code here for SVN_WC__LOG_CP in the previous commit.  

2000-11-02 12:07   Karl Fogel <>

	* subversion/libsvn_wc/: get_editor.c (1.115), log.c (1.45), wc.h

	(close_file): make "make check" work again, by writing a log entry 
	that copies text-base file back out to working area.  But this time, 
	do so using the new, abstracted log actions.  
	(SVN_WC__LOG_CP): new log action, handle as variant of
	(cp_or_mv_under_directory): replaces rename_under_directory.  
	(SVN_WC__LOG_RUN_CMD): new log action.  Initial use will be to
	invoke diff, for preserving one side of changes during a merge.  

2000-11-02 00:16   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.9):

	add the new pool argument for svn_fs_open_node() 

2000-11-01 17:19   Ben Collins-Sussman <>

	* subversion/libsvn_wc/props.c (1.1):

	Duh, it would help if I actually add the new file.  

2000-11-01 17:18   Ben Collins-Sussman <>

	* subversion/: include/svn_delta.h (1.122), libsvn_delta/delta.h
	(1.42), libsvn_wc/ (1.23), libsvn_wc/get_editor.c
	(1.114), libsvn_wc/wc.h (1.94):

	Major rewrite of property change "merging" during updates.  Cleaner.  
	More efficient.  Tastes great.  Less filling.  
	Conflicts are now detected.  Property hashes are no longer loaded
	from disk and merged until the file baton is closed.  All
	working-copy "property" related functions are in a new file
	TODO: There's an empty C-block waiting to be filled in: 
	     - need logging mechanism to mark entry as "conflicted" 
	     - need mechanism to save property conflicts in a `tmpnam.prej'
	Also, ask Karl about how entry timestamps are updated.  (another log 
	* delta.h (svn_propdelta_t):  removed from private area 
	* svn_delta.h (svn_propdelta_t):  added to public area 
	* props.c (svn_wc__load_prop_file, svn_wc__save_prop_file):  moved 
	  here from get_editor.c, added svn_wc__ prefix.  
	  (svn_wc__get_local_propchanges):  new func to deduce what the user 
	  has done to properties since the last update.  
	  (svn_wc__conflicting_propchange_p):  new func decides if two 
	  propchanges conflict.  
	*  add props.c to build 
	* get_editor.c (struct file_baton):  remove property hashes, just
	  one array of svn_propdelta_t objects now.  
	  (make_file_baton):  initialize this array.  
	  (change_file_prop):  rename my_* variables, since it drives Karl 
	  nuts.  ;)  create a propdelta object and push it onto the array.  
	  (close_file):  TOTAL rewrite of the code which merges property 
	  changes.  Makes use of new routines defined in props.c above.  
	* wc.h:  add declarations for everything in props.c 

2000-11-01 15:09   Karl Fogel <>

	* doc/architecture.texi (1.15, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), doc/client.texi
	(1.32), doc/future.texi (1.10, post-edit-baton-removal,
	pre-edit-baton-removal), doc/goals.texi (1.10, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal), doc/model.texi
	(1.9), doc/server.texi (1.36), subversion/include/svn_client.h
	(1.11), subversion/include/svn_delta.h (1.121),
	subversion/include/svn_error.h (1.54), subversion/include/svn_fs.h
	(1.24), subversion/include/svn_ra.h (1.10),
	subversion/include/svn_test.h (1.4), subversion/include/svn_types.h
	(1.48), subversion/include/svn_wc.h (1.38),
	subversion/libsvn_client/apply_edits.c (1.4),
	subversion/libsvn_client/checkout.c (1.10),
	subversion/libsvn_client/client.h (1.4),
	subversion/libsvn_client/commit.c (1.11),
	subversion/libsvn_client/status.c (1.3),
	subversion/libsvn_client/update.c (1.7),
	subversion/libsvn_delta/compose_editors.c (1.3),
	subversion/libsvn_delta/delta.h (1.41),
	subversion/libsvn_delta/xml_output.c (1.15),
	subversion/libsvn_delta/xml_parse.c (1.130),
	subversion/tests/libsvn_delta/deltaparse-test.c (1.55),
	subversion/libsvn_fs/ (1.10),
	subversion/libsvn_fs/convert-size.c (1.5),
	subversion/libsvn_fs/delta.c (1.16), subversion/libsvn_fs/dir.c
	(1.8), subversion/libsvn_fs/file.c (1.3),
	subversion/libsvn_fs/file.h (1.2), subversion/libsvn_fs/fs.c
	(1.18), subversion/libsvn_fs/fs.h (1.10), subversion/libsvn_fs/id.c
	(1.6), subversion/libsvn_fs/node.c (1.9),
	subversion/libsvn_fs/node.h (1.5), subversion/libsvn_fs/revision.c
	(1.1), subversion/libsvn_fs/revision.h (1.1),
	subversion/libsvn_fs/txn.c (1.6), subversion/libsvn_fs/version.c
	(1.8), subversion/libsvn_fs/version.h (1.3),
	subversion/libsvn_repos/delta.c (1.16),
	subversion/libsvn_ra_dav/commit.c (1.13),
	subversion/libsvn_ra_dav/fetch.c (1.22),
	subversion/libsvn_wc/adm_crawler.c (1.49),
	subversion/libsvn_wc/adm_files.c (1.53),
	subversion/libsvn_wc/adm_ops.c (1.29),
	subversion/libsvn_wc/entries.c (1.62),
	subversion/libsvn_wc/get_editor.c (1.113),
	subversion/libsvn_wc/log.c (1.44), subversion/libsvn_wc/questions.c
	(1.23), subversion/libsvn_wc/status.c (1.6),
	subversion/libsvn_wc/wc.h (1.93),
	subversion/tests/libsvn_wc/checkout-test.c (1.31),
	subversion/mod_dav_svn/repos.c (1.8),
	subversion/tests/svn_test_editor.c (1.10):

	Replace "version" with "revision" everywhere.  
	Mostly, this is the expected textual replacement, with the following 
	   * In most places, have not used "version" as a verb.  SVN is still 
	     a version control system, and files are still versioned.  But 
	     files don't have version numbers, they have revision numbers.  
	   * A few local variables named `verstr' are now `revstr' 
	   * Changed `vernum' to `revnum' everywhere.  
	   * In libsvn_fs/, the files version.c and version.h are now 
	     revision.c and revision.h.  This was done entirely through Unix 
	     mv and the cvs client, no repository mucking happened (but let
	     me know if you need that history, Jim).  
	   * However, mod_dav_svn/version.c has kept its name.  Greg, in 
	     general, I tried to D.T.R.T. in libsvn_ra_dav/ and
	     mod_dav_svn/, please let me know if anything's messed up.  
	   * Finished replacement started by Bruce in libsvn_client/README.  

2000-10-31 19:48   Bruce Korb <>

	* IDEAS (1.12):

	use a format string to construct ``svn status'' output 

2000-10-31 16:34   Karl Fogel <>

	* subversion/libsvn_wc/: README (1.55), get_editor.c (1.112), log.c
	(1.43), wc.h (1.92):

	More simplications to log running in preparation for preservation of 
	local mods.  This change breaks the second half of "make check", but 
	will fix the other side tomorrow.  
	it handle the general case of tweaking an entry.  
	SVN_WC__ENTRIES_ATTR_CONFLICT): new #defines.  
	(SVN_WC__ENTRY_CONFLICT): doc fix.  
	(SVN_WC__LOG_REPLACE_TEXT_BASE): really removed.  Previous commit 
	claimed it was removed then, but that was a dirty lie.  
	(close_file): moved some crucial documentation out to README.  Use
	SVN_WC__LOG_MODIFY_ENTRY to bump version numbers.  
	* README: see above.  

2000-10-31 13:21   Karl Fogel <>

	* subversion/libsvn_wc/log.c (1.42):

	(rename_under_directory): more accurate name for 

2000-10-31 13:20   Karl Fogel <>

	* subversion/: include/svn_path.h (1.19), libsvn_subr/path.c
	(1.22), libsvn_wc/adm_files.c (1.52), libsvn_wc/get_editor.c
	(1.111), libsvn_wc/log.c (1.41), libsvn_wc/wc.h (1.91):

	Simplifications -- the code is getting smaller, whoa: 
	(SVN_WC__TMP_EXT, SVN_WC__REJ_EXT): new #defines.  
	(svn_path_split, svn_wc__text_base_path): add const qualifier.  
	(rename_within_directory): new name for move_file.  
	(SVN_WC__LOG_REPLACE_TEXT_BASE): removed, obsolete.  This is handled 
	by SVN_WC__LOG_MV now.  
	(close_file): use SVN_WC__LOG_MV to take care of text-base now.  

2000-10-31 13:18   Ben Collins-Sussman <>

	* subversion/: include/svn_error.h (1.53), libsvn_wc/adm_crawler.c

	commit-crawler now bails the entire commit if it discovers a file
	with an unresolved conflict.  (it removes locks when bailing).  code
	is as yet untested;  we don't yet have facility to mark entries as 
	* adm_crawler.c (do_lock):  factorized code out 
	  (remove_all_locks):  new func, contains code from do_lock 
	  (check_for_unresolved_file_conflict): new func, compares
	  timestamps between working copy file and entry.  If working copy
	  timestamp is newer, assume the conflict has been resolved.  
	  (process_subdirectory):  before asking any other questions about
	  an entry, if it's a file marked with conflict, call 
	  check_for_unresolved_file_conflict() and bail whole commit if
	* svn_error.h:  added SVN_ERR_WC_FOUND_CONFLICT 

2000-10-31 12:18   Karl Fogel <>

	* subversion/libsvn_subr/io.c (1.8):

	(svn_io_tmp_file): doc fix.  

2000-10-31 12:14   Karl Fogel <>

	* subversion/: include/svn_error.h (1.52), include/svn_io.h (1.12),
	libsvn_subr/io.c (1.7):

	(svn_io_tmp_file): replaces svn_io_tmp_name, for more reliable 
	collision avoidance.  Generate friendlier names, too.  
	(SVN_ERR_IO_TMP_NAMES_EXHAUSTED): shorter and in the correct 
	namespace, unlike the now-removed

2000-10-31 11:32   Karl Fogel <>

	* subversion/: include/svn_io.h (1.11), libsvn_subr/io.c (1.6):

	(svn_io_tmp_name): make suffix part of arguments.  Mark const args
	as such.  

2000-10-31 11:21   Karl Fogel <>

	* subversion/libsvn_subr/path.c (1.21):

	(svn_path_compare_paths): make sure dirs always appear before their 
	(count_chars): removed.  Actually, this function was never added;
	the previous log message was inaccurate.  

2000-10-30 18:58   Karl Fogel <>

	* subversion/: include/svn_hash.h (1.9), include/svn_path.h (1.18),
	libsvn_subr/keysort.c (1.3), libsvn_subr/path.c (1.20):

	(svn_path_compare_paths): new func.  Still needs some tweaking, but
	interface won't change.  
	(count_char): helper for above.  
	(apr_hash_sorted_keys): replaces apr_get_sorted_keys.  
	(svn_sort_compare_as_paths): new func; may change location soon.  
	Confidential to Ben: we misthunk status output sorting.  See the 
	comment in svn_path_compare_paths.  We'll talk in the morning.  

2000-10-30 17:29   Karl Fogel <>

	* subversion/include/svn_io.h (1.10):

	(svn_io_tmp_name): doc clarifications.  

2000-10-30 17:25   Karl Fogel <>

	* subversion/: include/svn_error.h (1.51), include/svn_io.h (1.9),
	include/svn_types.h (1.47), libsvn_subr/io.c (1.5),
	libsvn_wc/adm_crawler.c (1.47), libsvn_wc/adm_files.c (1.51),
	libsvn_wc/adm_ops.c (1.28), libsvn_wc/entries.c (1.61),
	libsvn_wc/get_editor.c (1.110), libsvn_wc/local_changes.c (1.17),
	libsvn_wc/lock.c (1.17), libsvn_wc/log.c (1.40), libsvn_wc/status.c
	(1.5), libsvn_wc/wc.h (1.90):

	(svn_io_tmp_name): new func.  
	(svn_node_kind): epistemological fix -- in a consistent namespace, 
	distinguish between nothingness and unknowing: 
	        svn_node_none     replaces  svn_invalid_kind 
	        svn_node_file     replaces  svn_file_kind 
	        svn_node_dir      replaces  svn_dir_kind 
	        svn_node_unknown  replaces  svn_invalid_kind 
	All callers changed.  
	Unrelated namespace fix: 

2000-10-30 15:48   Karl Fogel <>

	* subversion/libsvn_subr/keysort.c (1.2):

	(counted_length_compare): dereference qsort-supplied args in the 
	qsort-approved manner.  All qsort-bow before the qsort-power and 
	infinite qsort-wisdom of qsort.  <thud> 

2000-10-30 15:13   Ben Collins-Sussman <>

	* subversion/: include/svn_hash.h (1.8), libsvn_subr/
	(1.11), libsvn_subr/keysort.c (1.1):

	Routine to convert an apr_hash_t into a ordered, sorted 
	apr_array_header_t.  Notice that the APR array is full of
	*) objects, which contain {key, klen, val}.  This means that *all*
	of the hash data is conveniently converted into the array.  
	Status command now attempts to use this function to print sorted 
	* keysort.c:  new file implementing apr_get_sorted_keys() 
	*  build keysort.c into libsvn_subr 
	* svn_hash.h:  declare apr_get_sorted_keys() 
	* status.c (svn_cl__print_status):  take a pool now, and call 
	  apr_get_sorted_keys() instead of looping over the hash.  
	* main.c (main):  change call to svn_cl__print_status() 
	* cl.h (svn_cl__print_status): update prototype 

2000-10-30 13:49   Karl Fogel <>

	* subversion/: include/svn_client.h (1.10), include/svn_delta.h
	(1.120), libsvn_client/apply_edits.c (1.3),
	libsvn_client/checkout.c (1.9), libsvn_client/client.h (1.3),
	libsvn_client/update.c (1.6), libsvn_delta/compose_editors.c (1.2):

	Allow passenger editors on both sides of main svn_delta_edit_fns_t: 
	* include/svn_delta.h, libsvn_delta/compose_editors.c 
	(svn_delta_wrap_editor): new func.  
	(svn_delta_compose_editors): return void.  
	* include/svn_client.h, libsvn_client/client.h,
	(svn_client_update, svn_client_checkout): convert passenger_editor, 
	passenger_edit_baton arguments into before_editor, before_edit_baton 
	and after_editor, after_edit_baton.  
	* libsvn_client/cl.h libsvn_client/apply_edits.c 
	(svn_client_update_internal, svn_client_checkout_internal): same.  
	(do_edits): same.  
	(apply_edits): same, then use svn_delta_wrap_editor instead of 
	Unrelated cosmetic change: 
	* client/trace.c (dir_baton): arrange structure more consistently.  

2000-10-28 02:12   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.37), libsvn_wc/status.c (1.4):

	(svn_wc_status_t): replaces svn_wc__status_t everywhere.  Added
	`svn_wc_status_merged' to enum.  
	(svn_cl__print_status): handle all combinations of version state.  
	Produce script-friendlier output by never leaving a version spot 
	whitespace.  Handle merged status.  

2000-10-27 17:15   Ben Collins-Sussman <>

	* subversion/libsvn_wc/status.c (1.3):

	Cleaner recursive algorithm.  But Karl and I are still hunting this 
	weird array resize bug!  Grr.  

2000-10-27 16:43   Jim Blandy <>

	* subversion/: include/svn_fs.h (1.23), libsvn_fs/
	(1.9), libsvn_fs/TODO (1.10), libsvn_fs/dbt.c (1.7),
	libsvn_fs/dbt.h (1.6), libsvn_fs/dir.c (1.7), libsvn_fs/dir.h
	(1.2), libsvn_fs/err.c (1.10), libsvn_fs/err.h (1.7),
	libsvn_fs/fs.h (1.9), libsvn_fs/id.c (1.5), libsvn_fs/id.h (1.3),
	libsvn_fs/node.c (1.8), libsvn_fs/node.h (1.4),
	libsvn_fs/proplist.c (1.5), libsvn_fs/proplist.h (1.3),
	libsvn_fs/skel.c (1.6), libsvn_fs/skel.h (1.4), libsvn_fs/structure
	(1.13), libsvn_fs/txn.c (1.5), libsvn_fs/txn.h (1.2),
	libsvn_fs/version.c (1.7):

	"I'm glad to see the Ministry's continuing its tradition of
	recruiting the brightest and best, sir." 
	Use skels directly, instead of building more C-like structures. 
	This gives us less to build up and tear down when accessing mutable
	nodes.  The contents of a mutable node cannot be cached, except
	within a Berkeley DB transaction --- we have to read them and throw
	them out every time.  
	* libsvn_fs/fs.h (struct svn_fs_node_t, kind_t): Delete definitons.  
	Make nodes opaque outside of node.c.  (struct svn_fs_file_t, struct
	svn_fs_dir_t): Delete definitions.  We can't cache any of the node's
	contents, so there's not much we can put in these structures anyway.
	The interface still uses them, but they're always incomplete types.  
	* libsvn_fs/node.c (struct svn_fs_node_t, kind_t): Declare these
	here.  Don't cache the node's property list --- on a mutable node,
	that could change at any time.  
	(header_values_t, parse_header): New type, new function.  
	(svn_fs__init_node): Deleted.  
	(svn_fs__open_node_by_id): Don't parse kind-specific data at all;
	just check for kind and mutability.  
	(svn_fs__get_node_version, svn_fs__put_node_version, 
	svn_fs__reopen_node): New functions.  
	* libsvn_fs/node.h (svn_fs__init_node): Delete declaration.  
	(svn_fs__get_node_version, svn_fs__put_node_version, 
	svn_fs__reopen_node): New declarations.  
	* libsvn_fs/dir.c (svn_fs_open_node): Use `svn_fs__reopen_node',
	instead of bumping the open count ourselves.  
	(build_entries, compare_dirents, svn_fs__dir_from_skel, 
	svn_fs_dir_entries): Deleted.  
	(search): New function, to search skels directly.  
	(svn_fs_open_node): Tweaked thoroughly.  Use `search'.  
	* libsvn_fs/dir.h (svn_fs__dir_from_skel): Delete declaration.  
	Begin implementation of filesystem transactions.  
	* libsvn_fs/fs.h (struct svn_fs_txn_t): Make this opaque outside of
	txn.c.  (Possibly a stupid idea.) 
	* libsvn_fs/txn.c (struct svn_fs_txn_t): Declare here.  
	(corrupt_txn, dangling_txn_id, no_such_txn, bad_txn_root): New error
	(get_transaction_skel): New function.  
	(begin_txn_body): Renamed from create_txn_body.  
	(svn_fs_begin_txn, begin_txn_body): Reworked to use
	svn_fs__retry_txn.  (struct replace_root_args): New structure.  
	(replace_root_body, svn_fs_replace_root, svn_fs__txn_id, 
	svn_fs_txn_name): New functions.  
	* libsvn_fs/txn.h (svn_fs__txn_id): New declaration.  
	(DB_ERR): New macro.  
	* libsvn_fs/node.c (get_representation_skel, get_node_version_skel, 
	svn_fs__open_node_by_id): Operate as part of a Berkeley DB 
	(put_representation_skel): Rearrange args for consistency.  
	(new_node_id, svn_fs__create_node, last_key_before,
	new_successor_id, svn_fs__create_successor, svn_fs__stable_node,
	svn_fs__node_fs, svn_fs__node_id, svn_fs_node_is_mutable): New
	* libsvn_fs/node.h (svn_fs__open_node_by_id): Update declaration.  
	(svn_fs__create_node, svn_fs__create_successor, svn_fs__node_fs, 
	svn_fs__node_id, svn_fs__stable_node): New declarations.  
	* libsvn_fs/skel.c: (svn_fs__make_atom, svn_fs__make_empty_list, 
	svn_fs__prepend, svn_fs__copy_skel): New functions.  
	* libsvn_fs/skel.h: Declare them.  
	* libsvn_fs/dir.c (node_not_mutable): New error function.  (struct
	delete_args): New local type.  
	(svn_fs_delete, delete_body): New functions.  
	* libsvn_fs/id.c (svn_fs__is_parent): New function.  
	* libsvn_fs/id.h (svn_fs__is_parent): New declaration.  
	Wrap up the logic for Berkeley DB transaction retries and aborts in 
	a single function: 
	* libsvn_fs/err.c (svn_fs__retry_txn): New function.  
	* libsvn_fs/err.h (svn_fs__retry_txn): New declaration.  
	* libsvn_fs/txn.c (svn_fs_begin_txn, begin_txn_body): Reworked to
	use svn_fs__retry_txn.  
	Remove property list objects.  Let the user retrieve single
	properties directly from the node; for more demanding applications,
	just give them a hash table and let them do as they please.  
	* include/svn_fs.h (svn_fs_proplist_t, svn_fs_proplist_get, 
	svn_fs_proplist_names, svn_fs_proplist_hash_table, 
	svn_fs_compare_prop_names): Delete declarations.  
	(svn_fs_get_node_prop, svn_fs_get_node_proplist): New declarations.  
	* libsvn_fs/fs.h: (struct svn_fs_proplist_t): Delete.  
	* libsvn_fs/proplist.[ch]: Deleted.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Remove proplist.c 
	* libsvn_fs/dir.c: Don't #include "proplist.h".  
	* libsvn_fs/node.c (svn_fs_get_node_prop, svn_fs_get_node_proplist): 
	New functions.  
	Simplify directory entry reading interface.  
	* include/svn_fs.h: (svn_fs_dir_entries): Don't return a sorted
	list, shared with our internal data.  Give the user a hash table,
	allocated in their own pool.  
	(svn_fs_compare_dirents): Prototype deleted.  
	* libsvn_fs/dir.c (svn_fs_dir_entries): Rewritten.  
	(svn_fs_compare_dirents): Function deleted.  
	Simplify `nodes' table structure.  We can do without `N.head'
	entries in the table by doing other kinds of range queries, so drop
	* libsvn_fs/structure: Update.  
	* libsvn_fs/id.c (svn_fs__parse_id): Drop `flags' argument.  Never 
	recognize `.head' at the end of an ID.  
	* libsvn_fs/id.h (svn_fs__key_id): Delete.  
	(svn_fs__parse_id): Update declaration.  
	* libsvn_fs/node.c (compare_ids): Simplify accordingly.  
	* libsvn_fs/version.c (svn_fs__version_root): No need to pass
	`flags' argument.  
	Provide simple functions for making DBT's from node ID's, skels, and 
	strings, and DBT's that request no data.  
	* libsvn_fs/dbt.c: #include "id.h" and "skel.h".  
	(svn_fs__nodata_dbt, svn_fs__id_to_dbt, svn_fs__skel_to_dbt, 
	svn_fs__str_to_dbt): New functions.  
	* libsvn_fs/dbt.h: New prototypes for above.  
	* libsvn_fs/node.c (get_representation_skel,
	put_representation_skel, new_successor_id): Use them.  
	* libsvn_fs/txn.c (put_transaction_skel): Same.  
	* libsvn_fs/version.c (put_version_skel): Same.  
	Make `nodes' key comparison more robust.  
	* libsvn_fs/node.c (parse_node_version_dbt): New function.  
	(compare_nodes_keys): Use it, to verify that every key is a node 
	version ID, not a node ID.  
	Change NODE-VERSION structure to insulate kind-specific data from 
	changes to the common node structure.  
	* libsvn_fs/structure: Document changes.  
	* libsvn_fs/nodes.c (make_nodes): Update form of root directory.  
	* libsvn_fs/version.c (put_version_skel): Rearrange args for 
	* libsvn_fs/dir.c (not_a_directory): Fix SVN error code.  
	* libsvn_fs/dir.c (svn_fs_open_root): Just use the filesystem's
	root, not a subpool.  Don't forget to close root_node if it's bogus.  
	* libsvn_fs/dir.c (svn_fs_open_root): Check the FS argument.  
	* include/svn_fs.h (svn_fs_node_version): Deleted; this isn't
	* include/svn_fs.h (svn_fs_open_node, svn_fs_delete): Add a `pool' 
	argument, for temporary allocation.  
	* include/svn_fs.h (svn_fs_node_is_mutable): Renamed from 
	* include/svn_fs.h (svn_fs_file_contents): Clarify lifetime of 
	* libsvn_fs/ (delta.c, file.c): Set aside for now.  

2000-10-27 14:59   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.9), include/svn_wc.h (1.36),
	libsvn_client/status.c (1.2), libsvn_wc/get_editor.c (1.109),
	libsvn_wc/status.c (1.2):

	First-stage rewrite of `svn status';  instead of returning a single 
	status structure, return a hash full of them.  (Next step: 
	* libsvn_wc/status.c (svn_wc_get_status): return a hash of status 
	  structs, not just one struct.  A big rewrite here.  
	  (add_status_structure): new helper to convert entry structs to 
	  status structs.  
	* svn_wc.h (svn_wc_get_status):  change declaration appropriately 
	* libsvn_client/status.c (svn_client_status):  allocate and return a 
	  hash now.  
	* svn_client.h (svn_client_status) change declaration appropriately 
	* main.c (main):  change args to svn_client_status() call 
	* client/status.c (svn_cl__print_status):  print each structure in 
	* cl.h (svn_cl__print_status): change declaration appropriately 

2000-10-27 13:26   Ben Collins-Sussman <>

	* subversion/include/svn_wc.h (1.35):

	(svn_wc__status_t):  add svn_wc_status_conflicted enum 

2000-10-27 11:12   Ben Collins-Sussman <>

	* subversion/libsvn_wc/get_editor.c (1.108):

	(change_file_prop): fix bug in property patching;  property deletes
	work now.  

2000-10-27 10:48   Ben Collins-Sussman <>

	* subversion/libsvn_wc/wc.h (1.89):

	Add SVN_WC__ENTRY_CONFLICT flag in entries structure.  

2000-10-26 20:24   Karl Fogel <>

	* IDEAS (1.11):

	Lost an idea, gained an idea.  

2000-10-26 19:33   Brian Fitzpatrick <>

	* subversion/include/svn_delta.h (1.119):

	Fixed indentation.  

2000-10-26 19:02   Brian Fitzpatrick <>

	* IDEAS (1.10):

	Added ideas for 'svn convert' and 'svn repo' 

2000-10-26 16:55   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: get_editor.c (1.107), log.c (1.39), wc.h

	We can now checkout properties into a working copy.  (So it seems.) 
	Next stop:  >committing< properties.  
	* log.c (move_file):  new func which calls apr_rename_file().  
	  (start_handler):  look for SVN_WC__LOG_MV and call move_file().  
	* get_editor.c (close_file): write correct log entries using 
	  SVN_WC__LOG_MV when there are properties present.  
	  (change_file_prop):  dup storage of name/value into fb's pool.  
	* wc.h:  add SVN_WC__LOG_MV and SVN_WC__LOG_DEST 

2000-10-26 16:00   Joe Orton <>

	* AUTHORS (1.7):

	Change of e-mail address.  

2000-10-26 15:02   Karl Fogel <>

	* subversion/: include/svn_client.h (1.8), include/svn_delta.h
	(1.118), libsvn_client/apply_edits.c (1.2),
	libsvn_client/checkout.c (1.8), libsvn_client/client.h (1.2),
	libsvn_client/update.c (1.5), libsvn_delta/ (1.14),
	libsvn_delta/compose_editors.c (1.1):

	Implement CVS-like command-line progress reporting by composing
	delta editors: 
	* libsvn_delta/compose_editors.c (svn_delta_compose_editors): new 
	file, new func.  
	* libsvn_delta/ add compose_editors.c.  
	* include/svn_delta.h (svn_delta_compose_editors): prototype and 
	* libsvn_client/checkout.c, libsvn_client/update.c, 
	libsvn_client/apply_edits.c, libsvn_client/client.h: 
	(svn_client_checkout, svn_client_update, 
	svn_client__checkout_internal, svn_client__update_internal,
	do_edits): take passenger editor and baton, pass them along.  
	(apply_delta): receive  passenger editor and baton, compose them
	onto real editor.  
	* include/svn_client.h: adjust for above.  
	* client/main.c (main): get a trace editor, pass it along to
	checkout and update.  
	* client/trace.c (svn_cl__get_trace_editor): new file, new func.  
	* client/ add trace.c.  
	Unrelatedly, break status command out into its own file: 
	* status.c (svn_cl__print_status): new file, new name for 
	print_status, which lives here now.  
	*, main.c: adjust for above.  
	* cl.h: prototype.  

2000-10-26 14:36   Ben Collins-Sussman <>

	* subversion/libsvn_wc/log.c (1.38):

	merged conflicts from Joe.  :) 

2000-10-26 14:32   Joe Orton <>

	* subversion/libsvn_fs/: dir.c (1.6), version.c (1.6):

	svn_vernum_t is a long int, so use %ld.  

2000-10-26 14:29   Joe Orton <>

	* subversion/libsvn_wc/: entries.c (1.60), get_editor.c (1.106),
	log.c (1.37):

	Pass char *'s rather than svn_string_t *'s to printf-style

2000-10-26 13:12   Ben Collins-Sussman <>

	* doc/server.texi (1.35):

	Removed lock-manager discussion from spec.  

2000-10-26 13:05   Joe Orton <>

	* subversion/include/: svn_error.h (1.50), svn_string.h (1.38):

	* svn_error.h (svn_error_createf): Add GCC printf format-checking 
	* svn_string.h (svn_string_createf, svn_string_createv): Add GCC 
	printf format-checking attributes.  

2000-10-26 11:36   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_files.c (1.50), get_editor.c (1.105):

	* get_editor.c (close_file, load_prop_file): fix input args to 
	* adm_files.c (init_adm): create SVN/ dir with new #defines.  

2000-10-26 11:23   Karl Fogel <>

	* subversion/libsvn_wc/adm_files.c (1.49):

	(svn_wc__adm_path): fix braino.  

2000-10-26 07:47   Ben Collins-Sussman <>

	* subversion/libsvn_wc/get_editor.c (1.104):

	Duh, only write prop hashes if fb->prop_changed.  

2000-10-25 21:41   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_files.c (1.48), get_editor.c (1.103),
	wc.h (1.87):

	Begin implementing properties in checkout/update.  The immediate 
	short-term goal is to be able to read a <prop-delta> from XML and 
	correctly store properties in the SVN/ area; properties should be 
	"updated" in the same logged, crash-safe way that normal files are.  
	The main restriction, for now, is that we have no way for users to 
	manipulate properties from the command-line.  
	At the moment, here's our algorithm, on a per-file basis: 
	  * load the pristine properties from prop-base/ into `baseprops' hash 
	  * load working properties from props/ into `localprops' hash 
	  * merge each prop-delta into baseprops hash.  
	  * merge each prop-delta into localprops hash, but *note* conflicts.  
	  * when we close the file_baton, write our two hashes into the
	    SVN/tmp/ area, specifically tmp/prop-base/ and tmp/props/ 
	  * write log entry to move tmp/prop-base/ to prop-base/ 
	  * if (conflict) either leave tmp/props/ alone, (or move it?) 
	I have a feeling this algorithm is going to change.  ;) 
	* wc.h: change administrative file #defines to match new property 
	  storage schema in libsvn_wc/README.  
	* get_editor.c (struct file_baton):  add "properties" hashes to be 
	  edited in-memory as a prop-delta is received.  
	  (make_file_baton):  initialize hashes 
	  (change_file_prop):  actually fill in this routine.  Builds 
	  in-memory prophashes within the file_baton;  all prop-delta edits
	  go into this hash.  
	  (close_file):  flush hashes to SVN/tmp/ areas, write log entries.  
	  (load_prop_file):  factorized code to read properties from disk to
	(save_prop_file):  factorized code to write props from hash to disk 
	* adm_files.c: change calls to SVN_WC__ADM_* defines where

2000-10-25 21:15   Ben Collins-Sussman <>

	* subversion/: include/svn_hash.h (1.7), libsvn_subr/hashdump.c
	(1.13), tests/libsvn_subr/hashdump-test.c (1.13):

	Fix input args to svn_hash_read.  (Why the heck were we passing a
	double pointer to a hash?!?)  `hashdump-test' still passes all
	* svn_hash.h (svn_hash_read):  fix declaration 
	* hashdump.c (svn_hash_read):  change input from **hash to *hash 
	* hashdump-test.c (test2):  change call to svn_hash_read 

2000-10-25 18:29   Branko Cibej <>

	* IDEAS (1.9):

	Added two new sections: 
	    * Reserved and unreserved checkouts 
	    * Handling conflicts in the client and working copy 
	And a new subsection to 
	* shell-like interactive mode for client (like ftp): 
	    ** Useful for integration with Emacs, etc.  

2000-10-25 16:27   Jim Blandy <>

	* subversion/include/svn_error.h (1.49):

	SVN_ERR_FS_NOT_MUTABLE): New errors.  

2000-10-25 12:23   Ben Collins-Sussman <>

	* subversion/libsvn_wc/README (1.54):

	Describe new property-storage scheme.  

2000-10-25 10:58   Branko Cibej <>

	* (1.39), subversion/libsvn_fs/ (1.8),
	subversion/tests/libsvn_delta/ (1.12),
	subversion/tests/libsvn_fs/ (1.4),
	subversion/tests/ (1.7),
	subversion/tests/libsvn_subr/ (1.11),
	subversion/tests/libsvn_wc/ (1.12):

	Use flags and libs computed by APR's configure: 
	* Source apr/APRVARS after subdir config and set 
	initial CPPFLAGS, CFLAGS and LIBS.  * <all> Remove
	explicit definitions of CFLAGS.  

2000-10-25 07:48   Greg Stein <>

	* www/webdav-usage.html (1.10), notes/webdav-usage.html (1.10):

	point to the latest rev of the I-D 

2000-10-24 17:39   Ben Collins-Sussman <>

	* subversion/: include/svn_client.h (1.7), include/svn_wc.h (1.34),
	libsvn_client/ (1.8), libsvn_client/status.c (1.1),
	libsvn_wc/ (1.22), libsvn_wc/status.c (1.1),
	libsvn_wc/wc.h (1.86):

	Implemented `svn status' command.  
	Command-line binary calls svn_client_status(), which in turn calls 
	svn_wc_get_status().  The structure returned has all fields filled 
	except for the repos_version; once libsvn_ra is working, 
	svn_client_status() can get this info from the repository and finish 
	filling out the structure.  For now, this field is left as 
	* svn_wc.h (svn_wc__status_t, svn_wc_get_status) new public status 
	  structure and routine for fetching one.  
	* svn_client.h (svn_client_status): new public interface for
	  fetching status.  
	* main.c (main, command, parse_options): implement `status' command.  
	  (print_status): new helper function.  
	* status.c:  new files added to both libsvn_wc/ and libsvn_client 
	*  modified in both libsvn_wc/ and libsvn_client/ to
	  build new `status.c' files.  

2000-10-24 14:45   Karl Fogel <>

	* README (1.11, post-edit-baton-removal, pre-edit-baton-removal),
	STACK (1.18), subversion/ (1.16),
	subversion/include/svn_error.h (1.48),
	subversion/include/svn_parse.h (1.7), subversion/include/svn_svr.h
	(1.34), subversion/include/svn_types.h (1.46),
	subversion/libsvn_subr/svn_error.c (1.42),
	subversion/libsvn_subr/svn_parse.c (1.41):

	Clean out unused code and types: 
	* README: bring description of source tree up to date.  
	* include/svn_types.h (svn_file_t, svn_dirent_t, svn_directory_t, 
	svn_node_t, svn_ver_t, svn_svr_action_t, svn_user_t, svn_token_t): 
	removed these obsolete types.  
	(svn_node_kind): preserve by moving out of svn_node_t.  
	* (EXTRA_DIST): removed include/svn_svr.h.  
	* include/svn_error.h (svn_handle_warning): doc fix.  
	* libsvn_subr/svn_error.c (svn_handle_warning): doc fix.  
	Removed these files: 
	* include/svn_svr.h 
	* include/svn_parse.h 
	* libsvn_subr/svn_parse.c 
	* libsvn_subr/parsetest/Makefile 
	* libsvn_subr/parsetest/configfile 
	* libsvn_subr/parsetest/parsetest.c 
	* libsvn_svr/plugin_security/plugin_security.c 
	* libsvn_svr/plugin_security/svn_security 
	* libsvn_svr/server_init.c 
	* libsvn_svr/svn.conf 
	* libsvn_svr/server_fs.c 
	* libsvn_svr/README 
	* libsvn_svr/tests/Makefile 
	* libsvn_svr/tests/svrtest.c 
	* libsvn_svr/tests/testpolicy.conf 

2000-10-24 08:24   Branko Cibej <>

	* ac-helpers/berkeley-db.m4 (1.5, post-edit-baton-removal,

	* ac-helpers/berkeley-db.m4: Don't mix LIBS and CPPFLAGS.  

2000-10-23 20:54   Brian Fitzpatrick <>

	* IDEAS (1.8):

	Moved svn sync from subversion/client/README to here where it

2000-10-23 20:51   Brian Fitzpatrick <>

	* IDEAS (1.7):

	Added Branko's idea 

2000-10-23 17:18   Ben Collins-Sussman <>

	* doc/: client.texi (1.31), future.texi (1.9), protocol.texi (1.6,
	milestone-2, post-edit-baton-removal, pre-edit-baton-removal),
	server.texi (1.34):

	Finished first pass at bringing .texi spec up-to-date with our code

2000-10-23 17:09   Ben Collins-Sussman <>

	* doc/future.texi (1.8):

	* future.texi:  add pointer to IDEAS.  

2000-10-23 17:08   Ben Collins-Sussman <>

	* doc/server.texi (1.33):

	Updating the spec to reflect all that is new in the last four
	months. ;) 
	* server.texi:  put pointers to Jimb's documentation and headers on 
	  the filesystem.  Remove most discussion of "libsvn_svr", which no 
	  longer exists.  However, notice that I left behind discussion of 
	  authentication and authorization mechanisms -- as food for thought 
	  as we move forward.  
	  Also, left the discussion of the filesystem "lock-manager", but I 
	  think this is a dead idea.  Jimb, you'll need to go take a look at 
	  it and nuke it if so.  

2000-10-23 16:51   Ben Collins-Sussman <>

	* doc/: client.texi (1.30), protocol.texi (1.5):

	Updating the spec to reflect all that is new in the last four
	months. ;) 
	* protocol.texi:  provide many links to Neon, DeltaV, and Greg's RFC 
	  paper that describes how he's mapping DeltaV to Subversion.  

2000-10-23 16:35   Ben Collins-Sussman <>

	* doc/client.texi (1.29):

	Updating client.texi to reflect all that is new in the last four
	months. ;) 
	* Remove discussion of "skeltas", and discuss "postfix text deltas"
	* Update description of files in the working copy administrative
	* Remove all API descriptions of libsvn_wc, libsvn_ra,
	  libsvn_client; instead,  put pointers to the public header files. 

2000-10-23 16:26   Karl Fogel <>

	* subversion/libsvn_wc/README (1.53):

	Cleaning up some loose ends.  

2000-10-23 16:18   Karl Fogel <>

	* subversion/libsvn_wc/README (1.52):

	Clearer intro.  

2000-10-23 12:59   Karl Fogel <>

	* TASKS (1.14):

	Some tasks are now just stack items, others are in-progress.  

2000-10-23 12:57   Karl Fogel <>

	* STACK (1.17):

	You know, I could make all these changes and *then* commit, but 

2000-10-23 12:57   Karl Fogel <>

	* STACK (1.16):

	another note about hook editor 

2000-10-23 12:56   Karl Fogel <>

	* STACK (1.15):

	note about hook editor 

2000-10-23 12:42   Ben Collins-Sussman <>

	* STACK (1.14):

	mmm...  a PINHEAD, during an EARTHQUAKE, encounters an ALL-MIDGET
	 FIDDLE ORCHESTRA...  ha..  ha..  

2000-10-23 12:37   Ben Collins-Sussman <>

	* doc/svn-design.texi (1.15):

	Add date keyword to front page.  

2000-10-23 12:24   Ben Collins-Sussman <>

	* STACK (1.13):

	Sunshine my herring trousers.  

2000-10-23 11:56   Ben Collins-Sussman <>

	* doc/architecture.texi (1.14):

	Remove `server layer' from diagram, and show two future 
	implementations of libsvn_ra.  Update comments accordingly.  

2000-10-23 11:18   Ben Collins-Sussman <>

	* STACK (1.12):

	What Ben is doing now.  :) 

2000-10-23 10:45   Greg Stein <>

	* IDEAS (1.6):

	add an idea about splitting WC 

2000-10-21 17:52   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.21):

	* fetch.c (everywhere): Use SVN_NO_ERROR for 'no error', rather than 
	NULL (for readability and consistency).  

2000-10-21 17:48   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.20):

	* fetch.c (fetch_dirents): Destroy the PROPFIND handler before
	returning in error cases.  

2000-10-21 17:46   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.19):

	* fetch.c (fetch_dirents): Destroy PROPFIND handler after use.  

2000-10-21 17:43   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.18):

	* fetch.c (fetch_dirents): More verbose error reporting for PROPFIND 

2000-10-21 10:25   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.17):

	* fetch.c (svn_ra_checkout): Remove debugging printf which got 
	committed by mistake.  

2000-10-21 01:06   Karl Fogel <>

	* www/index.html (1.16, milestone-1):

	Simplify language.  

2000-10-21 01:04   Karl Fogel <>

	* STACK (1.11, milestone-1):

	Note some more todo items.  

2000-10-21 01:04   Karl Fogel <>

	* www/index.html (1.15):

	Note Milestone 1.  

2000-10-21 00:57   Karl Fogel <>

	* subversion/: libsvn_client/commit.c (1.10),
	libsvn_client/update.c (1.4), libsvn_delta/xml_output.c (1.14),
	libsvn_delta/xml_parse.c (1.129), libsvn_wc/adm_crawler.c (1.46),
	libsvn_wc/get_editor.c (1.102), libsvn_wc/log.c (1.36),
	libsvn_wc/wc.h (1.85) (utags: milestone-1):

	Make updates work: 
	* client/ demonstrate updates.  
	* client/README: notes about update functionality and testing the 
	* libsvn_client/commit.c (svn_client_commit): don't use test editor 
	for debugging anymore, use xml output editor unconditionally.  
	* libsvn_client/update.c (svn_client_update): call 
	svn_client__update_internal unconditionally.  
	* libsvn_wc/wc.h (SVN_WC__LOG_DELETE_ENTRY): new log item.  
	(SVN_WC__LOG_SET_VERSION): fix string value.  
	(svn_wc__entry_dup, svn_wc__entry_merge_sync): doc fixes.  
	* libsvn_wc/log.c (start_handler): handle SVN_WC__LOG_DELETE_ENTRY.  
	Handle deletion correctly in SVN_WC__LOG_COMMITTED.  Tighten up
	error handling in general, by bailing immediately after signalling
	if any error is encountered.  
	(remove_from_version_control): new helper func for above.  
	* libsvn_wc/get_editor.c (replace_file): don't pass adding flag when 
	calling add_or_replace_file.  
	(replace_directory): set the child baton.  
	(delete): implement.  
	(apply_textdelta, window_handler): handle absence of text-base 
	gracefully, so adding works.  
	* libsvn_wc/adm_crawler.c (process_subdirectory): check for error 
	after reading entries.  Correct logic in checking for an entry that
	is marked addition and deletion.  Remember to record deleted-only
	files in affected_targets.  
	* libsvn_delta/xml_parse.c (outermost_tree_delta_close_p): new func.  
	(xml_handle_end): never call do_close_directory() on </tree-delta> 
	unless it's known to be the final </tree-delta>.  For all non-root 
	dirs, calling do_close_directory() on </dir> suffices.  
	(everywere): allocate in the safe way.  
	* libsvn_delta/xml_output.c (get_to_elem): revert previous change, 
	that is, emit prop-delta with svn_xml_normal instead of 
	* STACK: note some future todo items.  

2000-10-20 21:44   Karl Fogel <>

	* subversion/libsvn_wc/adm_crawler.c (1.45):

	(push_stack): allocate in the safe style.  

2000-10-20 21:42   Karl Fogel <>

	* subversion/tests/svn_test_editor.c (1.9, milestone-1):

	(svn_test_get_editor): allocate in the safe style.  

2000-10-20 21:40   Karl Fogel <>

	* subversion/libsvn_subr/xml.c (1.29, milestone-1):

	(svn_xml_make_parser): allocate in the safe style.  

2000-10-20 21:40   Karl Fogel <>

	* subversion/libsvn_subr/svn_string.c (1.5, milestone-1):

	(svn_string_ncreate): allocate in the safe style.  

2000-10-20 21:39   Karl Fogel <>

	* subversion/libsvn_subr/svn_error.c (1.41, milestone-1):

	(make_error_internal): allocate in the safe style.  

2000-10-20 21:38   Karl Fogel <>

	* subversion/libsvn_subr/hashdump.c (1.12, milestone-1):

	(svn_pack_bytestring): allocate in the safe style.  

2000-10-20 17:19   Ben Collins-Sussman <>

	* IDEAS (1.5, milestone-1):

	Describe how commit/update "hooks" might work in the near future.  

2000-10-20 16:41   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.101):

	(apply_textdelta): handle errors correctly.  

2000-10-20 16:33   Karl Fogel <>

	* subversion/: libsvn_fs/txn.c (1.4), libsvn_ra_dav/commit.c (1.12)
	(utags: milestone-1):

	Get a warning-free compilation: 
	* libsvn_ra_dav/commit.c (checkout_resource): #if out for now, to 
	avoid a compile warning about the function being defined but not 
	used.  We can put it back when it has callers.  
	* libsvn_fs/txn.c (create_txn_body): manually prototype 
	svn_fs__nodata_dbt() for now, to avoid `implicit declaration' 

2000-10-20 16:25   Karl Fogel <>

	* subversion/libsvn_wc/adm_files.c (1.47, milestone-1):

	(open_adm_file): set *handle to null if the open failed.  

2000-10-20 16:23   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.44):

	Prevent hash key from possibly vanishing. :) 

2000-10-20 16:15   Karl Fogel <>

	* subversion/libsvn_delta/xml_output.c (1.13):

	(get_to_elem, apply_textdelta): use svn_xml_protect_pcdata when 
	creating text-deltas and prop-deltas.  

2000-10-20 15:25   Karl Fogel <>

	* subversion/libsvn_wc/: entries.c (1.59, milestone-1),
	get_editor.c (1.100), log.c (1.35), wc.h (1.84):

	(svn_wc__entry_merge_sync): doc fix.  
	(SVN_WC__ENTRY_CLEAR): new #define.  
	(sync_entry): use it.  
	(start_handler): clear entry flags when handle
	(delete): add note.  

2000-10-20 15:18   Ben Collins-Sussman <>

	* subversion/libsvn_delta/: delta.h (1.40, milestone-1),
	xml_parse.c (1.128):

	Fix some major sloppiness in our XML parser.  :) 
	* delta.h:  remove out-of-date cruft in documentation 
	* xml_parse.c (svn_delta_make_xml_parser, do_stack_append, 
	  do_stack_remove): our stack should start and end life as NULL now.  
	  Do *not* call replace_root() preemptively -- yeesh! 
	  (xml_handle_start, xml_handle_end):  treat initial <delta-pkg> and 
	  first <tree-delta> frames specially, storing base ancestry in the 
	  former, and storing the root_dir_baton in the latter.  In other 
	  words, we never call replace_root() until we actually see a 
	  <tree-delta>.  Along these lines, allow close_dir(root) to happen 
	  naturally when we get the final </tree-delta>.  

2000-10-20 14:06   Joe Orton <>

	* subversion/: include/svn_path.h (1.17, milestone-1),
	libsvn_delta/xml_parse.c (1.127), libsvn_fs/delta.c (1.15,
	milestone-1), libsvn_repos/delta.c (1.15, milestone-1),
	libsvn_subr/path.c (1.19, milestone-1), libsvn_wc/adm_crawler.c
	(1.43), libsvn_wc/adm_files.c (1.46), libsvn_wc/entries.c (1.58),
	libsvn_wc/get_editor.c (1.99), libsvn_wc/log.c (1.34),
	tests/svn_test_editor.c (1.8):

	* path.c (svn_path_add_component, svn_path_add_component_nts, 
	add_component_internal): Remove redundant pool argument.  
	All callers changed.  

2000-10-20 14:04   Joe Orton <>

	* subversion/libsvn_ra_dav/session.c (1.8, milestone-1):

	* session.c (svn_ra_open): Fix URL validity check.  

2000-10-20 13:26   Ben Collins-Sussman <>

	* subversion/libsvn_delta/xml_parse.c (1.126):

	Remove silly style of calling function pointers.  

2000-10-20 13:06   Karl Fogel <>

	* subversion/libsvn_wc/entries.c (1.57):

	(sync_entry): bitwise AND is not the same as logical AND, Karl.  Did 
	you eat your Wheaties? 

2000-10-20 11:45   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_crawler.c (1.42), entries.c (1.56),
	wc.h (1.83):

	* adm_crawler.c (process_subdirectory):  reinstate subpools at each 
	  level of the tree, but also remove the second "pool" argument to 
	  this routine;  all subpools are now direct children of top_pool, 
	  rather than generating a long chain of subpools.  This is more 
	  readable.  Also:  guarantee that *everything* stored in our 
	  `affected_targets' hash is allocated from top_pool;  this means 
	  calling svn_wc__entry_dup when storing the entry in a new 
	* wc.h, entries.c (svn_wc__entry_dup): public utility to duplicate
	  an entry (and its hash!) into a new pool.  

2000-10-20 11:02   Karl Fogel <>

	* subversion/libsvn_wc/questions.c (1.22, milestone-1):

	(filesizes_definitely_different_p): rename back from 
	filesizes_different_p, and doc fix, now that Ben has reminded me of 
	why we called it this in the first place.  

2000-10-20 10:55   Karl Fogel <>

	* subversion/include/svn_io.h (1.8, milestone-1):

	(svn_io_file_reader, svn_io_file_writer): include clarification,
	with thanks to Greg Stein.  

2000-10-19 22:58   Karl Fogel <>

	* subversion/: include/svn_io.h (1.7), libsvn_subr/io.c (1.4,
	milestone-1), libsvn_wc/adm_crawler.c (1.41):

	Changes to send txdeltas for added files: 
	* adm_crawler.c: Replaced `filehash' with `affected_targets' 
	everywhere; the new name more accurately reflects the fact that it 
	stores (or will store) anything that got committed.  This is
	probably the beginning of a larger change, see the comment above
	struct target_baton.  
	(target_baton): new struct.  
	(process_subdirectory): use top-level pool, instead of making a 
	subpool, because the batons we now store in affected_targets need to 
	outlive this call.  
	(do_postfix_text_deltas): don't try to send txdeltas for anything
	but modified or new files.  
	(do_apply_textdelta): take a target_baton, not a file_baton.  
	Non-existent text base not an error if this file is being added.  
	Supporting changes: 
	(svn_io_file_reader): if filehandle is null, then simply return 0 
	bytes of data.  
	(svn_io_file_reader, svn_io_file_writer): document in header only.  
	* client/ demonstrate the adds.  
	Not really related changes: 
	(svn_wc_crawl_local_mods): doc fix.  

2000-10-19 21:19   Karl Fogel <>

	* subversion/: libsvn_client/commit.c (1.9), libsvn_wc/entries.c
	(1.55), libsvn_wc/log.c (1.33), libsvn_wc/questions.c (1.21),
	libsvn_wc/wc.h (1.82):

	Get commits working: 
	(contents_identical_p): take two file arguments, instead of
	branching a single argument; caller changed.  Fix buglet whereby
	first file shorter might result in a false positive.  More detailed
	error reporting.  
	(svn_wc__file_modified_p): pass textbase_filename to 
	contents_identical_p, since we already have it anyway.  
	(filesizes_different_p): replaces filesizes_definitely_different_p.  
	Why on earth I suggested the longer name, I can't remember now.  
	Caller changed.  
	(svn_wc__files_contents_same_p): new func.  
	(set_version): removed, do it inline.  
	(svn_client_commit): conditionally get a test editor instead of an
	xml editor, for easier debugging.  
	(start_handler): do what set_version did inline now.  Handle
	(sync_entry): don't override timestamp if none was passed in.  
	(signal_error): replace fmt argument with a child error argument. 
	All callers changed.  

2000-10-19 19:24   Karl Fogel <>

	* subversion/libsvn_wc/: adm_ops.c (1.27, milestone-1), log.c
	(1.32), wc.h (1.81):

	(svn_wc__log_commit): targets arg before version arg, for

2000-10-19 19:21   Karl Fogel <>

	* subversion/libsvn_wc/adm_crawler.c (1.40):

	(do_lock): innify scope of new error variable.  

2000-10-19 19:21   Karl Fogel <>

	* subversion/libsvn_wc/adm_crawler.c (1.39):

	(do_lock): don't overload error variable.  

2000-10-19 19:12   Karl Fogel <>

	* subversion/libsvn_wc/: adm_ops.c (1.26), log.c (1.31), wc.h

	(svn_wc__cleanup): take targets arg.  
	(svn_wc__log_commit): test for targets in the right way.  

2000-10-19 18:45   Karl Fogel <>

	* subversion/: include/svn_test.h (1.3, milestone-1),
	include/svn_wc.h (1.33, milestone-1), libsvn_client/commit.c (1.8),
	tests/libsvn_delta/deltaparse-test.c (1.54, milestone-1),
	libsvn_wc/adm_crawler.c (1.38), libsvn_wc/adm_ops.c (1.25),
	libsvn_wc/log.c (1.30), libsvn_wc/wc.h (1.79),
	tests/libsvn_wc/commit-test.c (1.11, milestone-1),
	tests/svn_test_editor.c (1.7):

	Qualify svn_delta_edit_fns_t arguments with `const' everywhere,
	adjust callers accordingly.  
	Unrelatedly, make committing functions cooperate by sharing the list 
	of committed entities and treading carefully w.r.t. lockfiles.  
	(svn_wc_close_commit, svn_wc__log_commit): take new targets arg.  
	Only write log items for things that were actually committed.  
	(svn_wc_crawl_local_mods): return targets in a hash.  
	(svn_client_commit): grab targets from svn_wc_crawl_local_mods, pass 
	along to svn_wc_close_commit.  
	(svn_wc__cleanup): use bail_on_lock.  
	Note: still need a targets arg to prevent svn_wc__cleanup() from 
	cleaning up in areas where it's not supposed to.  

2000-10-19 18:00   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.37):

	(do_dir_replaces):  only call do_lock() at the bottom of the
	routine, once we've found the "lowest" directory baton.  

2000-10-19 17:54   Ben Collins-Sussman <>

	* subversion/: include/svn_io.h (1.6), libsvn_client/commit.c
	(1.7), libsvn_fs/structure (1.12, milestone-1), libsvn_subr/io.c
	(1.3), libsvn_wc/adm_crawler.c (1.36),
	tests/libsvn_wc/commit-test.c (1.10):

	* io.c (svn_io_file_reader, svn_io_file_writer):  generic routines
	  to read and write open filehandles, conforming to svn_read_fn_t and 
	  svn_write_fn_t.   Lots of folks need these, I think.  
	* svn_io.h (svn_io_file_reader, svn_io_file_writer): declarations of 
	* commit.c (generic_write) removed in favor of above, changed one 
	  caller to it.  
	* adm_crawler.c (posix_reader) removed in favor above, changed
	* commit-test.c: add -x flag to optionally use Greg Hudson's XML 
	  output editor instead of the "generic" test editor.  
	  KARL:  please fix the above.  commit-test.c is trying to open a 
	  filehandle to stdout.  Apparently the "-" doesn't work.  :) 

2000-10-19 17:30   Karl Fogel <>

	* subversion/libsvn_wc/: adm_ops.c (1.24), log.c (1.29), wc.h

	(svn_wc__cleanup): added bail_on_lock argument.  All callers

2000-10-19 17:09   Karl Fogel <>

	* subversion/libsvn_wc/: adm_ops.c (1.23), log.c (1.28), wc.h

	(svn_wc__cleanup): new func.  
	(svn_wc_close_commit): filled in.  

2000-10-19 16:54   Karl Fogel <>

	* subversion/libsvn_wc/: adm_files.c (1.45), lock.c (1.16,
	milestone-1), log.c (1.27), wc.h (1.76):

	(svn_wc__adm_path, svn_wc__locked, svn_wc__log_commit): new funcs.  

2000-10-19 16:49   Ben Collins-Sussman <>

	* subversion/libsvn_wc/: adm_crawler.c (1.35), adm_files.c (1.44):

	Add directory locking to the commit-crawler; also make it send diffs 
	against a temporary *copy* of the working file, not the file itself.  
	* adm_files.c (apr_copy_file):  add declaration, to make compiler
	* adm_crawler.c (do_lock): new routine which locks a dir and stores
	in a hash.  If lock fails, all locks in the hash are unlocked and
	the commit bails.  
	(do_dir_replaces): now takes a `locks' hash and top-level pool; the 
	main caller of do_lock(), since we want to lock a directory whenever 
	we call replace_directory().  
	(do_apply_textdelta): copy working file to tmp area, then open
	*that* file handle for diffing.  
	(process_subdirectory): now takes `locks' hash; changed calls to 
	(svn_wc_crawl_local_mods):  adjust call to to

2000-10-19 16:09   Greg Stein <>

	* STACK (1.10):

	just noticed that I still needed to do this, from one of Karl's

2000-10-19 15:53   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.75):

	(SVN_WC__LOG_COMMITTED): restored.  

2000-10-19 15:02   Karl Fogel <>

	* subversion/libsvn_wc/: get_editor.c (1.98), log.c (1.26), wc.h

	Document the meanings of the log elements, and: 
	(SVN_WC__LOG_SET_VERSION): more accurate name for
	(set_version): more accurate name for set_entry.  

2000-10-19 14:44   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.73):

	(SVN_WC__LOG_COMMITTED): new log tag.  

2000-10-19 14:39   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.72):

	(svn_wc__copy_file): doc fix.  

2000-10-19 14:38   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.71):

	(apr_copy_file): don't export.  

2000-10-19 14:36   Karl Fogel <>

	* subversion/libsvn_wc/: adm_files.c (1.43), local_changes.c (1.16,
	milestone-1), wc.h (1.70):

	(svn_wc__copy_file): new func.  
	(maybe_copy_file, svn_wc__gnudiff_patcher): use above new func.  

2000-10-19 07:45   Greg Stein <>

	* subversion/mod_dav_svn/: (1.6), dav_svn.h (1.5),
	mod_dav_svn.c (1.8), repos.c (1.7), util.c (1.1) (utags:

	- clean up some of the URI, root_uri, and path parsing 
	- introduce dav_svn_repos structure 
	- really implement dav_stream structure; fill in reading code 
	- open the FS and squirrel it away into dav_svn_repos 
	- add SVNPath directive for specifying where the FS sits 
	- util function for SVN->DAV error conversion 

2000-10-19 07:42   Greg Stein <>

	* subversion/include/svn_error.h (1.47, milestone-1):

	add some errors that are specific to the mod_dav_svn Apache module 

2000-10-19 05:14   Greg Stein <>

	* STACK (1.9):

	random whack at what needs to be coded / what can be deferred for a

2000-10-18 20:57   Brian Fitzpatrick <>

	* IDEAS (1.4):

	Fixed indentation. Doh.  

2000-10-18 20:57   Brian Fitzpatrick <>

	* IDEAS (1.3):

	Added cvs-compatibility wrapper idea 

2000-10-18 20:39   Brian Fitzpatrick <>

	* IDEAS (1.2):

	Added possible implementation specific information as item under
	'shell-like insteractive mode' 

2000-10-18 15:13   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.32), libsvn_client/commit.c
	(1.6), libsvn_wc/adm_ops.c (1.22):

	(svn_wc_close_commit): don't take tok arg.  All callers changed.  
	(svn_client_commit): don't generate a universally unique id, don't 
	make a token from it, etc.  

2000-10-18 10:01   Ben Collins-Sussman <>

	* subversion/: libsvn_wc/adm_crawler.c (1.34),
	tests/libsvn_wc/commit-test.c (1.9):

	Crawler now closes edit internally.  
	* adm_crawler.c (process_subdirectory): `stack' arg is now a double 
	  pointer, so that it can returned to svn_wc_crawl_local_mods().  
	(svn_wc_crawl_local_mods): after completing working copy crawl,
	  check top-level stackframe for existence of a root-dir baton.  If
	  it's there, call editor->close_edit().  
	* commit-test.c:  don't call editor->close_edit() anymore, our
	  crawler now does so automatically if necessary.  

2000-10-18 02:09   Joe Orton <>

	* BUGS (1.2, post-edit-baton-removal, pre-edit-baton-removal,

	Put in the neon mailing list as the bug-reporting address.  

2000-10-17 21:20   Karl Fogel <>

	* BUGS (1.1):

	New file, so I can remember where to send APR bug reports.  

2000-10-17 20:56   Karl Fogel <>

	* subversion/libsvn_wc/local_changes.c (1.15):

	(svn_wc__string_to_time): remove glaringly incorrect comment.  

2000-10-17 20:54   Karl Fogel <>

	* subversion/libsvn_wc/local_changes.c (1.14):

	APR *_snames working again, so make timestamp code live.  
	(svn_wc__string_to_time): set tm_mon correctly.  Ben, the timestamp
	code works now.  

2000-10-17 20:13   Karl Fogel <>

	* subversion/libsvn_subr/io.c (1.2):

	(svn_io_check_path): ahem, *cough* ... implement using apr_stat ...
	*cough thanks Greg Stein cough* ...  

2000-10-17 20:01   Karl Fogel <>

	* subversion/libsvn_wc/entries.c (1.54):

	(svn_wc__compose_paths): new name for svn_wc_compose_paths, which is 
	internally public, not externally public.  

2000-10-17 19:28   Karl Fogel <>

	* subversion/libsvn_wc/entries.c (1.53):

	(svn_wc_compose_paths): replaces compose_paths, because this will
	have to be an internally public function.  But also #ifdef out,
	because no one is ready to use it yet.  

2000-10-17 19:09   Karl Fogel <>

	* subversion/: include/svn_io.h (1.5), include/svn_types.h (1.45,
	milestone-1), libsvn_subr/ (1.10, milestone-1),
	libsvn_subr/io.c (1.1), libsvn_wc/adm_files.c (1.42),
	libsvn_wc/entries.c (1.52), libsvn_wc/local_changes.c (1.13),
	libsvn_wc/log.c (1.25), libsvn_wc/wc.h (1.69):

	* io.c (svn_io_check_path): new file, new func.  All callers
	* libsvn_wc (svn_wc__file_exists_p): removed, in favor of 
	Also, we're not going to have a generic recursion function, because 
	recursing is easy and genericizing it actually results in more code 
	than not.  Thank goodness for the phone call with Jim!  So: 
	(svn_wc__entries_recurse, svn_wc__recurse_enter_dir_t, 
	svn_wc__recurse_leave_dir_t, svn_wc__recurse_handle_file_t):
	(compose_paths): replaces remove_redundancies.  But not removed, as 
	will still be useful.  

2000-10-17 17:58   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.16, milestone-1):

	* fetch.c (fetch_file_reader): Fix string declaration.  

2000-10-17 17:23   Joe Orton <>

	* subversion/libsvn_ra_dav/fetch.c (1.15):

	* fetch.c (svn_ra_checkout): Don't call add_directory for the root
	of the repository.  

2000-10-17 17:09   Karl Fogel <>

	* subversion/libsvn_subr/path.c (1.18):

	Load svn-dev.el.  

2000-10-17 16:48   Karl Fogel <>

	* subversion/include/svn_path.h (1.16):

	(svn_path_canonicalize): not static here either.  

2000-10-17 16:47   Karl Fogel <>

	* subversion/libsvn_subr/path.c (1.17):

	(svn_path_canonicalize): not static.  

2000-10-17 16:47   Karl Fogel <>

	* subversion/include/svn_path.h (1.15):

	(svn_path_canonicalize): semicolon assumed the position.  

2000-10-17 16:32   Karl Fogel <>

	* subversion/libsvn_subr/path.c (1.16):

	(svn_path_canonicalize): oops, change all callers of the old 

2000-10-17 16:31   Karl Fogel <>

	* subversion/: include/svn_path.h (1.14), libsvn_subr/path.c

	(svn_path_canonicalize): new public name for canonicalize.  

2000-10-17 16:22   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.68):

	(svn_wc__entries_recurse): document.  

2000-10-17 15:41   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.67):

	(svn_wc__entries_recurse, svn_wc__recurse_handle_file_t, 
	svn_wc__recurse_leave_dir_t, svn_wc__recurse_enter_dir_t): new 
	functions, conditionally declared.  

2000-10-17 13:34   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.33):

	(process_subdirectory): add "top_pool" argument to this routine, and 
	make sure filehash paths use this pool for storage.  

2000-10-17 13:33   Greg Hudson <>

	* subversion/libsvn_delta/text_delta.c (1.19, milestone-1):

	Save some space and copying by combining the buffer which saves
	source data with the buffer passed to the vdelta routine.  

2000-10-17 13:32   Karl Fogel <>

	* subversion/tests/svn_test_editor.c (1.6):

	(my_vcdiff_windoweater): cast printf args to avoid compilation

2000-10-17 13:22   Karl Fogel <>

	* subversion/tests/svn_test_editor.c (1.5):

	(my_vcdiff_windoweater): show every kind of window action.  

2000-10-17 12:57   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.32):

	(do_apply_textdelta): doh, got the source and target streams
	reversed in call   to svn_txdelta().  Interesting results... :) 

2000-10-17 12:51   Karl Fogel <>

	* subversion/tests/svn_test_editor.c (1.4):

	Fix indentation in the test editor, by always storing an absolute 
	indent level in each baton: 
	(edit_baton): don't store indentation.  
	(indent_amount): new static const int.  
	(dir_baton, file_baton): do store indentation.  
	(inc_spaces, dec_spaces): removed.  
	(everyone): prefix print statements with the appropriate
	indentation.  Even postfix textdeltas and their matching close_files
	have indent levels, relative to their open_files.  

2000-10-17 12:43   Karl Fogel <>

	* subversion/tests/: libsvn_wc/ (1.15),
	libsvn_wc/ (1.6), libsvn_wc/ (1.9,
	milestone-1), xml/co1-inline.xml (1.3, milestone-1),
	xml/co1-postfix.xml (1.3, milestone-1):

	Use real base64-encoded vcdiff data in the shared xml test data.  
	Removed the non-shared test data in libsvn_wc (everyone's test data 
	should live in the shared area).  Change test script to match.  
	Restored commented-out tests in client/tests/  

2000-10-17 12:32   Ben Collins-Sussman <>

	* subversion/libsvn_wc/questions.c (1.20):

	(timestamps_equal_p): rearrange error-check logic; if we can't stat 
	one or both files, assume timestamps are different.  
	(filesizes_definitely_different_p): renamed from filesizes_equal_p.  
	This question more accurately describes why we're running the test.
	:) Again, if we can't stat one or both files, return `different =
	(svn_wc__file_modified_p): clean up logic, using routines above.  

2000-10-17 12:31   Karl Fogel <>

	* AUTHORS (1.6, milestone-1):

	Added bkorb, fitz, lefty, mab.  

2000-10-17 12:02   Karl Fogel <>

	* IDEAS (1.1):

	[sorry, accidentally checked in STACK with this log message a moment
	New file.  
	Initialize with John Cavanaugh's idea for ftp-like shell mode for

2000-10-17 12:02   Karl Fogel <>

	* STACK (1.8):

	New file.  
	Initialize with John Cavanaugh's idea for ftp-like shell mode for

2000-10-17 11:17   Ben Collins-Sussman <>

	* subversion/tests/svn_test_editor.c (1.3):

	Fill out edit_baton properly.  

2000-10-17 11:12   Jim Blandy <>

	* subversion/: include/svn_fs.h (1.22, milestone-1),
	libsvn_fs/txn.c (1.3):

	* include/libsvn_fs.h: Doc fix.  
	* libsvn_fs/txn.c (svn_fs_begin_txn): Remove PARENT_POOL argument.  
	* include/libsvn_fs.h (svn_fs_begin_txn): Update declaration.  
	* libsvn_fs/txn.c (put_transaction_skel): New function.  
	(create_txn_body): Use it.  
	* libsvn_fs/txn.c (svn_fs_begin_txn): Call svn_fs__check_fs before 
	doing anything else.  

2000-10-17 10:56   Karl Fogel <>

	* subversion/libsvn_wc/questions.c (1.19):

	(timestamps_equal_p): get rid of unused variable entry_time.  

2000-10-17 10:07   Ben Collins-Sussman <>

	* subversion/: libsvn_wc/adm_crawler.c (1.31),
	tests/libsvn_wc/commit-test.c (1.8):

	* adm_crawler.c (pop_stack): think-o, don't forget to set next ptr
	to NULL.  This fixes do_dir_replaces().  
	* commit-test.c:  as Greg S. suggests, exit(1).  

2000-10-16 19:57   Karl Fogel <>

	* subversion/libsvn_wc/: entries.c (1.51), wc.h (1.66):

	(BRAVE_NEW_INTERFACE): removed this conditional and all the code
	that wasn't in it.  The brave new interface is working now.  
	(svn_wc__entry_set, svn_wc__entry_merge, svn_wc__entry_get, 
	svn_wc__entry_get_ancestry, get_entry_attributes, write_entry, 
	handle_end_tag, do_parse, do_entry): gone.  

2000-10-16 19:52   Karl Fogel <>

	* subversion/libsvn_wc/: adm_ops.c (1.21), get_editor.c (1.97):

	(delete, svn_wc_delete_file, svn_wc_add_file): pass flag correctly.  

2000-10-16 19:31   Karl Fogel <>

	* subversion/libsvn_wc/entries.c (1.50):

	(take_from_entry): subdir entries don't record a version number.  
	(alloc_entry): new func.  
	(handle_start_tag, stuff_entry_v): use alloc_entry.  

2000-10-16 19:16   Karl Fogel <>

	* subversion/libsvn_client/delete.c (1.3, milestone-1):


2000-10-16 19:10   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.96):

	doc fix 

2000-10-16 18:18   Karl Fogel <>

	* subversion/libsvn_wc/get_editor.c (1.95):

	(read_from_file): APR_EOF is legit from apr_full_read.  

2000-10-16 18:16   Karl Fogel <>

	* subversion/libsvn_wc/adm_files.c (1.41):

	Removed obsolete comment.  

2000-10-16 17:57   Karl Fogel <>

	* subversion/libsvn_wc/: get_editor.c (1.94), local_changes.c

	(svn_wc__string_to_time, svn_wc__time_to_string): use dummy
	timestamps until the apr_day_snames and apr_month_snames problem is
	Also fixed a couple of argument-order brainos.  Now libsvn_wc passes 
	checkout-test again.  

2000-10-16 17:24   Ben Collins-Sussman <>

	* subversion/libsvn_wc/questions.c (1.18):

	(contents_identical_p):  remember that apr_full_read can return 
	APR_EOF and still be successful.  Only look for non-EOF errors. :) 

2000-10-16 17:22   Ben Collins-Sussman <>

	* subversion/libsvn_wc/adm_crawler.c (1.30):

	(process_subdirectory): fix silly recursion bug.  

2000-10-16 17:07   Ben Collins-Sussman <>

	* subversion/tests/libsvn_wc/commit-test.c (1.7):

	Check for errors at each point, not just at the end.  

2000-10-16 17:04   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.11):

	Bring discussion of node, node versions and ID's into sync with
	what's in svn_fs.h.  (Perhaps this copy should be deleted?) 

2000-10-16 16:56   Karl Fogel <>

	* subversion/: include/svn_wc.h (1.31), libsvn_client/commit.c
	(1.5), libsvn_wc/adm_crawler.c (1.29), libsvn_wc/adm_ops.c (1.20),
	libsvn_wc/entries.c (1.49), libsvn_wc/get_editor.c (1.93),
	libsvn_wc/log.c (1.24), libsvn_wc/questions.c (1.17),
	libsvn_wc/wc.h (1.65), tests/libsvn_wc/commit-test.c (1.6),
	tests/svn_test_editor.c (1.2):

	(svn_wc__entries_write): make close tag too.  
	(sync_entry): do timestamp and kind conditionally.  
	(stuff_entry_v): new helper func.  
	(svn_wc__entry_add): put pool arg last.  Implement using above.  
	(svn_wc__entry_merge_sync): new func, same, takes over from old 
	(add_directory, delete, free_dir_baton, svn_wc_delete_file, 
	svn_wc_add_file): use svn_wc__entry_merge_sync.  
	(timestamps_equal_p): use new entry interface.  Fold timestamp 
	resolution to avoid false negatives.  
	(svn_wc_crawl_local_mods): remove tok arg, all callers changed.  
	Various tweaks to bring error-free compilation back.  

2000-10-16 16:53   Karl Fogel <>

	* subversion/include/svn_fs.h (1.21):

	(svn_fs_begin_txn): add pool to prototype, so can compile.  Jim, I 
	didn't update the documentation, you might want to write something 
	about parent_pool.  

2000-10-16 16:51   Karl Fogel <>

	* subversion/include/svn_test.h (1.2):

	#include necessary things, wrap in SVN_TEST_H.  

2000-10-16 16:47   Karl Fogel <>

	* subversion/tests/libsvn_delta/deltaparse-test.c (1.53):

	(main): use (void *) for edit_baton.  Remove `my_' prefix.  

2000-10-16 16:21   Karl Fogel <>

	* subversion/: include/svn_string.h (1.37, milestone-1),
	libsvn_subr/svn_string.c (1.4), tests/libsvn_subr/stringtest.c
	(1.3, milestone-1):

	(svn_string_createf, svn_string_createv): new functions.  
	(test12): test for above.  
	Also, make all svn_string interface documentation be in
	svn_string.h, reformatted and checked for consistency.  

2000-10-16 16:05   Jim Blandy <>

	* subversion/include/svn_fs.h (1.20):

	* include/svn_fs.h (svn_fs_commit_txn): If the commit fails, the 
	transaction still exists, until you abort it.  You could change
	things and try committing again.  
	* include/svn_fs.h (svn_fs_begin_txn): Remove POOL argument.  
	(svn_fs_txn_subpool): Delete function.  
	(svn_fs_close_txn, svn_fs_cleanup_txn, svn_fs_kill_cleanup_txn, 
	svn_fs_run_cleanup_txn): New functions.  

2000-10-16 15:05   Jim Blandy <>

	* subversion/libsvn_fs/file.c (1.2, milestone-1):

	libsvn_fs/file.c (read_string_fn): Remove baton cast.  
	(svn_fs_file_contents): Same.  

2000-10-16 15:05   Ben Collins-Sussman <>

	* subversion/: include/svn_test.h (1.1), tests/ (1.6,
	milestone-1), tests/README (1.5, post-edit-baton-removal,
	pre-edit-baton-removal, milestone-1), tests/TEST-FRAMEWORK (1.1,
	post-edit-baton-removal, pre-edit-baton-removal, milestone-1),
	tests/svn_test_editor.c (1.1), tests/libsvn_delta/
	(1.11, milestone-1), tests/libsvn_delta/deltaparse-test.c (1.52),
	tests/libsvn_wc/ (1.11, milestone-1),
	tests/libsvn_wc/commit-test.c (1.5):

	* README:  describe everything in the tests-common/ subdir.  
	* TEST-FRAMEWORK:  what *used* to be README in tests-common/.  Gee,
	  it sure would be nice if our version control system knew about that 
	  ancestry.  :) 
	* svn_test_editor.c, svn_test.h: implementation of a `dummy' editor 
	  whose callbacks print to stdout.  This was being used in at least 
	  two test programs, so now we've factorized it into a new library.  
	  Anyone who needs a dummy editor... there it is.  
	* deltaparse-test.c, commit-test.c:  factorize to use the dummy 
	  editor.  Greatly shortened.  
	* (s): make the two test programs above depend on the

2000-10-16 13:25   Karl Fogel <>

	* subversion/libsvn_wc/: entries.c (1.48), wc.h (1.64):

	(handle_start_tag): always pass a len when hashing the entry name, 
	it's not worth special-casing for dir's own name twice.  
	(take_from_entry): finish.  
	(resolve_to_defaults): new, more descriptive name for
	(sync_entry): return void, all callers changed.  
	(read_entries): make static.  Doc fixes.  
	(svn_wc__entries_write, svn_wc__entry_add): code flow improvements.  
	(svn_wc__entry_remove): return void.  Finish.  

2000-10-16 12:47   Karl Fogel <>

	* subversion/libsvn_wc/: entries.c (1.47), get_editor.c (1.92),
	local_changes.c (1.11), log.c (1.23):

	Remove unnecessary casts, as per recent discussion on the list.  
	(Except, don't do so in adm_crawler.c, since Ben's got lots of 
	uncommitted changes there right now.) 
	Also, a few minor formatting/doc tweaks.  

2000-10-16 10:57   Karl Fogel <>

	* subversion/libsvn_fs/txn.c (1.2):

	#include <string.h>, for memset.  

2000-10-16 10:05   Ben Collins-Sussman <>

	* subversion/tests/libsvn_wc/commit-test.c (1.4):

	Don't forget to close the edit.  

2000-10-16 08:23   Greg Stein <>

	* (1.38, milestone-1):

	* for Subversion users, the default *is* to configure the subdirs.
	  now that we're close to a user-release, make it so.  
	  (developers: you may want to learn the --disable-subdir-config
	* add a comment to the output stream that libtool configuration is

2000-10-16 08:13   Greg Stein <>

	* subversion/: libsvn_fs/proplist.c (1.4, milestone-1),
	libsvn_subr/xml.c (1.28), libsvn_wc/adm_crawler.c (1.28),
	libsvn_wc/entries.c (1.46), libsvn_wc/questions.c (1.16):

	tweak the calls to apr_hash_get and apr_hash_set to use
	APR_HASH_KEY_STRING where appropriate. simplify a call in

2000-10-15 22:51   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.10):

	Expand on how changes proceed within a transaction.  You only need
	to `bubble up' once.  

2000-10-15 21:51   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.9, milestone-1):

	Is that a pontoon in your pocket, or are you just happy to see me? 

2000-10-14 17:41   Joe Orton <>

	* (1.37):

	Remove references to old libsvn_string.  

2000-10-14 16:05   Greg Hudson <>

	* subversion/: libsvn_client/ (1.7),
	libsvn_wc/ (1.21) (utags: milestone-1):

	So, putting relative paths to .la files in *_la_LIBADD to signal
	shared library dependencies doesn't work; it just breaks our shared
	library build.  I'm not sure what the right way is;
	"-L../libsvn_foo/.libs -lsvn_foo" seems to work but doesn't seem
	very clean to me.  So I removed those definitions entirely; we
	didn't have one in libsvn_delta so it can't be too bad.  This change
	gets the shared library build going again, although without 
	dependency information.  

2000-10-14 15:58   Greg Hudson <>

	* subversion/tests/libsvn_subr/ (1.10, milestone-1):

	Need expat for test programs now that we have XML stuff in 

2000-10-14 11:47   Jim Blandy <>

	* subversion/libsvn_fs/: TODO (1.7), TODO (1.8):

	[no log message] 

2000-10-14 11:46   Jim Blandy <>

	* subversion/libsvn_fs/dir.c (1.5, milestone-1):

	libsvn_fs/dir.c (svn_fs_open_node): Be sure to close any nodes we've 
	opened in the process of descending the tree, even when we return an 

2000-10-14 01:27   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.6):

	[no log message] 

2000-10-14 01:11   Jim Blandy <>

	* subversion/libsvn_fs/: (1.7, milestone-1), dbt.c
	(1.6, milestone-1), dbt.h (1.5, milestone-1), fs.c (1.17,
	milestone-1), fs.h (1.8, milestone-1), structure (1.9), txn.c
	(1.1), txn.h (1.1, milestone-1):

	Get started with transaction implementation.  
	* libsvn_fs/txn.h, libsvn_fs/txn.c: New files.  
	* libsvn_fs/fs.h (struct svn_fs_t): New members `transactions' and
	`open_txns'.  (struct svn_fs_txn_t): New struct definition.  (struct
	svn_fs_node_t): New member `txn'.  
	* libsvn_fs/fs.c: #include "txn.h".  
	(svn_fs_new): Initialize the filesystem object's `open_txns' table.  
	(cleanup_fs): Close the `transactions' table.  
	(svn_fs_create_berkeley): Create the `transactions' table.  
	(svn_fs_open_berkeley): Open the `transactions' table.  
	* libsvn_fs/ (libsvn_fs_la_SOURCES): Add txn.c.  
	* libsvn_fs/structure: Keep current.  
	* libsvn_fs/dbt.c (svn_fs__compare_dbt): Make the DBT's const.  
	* libsvn_fs/dbt.h (svn_fs__compare_dbt): Fix declaration.  

2000-10-13 18:40   Jim Blandy <>

	* subversion/libsvn_fs/: dbt.c (1.5), dbt.h (1.4), node.c (1.7,

	* libsvn_fs/dbt.c (svn_fs__compare_dbt): New function.  
	* libsvn_fs/dbt.h (svn_fs__compare_dbt): New declaration.  
	* libsvn_fs/node.c (compare_nodes_keys): Use svn_fs__compare_dbt.  
	(compare_bytewise): Delete function.  

2000-10-13 18:25   Jim Blandy <>

	* subversion/libsvn_fs/fs.c (1.16):

	libsvn_fs/fs.c (cleanup_fs): Close databases before checkpointing.  

2000-10-13 18:24   Jim Blandy <>

	* subversion/libsvn_fs/: err.c (1.9, milestone-1), err.h (1.6,
	milestone-1), fs.c (1.15), node.c (1.6), version.c (1.5,

	* libsvn_fs/err.h (DB_WRAP): Renamed from DB_ERR.  By symmetry with 
	SVN_ERR, something named DB_ERR should check a Berkeley DB error
	value and return it.  I think I may actually want something like
	that soon...  
	(svn_fs__wrap_db): Renamed from svn_fs__check_db.  
	* libsvn_fs/err.c (svn_fs__wrap_db): Renamed from svn_fs__check_db.  
	* libsvn_fs/fs.c, libsvn_fs/node.c, libsvn_fs/version.c: Change uses 
	of DB_ERR to DB_WRAP, and reindent.  

2000-10-13 18:12   Jim Blandy <>

	* subversion/libsvn_fs/dbt.h (1.3):

	Doc fix.  

2000-10-13 18:12   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.5):

	[no log message] 

2000-10-13 17:37   Jim Blandy <>

	* subversion/include/svn_error.h (1.46):

	(SVN_ERR): Use a stranger name for the temporary variable.  I 
	accidentally used `svn_err' as a real variable, and then (after some 
	manual cleanup) tried to say `SVN_ERR (svn_err)', which didn't do
	what I meant.  ("Shoulda written it in Scheme...") 

2000-10-13 17:03   Karl Fogel <>

	* subversion/libsvn_wc/: entries.c (1.45), wc.h (1.63):

	Implementation of the new entries interface: 
	(read_entries, check_defaults, take_from_entry, sync_entry): new 
	helper funcs.  
	(svn_wc__entries_read, svn_wc__entries_write, svn_wc__entry_add, 
	svn_wc__entry_remove): implement, for the new entries interface.  
	(svn_wc__entry_t): tweaks.  
	(SVN_WC__ENTRIES_THIS_DIR): empty string now.  
	Needs testing.  

2000-10-13 16:02   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.4):

	Long-term repository readability strategy.  

2000-10-13 15:01   Karl Fogel <>

	* subversion/include/svn_error.h (1.45):

	(SVN_ERR_WC_ENTRY_MISSING_VERSION): new error code.  

2000-10-13 14:48   Greg Hudson <>

	* subversion/: include/svn_base64.h (1.2), libsvn_subr/base64.c
	(1.4) (utags: milestone-1):

	Greg Stein suggested he might want to base64-encode property values.
	The write filter interfaces would be rather inconvenient for that,
	so reorganize the code and add some string interfaces which assume
	you have all the data at once but don't force you to go through
	callback hell.  
	(svn_base64_encode_string, svn_base64_decode_string): New, simpler 
	* base64.c (encode_bytes, encode_partial_group, decode_bytes): New
	helper functions to factor out encoding and decoding of byte

2000-10-13 14:09   Karl Fogel <>

	* subversion/include/svn_error.h (1.44):

	(SVN_ERR_UNKNOWN_NODE_KIND): new error.  

2000-10-13 14:05   Karl Fogel <>

	* subversion/include/svn_types.h (1.44):

	(svn_node_t): new kind svn_invalid_kind in svn_node_kind.  

2000-10-13 13:50   Jim Blandy <>

	* ac-helpers/berkeley-db.m4 (1.4, milestone-1):

	Help Subversion find Berkeley DB 3.1.14 on FreeBSD.  

2000-10-13 12:44   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.62):

	(svn_wc__entry_t): merged redundant fields path and ancestor_path
	into one new field, `ancestor'.  

2000-10-13 12:39   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.61):

	(SVN_WC__ENTRIES_THIS_DIR): doc fix.  

2000-10-13 12:32   Ben Collins-Sussman <>

	* subversion/libsvn_wc/wc.h (1.60):

	Added #define, because apr won't let us store NULL as a hash key

2000-10-13 09:58   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.59):

	Cleanly separate new entries interface from old via pivot
	conditional.  (Slight tweaks to new interface, just before starting
	to implement.) 

2000-10-12 20:34   Greg Hudson <>

	* subversion/libsvn_delta/vdelta.c (1.4, milestone-1):

	Increase window size to 100K, which seems to increase performance 
	dramatically on some real-life inputs (gcc-2.95.1.tar and 
	gcc-2.95.2.tar, for instance) without adding greatly to runtime.  

2000-10-12 18:32   Greg Hudson <>

	* subversion/libsvn_subr/svn_string.c (1.3):

	(svn_string_ensure): Don't reallocate when not necessary.  

2000-10-12 16:24   Karl Fogel <>

	* subversion/libsvn_wc/wc.h (1.58):

	(BRAVE_NEW_INTERFACE): new #define while entries interface is being 

2000-10-12 16:21   Joe Orton <>

	* subversion/: include/svn_string.h (1.36), libsvn_delta/svndiff.c
	(1.7, milestone-1), libsvn_delta/text_delta.c (1.18),
	libsvn_delta/xml_parse.c (1.125), libsvn_fs/id.c (1.4,
	milestone-1), libsvn_fs/skel.c (1.5, milestone-1),
	libsvn_subr/base64.c (1.3), libsvn_subr/path.c (1.14),
	libsvn_subr/svn_parse.c (1.40, milestone-1),
	libsvn_subr/svn_string.c (1.2), libsvn_subr/xml.c (1.27),
	tests/libsvn_fs/skel-test.c (1.5, milestone-1),
	tests/libsvn_subr/stringtest.c (1.2):

	* include/svn_string.h: Added pool pointer to svn_string_t
	structure.  Removed 'pool' argument from svn_string_ensure,
	* libsvn_subr/svn_string.c (svn_string_ensure,
	svn_string_appendcstr, svn_string_appendbytes,
	svn_string_appendstr): Removed pool argument.  
	(svn_string_ncreate): Store pool pointer in structure.
	(svn_string_ensure): Pass the original pool to my__realloc.  
	* (everywhere): Don't pass pool in calls to svn_string_append*, and 
	svn_string_ensure accordingly.  

2000-10-12 16:18   Ben Collins-Sussman <>

	* subversion/libsvn_wc/wc.h (1.57):

	New interface prototyped, but #ifdef'd out.  

2000-10-12 12:28   Greg Hudson <>

	* subversion/tests/libsvn_delta/svndiff-test.c (1.4, milestone-1):

	Output base64-encoded deltas, so that this program can be used to 
	generate stuff suitable for inclusion in XML deltas.  

2000-10-12 12:28   Greg Hudson <>

	* subversion/tests/: libsvn_delta/ (1.9, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal, milestone-1),
	libsvn_delta/ (1.2, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal, milestone-1),
	libsvn_delta/ (1.3, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal, milestone-1),
	libsvn_wc/ (1.14), libsvn_wc/
	(1.5), libsvn_wc/ (1.2, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal, milestone-1):

	Include base64-encoded svndiffs in text-delta elements, since we use
	that now.  Such diffs can be generated using

2000-10-12 12:25   Greg Hudson <>

	* subversion/libsvn_delta/: delta.h (1.39), text_delta.c (1.17),
	xml_output.c (1.12), xml_parse.c (1.124):

	Hook up the svndiff code again, this time with base64 encoding. 
	Everything appears to work this time around.  (deltas will be
	changed to include base64-encoded svndiff data in the next commit.) 
	* delta.h (svn_xml__digger_t): Remove workaround fields 
	* xml_parse.c (do_begin_textdelta, xml_handle_end, xml_handle_data): 
	Remove workarounds, and use base64 decoding.  
	* xml_output.c: Un-revert reverted changes.  
	* text-delta.c (svn_txdelta): Reenable call to vdelta routine.  

2000-10-12 12:21   Greg Hudson <>

	* subversion/libsvn_subr/base64.c (1.2):

	(encode_group): Don't shift four bits four to the left when 
	constructing a six-bit value.  
	(svn_base64_encode, svn_base64_decode): Record proper pool in baton.  

2000-10-12 12:19   Greg Hudson <>

	* subversion/libsvn_delta/svndiff.c (1.6):

	(write_handler): Increment buffer when chewing up header bytes, or 
	we'll copy the wrong data into db->buffer.  

2000-10-12 12:11   Ben Collins-Sussman <>

	* subversion/: (1.15, milestone-1),
	libsvn_client/ (1.6), tests/libsvn_delta/
	(1.10), tests/libsvn_fs/ (1.3, milestone-1),
	libsvn_subr/ (1.9), libsvn_subr/svn_string.c (1.1),
	tests/libsvn_subr/ (1.9), tests/libsvn_subr/stringtest.c
	(1.1), tests/libsvn_wc/ (1.10):

	Merge libsvn_string into libsvn_subr.  

2000-10-12 11:20   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.8):

	Describe how transactions are implemented.  

2000-10-11 19:42   Jim Blandy <>

	* subversion/libsvn_fs/fs.c (1.14):

	libsvn_fs/fs.c (cleanup_fs): Repeat call to txn_checkpoint if it 
	returns DB_INCOMPLETE.  

2000-10-11 16:07   Ben Collins-Sussman <>

	* subversion/tests/xml/: up1a-inline.xml (1.3), up1a-postfix.xml
	(1.3), up1b-postfix.xml (1.4) (utags: milestone-1, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal):

	Fix typos in standard xml test deltas 

2000-10-11 14:59   Greg Hudson <>

	* subversion/libsvn_delta/: delta.h (1.38), text_delta.c (1.16),
	xml_output.c (1.11), xml_parse.c (1.123):

	So, it turns out we can't embed svndiff data in XML without
	base64-encoding it first, and that will take a little time.  In the
	meantime, make the world safe for testing with the following
	workarounds and fixes: 
	* text_delta.c (svn_txdelta): Once again disable the call to 
	svn_txdelta__vdelta and create a fake window instead.  
	* xml_output.c: Revert rev 1.9 which used the svndiff routines. 
	Also fix two bugs which slipped into rev 1.7: 
	(apply_textdelta): Initialize str to NULL before calling tag
	(get_to_elem): Handle file -> file_prop_delta transition.  
	* delta.h, xml_parse.c: We can't do a simple reversion because I
	removed the svn_vcdiff_parser stubs.  Instead, cons up fake delta
	windows on our own.  

2000-10-11 14:23   Greg Hudson <>

	* subversion/libsvn_delta/xml_output.c (1.10):

	(output_addreplace): Call the correct svn_xml_make_open_tag function 
	for innertag.  

2000-10-11 14:19   Greg Hudson <>

	* subversion/: include/svn_base64.h (1.1), libsvn_subr/
	(1.8), libsvn_subr/base64.c (1.1):

	Add a base64 encoder and decoder.  This code compiles fine; it is
	not known to work yet.  (And there is some reason to expect that it
	does not.) Nothing uses it yet.  
	(svn_base64_encode, svn_base64_decode): New functions to do base64
	encoding and decoding, using an svn_write_fn_t pipeline approach.  

2000-10-11 13:19   Jim Blandy <>

	* subversion/tests/libsvn_fs/skel-test.c (1.4,

	* libsvn_fs/tests/skel-test.c (skel_is_digit): Dyke out, to silence 
	`unused function' warnings.  

2000-10-11 13:18   Jim Blandy <>

	* subversion/libsvn_fs/: dbt.c (1.4), dbt.h (1.2), dir.c (1.4),
	fs.c (1.13), id.c (1.3), id.h (1.2, milestone-1), node.c (1.5),
	node.h (1.3, milestone-1), skel.c (1.4), version.c (1.4), version.h
	(1.2, milestone-1) (utags: jimb_pre_transaction):

	Move table opening / creation code into the modules that actually
	work with those tables.  
	* libsvn_fs/fs.c (create_table, open_table): Deleted.  
	(svn_fs_create_berkeley): Call svn_fs__create_versions and 
	svn_fs__create_nodes, instead of building these tables ourselves.  
	(svn_fs_open_berkeley): Call svn_fs__ope_versions and 
	svn_fs__open_nodes, instead of opening these tables ourselves.  
	* libsvn_fs/node.h (svn_fs__create_nodes, svn_fs__open_nodes):
	* libsvn_fs/node.c (put_representation_skel, make_nodes, 
	svn_fs__create_nodes, svn_fs__open_nodes): New functions.  
	* libsvn_fs/version.h (svn_fs__create_versions,
	svn_fs__open_versions): Declare.  
	* libsvn_fs/version.c (put_version_skel): New function.  
	(make_versions, svn_fs__create_versions, svn_fs__open_versions): New 
	(get_version_skel): Adapt to the fact that `versions' is now a
	`recno' table, indexed by record number, not a `btree', indexed by
	Sort the `nodes' table in a nice order for our access patterns.  
	* libsvn_fs/node.c (compare_bytewise, compare_ids,
	compare_nodes_keys): New functions.  
	(make_nodes): Set `compare_nodes_keys' as the comparison function
	for the `nodes' table.  
	* libsvn_fs/id.c (svn_fs__parse_id): Extend to parse ID's as they 
	appear as keys in the `nodes' table --- with the `.head' suffix.  
	* libsvn_fs/id.h (svn_fs__parse_id): Updated interface.  
	(svn_fs__key_id): New flag.  
	* libsvn_fs/dir.c (build_entries): Pass zero for FLAGS to 
	* libsvn_fs/version.c (svn_fs__version_root): Same.  
	* libsvn_fs/fs.c (cleanup_fs): Checkpoint the database before
	* libsvn_fs/skel.c (unparse): If we can't convert the length to
	ASCII in the buffer provided, then just abort.  We don't want to
	make all our users check for errors (which they weren't), just on
	the off chance that someday apr_size_t will be seven hundred bits
	* libsvn_fs/dbt.c (svn_fs__set_dbt): Change `data' argument to a 
	pointer to void, since that's what the DBT's `data' member is.  
	* libsvn_fs/dbt.c (svn_fs__set_dbt): Adjust declaration.  

2000-10-11 13:05   Jim Blandy <>

	* subversion/libsvn_fs/structure (1.7, jimb_pre_transaction):

	[no log message] 

2000-10-11 12:52   Jim Blandy <>

	* subversion/libsvn_fs/TODO (1.3, jimb_pre_transaction):

	[no log message] 

2000-10-11 12:51   Jim Blandy <>

	* subversion/include/svn_fs.h (1.19):

	* include/svn_fs.h (svn_fs_file_delta): Document the fact that if 
	SOURCE_FILE is zero, we treat it as the empty file.  

2000-10-10 20:19   Greg Hudson <>

	* subversion/libsvn_delta/svndiff.c (1.5):

	(write_handler): nheader should be at most *len, not at least *len.  

2000-10-10 17:17   Daniel Stenberg <>

	* www/: project_license.html (1.1, milestone-2), project_nav.html
	(1.2) (utags: milestone-1, post-edit-baton-removal,

	Added the "project license" web page PR: Obtained from: Submitted
	by: Reviewed by: 

2000-10-10 15:33   Joe Orton <>

	* subversion/tests/libsvn_wc/checkout-test.c (1.30, milestone-1):

	* checkout-test.c (main): Exit with an error if apply_delta fails.  

2000-10-10 15:03   Joe Orton <>

	* subversion/: include/svn_error.h (1.43), libsvn_ra_dav/session.c

	* svn_error.h: Move RA-specific errors into SVN_ERR_RA_ namespace.  
	* session.c: Altered accordingly.  

2000-10-10 14:18   Joe Orton <>

	* subversion/tests/libsvn_wc/.cvsignore (1.5, milestone-1):

	Add commit-test.  

2000-10-10 13:55   Greg Hudson <>

	* notes/svndiff (1.3, milestone-2, post-edit-baton-removal,
	pre-edit-baton-removal, milestone-1):

	Not only did I typo the header text in the example, I typo'd the 
	binary.  Fix.  

2000-10-10 11:09   Jim Blandy <>

	* subversion/libsvn_wc/get_editor.c (1.91):

	* libsvn_wc/get_editor.c (add_or_replace_file): Everyone finds the 
	error-handling logic confusing here.  Relax it a bit, for
	readability.  (I hope this is actually correct...) 

2000-10-10 07:59   Greg Stein <>

	* subversion/: libsvn_fs/delta.c (1.14), libsvn_repos/delta.c
	(1.14), tests/libsvn_fs/ (1.2) (utags:

	* delta.c 
	  (svn_fs_file_delta): remove SVN_ERR() macro from the svn_txdelta 
	                       call. svn_txdelta is now a void function.  
	  (delta_files): compile fix: renamed stream variable to
	* add libsvn_subr to pick up the svn_pool_create needed
	  for libsvn_tests_main 

2000-10-10 07:43   Greg Stein <>

	* (1.23, milestone-1):

	The automake line generates from However, is also dependent upon aclocal.m4 which was being
	generated *after* the Thus, the first thing a "make"
	would do is regenerate the  
	Moving the automake pass *after* the aclocal.m4 regeneration should
	avoid this senseless rebuild.  

2000-10-10 07:28   Greg Stein <>

	* ac-helpers/svn-macros.m4 (1.3, milestone-2,
	post-edit-baton-removal, pre-edit-baton-removal, milestone-1):

	previous attempt at eliminating no-recursion and no-create was
	bogus.  one more try using the standard ac_configure_args variable 

2000-10-10 07:27   Greg Stein <>

	* ac-helpers/berkeley-db.m4 (1.3):

	add the default install location for the DB distro to our search

2000-10-10 06:36   Greg Stein <>

	* notes/svndiff (1.2):


2000-10-10 06:34   Greg Stein <>

	* subversion/mod_dav_svn/: dav_svn.h (1.4), mod_dav_svn.c (1.7),
	repos.c (1.6):

	* dav_svn.h: document "special URI" concept 
	  add declaration of dav_svn_get_special_uri() 
	* mod_dav_svn.c: add special URI concept: a new command
	  (SVNSpecialURI), a new command handling function, config record
	  merging, and an accessor function (with a default).  
	* repos.c: resolve the type of the resource based on the URI. add
	  some framework for futher resolution/parsing of the URI in a
	  type-specific manner.  

2000-10-10 06:30   Greg Stein <>

	* subversion/mod_dav_svn/liveprops.c (1.3, milestone-1):

	don't duplicate mod_dav_fs's property set. we don't define our own
	for right now, but at least change the URL to act as a guide in the

2000-10-10 06:29   Greg Stein <>

	* ac-helpers/svn-macros.m4 (1.2):

	some of the automake magic rules would include these switches when 
	re-running configure. They would then (erroneously) show up in the 
	config.nice file... bad juju.  
	Assume the user will never use them and just elide them.  

2000-10-10 06:27   Greg Stein <>

	* (1.22):

	Try and preserve the timestamp on aclocal.m4 to prevent excessive
	churning from the top-level Makefile.  
	[ Every time was run, it would smack that timestamp,
	  which caused the top-level Makefile to rebuild,
	  Makefile, and configure. It would then run ./configure(!)  ] 

2000-10-10 05:52   Greg Stein <>

	* (1.21):

	update the required version of Neon 

2000-10-10 04:10   Greg Stein <>

	* subversion/mod_dav_svn/repos.c (1.5):

	*) (dav_svn_get_resource): initial work on parsing the incoming URI
	   into useful values.  
	*) (dav_svn_open_stream, dav_svn_read_stream): do some fake stream
	   stuff to return some content 
	*) (dav_svn_set_headers): this erroneously used some standard
	   functions for setting Last-Modified and Etag which are based on
	   filesystem stuff. That isn't true for us, so #if out the
	Last-Modified and use our ETag 

2000-10-10 03:30   Greg Hudson <>

	* subversion/tests/libsvn_delta/svndiff-test.c (1.3):

	Produce svndiff output.  This should give people a way to create
	some svndiff output to stuff into the test XML deltas.  

2000-10-10 03:23   Greg Hudson <>

	* notes/svndiff (1.1):

	Document the svndiff format as clearly as I can at the moment.  

2000-10-10 02:41   Greg Hudson <>

	* subversion/include/svn_delta.h (1.117, milestone-1):

	Note new requirement on the use of the svn_txdelta_new operation. 
	If this requirement ever becomes onerous, it can be relaxed with
	some simple mods to svndiff.c's window_handler, but it seemed silly
	to make that function go to extra work when text delta producers
	conform to this requirement already.  

2000-10-10 02:27   Greg Hudson <>

	* subversion/: include/svn_delta.h (1.116),
	libsvn_delta/ (1.13, milestone-1), libsvn_delta/delta.h
	(1.37), libsvn_delta/svndiff.c (1.4), libsvn_delta/text_delta.c
	(1.15), libsvn_delta/vcdiff_parse.c (1.19),
	libsvn_delta/xml_output.c (1.9), libsvn_delta/xml_parse.c (1.122),
	libsvn_wc/adm_crawler.c (1.27), libsvn_wc/get_editor.c (1.90),
	tests/libsvn_delta/random-test.c (1.9, milestone-1),
	tests/libsvn_delta/svndiff-test.c (1.2):

	Hook up svndiff generator/parser.  Make a few adjustments along the 
	way.  I think all the relevant code works but the testing deltas
	need to contain real svndiff data now.  Hopefully this will settle
	out before the new Milestone 1 target.  
	(svn_txdelta, svn_txdelta_apply, svn_txdelta_to_svndiff, 
	svn_txdelta_parse_svndiff): These functions cannot fail; don't
	return an error.  Call sites changed.  
	(svn_vcdiff_parser_t, svn_make_vcdiff_parser, svn_vcdiff_parse, 
	svn_vcdiff__send_window, svn_vcdiff__send_terminal_window): Garbage 
	collect stub vcdiff parsing functions.  
	(svn_txdelta): Turn the call to vdelta back on so we get optimized 
	text delta windows instead of faked up ones.  
	* delta.h (svn_xml__digger_t): Switch over fields for svndiff 
	* xml_parse.c (do_close_file, do_begin_textdelta, xml_handle_end, 
	xml_handle_data, svn_delta_make_parser): Use svndiff interfaces.  
	* xml_output.c (output_svndiff_data, apply_delta): Use svndiff 
	* svndiff.c (svn_txdelta_to_svndiff, window_handler): Don't write 
	header until we get the first call to window_handler.  The caller
	may not be ready to write at svn_txdelta_to_svndiff time.  

2000-10-10 00:13   Greg Stein <>

	* (1.36):

	tell Neon that we will be using a libtool version of libexpat.  

2000-10-09 22:56   Greg Hudson <>

	* subversion/libsvn_delta/: delta.h (1.36), text_delta.c (1.14),
	vdelta.c (1.3):

	I noticed a few issues with our vdelta generator: (1) if the source
	or target of a copy straddled the boundary, we didn't really take
	that into account when comparing to other possible copies, and (2) I
	don't think we were always picking the longest extension when trying
	to improve the current match.  I reorganized and simplified the code
	a bit to eliminate these problems, and made a few changes to the
	surrounding interfaces in the process.  These fixes have only
	marginal impact on performance, unfortunately; we are performing
	about a factor of 35 worse than what Phong Vo gets with his
	(svn_txdelta__init_window): Removed.  
	(svn_txdelta_make_window): New function, returns window (can't
	fail), takes pool argument intead of stream argument.  Callers
	(svn_txdelta__insert_op, svn_txdelta__vdelta): These functions can't
	fail; return void.  Callers changed.  
	* vdelta.c (vdelta): New function, lives under svn_txdelta__vdelta, 
	performs core algorithm.  svn_txdelta__vdelta runs it twice, once on
	the source region and once on the target region.  Also simplified
	and fixed up a bit from the old code.  

2000-10-09 22:34   Greg Hudson <>

	* subversion/libsvn_delta/svndiff.c (1.3):

	(window_handler, decode_instruction, write_handler): Encode the
	length in a simpler and, based on testing, marginally more efficient
	format.  If the length is 63 or less, stuff it in the lower six
	bytes; otherwise encode it in the next bytes.  Also, don't encode an
	offset for insertions from the new text; make that implicit based on
	the length and previous insertions.  
	(encode_int, decode_int): Remove bits_in_first_byte parameter.  
	Callers changed.  
	(window_compare): Was only here by accident, remove.  

2000-10-09 19:28   Greg Stein <>

	* subversion/: include/svn_error.h (1.42), libsvn_delta/svndiff.c
	(1.2), libsvn_delta/text_delta.c (1.13),
	libsvn_delta/vcdiff_parse.c (1.18), libsvn_delta/xml_output.c
	(1.8), libsvn_delta/xml_parse.c (1.121), libsvn_fs/dir.c (1.3),
	libsvn_fs/err.c (1.8, jimb_pre_transaction), libsvn_fs/err.h (1.5,
	jimb_pre_transaction), libsvn_fs/fs.c (1.12), libsvn_fs/node.c
	(1.4), libsvn_fs/version.c (1.3),
	tests/libsvn_delta/deltaparse-test.c (1.51),
	tests/libsvn_delta/random-test.c (1.8),
	tests/libsvn_delta/xml-output-test.c (1.4, milestone-1),
	libsvn_subr/svn_error.c (1.40), libsvn_subr/svn_parse.c (1.39),
	libsvn_subr/xml.c (1.26), tests/libsvn_subr/ (1.8),
	libsvn_wc/get_editor.c (1.89), tests/ (1.5),
	tests/svn_tests_main.c (1.11, milestone-1),
	tests/libsvn_wc/checkout-test.c (1.29),
	tests/libsvn_wc/commit-test.c (1.3):

	* svn_error.[ch]: (svn_pool_create) remove the abort function
	  parameter and always use a function that calls abort(). If we ever
	  need/want different behavior, then we can handle that case
	  separately.  [ updated all callers ] 
	  (abort_on_pool_failure): renamed from default_abort.  
	  (svn_handle_error): changed call from default_abort(1) to a simple
	* fs/err.[ch]: (svn_fs__pool_abort) removed 
	* svn_tests_main: (main) use svn_pool_create() to get the correct
	  abort and error pool behavior.  
	* .../ add into some link lines. adjust
	  the order of some to get the linking correct. This was due to the
	  (introduced) dependency of svn_tests_main on

2000-10-09 16:58   Jim Blandy <>

	* subversion/libsvn_fs/fs.c (1.11):

	Doc fix.  

2000-10-09 16:38   Jim Blandy <>

	* subversion/: libsvn_fs/delta.c (1.13), libsvn_repos/delta.c

	* libsvn_fs/delta.c (svn_fs_file_delta): Implement.  
	(send_text_delta): Take an svn_txdelta_stream_t as an argument, 
	instead of taking two read functions and computing the delta
	(delta_files, file_from_scratch): Call svn_fs_file_delta, and pass
	the delta to send_text_delta.  

2000-10-09 15:20   Jim Blandy <>

	* subversion/libsvn_fs/dbt.c (1.3):

	subversion/libsvn_fs/dbt.c (svn_fs__track_dbt): Pass
	apr_null_cleanup as the exec cleanup function, not zero.  

2000-10-09 11:32   Jim Blandy <>

	* subversion/: include/svn_fs.h (1.18), libsvn_fs/delta.c (1.12),
	libsvn_fs/fs.c (1.10), libsvn_fs/node.c (1.3), libsvn_repos/delta.c

	Don't encourage baroque usage of pools.  
	* include/svn_fs.h (svn_fs_subpool, svn_fs_node_subpool): Delete
	* libsvn_fs/fs.c (svn_fs_subpool): Delete.  
	* libsvn_fs/node.c (svn_fs_node_subpool): Delete.  
	* include/svn_fs.h (svn_fs_run_cleanup_node): New function, for 
	symmetry with apr_run_cleanup.  
	* libsvn_fs/node.c (svn_fs_run_cleanup_node): Define it.  
	* libsvn_fs/delta.c (replace_from_scratch, replace_related): Use 
	svn_fs_run_cleanup_node instead of paired calls to close the node
	and remove the clean