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 <kfogel@collab.net> * www/project_status.html (1.34): Fix date. 2001-08-30 22:25 Karl Fogel <kfogel@collab.net> * www/inconveniences.html (1.3): Fix wording. 2001-08-30 22:23 Karl Fogel <kfogel@collab.net> * www/inconveniences.html (1.2): Fix formatting. 2001-08-30 22:22 Karl Fogel <kfogel@collab.net> * INSTALL (1.7), configure.in (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. * configure.in (SVN_VERSION): M3. 2001-08-30 20:39 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * HACKING (1.41): Wups, fix typo in URL. 2001-08-30 19:57 Branko Cibej <brane@xbc.nu> * subversion/libsvn_ra_dav/.cvsignore (1.3): Ignore Debug and Release subdirs. 2001-08-30 19:57 Karl Fogel <kfogel@collab.net> * 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 <brane@xbc.nu> * subversion/svnadmin/svnadmin.dsp (1.7): Link with neon. 2001-08-30 19:52 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/clients/cmdline/subversion_client.dsp (1.8): Link with neon. 2001-08-30 19:48 Branko Cibej <brane@xbc.nu> * svn_private_config.hw (1.6): Enable linking with ra_dav. 2001-08-30 19:47 Branko Cibej <brane@xbc.nu> * subversion.dsw (1.19): (subversion_client, svnadmin): Add dependency on libsvn_ra_dav. 2001-08-30 19:45 Branko Cibej <brane@xbc.nu> * HACKING (1.40): Describe how to build with neon. 2001-08-30 19:22 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/: libsvn_fs/tree.c (1.101), tests/clients/cmdline/commit_tests.py (1.17): Fix issue #469, whereby merge() was erroneously flagging conflicts. * tree.c (merge): add some new logic to make this function less restrictive. * commit_tests.py (merge_mixed_revisions): one hell of a regression test. 2001-08-30 15:33 Karl Fogel <kfogel@collab.net> * Makefile.in (1.29): (local-install): Don't depend on `install-sbin' rule, no one uses it anymore. 2001-08-30 11:14 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 DELTIFYING. (svn_fs__rep_deltify): Guard body with DELTIFYING. 2001-08-29 16:57 Karl Fogel <kfogel@collab.net> * 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 (1.2), subversion/bindings/java/jni/org/tigris/subversion/SubversionExcept ion.java (1.2), subversion/bindings/java/jni/org/tigris/subversion/lib/Client.java (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/Entry.java (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/Reporter.jav a (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/Revision.jav a (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/Status.java (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/TextdeltaHan dler.java (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/TextdeltaOp. java (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/TextdeltaWin dow.java (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/TreeDeltaEdi tor.java (1.3), subversion/bindings/java/jni/org/tigris/subversion/lib/WorkingCopy. 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/check-license.py (1.5): * tools/check-license.py: 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 <cananian@lesser-magoo.lcs.mit.edu>. 2001-08-29 16:31 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/fs.c (1.73): Patch from Sander Striker <striker@apache.org>: (cleanup_fs_db): Ignore DB_INCOMPLETE error on db->close. 2001-08-29 12:27 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.128): "Working copy locked" bug...be gone with no compiler warnings. * adm_crawler.c (do_lock): Don't try to declare a variable you won't use. That sucks. 2001-08-29 12:18 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.127): "Working copy locked" bug...be 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 <cmpilato@collab.net> * tools/random-commits.py (1.2): * random-commits.py Echo the per-commit "banner". 2001-08-29 07:33 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_delta/svndiff.c (1.31): * svndiff.c (write_handler): Um...remove debugging printfs. 2001-08-28 18:15 C. Michael Pilato <cmpilato@collab.net> * 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 <brane@xbc.nu> * subversion.dsw (1.18): * subversion.dsw (__check__): Add dependency for tests_libsvn_subr_target_test. 2001-08-28 17:06 Branko Cibej <brane@xbc.nu> * 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 <cmpilato@collab.net> * subversion/tests/clients/cmdline/schedule_tests.py (1.6): * schedule_tests.py Changed syntax from `func ()' to `func()'. (nested_adds): Changed function description. 2001-08-28 11:01 C. Michael Pilato <cmpilato@collab.net> * .cvsignore (1.11): * .cvsignore Ignore `builtin' db/ directory. 2001-08-28 09:44 Daniel Stenberg <daniel@haxx.se> * ac-helpers/gnu-diff.sh (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 <gstein@lyra.org> * configure.in (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 <gstein@lyra.org> * tools/: find-textfiles (1.1), random-commits.py (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 script. 2001-08-27 18:49 Branko Cibej <brane@xbc.nu> * .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 tree. 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 <cmpilato@collab.net> * subversion/tests/clients/cmdline/: commit_tests.py (1.16), prop_tests.py (1.8), schedule_tests.py (1.5), svnadmin_tests.py (1.5): * commit_tests.py * prop_tests.py * schedule_tests.py * svnadmin_tests.py Uh...can't use traceback without importing the traceback module. 2001-08-27 15:29 C. Michael Pilato <cmpilato@collab.net> * subversion/tests/clients/cmdline/: basic_tests.py (1.14), commit_tests.py (1.15), prop_tests.py (1.7), schedule_tests.py (1.4), svnadmin_tests.py (1.4): * basic_tests.py * commit_tests.py * prop_tests.py * schedule_tests.py * svnadmin_tests.py 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 <kfogel@collab.net> * 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 (kfogel@collab.net) have a diff that already implements most of it. 2001-08-27 14:38 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/fs.c (1.72): (create_hooks): Use a realistic example for the post-commit template. 2001-08-27 12:26 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 tests. 2001-08-27 11:10 C. Michael Pilato <cmpilato@collab.net> * subversion/tests/clients/cmdline/schedule_tests.py (1.3): Just keeping myself busy here writing tests (read: Hey, if you're wondering how *you* can contribute to Subversion, consider writing tests) * schedule_tests.py (delete_files, delete_dirs): New test functions. (test_list): Add references to new test functions. 2001-08-27 11:05 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/reps-strings.c (1.28): (svn_fs__rep_deltify): Turn off deltification. 2001-08-27 11:03 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <brane@xbc.nu> * 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 <cynic@mail.cz>: 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 <sussman@collab.net> * 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 <kfogel@collab.net> * notes/m3-checklist.txt (1.13): (svn_fs__rep_deltify): Turn off deltification. 2001-08-24 13:21 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * 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 <cmpilato@collab.net> * subversion/tests/: clients/cmdline/basic_tests.py (1.13), libsvn_fs/fs-test.c (1.103): * clients/cmdline/basic_tests.py (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 <cmpilato@collab.net> * 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 bug. * include/svn_error_codes.h (SVN_ERR_SVNDIFF_INVALID_HEADER, SVN_ERR_SVNDIFF_CORRUPT_WINDOW, SVN_ERR_SVNDIFF_BACKWARD_VIEW, SVN_ERR_SVNDIFF_INVALID_OPS, 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 codes. * 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 <sussman@collab.net> * 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 that. 2001-08-23 15:59 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_delta/svndiff.c (1.27): * svndiff.c (window_handler): Docstring spelling fix. 2001-08-23 13:45 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.98): (merge): We already have node IDs, so don't redundantly refetch them. 2001-08-23 13:38 Karl Fogel <kfogel@collab.net> * subversion/clients/cmdline/: prompt.c (1.4), trace-commit.c (1.8): 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * subversion/tests/clients/cmdline/basic_tests.py (1.12): * basic_tests.py (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 <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.125): * adm_crawler.c (svn_wc__crawl_local_mods): main logic moved in here. (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 <kfogel@collab.net> * subversion/libsvn_fs/fs.c (1.71): (svn_fs_close_fs): Oops, leave instrumenting off by default. 2001-08-21 19:51 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_delta/svndiff.c (1.26): * svndiff.c (write_handler): Fixed formatting. 2001-08-21 14:16 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * dist.sh (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 cleanup. 2001-08-21 11:12 Ben Collins-Sussman <sussman@collab.net> * subversion/mod_dav_svn/util.c (1.18): Patch from Michael Parker <parkerm@jump.net>, fixes compile: * util.c (dav_svn_simple_parse_uri): apr-util symbol name change. 2001-08-21 11:10 Ben Collins-Sussman <sussman@collab.net> * 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 <yoshiki@xemacs.org> for noticing this problem. 2001-08-20 16:55 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: basic_tests.py (1.11), commit_tests.py (1.14), prop_tests.py (1.6), schedule_tests.py (1.2), svnadmin_tests.py (1.3), svntest/actions.py (1.13), svntest/main.py (1.20), svntest/tree.py (1.10): Tweak python tests: *always* print unexpected errors, *never* print expected errors. This keeps our test output clean. * main.py (run_svn): take 'error_expected' arg, so we can control whether stderr is printed. * actions.py, tree.py, basic_tests.py, commit_tests.py, prop_tests.py, schedule_tests.py, svnadmin_tests.py: change all callers. 2001-08-20 16:23 Ben Collins-Sussman <sussman@collab.net> * subversion/clients/cmdline/trace-commit.c (1.7): This should fix issue #450. 2001-08-20 15:32 C. Michael Pilato <cmpilato@collab.net> * subversion/: clients/cmdline/feedback.c (1.6), clients/cmdline/trace-commit.c (1.6), tests/clients/cmdline/basic_tests.py (1.10), tests/clients/cmdline/commit_tests.py (1.13), tests/clients/cmdline/prop_tests.py (1.5), tests/clients/cmdline/svnadmin_tests.py (1.2), tests/clients/cmdline/svntest/tree.py (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 setting. * tests/clients/cmdline/basic_tests.py (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/tree.py (build_tree_from_commit): Update regexp to support new output from commit trace editor. * tests/clients/cmdline/svnadmin_tests.py (test_youngest, list_revs): Use "Sending" instead of "Changing" for commit output. * tests/clients/cmdline/commit_tests.py (commit_one_file, commit_inclusive_dir, commit_top_dir): Use "Sending" instead of "Changing" for commit output. * tests/clients/cmdline/prop_tests.py (commit_props, update_props, downdate_props): Use "Sending" instead of "Changing" for commit output. 2001-08-20 15:32 Karl Fogel <kfogel@collab.net> * Makefile.in (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 <cananian@lesser-magoo.lcs.mit.edu>. * Makefile.in (DOC_DIRS): New var. (mkdir-init): Make doc dirs too. (doc-clean): New rule. (local-clean): Depend on `doc-clean'. (.texi.info): Do no cleanup, now that `doc-clean' works. 2001-08-20 15:12 Karl Fogel <kfogel@collab.net> * subversion/mod_dav_svn/util.c (1.17): Follow apr_uri_ rename. Submitted by C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>, who writes: From: "C. Scott Ananian" <cananian@lesser-magoo.lcs.mit.edu> Subject: path: apache 2.0 apr_uti_components name change To: dev@subversion.tigris.org 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <joe@light.plus.com> * 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 <joe@light.plus.com> * 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 <cmpilato@collab.net> * subversion/svnlook/main.c (1.19), tools/hook-scripts/commit-email.pl (1.4): * subversion/svnlook/main.c (svnlook_cmd_t): Added svnlook_cmd_info and svnlook_cmd_tree (new subcommands). (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/commit-email.pl 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 <cmpilato@collab.net> * build.conf (1.31): * build.conf Added schedule_tests.py to the test framework. 2001-08-17 11:24 C. Michael Pilato <cmpilato@collab.net> * subversion/tests/clients/cmdline/schedule_tests.py (1.1): * subversion/tests/clients/cmdline/schedule_tests.py New file. Tests for WC scheduling stuff (add, unadd, delete, undelete). 2001-08-17 05:16 Greg Stein <gstein@lyra.org> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * INSTALL (1.6): Add note about building statically. 2001-08-16 14:45 C. Michael Pilato <cmpilato@collab.net> * autogen.sh (1.47): * autogen.sh Added some code to chmod +x scripts and such needed by autogen.sh. It sucks to check out the subversion tree and have to hack at it to build it. 2001-08-16 14:45 Karl Fogel <kfogel@collab.net> * HACKING (1.37): (Building from a working copy): Mention the autogen.sh x-bit workaround. 2001-08-16 14:34 Karl Fogel <kfogel@collab.net> * notes/m3-checklist.txt (1.12): More notes. 2001-08-16 14:27 Karl Fogel <kfogel@collab.net> * dist.sh (1.5): Make sure autogen.sh 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 print_tree(). * 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 structure). (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 <gstein@lyra.org> * subversion/libsvn_wc/props.c (1.37): Fix a typo in an error message. 2001-08-16 03:23 Greg Stein <gstein@lyra.org> * subversion/: libsvn_ra_dav/fetch.c (1.68), mod_dav_svn/update.c (1.10): Implement (fill in) the "missing WC files" functionality. The client sends svn:missing elements to the server to record the missing WC items. 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * notes/m3-checklist.txt (1.11): Turned into a short-term task list, now. 2001-08-15 21:36 Karl Fogel <kfogel@collab.net> * tools/hook-scripts/commit-email.pl (1.3): Documentation fix. 2001-08-15 21:35 Karl Fogel <kfogel@collab.net> * tools/hook-scripts/commit-email.pl (1.2): Finish remaining work; seems to be working now. 2001-08-15 21:32 Greg Stein <gstein@lyra.org> * 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 <kfogel@collab.net> * subversion/libsvn_repos/node_tree.c (1.3): #include <string.h>, for strcmp(). 2001-08-15 21:13 Karl Fogel <kfogel@collab.net> * notes/m3-checklist.txt (1.10): Bring up-to-date, getting closer... 2001-08-15 21:09 Karl Fogel <kfogel@collab.net> * subversion/tests/clients/cmdline/prop_tests.py (1.4): (downdate_props): New test, but don't run it. It doesn't actually work yet. 2001-08-15 21:05 Karl Fogel <kfogel@collab.net> * tools/hook-scripts/: README (1.1), commit-email.pl (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 <gstein@lyra.org> * 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 path. (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 param. 2001-08-15 18:06 Bill Tutt <rassilon@lyra.org> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/svnlook/main.c (1.17): * main.c (do_diff): Fix for build warning. 2001-08-15 15:16 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * dist.sh (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 <kfogel@collab.net> * dist.sh (1.3): Fix typo in comment. 2001-08-15 11:48 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_wc/questions.c (1.59): Fix issue #439; bug report and fix both submitted by Yoshiki Hayashi <yoshiki@xemacs.org>: * questions.c (timestamps_equal_p): Check for null entry. 2001-08-15 10:33 Karl Fogel <kfogel@collab.net> * dist.sh (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 <sussman@collab.net> * subversion/tests/clients/cmdline/README (1.10): Update documentation. 2001-08-15 10:02 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/svntest/main.py (1.19): More tweaks to work over ra_dav. 2001-08-15 09:49 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/svntest/: actions.py (1.12), main.py (1.18): Switch to the symlink method, for dav testing. 2001-08-15 09:39 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_wc/entries.c (1.118): * entries.c (take_from_entry): Doc fix. 2001-08-15 09:14 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * INSTALL (1.5): Tweak. 2001-08-14 19:23 Karl Fogel <kfogel@collab.net> * INSTALL (1.4), Makefile.in (1.27), dist.sh (1.1): * dist.sh: New file, builds tarball. * Makefile.in (dist): Just invoke dist.sh * INSTALL: Say only true things. 2001-08-14 17:31 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/svntest/: actions.py (1.11), main.py (1.17): Rewrite argv parsing. take "--url" arg instead. 2001-08-14 14:18 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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/basic_tests.py (1.9), tests/clients/cmdline/svntest/main.py (1.16), tests/clients/cmdline/svntest/tree.py (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 routine. * basic_tests.py (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. * tree.py (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? * main.py (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 <kfogel@collab.net> * Makefile.in (1.26): (dist): Making this work... 2001-08-14 12:46 Karl Fogel <kfogel@collab.net> * Makefile.in (1.25): (dist): Note emphemeral, fleeting nature. 2001-08-14 11:57 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/tree.c (1.95): * tree.c (merge): Oops. What, you mean I need to follow ANSI C coding conventions? 2001-08-14 11:12 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/theta.png (1.1): Temporarily adding binary file for testing. 2001-08-13 22:51 Greg Stein <gstein@lyra.org> * 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 get_key. 2001-08-13 22:44 Greg Stein <gstein@lyra.org> * 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 prefix (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 <gstein@lyra.org> * 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 stuff. 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. (SVN_RA_DAV__CUSTOM_NAMESPACE, SVN_RA_DAV__PROP_BASELINE_RELPATH): 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:" prefix 2001-08-13 22:32 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/repos.c (1.58): add missing svn_repos.h header 2001-08-13 19:54 Karl Fogel <kfogel@collab.net> * INSTALL (1.3): Document installation procedure. 2001-08-13 19:53 Karl Fogel <kfogel@collab.net> * README (1.14): Mention libsvn_repos. 2001-08-13 17:07 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * notes/m3-checklist.txt (1.9): A few more M3 things. 2001-08-13 16:53 Karl Fogel <kfogel@collab.net> * notes/m3-checklist.txt (1.8): Some more M3 stuff. 2001-08-13 15:18 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <rassilon@lyra.org> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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(), report_undeleted_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 functions. * 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 <gstein@lyra.org> * 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 baseline. * 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 sources. (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 nits. (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 ra_dav.h 2001-08-12 22:46 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kevin@pilch-bisson.net> * subversion/clients/win32/svn_com/: SVN.cpp (1.9), SVNStatus.cpp (1.2): Fix the win32 build. This fixes a Microsoft Bug, involving duplicate definitions for InlineIsEqualGUID. For more information see: http://support.microsoft.com/support/kb/articles/q243/2/98.asp Submitted by: Cynic <cynic@mail.cz> Reviewed by: Kevin Pilch-Bisson <kevin@pilch-bisson.net> 2001-08-11 07:56 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_subr/config.c (1.2): #include <string.h> for strlen. 2001-08-10 20:40 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/fs.c (1.61): * fs.c (create_locks): Better initial contents for the lockfile. 2001-08-10 20:13 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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/commit_tests.py (1.12), tests/clients/cmdline/svntest/main.py (1.15): Set up lock area in repository. And while we're at it, set up hook area separate from conf area. * fs.h (SVN_FS__REPOS_LOCK_DIR, SVN_FS__REPOS_HOOK_DIR, 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. * main.py (greek_tree): Fix paths to repository hooks. * commit_tests.py (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 <gstein@lyra.org> * 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 string. (ACTIVITY_DB): use "dav/activities" for the path to the activity db 2001-08-10 16:54 Ben Collins-Sussman <sussman@collab.net> * 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 <gstein@lyra.org> * 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 baseline. (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 <brane@xbc.nu> * subversion/include/svn_config.h (1.2): Doc fixes. 2001-08-10 16:09 Branko Cibej <brane@xbc.nu> * 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 <gstein@lyra.org> * 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 fetching. * 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 svn_ra_dav__vcc_prop (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 svn_ra_dav__get_one_prop 2001-08-10 16:00 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/session.c (1.34): Add missing ne_auth.h header. 2001-08-10 15:40 Ben Collins-Sussman <sussman@collab.net> * 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 someday. * cl.h (svn_cl__opt_state_t): add 'nonrecursive' commandline switch. * main.c (main): same. * status-cmd.c (svn_cl__status): notice nonrecursive switch. 2001-08-10 14:54 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * HACKING (1.36): Fix Apache CVS location. 2001-08-10 14:44 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/tests/clients/cmdline/commit_tests.py (1.11): * commit_tests.py (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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * HACKING (1.35): Note about unspoken conventions. 2001-08-10 11:27 Karl Fogel <kfogel@collab.net> * HACKING (1.34): Note about author lines, for the future. 2001-08-10 11:16 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/tests/clients/cmdline/svntest/main.py (1.14): * main.py (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 <cmpilato@collab.net> * 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/commit_tests.py (1.10), tests/clients/cmdline/svntest/main.py (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_read_sentinel_conf(). (svn_fs_write_sentinel_hook): Renamed from svn_fs_write_sentinel_conf(). * subversion/libsvn_fs/fs.h (SVN_FS__REPOS_HOOK_START_COMMIT, SVN_FS__REPOS_HOOK_PRE_COMMIT, SVN_FS__REPOS_HOOK_POST_COMMIT, SVN_FS__REPOS_HOOK_READ_SENTINEL, 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_read_sentinel_conf(). (svn_fs_write_sentinel_hook): Renamed from svn_fs_write_sentinel_conf(). (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 fails. (svn_repos_fs_begin_txn_for_commit): Call to run_post_commit_hook(s) updated. (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. * commit_tests.py (test_list): Commented out hook_test call -- this test is completely bogus now. * main.py (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/: Client.java (1.2), Entry.java (1.2), Reporter.java (1.2), Revision.java (1.2), Status.java (1.2), TextdeltaHandler.java (1.2), TextdeltaOp.java (1.2), TextdeltaWindow.java (1.2), TreeDeltaEditor.java (1.2), WorkingCopy.java (1.2): Removed @author and @version tags 2001-08-09 20:38 Greg Stein <gstein@lyra.org> * 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 <brane@xbc.nu> * subversion/include/svn_config.h (1.1): GOANNA DREAMING 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 <sussman@collab.net> * 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 missing. * 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 SVN_INVALID_REVNUM. 2001-08-09 17:22 Karl Fogel <kfogel@collab.net> * notes/m3-checklist.txt (1.7): Remove finished stuff, so the checklist only shows unfinished tasks. 2001-08-09 17:11 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: commit_tests.py (1.9), svntest/actions.py (1.10): * commit_tests.py (commit_inclusive_dir, commit_top_dir): finish anchor/target commit tests. this closes issue #400. 2001-08-09 16:52 Karl Fogel <kfogel@collab.net> * notes/m3-checklist.txt (1.6): (DB_RUN_RECOVERY): note exactly how in progress. 2001-08-09 16:45 Karl Fogel <kfogel@collab.net> * notes/m3-checklist.txt (1.5): (DB_RUN_RECOVERY): in progress. 2001-08-09 15:56 C. Michael Pilato <cmpilato@collab.net> * subversion/: libsvn_fs/reps-strings.c (1.26), svnlook/main.c (1.13): * 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 fixes). 2001-08-09 14:33 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: README (1.9), svntest/actions.py (1.9), svntest/main.py (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. :-) * main.py (run_tests): new global 'DAV_mode' variable. * actions.py (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 <fitz@red-bean.com> * 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), SubversionException.java (1.1), lib/.cvsignore (1.1), lib/Client.java (1.1), lib/Entry.java (1.1), lib/Reporter.java (1.1), lib/Revision.java (1.1), lib/Status.java (1.1), lib/TextdeltaHandler.java (1.1), lib/TextdeltaOp.java (1.1), lib/TextdeltaWindow.java (1.1), lib/TreeDeltaEditor.java (1.1), lib/WorkingCopy.java (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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * Makefile.in (1.24), build.conf (1.28), gen-make.py (1.21), doc/user/manual/dirversioning.texi (1.2): Get "make doc" to work: * Makefile.in (.texi.info, .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, gen-make.py: Revert my changes of yesterday, they were unnecessary. * dirversioning.texi (Directory Versioning): Fix menu format. 2001-08-09 12:00 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/tests/libsvn_fs/fs-test.c (1.98): * fs-test.c (large_file_integrity): Oops. We were never testing the head revision. 2001-08-09 10:41 Karl Fogel <kfogel@collab.net> * subversion/bindings/java/jni/: README (1.1), org/tigris/subversion/.dir_nonempty (1.1): Sandbox for JNI bindings. Alexander Mueller <Alexander.Mueller@littleblue.de> is working on these. 2001-08-09 06:03 Greg Stein <gstein@lyra.org> * 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 authentication. (auth_authenticate): set up the Neon authentication callback 2001-08-09 06:00 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/mod_dav_svn/version.c (1.31): Add svn_repos.h to pick up a prototype. 2001-08-09 03:18 Greg Stein <gstein@lyra.org> * subversion/clients/cmdline/cl.h (1.15): tweak the path to svn-dev.el 2001-08-08 19:35 Greg Stein <gstein@lyra.org> * 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 <kfogel@collab.net> * STACK (1.95): I'd rather be rich than stupid. 2001-08-08 17:52 Karl Fogel <kfogel@collab.net> * STACK (1.94): Clean up my stack, note remaining M3 items. 2001-08-08 17:45 Karl Fogel <kfogel@collab.net> * build.conf (1.27), gen-make.py (1.20): Try to get "make doc" working in the new build system, but not done yet. Hints from Greg Stein most welcome, naturally. * gen-make.py (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 <sussman@collab.net> * subversion/svnadmin/main.c (1.22): Make svnadmin print log messages attached to revisions and transactions. 2001-08-08 16:31 Ben Collins-Sussman <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * Makefile.in (1.23), configure.in (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 <mdejong@cygnus.com> 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: http://subversion.tigris.org/servlets/ReadMsg?msgId=28881&listName=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. * Makefile.in (EXTERNAL_PROJECT_DIRS): list optional @DB_SUBDIR@. * configure.in: Configure DB_SUBDIR. * ac-helpers/berkeley-db.m4: Look for db in the subversion source tree. 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 <sussman@collab.net> * subversion/tests/clients/cmdline/svntest/actions.py (1.8): Python tests: Check for errors from initial 'svn import'. 2001-08-08 13:34 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 appropriate. * lock.c (svn_wc__lock): change call. * log.c (log_do_committed): change call. 2001-08-08 12:57 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 svn_wc_get_auth_file(). (authorize_simple_password): same. 2001-08-07 17:25 Karl Fogel <kfogel@collab.net> * Makefile.in (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 <kfogel@collab.net> * notes/m3-checklist.txt (1.4): Remove some obsolete verbiage. 2001-08-07 16:53 Ben Collins-Sussman <sussman@collab.net> * build.conf (1.26), subversion/tests/clients/cmdline/svnadmin_tests.py (1.1), notes/dav_setup.txt (1.11), notes/m3-checklist.txt (1.3), subversion/tests/clients/cmdline/svntest/main.py (1.11): New python tests for 'svnadmin'. * svnadmin_tests.py: four new tests. * main.py (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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 arg. (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 reporter. 2001-08-07 10:43 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 statement. * 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 <sussman@collab.net> * subversion/libsvn_wc/README (1.62): Document 'auth/' subdirectory. 2001-08-06 16:53 C. Michael Pilato <cmpilato@collab.net> * build.conf (1.25), subversion/tests/clients/cmdline/prop_tests.py (1.3): * build.conf (paths): Added prop_tests.py to the test framework. * subversion/tests/clients/cmdline/prop_tests.py (update_props): Bug fixes for this test (hey, who tests the tests?) 2001-08-06 16:13 C. Michael Pilato <cmpilato@collab.net> * subversion/svnlook/: editors.c (1.3), main.c (1.7), svnlook.h (1.3): Yep, still more work on the svnlook program. She now works with transactions. * main.c (INT_ERR): Actually return on error. (generate_delta_tree): New function. (do_tree, print_tree): Added SHOW_IDS boolean parameter (and use it). (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 generate_delta_tree(). (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 svnlook_rev_changes_editor(). * editors.c (struct window_handler_baton): New structure. (window_handler): Check for non-NULL windows before claiming text mods. (apply_textdelta): Actually use the window handler baton. (svnlook_txn_changes_editor): Removed. (svnlook_tree_delta_editor): Renamed from svnlook_rev_changes_editor(). 2001-08-06 15:55 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/svnadmin/main.c (1.21): svnadmin: bikeshed touchup. 2001-08-06 13:25 Karl Fogel <kfogel@collab.net> * subversion/include/svn_fs.h (1.100): Get rid of tmp comment. 2001-08-06 13:24 Karl Fogel <kfogel@collab.net> * 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 declarations. * 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 <kfogel@collab.net> * subversion/tests/libsvn_repos/md5args.c (1.3): #include <string.h>. 2001-08-06 12:32 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * notes/alpha-checklist.txt (1.8): Notes about svnadmin features 2001-08-03 16:57 Ben Collins-Sussman <sussman@collab.net> * 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 copy. (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 SVN/. * checkout.c (svn_client_checkout): call storage_callback if non-NULL. * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * notes/m3-checklist.txt (1.2): Don't be in outline mode. 2001-08-03 15:34 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 structure. * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * notes/alpha-checklist.txt (1.6): tweaking checklist some more. 2001-08-01 15:16 Ben Collins-Sussman <sussman@collab.net> * notes/alpha-checklist.txt (1.5): tweaking checklist. 2001-08-01 15:02 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/tests/clients/cmdline/: commit_tests.py (1.8), svntest/actions.py (1.7), svntest/main.py (1.10): * subversion/tests/clients/cmdline/commit_tests.py (hook_test): New test. (test_list): Reference new test. * subversion/tests/clients/cmdline/svntest/actions.py (guarantee_greek_repository): Bug fix. * subversion/tests/clients/cmdline/svntest/main.py (svnlook_binary): New global variable for location of svnlook binary. (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 <cmpilato@collab.net> * 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 quiet. * subversion/clients/cmdline/commit-cmd.c (svn_cl__commit): Only use the trace editor when not asked to be quiet. * subversion/clients/cmdline/import-cmd.c (svn_cl__import): Only use the trace editor when not asked to be quiet. * 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 (svn_cl__propdel) * subversion/clients/cmdline/propset-cmd.c (svn_cl__propset) * subversion/clients/cmdline/util.c Trivial formatting changes. 2001-08-01 14:33 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/svnlook/main.c (1.5): * subversion/svnlook/main.c Added '### todo' docstring. 2001-08-01 13:55 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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" authentication. 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 object. (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 part. (SVN_ERR_RA_UNKNOWN_AUTH): new error val. * libsvn_ra_dav/props.c (svn_ra_dav__get_props): rename to SVN_ERR_RA_NOT_AUTHORIZED. (process_results): comment out pc variable to remove warning. * libsvn_ra_dav/util.c (svn_ra_dav__parsed_request): rename to SVN_ERR_RA_NOT_AUTHORIZED. * 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_repos! * 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 SVN_ERR_RA_NOT_AUTHORIZED. * svnadmin/main.c (main): make svnadmin print authors. 2001-08-01 10:10 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/include/svn_fs.h (1.97): (svn_fs_repository): Doc fix. 2001-07-31 09:12 Karl Fogel <kfogel@collab.net> * autogen.sh (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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 (1.7): 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 code. (svn_fs_start_commit_conf): New func. * fs.h (SVN_FS__REPOS_CONF_PRE_COMMIT_HOOKS, SVN_FS__REPOS_CONF_POST_COMMIT_HOOKS, SVN_FS__REPOS_CONF_READ_SENTINELS, SVN_FS__REPOS_CONF_WRITE_SENTINELS): Change extensions so these don't claim to be ".conf" files. (SVN_FS__REPOS_CONF_START_COMMIT_HOOKS): Restored; this is essentially a reversion of the 1.92 change, plus see change to fs.c above. 2001-07-30 11:46 C. Michael Pilato <cmpilato@collab.net> * subversion/svnlook/: editors.c (1.2), main.c (1.4), svnlook.h (1.2): * 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 stuffing. * 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 stuffing. 2001-07-30 09:35 Karl Fogel <kfogel@collab.net> * subversion/svnlook/nodetree.c (1.3): #include <string.h>, for strcmp. 2001-07-30 09:35 Karl Fogel <kfogel@collab.net> * subversion/svnlook/nodetree.c (1.2): Fix svn-dev.el load path. 2001-07-30 09:34 Karl Fogel <kfogel@collab.net> * subversion/libsvn_repos/hooks.c (1.6): #include <string.h>, for strlen. 2001-07-29 15:34 C. Michael Pilato <cmpilato@collab.net> * 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): ...is 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 control. * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 Sussilato. * 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 svn_fs_begin_txn(). (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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/include/svn_error_codes.h (1.12): Change over-specific error description. 2001-07-26 11:01 C. Michael Pilato <cmpilato@collab.net> * 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 functions. (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 <cmpilato@collab.net> * subversion/libsvn_repos/commit_editor.c (1.16): * commit_editor.c (close_edit): Minor variable rename. 2001-07-25 12:43 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * www/index.html (1.31): Note about i18n and multi-lingual support. 2001-07-25 10:53 Karl Fogel <kfogel@collab.net> * 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 <cconrad@valinux.com>, applied by Brian Fitzpatrick <fitz@red-bean.com>, and reviewed with only minor tweaks by Karl Fogel <kfogel@collab.net>. See related commits of today and yesterday. 2001-07-25 10:48 Karl Fogel <kfogel@collab.net> * 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 newline. 2001-07-25 10:21 Karl Fogel <kfogel@collab.net> * 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 SVN_ERR_REPOS_HOOK_FAILURE. * 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 <fitz@red-bean.com> * www/project_tasks.html (1.7): 'Whack.' Ball's in your court, Karl. 2001-07-24 23:49 Brian Fitzpatrick <fitz@red-bean.com> * subversion/clients/cmdline/help-cmd.c (1.4): This patch submitted by Christopher Conrad <cconrad@valinux.com> 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 <kfogel@collab.net> * subversion/libsvn_fs/: hooks.c (1.1), hooks.h (1.1), tree.c (1.89): * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 (1.6): 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 yet. * 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 get_commit_editor. * 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 fixes. * 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' arg. * clients/cmdline/import-cmd.c (svn_cl__import): Pass new `user' arg. * 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 <kfogel@collab.net> * www/project_tasks.html (1.6): Note that Chris Conrad has taken issue 402. 2001-07-24 16:32 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_fs/node-rev.c (1.23), libsvn_fs/tree.c (1.87), tests/clients/cmdline/prop_tests.py (1.2): Fix two genuine filesystem bugs. Ben drives, Karl finds. (`prop_tests.py 2' now passes. prop_tests.py #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. * prop_tests.py (commit_props, update_props): a number is not a string. 2001-07-24 16:25 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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_PRE_COMMIT_HOOKS, SVN_FS__REPOS_CONF_POST_COMMIT_HOOKS): Replace SVN_FS__REPOS_CONF_PRECOMMIT_HOOKS and 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 <sussman@collab.net> * subversion/tests/clients/cmdline/: basic_tests.py (1.8), prop_tests.py (1.1), svntest/actions.py (1.6): * prop_tests.py: 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.) * actions.py (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 <kfogel@collab.net> * subversion/libsvn_fs/fs.h (1.25): (svn_fs_t): Doc fix. 2001-07-24 14:29 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/: fs.c (1.51), fs.h (1.24): More repository organization, including a new conf area, in preparation for hooks: * fs.h (SVN_FS__REPOS_CUSTOM_DIR, SVN_FS__REPOS_CONF_DIR, SVN_FS__REPOS_DAV_DIR): New #defines, for new standard subdirs in the repository. (SVN_FS__REPOS_CONF_PRECOMMIT_HOOKS, SVN_FS__REPOS_CONF_POSTCOMMIT_HOOKS, SVN_FS__REPOS_CONF_READ_SENTINELS, SVN_FS__REPOS_CONF_WRITE_SENTINELS): New #defines, for standard conf files. (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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_repos/hooks.txt (1.2): Trivial change, in anticipation of larger upcoming commit. 2001-07-24 10:00 C. Michael Pilato <cmpilato@collab.net> * 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/basic_tests.py (1.7): 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-tests.py (basic_revert): New test function. (test_list): Add reference to new test basic_revert(). 2001-07-23 15:53 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * notes/alpha-checklist.txt (1.3): Bring up-to-date. 2001-07-23 10:57 C. Michael Pilato <cmpilato@collab.net> * subversion/: libsvn_wc/log.c (1.106), tests/clients/cmdline/basic_tests.py (1.6): * libsvn_wc/log.c (svn_wc_cleanup): Slap NULL onto end of va_args-y function call. * tests/clients/cmdline/basic_tests.py (basic_cleanup): Print stderr output if any exists after running cleanup. 2001-07-23 10:17 Ben Collins-Sussman <sussman@collab.net> * notes/dav_setup.txt (1.10): Duh, change these addresses too. 2001-07-23 10:10 Ben Collins-Sussman <sussman@collab.net> * notes/dav_setup.txt (1.9): Update location of httpd-2.0 tree. 2001-07-23 10:02 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/tests/clients/cmdline/commit_tests.py (1.7): * commit_tests.py (get_standard_status_list, nested_dir_replacements): Add 'locked' attribute to new node's status. 2001-07-20 17:06 Ben Collins-Sussman <sussman@collab.net> * www/project_status.html (1.32): Update weekly status page. 2001-07-20 16:57 Ben Collins-Sussman <sussman@collab.net> * 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 <cmpilato@collab.net> * subversion/: clients/cmdline/status.c (1.5), include/svn_wc.h (1.106), libsvn_wc/status.c (1.38), tests/clients/cmdline/basic_tests.py (1.5), tests/clients/cmdline/commit_tests.py (1.6), tests/clients/cmdline/svntest/actions.py (1.5), tests/clients/cmdline/svntest/main.py (1.9), tests/clients/cmdline/svntest/tree.py (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 changed. * 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_tests.py (basic_cleanup): New test for cleanup subcommand. (test_list): Added reference to new cleanup test. * tests/clients/cmdline/commit_tests.py (hudson_part_1_variation_2): Bug fix. Expect the right revision. * tests/clients/cmdline/svntest/actions.py (get_virginal_status_list): Add 'locked' attribute (lock_admin_dir): New function. * tests/clients/cmdline/svntest/main.py (get_admin_name): New function. * tests/clients/cmdline/svntest/tree.py (build_tree_from_status): Modified to notice 'locked' attribute in status output. 2001-07-20 14:53 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * autogen.sh (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 <kfogel@collab.net> * autogen.sh (1.44): Resolve issue #415 by pointing to new apr site. 2001-07-20 14:28 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_fs/tree.c (1.86), libsvn_repos/commit_editor.c (1.12), tests/clients/cmdline/basic_tests.py (1.4): Resolve issue #416: * commit_editor.c (replace_file): Use svn_fs_link. * tree.c (merge): Fix comments. * basic_tests.py (basic_merge): Unbreak. 2001-07-20 14:03 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_fs/fs-test.c (1.96): (link_test): New test. (test_funcs): Run it. 2001-07-20 12:49 Karl Fogel <kfogel@collab.net> * subversion/svnadmin/main.c (1.16): (print_tree): Print node id. 2001-07-20 11:39 Karl Fogel <kfogel@collab.net> * 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): Removed. (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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/tests/clients/cmdline/xmltests/svn-test2.sh (1.4): Redirect stderr to stdout, so it ends up in tests.log, as Brane suggested. 2001-07-20 09:50 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/svntest/main.py (1.8): * main.py (run_tests): what an embarrassing bug. :-) 2001-07-20 09:34 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/README (1.8): Update contents of README. 2001-07-20 09:31 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * subversion/tests/clients/cmdline/xmltests/svn-test2.sh (1.3): Redirect stderr to Albemuth where necessary. 2001-07-19 16:44 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_ops.c (1.76), wc.h (1.155): Make xml test number 9 in svn-test.sh 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 <sussman@collab.net> * subversion/: libsvn_fs/skel.c (1.34), libsvn_fs/tree.c (1.84), tests/clients/cmdline/commit_tests.py (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.) * commit_tests.py (hudson_part_2): new regression test for this problem. * skel.c (svn_fs__skels_are_equal): fix braino. 2001-07-19 15:15 C. Michael Pilato <cmpilato@collab.net> * subversion/: libsvn_fs/tree.c (1.83), tests/libsvn_fs/fs-test.c (1.95): * 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 node. * subversion/tests/libsvn_fs/fs-test.c (merging_commit): Modify this test to verify the above new allowance. 2001-07-19 13:22 Karl Fogel <kfogel@collab.net> * subversion/tests/clients/cmdline/svntest/main.py (1.7): (svn_binary, svnadmin_binary): Make paths absolute, so tests can safely chdir. 2001-07-19 12:54 Karl Fogel <kfogel@collab.net> * subversion/tests/clients/cmdline/svntest/main.py (1.6): (svn_binary, svnadmin_binary): Fix paths. 2001-07-19 12:37 Karl Fogel <kfogel@collab.net> * 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* functions 2001-07-19 12:36 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_subr/getdate.cw (1.2): * subversion/libsvn_subr/getdate.cw Little docstring edit. 2001-07-19 12:26 C. Michael Pilato <cmpilato@collab.net> * svn_config.dsp (1.5), subversion/libsvn_repos/libsvn_repos.dsp (1.2), subversion/libsvn_subr/getdate.cw (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/getdate.cw New file. * svn_config.dsp (getdate.cw): 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 <kfogel@collab.net> * subversion/libsvn_fs/skel.h (1.24): (svn_fs__skels_are_equal): Doc fix. 2001-07-19 12:03 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * subversion/: clients/cmdline/subversion_client.dsp (1.3), libsvn_client/libsvn_client.dsp (1.9), libsvn_wc/libsvn_wc.dsp (1.5): 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 <sussman@collab.net> * subversion/tests/clients/cmdline/commit_tests.py (1.4): * commit_tests.py (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 <sussman@collab.net> * 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 control. * 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' entries: /* 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, svn_wc_crawl_local_mods) * 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 show. * 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 <cmpilato@collab.net> * 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 (SVN_ERR_WC_IS_NOT_DIRECTORY, SVN_ERR_WC_IS_NOT_FILE): New error codes. * 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 <cmpilato@collab.net> * subversion/libsvn_subr/.cvsignore (1.6): * libsvn_subr/.cvsignore Ignore getdate.c (which is generated from some Python script somewhere...) 2001-07-18 10:40 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 merge_re_id(). 2001-07-17 20:35 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error_codes.h (1.8), libsvn_wc/adm_crawler.c (1.119), libsvn_wc/entries.c (1.111), tests/clients/cmdline/basic_tests.py (1.3), tests/clients/cmdline/commit_tests.py (1.3), tests/clients/cmdline/svntest/actions.py (1.4), tests/clients/cmdline/svntest/main.py (1.5), tests/clients/cmdline/svntest/tree.py (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 <trow@ximian.com> To: dev@subversion.tigris.org 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 SVN_ERR_UNVERSIONED_RESOURCE. * adm_crawler.c (svn_wc_crawl_local_mods): If target is an unversioned resource, throw the appropriate error. With Ben Collins-Sussman <sussman@collab.net>, write a regression test for above. This entailed a genreal improvement to the error-checking in the Python test framework: * commit_tests.py (commit_unversioned_thing): New test. * basic_tests.py (basic_merge): Expect a conflict error halfway through, though this is not known to be correct. See issue #416. * actions.py (run_and_verify_commit): Handle errors too. * main.py (run_svn): Return stderr as well as stdout. All callers changed. Unrelated: * entries.c (svn_wc_entry): Silly comment fix. 2001-07-17 19:23 Karl Fogel <kfogel@collab.net> * subversion/clients/cmdline/main.c (1.10): (main): Print error to stderr, not stdout. 2001-07-17 17:55 Karl Fogel <kfogel@collab.net> * subversion/libsvn_client/status.c (1.16): (svn_client_status): Indentation fixes. 2001-07-17 17:55 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 review**. 2001-07-16 14:54 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/structure (1.50): Settle on a plan for ancestry-recording fs copies. 2001-07-16 14:37 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/: dag.c (1.117), dag.h (1.46), tree.c (1.80): * 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 <sussman@collab.net> * subversion/include/svn_client.h (1.37): Change API docstrings: before & after editors are *optional*. 2001-07-16 09:34 Ben Collins-Sussman <sussman@collab.net> * HACKING (1.33): Remove BSD comment. 2001-07-13 14:31 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * HACKING (1.32): (Participating in the community): Update, mention commit access procedure. 2001-07-13 09:52 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * www/project_status.html (1.31): Update status. 2001-07-12 19:16 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <ghudson@mit.edu> * 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 <sussman@collab.net> * build.conf (1.21): Add commit_tests.py to `make check`. 2001-07-11 09:38 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: commit_tests.py (1.2), svntest/actions.py (1.3), svntest/tree.py (1.5): * commit_test.py (nested_dir_replacements): new regression test for bug #391 * actions.py (path_index): new utility func for hash-like lookup. * tree.py (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 <kfogel@collab.net> * subversion/libsvn_fs/reps-strings.c (1.18): Grammar and wording fix. 2001-07-10 21:43 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 struct. (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 above. 2001-07-10 19:55 Branko Cibej <brane@xbc.nu> * 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 svn_cl__setlocale_opt. * clients/cmdline/main.c (main): Handle option --setlocale. 2001-07-10 18:28 Karl Fogel <kfogel@collab.net> * 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 rep_read_range(). * 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 <joe@light.plus.com> * Makefile.in (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 <joe@light.plus.com> * subversion/clients/cmdline/propset-cmd.c (1.4): Fix another svn-dev.el path. 2001-07-10 18:11 Joe Orton <joe@light.plus.com> * Makefile.in (1.20): Minor cleanups for ChangeLog rules. Include ac-helpers directory in changes tracked. 2001-07-10 17:52 Joe Orton <joe@light.plus.com> * Makefile.in (1.19): * Makefile.in (check): Run any tests containing '.py' using configure python binary. 2001-07-10 17:46 Joe Orton <joe@light.plus.com> * configure.in (1.102): * configure.in: Check for a "python2" binary then a "python" binary, substitute as PYTHON into Makefile. 2001-07-10 16:51 Joe Orton <joe@light.plus.com> * configure.in (1.101): * configure.in: Expand comment on passing down arguments to neon's configure script. 2001-07-10 15:31 C. Michael Pilato <cmpilato@collab.net> * 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 procedures. * clients/cmdline/propdel-cmd.c New file for property deletion subcommand. 2001-07-10 15:12 C. Michael Pilato <cmpilato@collab.net> * configure.in (1.100): * configure.in Changed use of $host_alias to $host. Patch submitted by Mo DeJong. 2001-07-10 13:06 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/: reps-strings.c (1.13), reps-strings.h (1.14): 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 <kfogel@collab.net> * 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 work. 2001-07-07 16:42 Karl Fogel <kfogel@collab.net> * Makefile.in (1.18): (check): Make output more compact. 2001-07-07 16:42 Karl Fogel <kfogel@collab.net> * 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_read_stream. (svn_fs__rep_contents_write_stream): Replaces svn_fs__rep_write_stream. (svn_fs__rep_contents_clear): Replaces svn_fs__rep_clear. All callers changed. 2001-07-07 16:28 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/tests/libsvn_fs/fs-test.c (1.88): Removed exclamation points from test descriptions. 2001-07-07 15:26 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <joe@light.plus.com> * 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 <joe@light.plus.com> * 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 <joe@light.plus.com> * 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 <joe@light.plus.com> * subversion/clients/cmdline/props.c (1.4): * props.c: Fix comment. 2001-07-07 05:35 Joe Orton <joe@light.plus.com> * subversion/clients/cmdline/proplist-cmd.c (1.3): * proplist-cmd.c: Fix comment. 2001-07-06 18:56 Karl Fogel <kfogel@collab.net> * www/project_status.html (1.30): Adjust bar widths. 2001-07-06 18:54 Karl Fogel <kfogel@collab.net> * www/project_status.html (1.29): Edit for recent status. 2001-07-06 18:37 Karl Fogel <kfogel@collab.net> * 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 svn_fs__dag_get_contents(). (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 <joe@light.plus.com> * subversion/libsvn_ra_dav/commit.c (1.59): Fix some code formatting, no functional change. 2001-07-06 17:58 Karl Fogel <kfogel@collab.net> * 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, etc: * 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. Unrelated: * reps-strings.h (svn_fs__rep_read_contents): Doc fix. * node-rev.c (write_string): Remove printf. 2001-07-06 17:44 Joe Orton <joe@light.plus.com> * 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 <joe@light.plus.com> * subversion/libsvn_ra_dav/props.c (1.8): Revert back to rev1.6 of props.c. 2001-07-06 17:24 Joe Orton <joe@light.plus.com> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/reps-strings.h (1.7): (svn_fs__get_mutable_rep): Doc fix. 2001-07-06 16:31 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/node-rev.c (1.17): (deltify): Remove spurious comment. 2001-07-06 16:24 Karl Fogel <kfogel@collab.net> * 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 <joe@light.plus.com> * STACK (1.93): Stuff I'm working on. 2001-07-06 13:04 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.99): Patch to fix builddir != srcdir, from Mo DeJong <mdejong@cygnus.com>. 2001-07-06 12:54 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/node-rev.c (1.15): (deltify): Code rearrangement, plus remember to initialize variables. This probably fixes issue #410; Ben will confirm before closing the issue, however. 2001-07-06 12:46 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/: reps-table.c (1.5), strings-table.c (1.11): Note code affected by issue #409. 2001-07-06 11:17 Ben Collins-Sussman <sussman@collab.net> * notes/dav_setup.txt (1.8): Updating & modernizing the Subversion Server HOWTO. 2001-07-06 10:21 Ben Collins-Sussman <sussman@collab.net> * autogen.sh (1.43): Add pointer to dav_setup.txt, to avoid developer confusion. 2001-07-05 16:41 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/include/svn_fs.h (1.88): (svn_fs_file_contents): Note concern in doc string. 2001-07-05 16:00 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: commit_tests.py (1.1), svntest/actions.py (1.2), svntest/main.py (1.4): * commit_tests.py: new suite of commit tests, testing anchor/targets. not finished, but we're ready to write them now when Mike P. gets back. * svntest/main.py: stop specifying exact svn binary; use the one in $PATH. * actions.py (run_and_verify_status): don't pass `None' args to compare trees. 2001-07-05 15:50 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/dag.c (1.108): (svn_fs__dag_get_contents): Clarifying comment. 2001-07-05 13:16 Karl Fogel <kfogel@collab.net> * 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 SVN_ERR_FS_REP_CHANGED replaces SVN_ERR_FS_FILE_CONTENTS_CHANGED. * dag.c (NR_HEADER, NR_PROP_KEY, NR_DATA_KEY, HDR_KIND, HDR_REV): 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 before. (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 below. * node-rev.c, node-rev.h: Resurrected these files: * node-rev.h (SVN_FS__NR_HEADER, SVN_FS__NR_PROP_KEY, SVN_FS__NR_DATA_KEY, SVN_FS__NR_HDR_KIND, SVN_FS__NR_HDR_REV): 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 <kfogel@collab.net> * 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 <sussman@collab.net> * www/project_status.html (1.28): Fix broken link. 2001-07-04 15:20 Karl Fogel <kfogel@collab.net> * www/project_tasks.html (1.5): Fix bad html comment termination. 2001-07-04 15:18 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * www/project_tasks.html (1.4): Add new task. 2001-07-04 14:42 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/structure (1.47): Slight clarification. 2001-07-04 14:32 Karl Fogel <kfogel@collab.net> * www/project_tasks.html (1.3): Add new task. 2001-07-04 14:13 Karl Fogel <kfogel@collab.net> * www/project_tasks.html (1.2): Don't include image. 2001-07-04 14:13 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * www/project_status.html (1.27): Update milestones based on new information about resource scheduling. 2001-07-04 08:37 Ben Collins-Sussman <sussman@collab.net> * 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 datestamps. * 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 <sussman@collab.net> * autogen.sh (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 tuesday') * getdate.y: a parser of human-readable dates. stolen from CVS (code is public domain, no copyright.) slightly tweaked. * autogen.sh: 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 `tm'. * main.c (main): add -D flag. (wow! how often do we get to edit main()?) * cl.h (svn_cl__opt_state_t): add 'date' field. * svn_error_codes.h (SVN_ERR_CL_MUTUALLY_EXCLUSIVE_ARGS): new error. * svn_client.h, checkout.c (svn_client_checkout): add time field! * checkout-cmd.c (svn_cl__checkout): pass date to svn_client_checkout() * 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 <brane@xbc.nu> * subversion/: libsvn_subr/time.c (1.3), tests/libsvn_fs/fs-test.c (1.86): 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 comment. 2001-07-03 15:38 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_repos.h (1.14), libsvn_repos/rev_hunt.c (1.1): * 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 <kfogel@collab.net> * www/project_status.html (1.26): Make milestone dates fall on weekdays. 2001-07-03 14:59 Karl Fogel <kfogel@collab.net> * www/project_status.html (1.25): Update dates to be more conservative (and therefore more reliable). 2001-07-03 14:41 Karl Fogel <kfogel@collab.net> * notes/alpha-checklist.txt (1.2): Update based on recent progress. 2001-07-03 14:17 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/structure (1.46): Note about the one-to-one mapping of reps to strings. 2001-07-02 16:46 Karl Fogel <kfogel@collab.net> * notes/fs-improvements.txt (1.12): Remove obsolete stuff. 2001-07-02 16:17 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/basic_tests.py (1.2): * basic_tests.py: auto-generate more intelligible names for each test's repository and working copy. 2001-07-02 14:36 Karl Fogel <kfogel@collab.net> * subversion/include/svn_path.h (1.39): Use SVN_PATH_H, not SVN_PATHS_H. 2001-07-02 12:59 Ben Collins-Sussman <sussman@collab.net> * build.conf (1.20): * build.conf: tell `make check` the new name of our python tests. 2001-07-02 12:57 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: README (1.7), basic_tests.py (1.1), local_tests.py (1.19), svntest/__init__.py (1.3), svntest/actions.py (1.1), svntest/main.py (1.3), svntest/tree.py (1.4): Big reorganization of python test suite. Move most of the testing API out of local_tests.py 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/actions.py: the big API calls live here now. * svntest/main.py: inherit some globals from local_tests.py * svntest/__init__.py: add actions.py * basic_tests.py: renamed from `local_tests.py'. Change all calls into svntest module -- svntest.actions.*() * README: keep our documentation up-to-date. :-) 2001-07-02 12:48 Karl Fogel <kfogel@collab.net> * 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 skel. (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 SVN_ERR_FILE_CONTENTS_CHANGED. * structure: Update for above. 2001-07-02 12:41 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/proplist.h (1.8): (svn_fs__get_prop): Doc fix. 2001-07-02 11:34 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/dag.c (1.102): * dag.c (NR_HEADER, NR_PROP_KEY, NR_DATA_KEY, HDR_KIND, HDR_REV): Paranoid parenthesization. 2001-06-30 04:55 Branko Cibej <brane@xbc.nu> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/: local_tests.py (1.18), svntest/main.py (1.2), svntest/tree.py (1.3): Fix a design flaw in our python trees. * tree.py: (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. * main.py (greek_tree): update accordingly. * local_tests.py (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 <sussman@collab.net> * Makefile.in (1.17), build.conf (1.19), subversion/tests/clients/cmdline/xmltests/svn-test.sh (1.2), subversion/tests/clients/cmdline/xmltests/svn-test2.sh (1.2): Finish cleanup of `make check` rule, as per older email discussion. * svn-test.sh, svn-test2.sh: stop requiring a $srcdir argument. * Makefile.in (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 <cmpilato@collab.net> * subversion/libsvn_fs/: dag.c (1.101), structure (1.44): Mike and Karl whipping up on revision numbers and flags in NODE-REVISION skels. * 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 FLAGs. * libsvn_fs/dag.c (HDR_FLAGS): ...is 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 make_node_immutable). (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 <sussman@collab.net> * subversion/tests/clients/cmdline/: xml_tests.py (1.4), xmltests/.cvsignore (1.1), xmltests/svn-test.sh (1.1), xmltests/svn-test2.sh (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 <sussman@collab.net> * subversion/tests/clients/cmdline/local_tests.py (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 <sussman@collab.net> * subversion/: libsvn_wc/get_editor.c (1.189), tests/clients/cmdline/local_tests.py (1.16), tests/clients/cmdline/svntest/tree.py (1.2): Task: get local_test.py #9 to pass, by exercising control over backup file names (from conflicts) and improving the way we detect them. * get_editor.c (close_file): when subversion invokes GNU `patch', force backup files to be prefixed with ".#" * tree.py (compare_trees): singleton_handler funcs now take batons. (default_singleton_handler): take a baton. * local_tests.py (basic_conflict): tweaky cleanup, formatting, comments. (detect_conflict_files): renamed (and completely rewritten) from verify_rej_file(). (extra_files): no longer a global hash; now local list. (basic_conflict): pass extra_files as a baton to detect_conflict_files. (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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/libsvn_fs.dsp (1.13): Catching up the Windows build after the recent libsvn_fs branch merge. * libsvn_fs.dsp (node-rev.c, convert-size.h, node-rev.h, revision.h): Removed from build. (reps-strings.c, reps-strings.h): Added to build. 2001-06-28 19:12 Joe Orton <joe@light.plus.com> * configure.in (1.98): * configure.in: 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/: dag.c, structure (strings-reps-dev.[18,2]) (utags: strings-reps-dev-done): * dag.c (NR_HEADER, NR_PROP_KEY, NR_DATA_KEY, HDR_KIND, HDR_REV, 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 <joe@light.plus.com> * configure.in (1.97): * configure.in: Fix diffutils URL. 2001-06-28 16:44 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.96), ac-helpers/gnu-diff.sh (1.1): * configure.in: require (and locate) non-hacked version of GNU diff 2001-06-28 16:17 C. Michael Pilato <cmpilato@collab.net> * 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 <joe@light.plus.com> * configure.in (1.95): * configure.in: 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 <kfogel@collab.net> * 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 <joe@light.plus.com> * 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 (1.37): 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 <cmpilato@collab.net> * subversion/libsvn_fs/fs.c (tags: strings-reps-dev-done) (strings-reps-dev.1): * 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 <brane@xbc.nu> * subversion/libsvn_wc/local_changes.c (1.31): Comment fixes. 2001-06-27 21:03 Branko Cibej <brane@xbc.nu> * 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 <cmpilato@collab.net> * 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 case. 2001-06-27 14:46 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.94), ac-helpers/gnu-patch.sh (1.1): * configure.in: require and locate a version of GNU patch. 2001-06-27 11:02 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <joe@light.plus.com> * PORTING (1.7): Tru64 5.0 update. 2001-06-26 20:21 Joe Orton <joe@light.plus.com> * subversion/clients/cmdline/cl.h (1.4): * cl.h: Remove another trailing comma. 2001-06-26 20:08 Joe Orton <joe@light.plus.com> * subversion/tests/libsvn_fs/strings-reps-test.c (1.8, premerge_strings-reps-dev): * 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 <joe@light.plus.com> * Makefile.in (1.16): * Makefile.in (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 <joe@light.plus.com> * subversion/tests/libsvn_subr/target-test.sh (1.5): * target-test.sh: Set $PWD explicitly, some shells don't update this automatically. (e.g. Tru64 /bin/sh) 2001-06-26 19:28 Karl Fogel <kfogel@collab.net> * 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 func. * 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 <kfogel@collab.net> * 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 func. * 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 <joe@light.plus.com> * 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 <kfogel@collab.net> * subversion/libsvn_fs/: dag.c, reps-strings.c, reps-strings.h (strings-reps-dev.[13,3,3]): 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 func. * dag.c (make_node_immutable): Immutate representations too. Loop over header correctly now. Don't use a subpool, we don't need it anymore. 2001-06-26 18:49 Joe Orton <joe@light.plus.com> * 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 <joe@light.plus.com> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <joe@light.plus.com> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/: dag.c, this-branch.txt (strings-reps-dev.[9,7]): * libsvn_fs/dag.c (svn_fs__dag_get_proplist): Safety first! Added code for trivial case. (svn_fs__dag_set_proplist): Converted this to use new reps/strings stuff. * this-branch.txt (svn_fs__dag_set_proplist): Completed. 2001-06-26 15:08 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/: dag.c, this-branch.txt (strings-reps-dev.[8,6]): * dag.c (svn_fs__dag_set_contents): Use reps/strings code. * this-branch.txt: note that these are done now: svn_fs__dag_get_contents read_file_contents (The latter was actually done in a previous commit). 2001-06-26 15:08 Joe Orton <joe@light.plus.com> * 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 <joe@light.plus.com> * autogen.sh (1.41): * autogen.sh: Require neon 0.15.3. 2001-06-26 14:59 Joe Orton <joe@light.plus.com> * 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 ne_set_request_body_buffer. Unrelated cleanup: * session.c, util.c: Use apr_want.h. 2001-06-26 14:15 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 (1.85): 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: svn_fs__dag_delete svn_fs__dag_delete_tree svn_fs__dag_delete_if_mutable delete_entry * 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 <sussman@collab.net> * configure.in (1.93): * configure.in: get SVN_VERSION defined again, so we can see it in 'svn -v'. 2001-06-26 13:10 Ben Collins-Sussman <sussman@collab.net> * 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 <joe@light.plus.com> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/: dag.c, reps-table.c, reps-table.h (strings-reps-dev.[6,5,4]): * libsvn_fs/dag.c (get_dir_entries): Added some error-checking. (set_entry): Make sure to clear the old string before writing a new one. (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 <kfogel@collab.net> * 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 below. (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: svn_fs__dag_set_entry svn_fs__dag_clone_child svn_fs__dag_make_file svn_fs__dag_make_dir svn_fs__dag_link 2001-06-25 11:26 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/: reps-table.c, reps-table.h (strings-reps-dev.[2,2]): 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 <kfogel@collab.net> * Makefile.in (1.15): (changelog): show branches and tags. 2001-06-25 10:45 C. Michael Pilato <cmpilato@collab.net> * 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, thanks. (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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 node-rev.h. * 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 edited. * 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. (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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 indentation. (make_entry): Use svn_error_create instead of svn_error_createf. 2001-06-21 12:28 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/structure (1.42, premerge_strings-reps-dev): Explain mutability flags for representations; plus a few corrections. 2001-06-20 10:38 C. Michael Pilato <cmpilato@collab.net> * 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 (1.4): * subversion/libsvn_fs/strings-table.h (svn_fs__string_delete): Renamed from svn_fs__delete_string for consistency. * 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 exist. (svn_fs__string_delete): Renamed from svn_fs__delete_string for consistency. * 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 <cmpilato@collab.net> * subversion/tests/clients/cmdline/svntest/__init__.py (1.2): Not including "entry.py" in this package yet. 2001-06-19 11:58 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: example_tests1.py (1.4), local_tests.py (1.15): * example_tests1.py: obsolete, nuke. * local_tests.py: trying a suggeston from comp.python.lang, which might make python 1.X compilers not choke hideously on our scripts. 2001-06-19 11:50 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/README (1.6): Keep README up-to-date with new package reorganization. 2001-06-19 11:42 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/svntest/.cvsignore (1.1): Ignore .pyc files in the package 2001-06-19 11:40 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: local_tests.py (1.14), svn_entry.py (1.5), svn_test_main.py (1.12), svn_tree.py (1.5), svntest/__init__.py (1.1), svntest/entry.py (1.1), svntest/main.py (1.1), svntest/tree.py (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/main.py: renamed from svn_test_main.py (run_one_test): renamed from run_test() (run_tests): renamed from client_tests() * svntest/tree.py: renamed from svn_tree.py (get_props): invoke main.run_svn(), using new module name. * svntest/entry.py: renamed from svn_entry.py (unused module right now) * local_tests.py: import the 'svntest' package, change all calls into this new namespace. 2001-06-18 18:13 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/: reps-table.c (1.3, premerge_strings-reps-dev), strings-table.c (1.7), strings-table.h (1.8): * 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 <kfogel@collab.net> * subversion/libsvn_fs/: strings-table.c (1.6), strings-table.h (1.7): 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 <kfogel@collab.net> * subversion/libsvn_fs/structure (1.41): Make text fit context better. 2001-06-18 10:35 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/local_tests.py (1.13): * local_tests.py: 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 <sussman@collab.net> * subversion/tests/clients/cmdline/local_tests.py (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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/svn_test_main.py (1.11): * svn_test_main.py: 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 <kfogel@collab.net> * subversion/libsvn_fs/structure (1.39): Food for thought. 2001-06-16 14:47 Karl Fogel <kfogel@collab.net> * 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 repository. (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 <sussman@collab.net> * subversion/tests/clients/cmdline/README (1.5): Little tweaks. 2001-06-15 12:00 Karl Fogel <kfogel@collab.net> * INSTALL (1.2): Point to developer installation instructions. 2001-06-15 11:59 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/svnadmin/main.c (1.14): Revert previous accidental commit of in-progress work. 2001-06-14 17:34 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/strings-table.h (1.6): Fix obsolete comment. 2001-06-14 12:41 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/svnadmin/main.c (1.13): [no log message] 2001-06-14 11:28 Karl Fogel <kfogel@collab.net> * 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/run-fs-tests.sh (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): Implement. (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): Implement. * 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 <cmpilato@collab.net> * 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 svn_wc_get_actual_update_target. * 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 formatting/cleanup. (report_single_mod): New function, code broken out from old report_local_mods. (crawl_dir): Was report_local_mods. (svn_wc_crawl_local_mods): Modified to allow for commits of single directories. * 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 svn_wc_get_actual_update_target. * libsvn_wc/get_editor.c (svn_wc_get_actual_target): renamed from svn_wc_get_actual_update_target. (make_editor): svn_wc_get_actual_target renamed from svn_wc_get_actual_update_target. 2001-06-14 10:51 C. Michael Pilato <cmpilato@collab.net> * subversion/tests/clients/cmdline/local_tests.py (1.11): * tests/clients/cmdline/local_tests.py (run_and_verify_commit): Don't try to pop from an empty array! 2001-06-14 04:48 Greg Stein <gstein@lyra.org> * 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 error). 2001-06-13 08:04 C. Michael Pilato <cmpilato@collab.net> * subversion/clients/cmdline/feedback.c (1.2): * clients/cmdline/feedback.c Squashed some compiler warnings. 2001-06-13 04:10 Greg Stein <gstein@lyra.org> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/: include/svn_error.h (1.106), libsvn_subr/svn_error.c (1.67): * 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 <sussman@collab.net> * 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 editor->abort_edit(). * 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 Idea. * 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 needed. * libsvn_ra_local/ra_plugin.c (abort_commit): removed. (ra_local_plugin): remove abort_commit. * libsvn_ra_dav/session.c (dav_plugin): remove svn_ra_dav__abort_commit * libsvn_ra_dav/commit.c (svn_ra_dav__abort_commit): removed. 2001-06-12 12:35 Karl Fogel <kfogel@collab.net> * 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 tweaks. (Committing removals): Typos (fixed, not added, that is). (Removals in updates): More precise behavior description. 2001-06-12 10:55 Karl Fogel <kfogel@collab.net> * subversion/include/svn_string.h (1.49): Fix typo. 2001-06-11 20:43 Ben Collins-Sussman <sussman@collab.net> * 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 (1.8): Bugfix for #388: If the client wants to bail during a commit, tell the RA layer about it (...so 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 func. (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 <sussman@collab.net> * subversion/: include/svn_error.h (1.105), libsvn_subr/svn_error.c (1.66): Fix bug #392: print human-readable descriptions of svn error-codes. (Finally!) * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 report_warning(). * 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 <cmpilato@collab.net> * 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 vtable. (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): ...is no more. 2001-06-11 11:10 Daniel Stenberg <daniel@haxx.se> * TASKS (1.20): Testing CVS commit access for Daniel Steinberg. -dlr@collab.net 2001-06-11 10:41 Ben Collins-Sussman <sussman@collab.net> * notes/alpha_short (1.8): Another filesytem requirement for M3. 2001-06-11 09:48 Ben Collins-Sussman <sussman@collab.net> * www/project_status.html (1.24): Tweak fuzzy status bars. 2001-06-11 09:45 Ben Collins-Sussman <sussman@collab.net> * www/project_status.html (1.23): Updating status page. 2001-06-11 09:02 Ben Collins-Sussman <sussman@collab.net> * PORTING (1.6): Add freebsd 4.3. 2001-06-11 05:49 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 copy) 2001-06-10 22:30 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 type (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 svn_fs_change_node_prop. (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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/include/svn_string.h (1.48): Add new svn_string_t datatype and a bunch of commentary of the two types. Some simple white space changes (reindenting). 2001-06-10 18:47 Greg Stein <gstein@lyra.org> * 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 <brane@xbc.nu> * configure.in (1.92): Always subst SVN_DB_INCLUDES and SVN_DB_LIBS. 2001-06-09 07:36 Ben Collins-Sussman <sussman@collab.net> * 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 transaction. * 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 svn_repos_abort_report(). * 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 this. 2001-06-08 22:39 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.113): (report_revisions): make the `?'-printing algorithm less stupid. :) 2001-06-08 22:04 Ben Collins-Sussman <sussman@collab.net> * 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 <cmpilato@collab.net> * subversion/tests/libsvn_fs/.cvsignore (1.7): * tests/libsvn_fs/.cvsignore Ignore key-test binary. 2001-06-08 16:33 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 stream. (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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <gstein@lyra.org> * 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 <kfogel@collab.net> * 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/run-fs-tests.sh (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 convert-size.h. * 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-fs-tests.sh: Run `key-test' program. * build.conf (key-test): New target. 2001-06-08 12:17 Karl Fogel <kfogel@collab.net> * subversion/tests/clients/cmdline/: local_tests.py (1.10), svn_tree.py (1.4): New conflict test, plus some general reorganization, all submitted by Mike Sussman <msussman@collab.net>: * svn_tree.py (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 does. 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 -- rho.xxx.rej 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. * local_tests.py (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 <kfogel@collab.net> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/bindings/svn_error.i (1.3): Minor tweak for the generated comments. 2001-06-08 03:34 Greg Stein <gstein@lyra.org> * 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 member 2001-06-07 20:09 Branko Cibej <brane@xbc.nu> * Makefile.in (1.14), configure.in (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. * configure.in: Substitute SVN_DB_INCLUDES and SVN_DB_LIBS, and add $(SVN_DB_LIBS) to SVN_RA_LIB_LINK for libsvn_ra_local. * Makefile.in Define SVN_DB_LIBS and @SVN_DB_INCLUDES@ to INCLUDES. 2001-06-07 19:56 Karl Fogel <kfogel@collab.net> * 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 (1.11): 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 `structure'. * 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 SVN_ERR_FS_NO_SUCH_REPRESENTATION. 2001-06-07 14:25 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_repos/reporter.c (1.9): * libsvn_repos/reporter.c (svn_repos_delete_path): Oops! FS functions take c-strings, not svn_string_t's. 2001-06-07 12:38 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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' dosen't.) * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * doc/user/manual/: adds.texi (1.2), removals.texi (1.4): More documentation on how adds and deletes work with versioned directories. 2001-06-06 10:45 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/tests/clients/cmdline/svn_test_main.py (1.10): (svn_binary): Point to new location of the `svn' binary. 2001-06-05 09:54 Karl Fogel <kfogel@collab.net> * README (1.13): Correct path to command line client code. 2001-06-05 09:52 Karl Fogel <kfogel@collab.net> * 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: README TODO checkout-cmd.c diff-cmd.c propget-cmd.c proplist-cmd.c props.c propset-cmd.c status-cmd.c trace-commit.c help-cmd.c diff.c import-cmd.c trace-update.c subversion_client.dsp commit-cmd.c update-cmd.c status.c add-cmd.c cl.h delete-cmd.c main.c util.c .cvsignore tests/svn-test.sh tests/svn-test2.sh tests/.cvsignore 2001-06-05 04:58 Greg Stein <gstein@lyra.org> * configure.in (1.90): Fix the installation process: it should copy, not move. Submitted by: Mo DeJong <mdejong@cygnus.com> 2001-06-04 18:34 Greg Stein <gstein@lyra.org> * configure.in (1.89), gen-make.py (1.19): *) configure.in: tweak the INSTALL macro again *) gen-make.py: in the INSTALL_INCLUDE lines, add $(top_srcdir) to the source file. Submitted by: Mo DeJong <mdejong@cygnus.com> 2001-06-04 17:06 Ben Collins-Sussman <sussman@collab.net> * Makefile.in (1.13): Allow design doc to build again. 2001-06-04 17:00 Ben Collins-Sussman <sussman@collab.net> * 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 <gstein@lyra.org> * configure.in (1.88): Fix typo in setting up the INSTALL program. Submitted by: Mo DeJong <mdejong@cygnus.com> 2001-06-04 11:55 C. Michael Pilato <cmpilato@collab.net> * 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 would. * libsvn_wc/status.c (assemble_status): Make new case for "replaced" entries. 2001-06-04 07:38 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * Makefile.in (1.12): more vpath work. bug fix for installation. Submitted by: Mo DeJong <mdejong@cygnus.com> 2001-06-04 02:41 Greg Stein <gstein@lyra.org> * .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, Makefile.in, ChangeLog*, .deps, tests.log 2001-06-04 02:24 Greg Stein <gstein@lyra.org> * subversion/Makefile.am (1.28), subversion/bindings/Makefile.am (1.2), subversion/bindings/guile/Makefile.am (1.2), subversion/bindings/java/Makefile.am (1.2), subversion/bindings/perl/Makefile.am (1.2), subversion/bindings/python/Makefile.am (1.2), subversion/bindings/ruby/Makefile.am (1.2), subversion/bindings/tcl/Makefile.am (1.2), subversion/libsvn_client/Makefile.am (1.16), doc/Makefile.am (1.4), expat-lite/Makefile.am (1.4), subversion/libsvn_delta/Makefile.am (1.19), subversion/libsvn_fs/Makefile.am (1.43), subversion/libsvn_ra/Makefile.am (1.2), subversion/libsvn_ra_dav/Makefile.am (1.12), subversion/libsvn_ra_local/Makefile.am (1.9), subversion/libsvn_repos/Makefile.am (1.5), subversion/libsvn_subr/Makefile.am (1.18), subversion/libsvn_wc/Makefile.am (1.29), subversion/mod_dav_svn/Makefile.am (1.18), subversion/svnadmin/Makefile.am (1.4), subversion/tests/Makefile.am (1.17), subversion/tests/libsvn_delta/Makefile.am (1.18), subversion/tests/libsvn_fs/Makefile.am (1.18), subversion/tests/libsvn_ra_local/Makefile.am (1.7), subversion/tests/libsvn_repos/Makefile.am (1.4), subversion/tests/libsvn_subr/Makefile.am (1.21), subversion/tests/libsvn_wc/Makefile.am (1.21): Bye bye, old automake system! 2001-06-04 02:23 Greg Stein <gstein@lyra.org> * STACK (1.91): ho fuggin ho 2001-06-04 01:55 Greg Stein <gstein@lyra.org> * Makefile.in (1.11), configure.in (1.87), gen-make.py (1.18): Add some logic for srcdir != builddir builds. * Makefile.in: rename mkinstalldirs symbol to MKDIR. build-outputs.mk 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. * configure.in: (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. * gen-make.py: in the output (build-outputs.mk): rename CLEAN_DIRS to BUILD_DIRS. rename mkinstalldirs to MKDIR. 2001-06-04 01:40 Greg Stein <gstein@lyra.org> * Makefile.in (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 <kfogel@collab.net> * subversion/tests/clients/cmdline/local_tests.py (1.9): Submitted by: Mike Sussman <msussman@collab.net>: (merge_from_wc_top): New test for merging. (test_list): Run it. 2001-06-01 18:18 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/tests/clients/cmdline/: local_tests.py (1.8), svn_test_main.py (1.9): Submitted by: Mike Sussman <msussman@collab.net>: * subversion/tests/clients/cmdline/local_test.py (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/svn_test_main.py (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 local_tests.py 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 local_tests.py list" which will actually list test numbers with their respective descriptions. 2001-06-01 17:34 Ben Collins-Sussman <sussman@collab.net> * www/project_status.html (1.22): New status page for June 1st. 2001-06-01 16:32 Greg Stein <gstein@lyra.org> * Makefile.in (1.9), build.conf (1.12), configure.in (1.86): Some tweaks towards making vpath builds work correctly. * Makefile.in: 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 * configure.in: 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 <cmpilato@collab.net> * subversion/libsvn_wc/: adm_ops.c (1.67), entries.c (1.105), log.c (1.97): * 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 all. (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 <kfogel@collab.net> * www/project_faq.html (1.3): Clarify/emphasize a few things. 2001-06-01 04:40 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/DESIGN-NOTES.txt (1.2): obsolete a LONG time ago 2001-06-01 04:06 Greg Stein <gstein@lyra.org> * Makefile.in (1.8): gah. stupid bug. 2001-06-01 03:47 Greg Stein <gstein@lyra.org> * Makefile.in (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 *.a). 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 <gstein@lyra.org> * Makefile.in (1.6), build.conf (1.11), gen-make.py (1.17): Bug fix for issue #397. Enable building of external libraries (e.g. Neon and APR). * Makefile.in: add "external-*" rules. Rename existing rules to "local-*". The new external rules depends upon the new macro EXTERNAL_PROJECT_DIRS. * build.conf: toss the [external] section; we can easily hard-code this stuff right into Makefile.in rather than process it via gen-make. * gen-make.py: remove 'external' from the predefined sections list. 2001-06-01 02:41 Greg Stein <gstein@lyra.org> * Makefile.in (1.5), build.conf (1.10), configure.in (1.85), gen-make.py (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 libsvn_ra.la, they automatically pull in the other libraries (ra_dav and the fs-based libs). * Makefile.in: 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). * gen-make.py: 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. * configure.in: 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 and SVN_RA_LIB_LINK. * svn-define-libs.m4: no longer used; removed. 2001-05-31 22:02 Brian Fitzpatrick <fitz@red-bean.com> * www/project_faq.html (1.2): typo. plate. plate o' typoes. 2001-05-31 21:54 Ben Collins-Sussman <sussman@collab.net> * www/project_nav.html (1.8): Fix separators on nav bar. 2001-05-31 18:36 Ben Collins-Sussman <sussman@collab.net> * www/: project_faq.html (1.1), project_nav.html (1.7): Added a FAQ to website. 2001-05-31 11:10 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 module...it'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 svn_wc__atts_to_entry. * 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 svn_wc__atts_to_entry. (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 removed. (svn_wc__entry_modify): New function for entry modification. * include/svn_error.h (SVN_ERR_WC_ENTRY_ATTRIBUTE_INVALID): New error type. 2001-05-30 06:33 Greg Stein <gstein@lyra.org> * Makefile.in (1.4), gen-make.py (1.15): * Makefile.in: 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. * gen-make.py: generate the TEST_DEPS macro 2001-05-30 06:26 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/tests/libsvn_wc/checkout-test.sh (1.14): no need for announcements; controlling script will handle that. 2001-05-30 06:05 Greg Stein <gstein@lyra.org> * subversion/tests/: libsvn_fs/run-fs-tests.sh (1.5), libsvn_repos/run-repos-tests.sh (1.2), libsvn_wc/checkout-test.sh (1.13): 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 <gstein@lyra.org> * build.conf (1.9), configure.in (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 <gstein@lyra.org> * subversion/mod_dav_svn/util.c (1.16): forgot that the return value of apr_uri_parse_components is different. 2001-05-30 02:53 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/util.c (1.15): compensate for recent move of URI parsing stuff 2001-05-29 20:47 Greg Stein <gstein@lyra.org> * Makefile.in (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 <gstein@lyra.org> * Makefile.in (1.2), build.conf (1.8), configure.in (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 <gstein@lyra.org> * gen-make.py (1.14): small tweak: move collection of target dirs to the first pass. 2001-05-29 20:29 Greg Stein <gstein@lyra.org> * gen-make.py (1.13): Simplifications: - 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 build_targets{} 2001-05-29 20:10 Greg Stein <gstein@lyra.org> * gen-make.py (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 problem. 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 <gstein@lyra.org> * ac-helpers/.cvsignore (1.4): more stuff not needed 2001-05-29 18:36 Greg Stein <gstein@lyra.org> * gen-make.py (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 <gstein@lyra.org> * ac-helpers/: .cvsignore (1.3), install.sh (1.1): add an install.sh to shut up configure. we don't actually use this; we use apr/build/install.sh. 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 <sussman@collab.net> * notes/alpha_short (1.7): Promote 'svn cleanup' to an M3 requirement. 2001-05-29 13:25 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * NEWS (1.2): De-obsolesce this file. 2001-05-28 02:25 Daniel Stenberg <daniel@haxx.se> * autogen.sh (1.40): Added a check for that gen-make.py 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 by: 2001-05-27 18:38 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * configure.in (1.82): Be more direct about where people can find Berkeley DB. Submitted by: Mo DeJong <mdejong@cygnus.com> 2001-05-25 05:17 Greg Stein <gstein@lyra.org> * gen-make.py (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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <gstein@lyra.org> * .cvsignore (1.8), Makefile.in (1.1), autogen.sh (1.39), build.conf (1.7), configure.in (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 * autogen.sh: remove the automake stuff. use apr/build/buildcheck.sh for a bit of safety. handle setting up libtool ourselves (rather than using automake to do it). run gen-make.py to create build-outputs.mk. * build.conf: add the libexpat and path-test projects * configure.in: 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 <gstein@lyra.org> * gen-make.py (1.9): Add optional header dependency generation. It runs by default, but can be disabled by passing -s on the command line to gen-make.py. 2001-05-23 16:14 Ben Collins-Sussman <sussman@collab.net> * 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 modified. 2001-05-23 15:46 Ben Collins-Sussman <sussman@collab.net> * 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 manner. 2001-05-23 14:49 Ben Collins-Sussman <sussman@collab.net> * 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/local_tests.py (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 removed. (TODO: add a -f (force) flag option to recursively nuke the dir itself.) 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 function. (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 area. (svn_wc__run_log): at the very end, after removing the logfile, check for a 'KILLME' file and possibly run svn_wc_remove_from_revision_control(). * wc.h (SVN_WC__ADM_KILLME): new #define filename. (svn_wc__adm_path_exists): declare. 2001-05-22 16:47 Karl Fogel <kfogel@collab.net> * 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 <joe@light.plus.com> * 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 <sussman@collab.net> * PORTING (1.5): update freebsd info. 2001-05-22 07:08 Greg Stein <gstein@lyra.org> * build.conf (1.6), gen-make.py (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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 you. 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <gstein@lyra.org> * gen-make.py (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 <gstein@lyra.org> * build.conf (1.5), gen-make.py (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 <gstein@lyra.org> * build.conf (1.4), gen-make.py (1.5): add the last bits for static mod_dav_svn installs 2001-05-20 05:41 Greg Stein <gstein@lyra.org> * build.conf (1.3), gen-make.py (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 <gstein@lyra.org> * gen-make.py (1.3): Refactor the collection of files from a set of file patterns. 2001-05-19 17:58 Greg Stein <gstein@lyra.org> * build.conf (1.2), gen-make.py (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 * gen-make.py: 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 <gstein@lyra.org> * .cvsignore (1.7), build.conf (1.1), gen-make.py (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. gen-make.py will be run by autogen.sh to produce build-outputs.mk, which contains the processed build.conf. (only developers run this; users will receive an already-built build-outputs.mk) The build-outputs.mk file will be included by the main/only Makefile. The Makefile will be produced from a Makefile.in by the configure process and include config-specific information, build rules, etc. * build.conf: initial checkin. first draft of build spec/configuration. * gen-make.py: 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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/Makefile.am (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 argument. * 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' directive...) * 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 changed. * 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 target-related). * tests/libsvn_subr/.cvsignore Ignore new path-test binary. * tests/libsvn_subr/Makefile.am Added new path-test binary to build/check. 2001-05-17 15:57 C. Michael Pilato <cmpilato@collab.net> * subversion/: libsvn_client/add.c (1.12), libsvn_wc/adm_ops.c (1.59): 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 <cmpilato@collab.net> * 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 output). * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/: local_tests.py (1.6), svn_test_main.py (1.8): Start writing python tests for updates. These tests are the most complex, since they also imply doing a checkout and a commit beforehand. * local_tests.py (duplicate_wc): new helper -- copy with some intelligence. (run_and_verify_update): new utility for update tests -- three ways of verifying! (update_from_wc_top): first in a series of update tests. * svn_test_main.py (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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/: include/svn_path.h (1.35), libsvn_subr/target.c (1.7): 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * notes/alpha_short (1.5): Clean up, move deltification into M3 reqs (hope ppl agree?). 2001-05-15 16:03 Karl Fogel <kfogel@collab.net> * www/project_status.html (1.21): Fix date. 2001-05-15 16:02 Karl Fogel <kfogel@collab.net> * www/project_status.html (1.20): Bring status up-to-date. 2001-05-15 15:57 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.28): Update milestone 2 dates. 2001-05-15 15:39 Karl Fogel <kfogel@collab.net> * subversion/: Makefile.am (1.27), libsvn_repos/delta.c (1.47) (utags: milestone-2): * Makefile.am (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 warning. 2001-05-15 13:53 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/local_tests.py (1.5, milestone-2): 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 <sussman@collab.net> * 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 report_local_mods(). 2001-05-15 12:02 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_client/commit.c (1.43): * client/Makefile.am Temporarily link with libsvn_test while testing commit editor. * libsvn_client/commit.c (send_to_repos): Temporarily use a test editor while testing commits. 2001-05-15 11:25 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/svn_test_main.py (1.7, milestone-2): Add check for minimum python version. 2001-05-15 10:55 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/local_tests.py (1.4): (commit_multiple_targets): new python test. vewy twicky. 2001-05-15 10:20 Ben Collins-Sussman <sussman@collab.net> * 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 <gstein@lyra.org> * 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 <juergen.erhard@gmx.net> 2001-05-12 15:13 Greg Stein <gstein@lyra.org> * subversion/libsvn_wc/: adm_crawler.c (1.101), entries.c (1.100, milestone-2): 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 <sussman@collab.net> * subversion/tests/clients/cmdline/local_tests.py (1.3): Start writing python tests for multi-target commits. We're gonna need 'em. :) * local_test.py (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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 repository. 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 <rassilon@lyra.org> * subversion/libsvn_subr/libsvn_subr.dsp (1.7, milestone-2): * subversion/libsvn_subr/libsvn_subr.dsp: Remove keysort.c. Add sorts.c. 2001-05-11 02:24 Karl Fogel <kfogel@collab.net> * 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 separator. (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 <kfogel@collab.net> * subversion/libsvn_subr/sorts.c (1.2, milestone-2): (svn_sort_compare_as_paths): Dereference correctly. 2001-05-11 00:49 Ben Collins-Sussman <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 deleted. * 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 function. 2001-05-11 00:03 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.96): saving work, in process of debugging this new code. 2001-05-10 22:24 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_subr/: target-test.c (1.7), target-test.sh (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. * target-test.sh: Adjust for new behavior of svn_path_condense_targets. 2001-05-10 22:21 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 behavior. * 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 error-handling. 2001-05-10 21:17 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 targets. -- NOTICE: THIS COMMIT TEMPORARILY BREAKS THE BUILD! -- * 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 atomicity. (do_dir_closures): new helper func, much the opposite of do_dir_replaces(). (examine_and_report_entry): new helper func, contains all of the main entry-examining logic that used to live in report_local_mods(). (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 examine_and_report_entry(). * 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 paths. * commit.c: random block of code hanging in space for Karl to look at. 2001-05-10 18:43 Karl Fogel <kfogel@collab.net> * subversion/include/svn_sorts.h (1.3, milestone-2): (svn_sort_compare_strings_as_paths): Doc fix. 2001-05-10 18:42 Karl Fogel <kfogel@collab.net> * subversion/include/svn_sorts.h (1.2): (svn_sort_array_header): Removed obsolete declaration. 2001-05-10 18:40 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_hash.h (1.16, milestone-2), include/svn_sorts.h (1.1), libsvn_subr/Makefile.am (1.17, milestone-2), libsvn_subr/keysort.c (1.10), libsvn_subr/sorts.c (1.1): 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. * Makefile.am (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, too. * 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 <brane@xbc.nu> * PORTING (1.4, milestone-2): Update sparc-sun-solaris2.6. 2001-05-10 13:40 Greg Stein <gstein@lyra.org> * STACK (1.90, milestone-2): anyone have a wet noodle? I have a date with Karl... 2001-05-10 12:00 Bill Tutt <rassilon@lyra.org> * subversion/libsvn_fs/fs.c (1.43, milestone-2): * subversion/libsvn_fs/fs.c: (svn_fs_delete_berkeley) Use APR_STATUS_IS_ENOENT instead of APR_ENOENT. 2001-05-10 11:59 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/libsvn_fs.dsp (1.11, strings-reps-dev-done, milestone-2): * libsvn_fs/libsvn_fs.dsp Added proplist.c and proplist.h to Win32 build. 2001-05-09 18:13 C. Michael Pilato <cmpilato@collab.net> * 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 transaction. * 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 accurate). 2001-05-09 17:27 Branko Cibej <brane@xbc.nu> * subversion/: svnadmin/svnadmin.dsp (1.2), tests/libsvn_repos/tests_libsvn_repos_test.dsp (1.2) (utags: milestone-2): Link with libdb32d.lib in Win32 Debug builds. 2001-05-09 16:23 Greg Stein <gstein@lyra.org> * STACK (1.88): cuz the Candy Man can... 2001-05-09 16:22 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/: strings-table.c (1.3), strings-table.h (1.3): 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 <cmpilato@collab.net> * subversion/: include/svn_fs.h (1.80, milestone-2), libsvn_fs/Makefile.am (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 (1.76): * libsvn_fs/proplist.h * libsvn_fs/proplist.c New files, with functions for manipulating PROPLIST skels. * libsvn_fs/Makefile.am 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 transaction. (get_proplist_from_txn_skel, get_ids_from_txn_skel): Helper functions. (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 changed. (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 proplist.c. * libsvn_fs/tree.c (txn_body_node_prop, txn_body_node_proplist, txn_body_change_node_prop): Use new related proplist functions in proplist.c. * libsvn_fs/dag.c * libsvn_fs/txn.c Miscellaneous calls to old svn_fs__get_txn changed to svn_fs__get_txn_ids. * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/libsvn_fs/libsvn_fs.dsp (1.10): Added strings-table.[ch] to project. 2001-05-09 15:00 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/: include/svn_error.h (1.100, milestone-2), libsvn_fs/Makefile.am (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. * Makefile.am (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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/local_tests.py (1.2): (run_and_verify_checkout): start comparing stdout of 'co' again. 2001-05-09 05:29 Bill Tutt <rassilon@lyra.org> * 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), subversion/tests/libsvn_subr/tests_libsvn_subr_target_test.dsp (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 tests_libsvn_subr_target_test. * subversion/tests/libsvn_subr/tests_libsvn_subr_target_test.dsp: New project. * subversion/tests/libsvn_repos/tests_libsvn_repos_test.dsp: New project. * subversion/tests/libsvn_fs/skel-test.c: Use casts instead of changing the type. 2001-05-09 03:43 Joe Orton <joe@light.plus.com> * subversion/svnadmin/main.c (1.11, milestone-2): * svnadmin.c (usage): Spelling fix. 2001-05-09 03:12 Greg Stein <gstein@lyra.org> * tools/cvs2svn/cvs2svn.py (1.1, milestone-2): Check in some work from the weekend... (note: rcsparse.py can be found in ViewCVS' cvs repository) 2001-05-08 19:30 Bill Tutt <rassilon@lyra.org> * 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 tests_libsvn_fs_fs. * svn_config.dsp: Remove non-existant sw_private_config.hw.in from .dsp. * 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 file. * subversion/tests/libsvn_delta/deltaparse-test.c, subversion/tests/libsvn_wc/commit-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 <kfogel@collab.net> * subversion/libsvn_repos/reporter.c (1.7, milestone-2): Fix sense of check from previous change. 2001-05-08 15:39 Karl Fogel <kfogel@collab.net> * 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 path. * adm_crawler.c (svn_wc_crawl_revisions): Pass empty string, not null. 2001-05-08 15:16 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_wc.h (1.92), libsvn_wc/get_editor.c (1.180), libsvn_wc/props.c (1.30, milestone-2): Fix http://subversion.tigris.org/issues/show_bug.cgi?id=381: * 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 below. * 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 <cmpilato@collab.net> * 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 libsvn_tests_main). * svn_private_config.hw (SVN_VERSION, SVN_LIBSVN_CLIENT_LINKS_RA_LOCAL): Added these #defines. * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 dongle.) 2001-05-08 08:42 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * HACKING (1.29): Changed reference to 'config.hw' for building under win32. 2001-05-07 18:52 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_types.h (1.62, milestone-2), libsvn_wc/get_editor.c (1.179): * svn_types.h (SVN_PROP_PREFIX): New #define. (SVN_PROP_REVISION_LOG, SVN_PROP_WC_PREFIX): Define using ## 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 <kfogel@collab.net> * www/: index.html (1.26), project_status.html (1.19, milestone-2): Patch from Michael Salmon <ms@collab.net> to make the logo show up. 2001-05-06 15:36 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.25): Make mailing-list link work. 2001-05-06 15:33 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.24): Make the doc link work. 2001-05-06 15:31 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.23): urg, flutz with href syntax. :( 2001-05-06 15:28 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.22): Update front page. 2001-05-05 07:08 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <brane@xbc.nu> * notes/alpha_checklist (1.13, milestone-2): Formatting fix. 2001-05-04 21:04 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * notes/alpha_checklist (1.11): Annotated with my comments, as per Karl's request. Finally. 2001-05-04 18:35 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: README (1.4, milestone-2), local_tests.py (1.1), svn_test_main.py (1.6), svn_tree.py (1.3, milestone-2): 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 <cmpilato@collab.net> * subversion/libsvn_repos/delta.c (1.46): * libsvn_repos/delta.c (svn_repos_update): Doh! *Now* it doesn't depend on svn_repos_dir_delta. 2001-05-04 12:12 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/mod_dav_svn/: dav_svn.h (1.33), repos.c (1.50) (utags: milestone-2): 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 field. (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 <gstein@lyra.org> * 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 end-element. 2001-05-04 06:26 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 function. 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 handling. 2001-05-04 05:22 Branko Cibej <brane@xbc.nu> * notes/fs-improvements.txt (1.9, milestone-2): Fix typos. 2001-05-04 04:22 Greg Stein <gstein@lyra.org> * 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 property. (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 revision. * 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 param. 2001-05-04 04:06 Greg Stein <gstein@lyra.org> * 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 erroring. * update.c (upd_set_target_revision): add namespaces to opening element. (...) use new DIR_OR_FILE() macro throughout. use DEBUG_CR throughout. (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 <gstein@lyra.org> * subversion/mod_dav_svn/Makefile.am (1.17, milestone-2): Get an xmlexpat.h header for svn_xml.h Submitted by: Daniel Stenberg <daniel@haxx.se> 2001-05-03 18:40 Karl Fogel <kfogel@collab.net> * 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 <brane@xbc.nu> * notes/fs-improvements.txt (1.8): Added notes on delta composition and delta storage. 2001-05-03 13:18 Ben Collins-Sussman <sussman@collab.net> * 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 paths. 2001-05-01 16:59 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * www/project_members.html (1.13): Add cmpilato. 2001-04-27 23:46 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 thing. * 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 crawl. * 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 return. * 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 paths. (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 all). (close_edit): Only bump revisions of updated directories, not updated files, and nothing in the checkout case. * client/tests/svn-test2.sh Changed update commands to be called from inside the t1 working copy directory. 2001-04-27 01:41 C. Michael Pilato <cmpilato@collab.net> * 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 <gstein@lyra.org> * 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 function. (find_oldest_pool_ancestor): use new apr_pool_get_parent function. (svn_pool_clear_debug): use apr_pool_num_bytes rather than svn_pool_get_size. (svn_pool_destroy_debug): use apr_pool_num_bytes 2001-04-26 20:14 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: svn_output.py (1.8), svn_tree.py (1.2), svn_wc.py (1.2): Remove svn_output.py and svn_tree.py; consolidate them all into svn_tree.py. Things are cleaner and simpler this way, and more non-exported helpers can be shared. 2001-04-26 16:14 C. Michael Pilato <cmpilato@collab.net> * subversion/: include/svn_path.h (1.32), libsvn_subr/path.c (1.34): * 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 svn_path_is_thisdir. 2001-04-26 16:13 C. Michael Pilato <cmpilato@collab.net> * 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 <gstein@lyra.org> * 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 <brane@xbc.nu> * HACKING (1.28): db-3.2.9 Win32 binary is available now. 2001-04-26 10:33 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/: README (1.3), example_tests1.py (1.3, milestone-2), svn_output.py (1.7), svn_test_main.py (1.5), svn_tree.py (1.1), svn_wc.py (1.1), xml_tests.py (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. * svn_tree.py: new file, general code for creating trees. Mucho code from Sam TH <sam@uchicago.edu>, and lots of hacking from sussman. * svn_wc.py: code to convert a working copy to a tree. * svn_output.py: code to convert svn subcommand output into a tree. * xml_tests.py: half-baked code, don't touch yet, on hold. * svn_test_main.py: a few additions from Sam TH allow us to run svnadmin and create an empty repos. * example_tests.py: make test1() use compare_trees() as a demo. 2001-04-24 18:18 Greg Stein <gstein@lyra.org> * 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/Makefile.am (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/Makefile.am (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 broken. * 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 util.c::svn_ra_dav__copy_href (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 buffer (svn_ra_dav__copy_ref): new declaration * dav_svn.h (dav_svn__update_report, dav_svn_find_ns): new declarations (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/Makefile.am: add util.c and Expat includes * mod_dav_svn/Makefile.am: add update.c 2001-04-24 14:19 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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_string_t. (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 svn_string_t. * 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 <kfogel@collab.net> * autogen.sh (1.38, milestone-2): Put Neon URL in a variable, since we use it in more than one place. Thanks to Mo DeJong <mdejong@cygnus.com> for the patch. 2001-04-22 08:31 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/.cvsignore (1.1, milestone-2): Please ignore .pyc files 2001-04-19 21:28 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/adm_files.c (1.75): (svn_wc__open_props): doh! typo fix. 2001-04-19 21:22 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <kevin@pilch-bisson.net> * subversion/tests/: libsvn_delta/Makefile.am (1.17, milestone-2), libsvn_delta/deltaparse-test.c (1.67), libsvn_subr/Makefile.am (1.19, milestone-2), libsvn_wc/Makefile.am (1.20, milestone-2), libsvn_wc/commit-test.c (1.26): Renable (dynamic) building of the test tree. * tests/libsvn_subr/Makefile.am - Add @SVN_LIBSVN_FS_LIBS@ if building the filesystem. (This is because of the new fs-helpers.c in libsvn_test.la) * tests/libsvn_delta/Makefile.am - Add @SVN_LIBSVN_FS_LIBS@ if building the filesystem. (This is because of the new fs-helpers.c in libsvn_test.la) * tests/libsvn_wc/Makefile.am - Add @SVN_LIBSVN_FS_LIBS@ if building the filesystem. (This is because of the new fs-helpers.c in libsvn_test.la) * tests/libsvn_delta/deltaparse-test.c - Add empty definition of test_funcs variable, required by the new combined libsvn_test.la * tests/libsvn_wc/commit-test.c - Add empty definition of test_funcs variable, required by the new combined libsvn_test.la 2001-04-18 13:14 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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. (SVN_WC__ADM_WCPROPS, SVN_WC__ADM_DIR_WCPROPS): new administrative files to hold wc-props. (svn_wc__wcprop_path): new func to get path to wcprops/foo or dir-wcprops. (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 dir-wcprops. * 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 <kevin@pilch-bisson.net> * 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 <cmpilato@collab.net> * subversion/mod_dav_svn/: Makefile.am (1.15), merge.c (1.6): * mod_dav_svn/merge.c (dav_svn__merge_response): Renamed use of svn_fs_dir_delta to svn_repos_dir_delta. * mod_dav_svn/Makefile.am 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 <sussman@collab.net> * 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 <kfogel@collab.net> * notes/multi-args.txt (1.3): Clarify. 2001-04-17 16:50 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_repos/.cvsignore (1.1, milestone-2): Another file missed in checkin...geepers. 2001-04-17 16:48 C. Michael Pilato <cmpilato@collab.net> * subversion/tests/libsvn_repos/: .cvsignore (1.1, milestone-2), repos-test.c (1.1), run-repos-tests.sh (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/run-repos-tests.sh Edited copy of tests/libsvn_fs/run-fs-tests.sh. 2001-04-17 16:17 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * configure.in (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/Makefile.am (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/Makefile.am (1.3, milestone-2): More changes toward getting the libsvn_repos and libsvn_fs thingamabobs straightened out. * configure.in (FS_BASED_TESTS): Add libsvn_repos to list of filesystem-based tests. (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 check_greek_tree_under_root. * 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/Makefile.am * subversion/tests/libsvn_repos/Makefile.am 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 <gstein@lyra.org> * subversion/libsvn_subr/svn_error.c (1.61): Print the parent pool while debugging. 2001-04-17 15:07 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_local/Makefile.am (1.8, milestone-2): Make sure to grab libsvn_repos, too, when building dynamically. 2001-04-17 14:54 C. Michael Pilato <cmpilato@collab.net> * subversion/: include/svn_fs.h (1.78), include/svn_repos.h (1.3), libsvn_fs/Makefile.am (1.40), libsvn_fs/delta.c (1.40), libsvn_fs/tree.c (1.71), libsvn_repos/Makefile.am (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/Makefile.am * libsvn_repos/Makefile.am (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 point. * 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 <cmpilato@collab.net> * configure.in (1.79), subversion/libsvn_fs/delta.c (1.39), subversion/libsvn_repos/delta.c (1.39), subversion/tests/Makefile.am (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/Makefile.am (1.16), subversion/tests/libsvn_fs/Makefile.am (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/Makefile.am (1.6, milestone-2), subversion/tests/libsvn_repos/Makefile.am (1.2), subversion/tests/libsvn_subr/Makefile.am (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/Makefile.am (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. * configure.in (SVN_TESTS_MAIN_LIBS): Got rid of separate SVN_TESTS_EDITOR_LIBS, merging it into SVN_TESTS_MAIN_LIBS. (BUILD_FS_STUFF): New automake conditional for use in tests/Makefile.am * 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/Makefile.am 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 nonsense. (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/Makefile.am * subversion/tests/libsvn_fs/Makefile.am * subversion/tests/libsvn_ra_local/Makefile.am * subversion/tests/libsvn_repos/Makefile.am * subversion/tests/libsvn_ra_local/Makefile.am * subversion/tests/libsvn_wc/Makefile.am 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 "svn_test__") 2001-04-17 05:51 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 function. * 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 14.1.3.1.7.1 is not a child of 14.1. * libsvn_fs/id.h (svn_fs__is_parent): removed declaration 2001-04-16 18:53 Greg Stein <gstein@lyra.org> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * notes/fs-improvements.txt (1.4): Chop chop. Don't read this. I mean it. 2001-04-16 17:58 Karl Fogel <kfogel@collab.net> * notes/alpha_checklist (1.10): Formatting fix. 2001-04-16 17:58 Karl Fogel <kfogel@collab.net> * notes/fs-improvements.txt (1.3): Brain dump, still not done. 2001-04-16 17:34 Karl Fogel <kfogel@collab.net> * notes/fs-improvements.txt (1.2): Put not-yet-ready notice at top. 2001-04-16 17:30 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/: svn_output.py (1.6), xml_tests.py (1.2): * svn_output.py (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_tests.py (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 <sussman@collab.net> * configure.in (1.78): BugFix: library dependency ordering within variable. 2001-04-16 15:52 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_repos.h (1.2), libsvn_ra_local/Makefile.am (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/Makefile.am (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/Makefile.am: build reporter.c * libsvn_ra_local/Makefile.am: stop building update.c 2001-04-16 14:58 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_repos/Makefile.am (1.1): Adding libsvn_repos test area 2001-04-16 14:15 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_repos/Makefile.am (1.2): Bugfix from gstein 2001-04-16 14:14 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_repos.h (1.1): Oops, forgot to add this file. 2001-04-16 13:31 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.77), subversion/include/svn_fs.h (1.76), ac-helpers/svn-define-libs.m4 (1.3, milestone-2), subversion/libsvn_fs/Makefile.am (1.39), subversion/libsvn_fs/editor.c (1.37), subversion/libsvn_ra_local/ra_plugin.c (1.28), subversion/libsvn_repos/Makefile.am (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, Makefile.am: new files * libsvn_repos/commit_editor.c: renamed from plain 'editor.c' in libsvn_fs. (svn_repos_get_editor): newly prefixed name. also, remove unnecessary svn_fs__check_fs() call. * svn_repos.h (svn_repos_get_editor, svn_repos_commit_hook_t): new file, move declarations in here with new 'svn_repos' name prefixes. * svn_fs.h (svn_fs_get_editor, svn_fs_commit_hook_t): remove old declarations. * configure.in (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/Makefile.am: 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 suite. 2001-04-16 10:42 Ben Collins-Sussman <sussman@collab.net> * www/project_status.html (1.17): Updating status page. 2001-04-16 08:00 Greg Stein <gstein@lyra.org> * 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 flag. * 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 <gstein@lyra.org> * 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 elements (handle_resource): relax a check because the server is taking short cuts (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 context 2001-04-16 07:35 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_ra_dav/: commit.c (1.47), merge.c (1.3): Bug fixes. * commit.c (checkout_resource): add some error returns, clarify another. * merge.c (svn_ra_dav__merge_activity): fix XML request 2001-04-16 06:31 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/version.c (1.24): sync with latest dav_hooks_vsn 2001-04-16 05:35 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 ROOT_COLLECTION * 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 <gstein@lyra.org> * subversion/libsvn_fs/id.c (1.22): The distance from 4.1 to 4.1.8.1 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 <gstein@lyra.org> * 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 implementation. (dav_svn__merge_response): handle some error conditions. 2001-04-16 01:57 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/: svn_test_main.py (1.4), xml_tests.py (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. :) * svn_test_main.py (remove_wc): new utility func. (file_append): new utility func * xml_tests.py: new tests! 2001-04-15 18:28 Greg Stein <gstein@lyra.org> * 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 callers. * merge.c: mucho new code. 2001-04-15 18:25 Greg Stein <gstein@lyra.org> * 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 resource. * dav_svn.h (dav_svn_build_uri): alter declaration. change all callers. * util.c (dav_svn_build_uri): use new param structure 2001-04-15 17:35 Greg Stein <gstein@lyra.org> * 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 zeroed. 2001-04-15 17:27 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/svn_output.py (1.5): (compare_line_lists): bugfix, this routine now works. 2001-04-15 07:16 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/: Makefile.am (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 file). * merge.c: new file. implements new function -- dav_svn__merge_response * Makefile.am: 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 <gstein@lyra.org> * subversion/tests/clients/cmdline/svn_output.py (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 <sussman@collab.net> * subversion/tests/clients/cmdline/svn_output.py (1.3): Some patches from gstein. Module still not debugged yet. 2001-04-14 06:00 Greg Stein <gstein@lyra.org> * 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 processing. * 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 svn_ra_dav__merge_activity * ra_dav.h (svn_ra_dav__merge_activity): add new params (ENUM_baseline): new enumerated constant 2001-04-14 05:52 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 non-const) 2001-04-14 05:47 Greg Stein <gstein@lyra.org> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/svn_output.py (1.2): (svn_output.compare_line_lists): saving work, new untested func 2001-04-12 18:48 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/: README (1.2), svn_output.py (1.1): Adding more shared routines 2001-04-12 14:55 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/: svn-dev.el (1.6), tests/clients/cmdline/example_tests1.py (1.2), tests/clients/cmdline/svn_entry.py (1.4, milestone-2), tests/clients/cmdline/svn_test_main.py (1.3): * svn-dev.el: Set up python mode defaults for Subversion. * svn_entry.py, svn_test_main.py, example_tests1.py: Load svn-dev.el. 2001-04-12 10:01 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/svn_entry.py (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 <sussman@collab.net> * subversion/tests/clients/cmdline/svn_entry.py (1.2): Correctly object-orient this script, as suggested by gstein. 2001-04-12 04:01 C. Michael Pilato <cmpilato@collab.net> * subversion/: libsvn_subr/svn_error.c (1.59), include/svn_error.h (1.98): * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/: libsvn_fs/delta.c (1.38), libsvn_repos/delta.c (1.38): * 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 <sussman@collab.net> * subversion/: libsvn_fs/delta.c (1.37), libsvn_repos/delta.c (1.37): (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 <sussman@collab.net> * subversion/tests/clients/cmdline/: svn_entry.py (1.1), svn_test_main.py (1.2): New python script: implements get_entries() using expat. 2001-04-10 10:33 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/tests/clients/cmdline/: client_test.py (1.4), common.sh (1.2), example_tests1.py (1.1), svn_test_main.py (1.1): Modularize the main testing function, and provide a sample template script. 2001-04-10 07:18 Lee P. W. Burgess <lefty@red-bean.com> * subversion/tests/clients/cmdline/client_test.py (1.3): * subversion/subversion/tests/client/cmdline/client_test.py Changed shebang line to python recommended #!/usr/bin/env python 2001-04-09 21:11 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/client_test.py (1.2): Filling stuff out. 2001-04-09 20:22 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/clients/cmdline/client_test.py (1.1): Woop, there it is. 2001-04-09 13:44 C. Michael Pilato <cmpilato@collab.net> * www/project_status.html (1.16): I'm late, I'm late, for a very important _______. 2001-04-09 13:02 C. Michael Pilato <cmpilato@collab.net> * www/project_status.html (1.15): A little more filling in my donut, please 2001-04-09 11:01 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 comparison. * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 string. 2001-04-09 09:33 Daniel Stenberg <daniel@haxx.se> * 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 <sussman@collab.net> * notes/alpha_short (1.2): tweaks 2001-04-06 14:58 Ben Collins-Sussman <sussman@collab.net> * notes/alpha_short (1.1): Very short summary of alpha_checklist. 2001-04-06 13:19 Brian Fitzpatrick <fitz@red-bean.com> * notes/alpha_checklist (1.9): Added notes from the meeting on the 5th. 2001-04-05 14:45 Ben Collins-Sussman <sussman@collab.net> * notes/alpha_checklist (1.8): Checking in notes/agenda for ongoing discussions in SF this week. 2001-04-05 14:16 Ben Collins-Sussman <sussman@collab.net> * 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 <mitch@lbcons.net>. 2001-04-04 16:38 C. Michael Pilato <cmpilato@collab.net> * subversion/: libsvn_client/commit.c (1.35), libsvn_fs/delta.c (1.35), libsvn_ra_local/checkout.c (1.7), libsvn_repos/delta.c (1.35): * 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 <gstein@lyra.org> * 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 <kevin@pilch-bisson.net> * 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 it. * client/add-cmd.c - handle a return of SVN_ERR_WC_ENTRY_EXISTS as a warning 2001-04-03 05:29 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/: Makefile.am (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. * Makefile.am: add merge.c file * commit.c (commit_close_edit): add call to svn_ra_dav__merge_activity * options.c, props.c: move ELEM_* element defintions to ra_dav.h * ra_dav.h: add ELEM_* element definitions. add declaration of svn_ra_dav__merge_activity(). * merge.c (svn_ra_dav__merge_activity): new file. initial implementation 2001-04-02 21:16 Brian Fitzpatrick <fitz@red-bean.com> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.68): Add comment about solution to merging problem. 2001-04-02 09:47 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * subversion/: libsvn_client/add.c (1.9), libsvn_wc/entries.c (1.92): 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 <cmpilato@collab.net> * 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 loop. 2001-03-30 15:33 Ben Collins-Sussman <sussman@collab.net> * 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 *first*! 2001-03-30 15:07 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * notes/alpha_checklist (1.7): Reorganized this list into 3 broad categories. 2001-03-30 14:26 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * notes/post-m2-mtg-agenda.txt (1.1): Appx agenda for meeting next week. 2001-03-30 13:32 Ben Collins-Sussman <sussman@collab.net> * configure.in (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 * configure.in (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 <sussman@collab.net> * configure.in (1.75): * configure.in (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 <sussman@collab.net> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_ra_dav/commit.c (1.41): Continued work on committing. PUT is now enabled (and the MKACTIVITY and CHECKOUT processes are working). (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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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) data. 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 it * version.c (dav_svn_checkout): use the correct root (the txn root) 2001-03-29 17:41 Jim Blandy <jimb@redhat.com> * 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 <cmpilato@collab.net> * 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 (1.145): * 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 accordingly. * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <daniel@haxx.se>. 2001-03-29 09:24 Ben Collins-Sussman <sussman@collab.net> * notes/dav_setup.txt (1.5): Add permissions note. 2001-03-29 08:07 Ben Collins-Sussman <sussman@collab.net> * notes/auth_proposal.txt (1.1, milestone-2): An idea for an auth system. 2001-03-29 07:34 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_ra_dav/fetch.c (1.49): Store the version URL for the collections, too. 2001-03-29 05:52 Greg Stein <gstein@lyra.org> * 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 slash. 2001-03-29 05:36 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/options.c (1.2): Remove some debugging stuff that was accidentally left in. 2001-03-29 04:52 Greg Stein <gstein@lyra.org> * 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 log_msg (create_activity): use the get_func to fetch the activity_url (svn_ra_dav__get_commit_editor): store the callbacks, close_baton, log_msg 2001-03-29 04:23 Greg Stein <gstein@lyra.org> * 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 argument * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 (1.29): 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 <gstein@lyra.org> * subversion/libsvn_ra_dav/ra_dav.h (1.17): whoops. one more change for latest RA interface. 2001-03-28 18:05 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/fetch.c (1.48): sync with latest RA change 2001-03-28 18:02 Greg Stein <gstein@lyra.org> * 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 work. * ra_dav.h (svn_ra_dav__get_latest_revnum): new declaration * session.c (dav_plugin): add svn_ra_dav__get_latest_revnum into its slot * fetch.c (svn_ra_dav__get_latest_revnum): new function 2001-03-28 17:52 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_wc.h (1.85), libsvn_client/Makefile.am (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/Makefile.am (libsvn_client_la_SOURCES): Removed import.c. * libsvn_client/commit.c (import): New internal func, was svn_wc_import. 2001-03-28 17:49 Ben Collins-Sussman <sussman@collab.net> * 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. Unrelated: (get_common_path): remove this cruft, Kevin Pilch-Bisson wrote the real thing. 2001-03-28 17:39 Karl Fogel <kfogel@collab.net> * 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 SVN_ERR_CL_ADM_DIR_RESERVED. 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, see PR: 340 and these dev mails <20010328114611.A20048@pilch-bisson.net> <86ae65kdxt.fsf@newt.ch.collab.net> <20010328123804.A20221@pilch-bisson.net> <864rwdkban.fsf@newt.ch.collab.net> I haven't closed the PR yet, as there may be more to this issue. 2001-03-28 17:20 Greg Stein <gstein@lyra.org> * STACK (1.87): clean up 2001-03-28 16:45 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_client/Makefile.am (1.14), libsvn_client/import.c (1.1), libsvn_wc/Makefile.am (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/Makefile.am (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/Makefile.am (libsvn_client_la_SOURCES): Added import.c. 2001-03-28 15:56 Ben Collins-Sussman <sussman@collab.net> * 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 necessary. 2001-03-28 15:50 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * notes/alpha_checklist (1.5): More things to discuss next week. 2001-03-28 12:38 Ben Collins-Sussman <sussman@collab.net> * notes/alpha_checklist (1.4): Add another optimization to-do. 2001-03-28 12:23 Ben Collins-Sussman <sussman@collab.net> * notes/dav_setup.txt (1.4): Add extra FreeBSD note. 2001-03-28 11:40 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * subversion/svnadmin/main.c (1.6): (usage): Declare static. 2001-03-28 07:38 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * subversion/tests/libsvn_subr/: target-test.c (1.3), target-test.sh (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 platforms. 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 safe. 2001-03-28 07:28 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * subversion/svnadmin/Makefile.am (1.3, milestone-2): Let svnadmin be installed when make install is run 2001-03-28 05:58 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_ra_dav/: Makefile.am (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 * Makefile.am: add new file (options.c) 2001-03-28 04:53 Greg Stein <gstein@lyra.org> * 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 value 2001-03-28 04:52 Greg Stein <gstein@lyra.org> * 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 activity-collection-set. * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/Makefile.am (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 <gstein@lyra.org> * configure.in (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 <gstein@lyra.org> * www/testing-goals.html (1.1, milestone-2): Draft document of goals for an automated test suite. Submitted by: Mo DeJong <mdejong@cygnus.com> 2001-03-27 22:29 Greg Stein <gstein@lyra.org> * configure.in (1.73): no more tests/libsvn_ra_dav 2001-03-27 21:36 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/import.c (1.2), tests/libsvn_fs/fs-test.c (1.68): 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/tests/libsvn_fs/fs-test.c (1.67): (test_funcs): Comment out dir_deltas now, so make check doesn't hang. 2001-03-27 20:09 Karl Fogel <kfogel@collab.net> * 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. So: * 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 <kfogel@collab.net> * subversion/tests/svn_tests_main.c (1.18): (do_test_num): Newline in error message. 2001-03-27 19:13 Greg Stein <gstein@lyra.org> * notes/dav_setup.txt (1.3): a note about keeping Apache and SVN in sync. 2001-03-27 19:10 Karl Fogel <kfogel@collab.net> * 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 are. 2001-03-27 19:02 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/: include/svn_wc.h (1.83), libsvn_client/commit.c (1.31), libsvn_wc/Makefile.am (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/Makefile.am (libsvn_wc_la_SOURCES): Add import.c. * client/import-cmd.c (svn_cl__import): New file, new func, still skeletal. * client/Makefile.am (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 <sussman@collab.net> * 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 declaration. (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 <sussman@collab.net> * subversion/tests/libsvn_ra_local/Makefile.am (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 build. 2001-03-27 17:23 Ben Collins-Sussman <sussman@collab.net> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * notes/dav_setup.txt (1.2): Pointer for FreeBSD systems to get a working Apache 2.0. Other tweaks. 2001-03-27 16:54 Greg Stein <gstein@lyra.org> * subversion/tests/Makefile.am (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 <sussman@collab.net> * 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 (1.171): 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 <cmpilato@collab.net> * subversion/: libsvn_fs/delta.c (1.32), libsvn_repos/delta.c (1.32), tests/libsvn_fs/Makefile.am (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 notice. (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, please). * 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/Makefile.am (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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * notes/dav_setup.txt (1.1): mod_dav_svn: try it at home, kids\! 2001-03-27 11:59 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/Makefile.am (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 <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.67): (svn_fs_merge): Clarify issues in a todo item. 2001-03-27 08:32 Greg Stein <gstein@lyra.org> * 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 success). (svn_ra_dav__get_props_resource): use "url" consistently rather than ras->root. * session.c (svn_ra_open): clean trailing slashes from the root path. 2001-03-27 08:19 Greg Stein <gstein@lyra.org> * 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 dav_svn_build_uri * 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 <gstein@lyra.org> * subversion/: libsvn_ra_dav/Makefile.am (1.8), libsvn_ra_local/Makefile.am (1.6): when linking shared-lib forms, ensure they reference their dependent libs 2001-03-27 04:28 Greg Stein <gstein@lyra.org> * autogen.sh (1.37): track the rename of the suggested switches for developers. 2001-03-27 04:27 Greg Stein <gstein@lyra.org> * configure.in (1.72): Rename --with-debug and --with-maintainer-mode to --enable-debug and --enable-maintainer-mode. Submitted by: Mo DeJong <mdejong@redhat.com> 2001-03-27 03:57 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/: Makefile.am (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. ==> UNTESTED * Makefile.am: 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 download (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 declarations 2001-03-27 03:25 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 constant * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <sussman@collab.net> * 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 THIS_DIR. - 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 someday. * 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 <kfogel@collab.net> * subversion/: include/svn_client.h (1.30), libsvn_client/commit.c (1.26): * 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 <kfogel@collab.net> * subversion/tests/clients/cmdline/: README (1.1), common.sh (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 <kfogel@collab.net> * notes/testing_framework.txt (1.6): Removed this redundant copy of ../subversion/tests/README. 2001-03-26 13:59 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 changed. 2001-03-26 11:04 C. Michael Pilato <cmpilato@collab.net> * 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 <gstein@lyra.org> * 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 checkouts. * 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 (DAV_SVN_NAMESPACE_URI_DAV): renamed from DAV_SVN_URI_DAV (SVN_RO_DAV_PROP2, SVN_RW_DAV_PROP2, SVN_RO_SVN_PROP, 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" parameters. (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 similarly. (dav_svn_prep_regular): only fetch the "youngest" revnum if one hasn't been specified. (dav_svn_prep_version): implement, considering regular VRs and Baselines. (dav_svn_get_resource): fix processing of "relative" local var, which propagates into "uri_path" (it was plain busted for the root collection). (dav_svn_getetag): many resources don't (yet) have etags. skip them. (dav_svn_do_walk): don't (yet) allow walking into non-REGULAR resources (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 URI. 2001-03-25 12:25 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 <gstein@lyra.org> * subversion/libsvn_ra_dav/fetch.c (1.42): track some recent reporter changes. still stubbed, tho. 2001-03-24 09:16 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_error.h (1.91), libsvn_client/add.c (1.8): * 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 <kfogel@collab.net> * notes/multi-args.txt (1.1): Notes for what we're starting Monday morning. 2001-03-23 17:19 Ben Collins-Sussman <sussman@collab.net> * www/project_status.html (1.13): oops, get the date right. 2001-03-23 17:19 Ben Collins-Sussman <sussman@collab.net> * www/project_status.html (1.12): update this weeks' status page. 2001-03-23 14:24 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <kevin@pilch-bisson.net> * 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 <cmpilato@collab.net> * subversion/: libsvn_fs/delta.c (1.30), libsvn_repos/delta.c (1.30): * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/: libsvn_fs/delta.c (1.29), libsvn_repos/delta.c (1.29): 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 <kfogel@collab.net> * 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 <gstein@lyra.org>, and designed by Jim Blandy <jimb@redhat.com>... (...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 functions. (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 <sussman@collab.net> * subversion/: libsvn_fs/delta.c (1.28), libsvn_repos/delta.c (1.28): * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * notes/alpha_checklist (1.3): Add more shtuff. 2001-03-22 17:14 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_fs/tree.c (1.64): * libsvn_fs/tree.c (merge): Companion to previous bug fix: notice previously merged changes. 2001-03-22 17:00 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <jimb@redhat.com> * subversion/include/svn_fs.h (1.71): Doc fix. 2001-03-22 11:05 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/: include/svn_error.h (1.89), include/svn_fs.h (1.70), libsvn_fs/Makefile.am (1.38), libsvn_fs/delta.c (1.27), libsvn_repos/delta.c (1.27): * include/svn_error.h (SVN_ERR_FS_NOT_REVISION_ROOT): New error. * include/svn_fs.h (svn_fs_dir_delta): Added hash argument sourth_rev_diffs to this interface. * 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 swear. 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/Makefile.am Re-added delta.c to the build system. 2001-03-21 14:48 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.62): Check that roots are txns, where required, as suggested by Yoshiki Hayashi <yoshiki@xemacs.org>: * 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 <kfogel@collab.net> * subversion/include/svn_fs.h (1.69): (svn_fs_merge): Doc fix. 2001-03-21 14:19 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_fs/tree.c (1.61), tests/libsvn_fs/fs-test.c (1.61): 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 svn_fs_dir_delta. * ra_local.c (svn_ra_local__report_baton_t): add a hashtable to the baton. * 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 <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.59): (merge): Remove duplicate error check. 2001-03-20 19:00 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 one. * 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 above. 2001-03-20 16:12 Karl Fogel <kfogel@collab.net> * 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 <yoshiki@xemacs.org> To: dev@subversion.tigris.org Subject: svn_fs_delete_tree bug fix. Date: 19 Mar 2001 14:42:21 +0900 Message-ID: <87wv9miabm.fsf@sodan.org> ... 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 non-empty. * txn.c (delete_from_id): Moved to dag.c and now called svn_fs__dag_prune_mutable. * 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 <gstein@lyra.org> * STACK (1.84): "They're shooting at the oilcans!" 2001-03-20 12:35 Greg Stein <gstein@lyra.org> * 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_delta_get_commit_track_editor * 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 <gstein@lyra.org> * 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 <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.54): (txdelta_baton_t): Comment fix. 2001-03-20 10:55 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/: include/svn_ra.h (1.48), libsvn_fs/delta.c (1.26), libsvn_ra_local/Makefile.am (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 are.) * 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 declarations. (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. * Makefile.am: compile update.c * delta.c (svn_fs_dir_delta): put some reminder comments in here. 2001-03-19 15:26 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * STACK (1.83): Bug trackin for M2. 2001-03-19 06:50 Ben Collins-Sussman <sussman@collab.net> * notes/alpha_checklist (1.1): Adding grab-bag of issues to discuss after M2. Feel free to dump more. 2001-03-19 05:07 Greg Stein <gstein@lyra.org> * configure.in (1.71), subversion/bindings/.cvsignore (1.1, milestone-2), subversion/bindings/Makefile.am (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/Makefile.am (1.1, milestone-2), subversion/bindings/java/.cvsignore (1.1, milestone-2), subversion/bindings/java/Makefile.am (1.1, milestone-2), subversion/bindings/perl/.cvsignore (1.1, milestone-2), subversion/bindings/perl/Makefile.am (1.1, milestone-2), subversion/bindings/python/.cvsignore (1.1, milestone-2), subversion/bindings/python/Makefile.am (1.1, milestone-2), subversion/bindings/ruby/.cvsignore (1.1, milestone-2), subversion/bindings/ruby/Makefile.am (1.1, milestone-2), subversion/bindings/tcl/.cvsignore (1.1, milestone-2), subversion/bindings/tcl/Makefile.am (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 <sussman@collab.net> * subversion/libsvn_fs/editor.c (1.28): Bugfix: make the fs commit editor deal with mixed-revision working copies. (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 parent. 2001-03-17 02:06 C. Michael Pilato <cmpilato@collab.net> * 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 <fitz@red-bean.com> * 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 main.c. * 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, svn_cl__subcommand_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 <mdejong@redhat.com> Reviewed by: B. W. Fitzpatrick <fitz@red-bean.com> 2001-03-17 00:08 C. Michael Pilato <cmpilato@collab.net> * 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 <fitz@red-bean.com> * STACK (1.82): A little present for Ben. Bug in commit. 2001-03-16 22:45 Ben Collins-Sussman <sussman@collab.net> * 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 do_checkout. * 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 <kfogel@collab.net> * www/project_status.html (1.11): Update status bars and week activity paragraphs. 2001-03-16 16:48 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.70): Fix warning message. 2001-03-16 15:53 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/dag.c (1.87): Formatting fixes. 2001-03-16 15:34 Brian Fitzpatrick <fitz@red-bean.com> * subversion/: include/svn_io.h (1.33), libsvn_subr/io.c (1.33): Docfix at the suggestion of Greg Hudson <ghudson@mit.edu> 2001-03-16 14:07 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_fs/tree.c (1.51), tests/libsvn_fs/fs-test.c (1.57): * 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 <cmpilato@collab.net> * subversion/: libsvn_fs/tree.c (1.50), tests/libsvn_fs/fs-test.c (1.56): * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/: libsvn_fs/dag.c (1.85), tests/libsvn_fs/fs-test.c (1.55): * 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 <sussman@collab.net> * STACK (1.81): Here come da bugs. 2001-03-15 16:00 Ben Collins-Sussman <sussman@collab.net> * 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 <cmpilato@collab.net> * subversion/tests/libsvn_fs/fs-test.c (1.54): * tests/libsvn_fs/fs-test.c (validate_tree): Give more interesting feedback in the error messages. (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 testing. 2001-03-15 14:27 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_client/status.c (1.11): * status.c (svn_client_status): check for a *specific* error from svn_ra_get_ra_library. 2001-03-15 13:35 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_ra_local/ra_plugin.c (1.17): (open): remove stupid printf. 2001-03-15 00:37 Ben Collins-Sussman <sussman@collab.net> * 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, 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 svn_ra__local_checkout. 2001-03-14 23:18 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_ra_local/checkout.c (1.1): Doh. Add the checkout driver. :) 2001-03-14 23:17 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_ra_local/: Makefile.am (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. * Makefile.am: compile checkout.c. 2001-03-14 17:02 Ben Collins-Sussman <sussman@collab.net> * 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 correctly. * ra-dav-test.c (main): ditto. * checkout-cmd.c (svn_cl__checkout): call svn_client_checkout correctly. 2001-03-14 15:56 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 commit. 2001-03-14 02:17 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.45): (svn_fs_commit_txn): Check error from commit attempt better. 2001-03-13 18:21 Karl Fogel <kfogel@collab.net> * 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 funcs. * 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 <sussman@collab.net> * 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 <fitz@red-bean.com> * subversion/include/svn_io.h (1.32): Added docstring. Whoops. 2001-03-13 14:03 Greg Stein <gstein@lyra.org> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <fitz@red-bean.com> * 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 <gstein@lyra.org> * configure.in (1.69), subversion/libsvn_fs/Makefile.am (1.37), subversion/libsvn_fs/fs.c (1.39), ac-helpers/berkeley-db.m4 (1.7, milestone-2): 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. * configure.in: pass the values into svn_private_config.h * berkeley-db.m4: put the -ldb right after the -L path setting * Makefile.am: 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 <kfogel@collab.net> * 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 <fitz@red-bean.com> * subversion/tests/libsvn_subr/.cvsignore (1.7, milestone-2): A duck! 2001-03-12 19:28 Greg Stein <gstein@lyra.org> * 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 resources). * (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 <sussman@collab.net> * 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 (1.20): 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. * Makefile.am: link RA_LIBS into the client app. * ra-commit.c (main): in ra-dav-test, call ra->get_commit_editor correctly. * 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 <gstein@lyra.org> * 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 modified). (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 reading. (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 <kfogel@collab.net> * 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 <yoshiki@xemacs.org>'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 commit_txn_args. * 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 <gstein@lyra.org> * subversion/svnadmin/main.c (1.4): More hacking to list out transactions. 2001-03-12 15:43 C. Michael Pilato <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/: include/svn_delta.h (1.146), include/svn_ra.h (1.45), libsvn_delta/Makefile.am (1.18, milestone-2), libsvn_ra_local/Makefile.am (1.3), libsvn_ra_local/ra_local.h (1.7), libsvn_ra_local/ra_plugin.c (1.13), libsvn_wc/adm_ops.c (1.44): 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 publically. * ra_local.h (svn_ra_local__get_commit_track_editor): undeclare privately. * libsvn_delta/Makefile.am: add track_editor.c * libsvn_ra_local/Makefile.am: 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 correctly.) 2001-03-12 12:28 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 (SVN_ERR_RA_NOT_VERSIONED_RESOURCE): New error id. * 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 path. 2001-03-10 20:40 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_fs/txn.c (1.33), tests/libsvn_fs/fs-test.c (1.45): * 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 <kfogel@collab.net> * 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 general. * 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 add_new_entry_skel. (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 <gstein@lyra.org> * subversion/libsvn_fs/: dag.c (1.76), skel.c (1.25), txn-table.c (1.20): Fix up some casting related to svn_fs__str_atom * dag.c, txn-table.c (...): remove some casts from calls to svn_fs__str_atom * skel.c (svn_fs__str_atom): add a cast for the assignment to skel->data 2001-03-10 12:14 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 functions (is_kind_args): new struct for use with txn_body_is_kind 2001-03-10 08:38 Ben Collins-Sussman <sussman@collab.net> * www/project_status.html (1.10): Weekly status update for March 10. 2001-03-10 00:51 Karl Fogel <kfogel@collab.net> * 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 incomplete. * 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 funcs. * 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 <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.37): (svn_fs_merge): Put error check in front. 2001-03-09 21:13 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.36): (svn_fs_merge): Further condensation. 2001-03-09 21:09 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.35): (svn_fs_merge): Reduce case tree to minimal form, start filling in pseudocode. 2001-03-09 18:37 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 simultaneously. 2001-03-09 16:14 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_client.h (1.25), libsvn_client/commit.c (1.20): Pave the way for RA commits. * svn_client.h (svn_client_commit): new docstring promises! Franklin (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 <sussman@collab.net> * 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() correctly. 2001-03-09 12:06 Karl Fogel <kfogel@collab.net> * subversion/include/svn_fs.h (1.59): (svn_fs_merge): Doc fix. 2001-03-09 12:03 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/tests/: Makefile.am (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 <sussman@collab.net> * configure.in (1.68), subversion/Makefile.am (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/Makefile.am (1.13), subversion/libsvn_client/ra_loader.c (1.6), subversion/libsvn_ra/.cvsignore (1.1, milestone-2), subversion/libsvn_ra/Makefile.am (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/Makefile.am (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. * configure.in: create Makefile for libsvn_ra * svn-define-libs.m4: build RA variable. * Makefile.am: 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/Makefile.am: remove ra_loader.c from the client lib. * libsvn_client/ra_loader.c: removed. * libsvn_ra/ra_loader.c: added over here. We need `svn mv'! * tests/libsvn_ra_local/Makefile.am: 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 <kevin@pilch-bisson.net> * 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 <sussman@collab.net> * subversion/include/svn_wc.h (1.73): (struct svn_wc_bump_baton): hehe, fix typo. 2001-03-09 08:35 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * subversion/tests/libsvn_ra_local/Makefile.am (1.3): Remove spurious 'n'. 2001-03-08 17:10 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/tests/libsvn_ra_local/: Makefile.am (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 <sussman@collab.net> * 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 ignored. * 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 <sussman@collab.net> * subversion/: include/svn_ra.h (1.41), libsvn_ra_local/ra_plugin.c (1.11): * 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 <sussman@collab.net> * subversion/: include/svn_ra.h (1.40), libsvn_ra_local/ra_plugin.c (1.10): 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 subpool. (close): fix docstring. 2001-03-08 10:21 Ben Collins-Sussman <sussman@collab.net> * 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 <fitz@red-bean.com> * www/project_members.html (1.12): Doh. 2001-03-07 19:48 Brian Fitzpatrick <fitz@red-bean.com> * www/project_members.html (1.11): Mine tastes like burning. 2001-03-07 16:36 Ben Collins-Sussman <sussman@collab.net> * 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 possible. (replace_directory, replace_file): nothing but baton construction now. (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 things. 2001-03-07 14:32 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * subversion/include/svn_fs.h (1.58): (svn_fs_get_editor): clarify comment. 2001-03-07 10:40 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/tests/libsvn_fs/fs-test.c (1.39): (abort_txn): Doc fixes and tweaks. 2001-03-06 18:58 Karl Fogel <kfogel@collab.net> * 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 SVN_ERR_FS_NO_SUCH_TRANSACTION if no such txn. * txn-table.h (svn_fs__get_txn): Same. 2001-03-06 18:19 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_fs/editor.c (1.22): Oops, missed part of the previous commit. 2001-03-06 18:17 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * subversion/: libsvn_fs/txn.c (1.30), tests/libsvn_fs/fs-test.c (1.37): 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 <ghudson@mit.edu> * subversion/include/svn_io.h (1.30): Clarify stream interface comment. 2001-03-06 11:16 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/err.h (1.21): (svn_fs__err_dangling_id): Doc fix. 2001-03-05 22:34 Karl Fogel <kfogel@collab.net> * 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 trail.c. (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, respectively. (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 <kfogel@collab.net> * subversion/libsvn_fs/tree.h (1.5): A guide to the perplexed. 2001-03-05 21:11 Karl Fogel <kfogel@collab.net> * 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 (1.34): * dag.c (svn_fs__dag_delete): Completed. A large portion of this change came from Yoshiki Hayashi <yoshiki@xemacs.org>. * nodes-table.c, nodes-table.h (svn_fs__delete_node_revision): New function, contributed by Yoshiki Hayashi <yoshiki@xemacs.org>. * 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 <kfogel@collab.net> * 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 README. * subversion/tests/README: Incorporate material from above. 2001-03-05 18:11 Jim Blandy <jimb@redhat.com> * 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 <cmpilato@collab.net> * 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 <ghudson@mit.edu> * 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 <jimb@redhat.com> * 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 indentation. * 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 <daniel@haxx.se> * tools/cvs2svn/cvs2svn.pl (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 <kfogel@collab.net> * 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 tests/xml/co1.txt. (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 <kfogel@collab.net> * subversion/tests/xml/co1.txt (1.5): Better formatting. 2001-03-03 12:23 Karl Fogel <kfogel@collab.net> * subversion/tests/xml/co1.txt (1.4): Get rid of hated whitespace. 2001-03-03 12:22 Karl Fogel <kfogel@collab.net> * subversion/tests/xml/co1.txt (1.3): Add alternate (more compact) listing of the Greek Tree. 2001-03-03 11:27 Greg Stein <gstein@lyra.org> * subversion/: libsvn_fs/editor.c (1.20), tests/libsvn_fs/fs-test.c (1.32): update some callers. svn_fs_txn_name now returns a const char * for the transaction name. 2001-03-03 11:25 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * TASKS (1.18): hurpty durpty durpty. 2001-03-03 09:19 Greg Stein <gstein@lyra.org> * 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 <fitz@red-bean.com> * subversion/tests/libsvn_fs/.cvsignore (1.5, milestone-2): Mmmmm... donuts... 2001-03-03 08:59 Ben Collins-Sussman <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 revision. (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 <gstein@lyra.org> * 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 <kfogel@collab.net> * subversion/libsvn_fs/dag.c (1.68): (svn_fs__dag_delete): Note where to pick up tomorrow. 2001-03-02 17:38 Karl Fogel <kfogel@collab.net> * configure.in (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 <sussman@collab.net> * www/project_status.html (1.9): update weekly status page. 2001-03-02 17:07 Jim Blandy <jimb@redhat.com> * 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 <kfogel@collab.net> * subversion/: libsvn_fs/dag.c (1.67), tests/libsvn_fs/fs-test.c (1.26): (svn_fs__dag_dir_entries): Fill in, with contribution from Yoshiki Hayashi <yoshiki@xemacs.org>. * fs-test.c (list_directory, verify_entry): New test and helper, respectively. Passes. 2001-03-02 16:49 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/trail.h (1.7): Doc fix. 2001-03-02 16:36 Jim Blandy <jimb@redhat.com> * 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 <sussman@collab.net> * 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 <jimb@redhat.com> * 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 <sussman@collab.net> * 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 <jimb@redhat.com> * subversion/: include/svn_error.h (1.80), libsvn_subr/svn_error.c (1.56): * libsvn_subr/svn_error.c (svn_handle_warning): Make the `fmt' argument const, for compatibility with svn_fs_warning_callback_t in `include/svn_fs.h'. * include/svn_error.h (svn_handle_warning): Update declaration. 2001-03-02 16:05 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_fs/tree.c (1.30), tests/libsvn_fs/fs-test.c (1.23): We can read and write data to a repository file!!! Woohoo!! Two bugfixes: * tree.c (svn_fs_apply_textdelta): duh, initialize the svn_string_t. * fs-test.c (test_funcs): fix ordering. 2001-03-02 15:47 C. Michael Pilato <cmpilato@collab.net> * subversion/tests/: libsvn_fs/run-fs-tests.sh (1.4, milestone-2), libsvn_wc/Makefile.am (1.18), libsvn_wc/checkout-test.sh (1.12, milestone-2): Patches submitted by Yoshiki Hayashi * tests/libsvn_fs/run-fs-tests.sh Change output format to match other make check target. Always return 0 since other targets do so. * tests/libsvn_wc/Makefile.am (check): Home made check target to avoid using automake's one. * tests/libsvn_wc/checkout-test.sh 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <sussman@collab.net> * 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 handler. * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 changed. (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 <sussman@collab.net> * subversion/include/svn_fs.h (1.52): (svn_fs_apply_textdelta): augment docstring. 2001-03-01 18:28 C. Michael Pilato <cmpilato@collab.net> * 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 such). 2001-03-01 18:14 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 mind. (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 <fitz@red-bean.com> * PORTING (1.3): 'Nevermore' quoth the raven. 2001-03-01 01:56 Brian Fitzpatrick <fitz@red-bean.com> * www/: blupixel.gif (1.2), redpixel.gif (1.2): http://burnallgifs.org/ 2001-03-01 01:55 Brian Fitzpatrick <fitz@red-bean.com> * www/project_status.html (1.8): I like *my* bikeshed more of an ecru. 2001-03-01 01:15 Brian Fitzpatrick <fitz@red-bean.com> * subversion/tests/libsvn_fs/run-fs-tests.sh (1.3): Applied patch from Yoshiki Hayashi 2001-03-01 00:22 Brian Fitzpatrick <fitz@red-bean.com> * PORTING (1.2): Looks like a duck, quacks like a Duracell? Must be a pimple. 2001-02-28 18:06 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_fs/fs-test.c (1.18): (write_and_read_file): new test. (feedback? does this look right?) 2001-02-28 17:22 Jim Blandy <jimb@redhat.com> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/include/svn_delta.h (1.142): (svn_txdelta_from_string): new prototype. (to be written) 2001-02-28 16:07 Jim Blandy <jimb@redhat.com> * 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 <cmpilato@collab.net> * 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, anyway. 2001-02-28 15:36 C. Michael Pilato <cmpilato@collab.net> * 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 <gstein@lyra.org> * subversion/libsvn_fs/validate.c (1.5): Dang... the Premature Optimization Gremlins wouldn't leave me alone... * (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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <sussman@collab.net> * 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* now. (create_file_transaction): call helper func. (verify_txn_list): rename of (list_live_transactions); better list testing. 2001-02-28 14:16 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 here. 2001-02-28 14:09 C. Michael Pilato <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/editor.c (1.19): #if out whole file till rest of fs is done 2001-02-28 13:47 Karl Fogel <kfogel@collab.net> * subversion/tests/TEST-FRAMEWORK (1.4): New section "What not to test" (inspired by conversation with JimB). 2001-02-28 13:27 Karl Fogel <kfogel@collab.net> * www/project_status.html (1.7): Bump last-updated date. 2001-02-28 13:25 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 (SVN_ERR_FS_NOT_SINGLE_PATH_COMPONENT): New error. * 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 <kfogel@collab.net> * 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 <cmpilato@collab.net> * 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 common_test_prologue. 2001-02-28 09:46 Jim Blandy <jimb@redhat.com> * 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 svn_fs__track_dbt! 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 together. 2001-02-28 09:36 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/nodes-table.c (1.10): Doc fixes. 2001-02-28 01:53 C. Michael Pilato <cmpilato@collab.net> * 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 bonus. (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 <sussman@collab.net> * www/project_status.html (1.4): Increment fs status bar. 2001-02-27 20:19 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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): Simplify. (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 <jimb@redhat.com> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 *NOT EXPECTED TO WORK AT THIS TIME!!* 2001-02-27 16:23 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_fs/dag.c (1.54): (svn_fs__dag_get_proplist): simplify. :) 2001-02-27 16:15 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/dag.h (1.30): Doc fix. 2001-02-27 15:58 Jim Blandy <jimb@redhat.com> * 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 <sussman@collab.net> * subversion/libsvn_fs/dag.c (1.53): (file_content_baton_t): finish comment. :) 2001-02-27 15:48 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <fitz@red-bean.com> * www/subversion-diagram.png (1.2, milestone-2): Trying this again. 2001-02-27 13:29 Brian Fitzpatrick <fitz@red-bean.com> * 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 <fitz@red-bean.com> * 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 <jimb@redhat.com> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/: TODO (1.18), dag.c (1.51), dag.h (1.27), tree.c (1.23): BIG PHREAKIN' CHANGE - STILL A WORK IN PROGRESS * 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-revisions. (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 dag_node_t; (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, respectively. (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 SUCK! * libsvn_fs/tree.c (make_path_mutable): Updated used of svn_fs__dag_is_mutable (now svn_fs__dag_check_mutable). 2001-02-27 10:54 Ben Collins-Sussman <sussman@collab.net> * www/project_nav.html (1.3): Add status page to sidebar. 2001-02-27 10:38 Ben Collins-Sussman <sussman@collab.net> * 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 <jimb@redhat.com> * subversion/libsvn_fs/TODO (1.17): Categorize. Maybe it would be more useful to prioritize this. 2001-02-27 09:20 Jim Blandy <jimb@redhat.com> * 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 svn_fs__retry_txn. 2001-02-27 09:16 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 Hayashi.) 2001-02-27 08:45 Jim Blandy <jimb@redhat.com> * 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 <fitz@red-bean.com> * subversion/libsvn_fs/dag.h (1.26): Compile time error pointed out by Yoshiki Hayashi 2001-02-26 18:53 Brian Fitzpatrick <fitz@red-bean.com> * PORTING (1.1): Incorporated several reports from dev list to create this doc for tracking builds. 2001-02-26 18:52 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 be. * libsvn_fs/dag.c (has_mutable_flag): Minor style tweak: use `for' for linked list traversal. 2001-02-26 18:35 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/dag.c (1.46): * libsvn_fs/dag.c (node_is_kind_p): Unredund. 2001-02-26 18:35 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/: include/svn_fs.h (1.51), libsvn_fs/rev-table.c (1.5): * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/TODO (1.16): Somotodo 2001-02-26 15:09 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 `malformed_proplist_error'. 2001-02-26 12:00 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 complexities. 2001-02-26 11:37 Ben Collins-Sussman <sussman@collab.net> * 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 (1.11): Bunch of patches from Yoshiki Hayashi <yoshiki@xemacs.org>. * 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 <jimb@redhat.com> * subversion/libsvn_fs/dag.h (1.24): Doc fix. 2001-02-26 10:56 C. Michael Pilato <cmpilato@collab.net> * 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 <jimb@redhat.com> * subversion/libsvn_fs/Makefile.am (1.36): * libsvn_fs/Makefile.am (libsvn_fs_la_SOURCES): Remove `node.h', which doesn't exist any more. 2001-02-24 16:39 C. Michael Pilato <cmpilato@collab.net> * subversion/libsvn_fs/dag.c (1.40): * libsvn_fs/dag.c (svn_fs__dag_clone_child): How many times will I re-work this function? (svn_fs__dag_dup): Some temporary gutz for this one, with comments and todos for researching this function's intent (Jim B., are you there?) (svn_fs__dag_open): Implemented this function. 2001-02-24 03:13 Greg Stein <gstein@lyra.org> * subversion/libsvn_fs/: txn.c (1.28), txn.h (1.8): * txn.c (svn_fs__txn_id): New function. Submitted by: Yoshiki Hayashi <yoshiki@xemacs.org> 2001-02-24 03:11 Greg Stein <gstein@lyra.org> * 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 <yoshiki@xemacs.org> ] 2001-02-24 03:09 Greg Stein <gstein@lyra.org> * autogen.sh (1.36), configure.in (1.66): * autogen.sh: Pass --foreign to automake so that it won't complain missing ChangeLog * configure.in: Fix variable name to print client only build warning correctly. Submitted by: Yoshiki Hayashi <yoshiki@xemacs.org> 2001-02-23 18:31 Jim Blandy <jimb@redhat.com> * subversion/Makefile.am (1.24): subversion/Makefile.am (DIST_SUBDIRS): New variable, so that `make TAGS' will index libsvn_fs, and others. 2001-02-23 18:25 Jim Blandy <jimb@redhat.com> * autogen.sh (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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_fs/dag.c (1.36): * libsvn_fs/dag.c (svn_fs__dag_clone_child): How now, Brown Cow. Now this sow has bowels. (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 <gstein@lyra.org> * autogen.sh (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 <gstein@lyra.org> * tools/check-license.py (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 check-license.py 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 <sussman@collab.net> * 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. (svn_fs__dag_is_mutable): call has_mutable_flag. (svn_fs__dag_delete): implement. * svn_error.c (SVN_ERR_FS_DIR_NOT_EMPTY, SVN_ERR_FS_NO_SUCH_ENTRY): new error values. 2001-02-22 17:40 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 <jimb@redhat.com> * 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 <kfogel@collab.net> * 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. (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 baton. (add_file, add_dir): Same, plus set base_path. 2001-02-22 13:00 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * 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 <kevin@pilch-bisson.net> * www/project_members.html (1.10): Added myself to the members_list. 2001-02-22 11:49 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/node-rev.c (1.7): #include <string.h>, for memset. 2001-02-22 11:01 Ben Collins-Sussman <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 <jimb@redhat.com> * subversion/libsvn_fs/dag.c (1.29): Doc fix from Yoshiki Hayashi. 2001-02-22 08:56 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/dag.c (1.28): * libsvn_fs/dag.c (struct dag_node_t): Doc fixes. 2001-02-21 21:17 Greg Stein <gstein@lyra.org> * doc/future.texi (1.11, milestone-2): correct our discussion of Berkeley DB and SQL database. 2001-02-21 21:13 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/structure (1.33): * libsvn_fs/structure: More doc fixes from Yoshiki Hayashi. 2001-02-21 17:28 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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, yet...different. 2001-02-21 17:23 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_fs/dag.c (1.26): (svn_fs__dag_get_proplist): implement. 2001-02-21 16:03 Jim Blandy <jimb@redhat.com> * 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 ourselves. (record_undo): New function, containing old guts of svn_fs__record_undo, for use by both svn_fs__record_undo and svn_fs__record_completion. (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 <sussman@collab.net> * subversion/libsvn_fs/dag.c (1.25): (svn_fs__dag_is_mutable): implement. 2001-02-21 14:22 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <sussman@collab.net> * 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 <jimb@redhat.com> * subversion/libsvn_fs/Makefile.am (1.35): * libsvn_fs/Makefile.am: Doc fix: file.[ch], revision.[ch] are no longer waiting to be added back into the build. They're completely deleted. 2001-02-21 10:57 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/file.h (1.10): * libsvn_fs/file.h: Deleted. We don't have a file.c module any more. 2001-02-21 10:52 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 `put_representation_skel'. (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 `new_successor_id'. 2001-02-21 10:39 Karl Fogel <kfogel@collab.net> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/include/svn_error.h (1.71): Doc fix. 2001-02-21 08:54 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <cmpilato@collab.net> * subversion/libsvn_delta/: compose_editors.c (1.14), xml_parse.c (1.150): * 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 <joe@light.plus.com> * subversion/libsvn_subr/svn_error.c (1.54): * svn_error.c (svn_error_create): Use apr_pstrdup to dup the message. 2001-02-20 18:52 Joe Orton <joe@light.plus.com> * subversion/tests/libsvn_subr/target-test.sh (1.2): if ! ... is not portable. 2001-02-20 18:40 Joe Orton <joe@light.plus.com> * 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 <joe@light.plus.com> * subversion/libsvn_subr/svn_error.c (1.52): * svn_error.c (abort_on_pool_failure): Prevent compiler warning on Tru64. 2001-02-20 17:32 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_fs/dag.c (1.20): (svn_fs__dag_get_fs): another tricky implementation. 2001-02-20 17:22 Greg Stein <gstein@lyra.org> * subversion/libsvn_subr/path.c (1.32): (svn_path_is_empty): Construct current dir correctly. Submitted by: Yoshiki Hayashi <yoshiki@xemacs.org> 2001-02-20 16:43 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_fs/dag.c (1.19): (svn_fs__dag_get_id): implement difficult func. ;) 2001-02-20 16:00 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/editor.c (1.14): (txn_body_replace_directory): Implemented. 2001-02-20 15:25 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/editor.c (1.12): Oops, remove noncompiling code from last checkin. 2001-02-20 15:10 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/: dag.c (1.18), editor.c (1.11), node-rev.h (1.5): (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 <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_ra_local/track_editor.c (1.6): Upgrade bikeshed exterior to mauve, as was decided by the dead horse committee. * 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 <gstein@lyra.org> * configure.in (1.65): RUN_SUBDIR_CONFIG_NOW -> APR_SUBDIR_CONFIG 2001-02-19 21:52 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * ac-helpers/get-neon-ver.sh (1.3, milestone-2): fix the detection of older versions of Neon Submitted by: Sam TH <sam@uchicago.edu> 2001-02-19 14:29 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/trail.h (1.4): Doc fix from Yoshiki Hayashi. 2001-02-19 14:27 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/: rev-table.h (1.4), structure (1.32): Doc fix. 2001-02-19 08:13 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * configure.in (1.64): Change mkdir to apr/build/mkdir.sh instead of apr/helpers/mkdir.sh. Is there any way to get this directory automagically from APR? 2001-02-18 23:59 Bill Tutt <rassilon@lyra.org> * subversion/: include/svn_fs.h (1.49), libsvn_fs/libsvn_fs.dsp (1.8): 2001-02-18 Bill Tutt <rassilon@lyra.org>: * 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 <gstein@lyra.org> * subversion/: include/svn_error.h (1.70), libsvn_subr/svn_error.c (1.51): apr_clear_pool became apr_pool_clear. follow suit. 2001-02-18 19:33 Greg Stein <gstein@lyra.org> * STACK (1.78): some random changes (also testing email from subversion.tigris.org) 2001-02-17 17:52 Joe Orton <joe@light.plus.com> * autogen.sh (1.33), configure.in (1.63), subversion/libsvn_ra_dav/fetch.c (1.40), ac-helpers/get-neon-ver.sh (1.2): Update to neon 0.11. * configure.in: libneon.la has moved to neon/src/libneon.la * autogen.sh: 0.8 -> 0.11. * ac-helpers/get-neon-ver.sh: Look for version number in macros/neon.m4. * subversion/libsvn_ra_dav/fetch.c (start_resource): Renamed to create_private. (end_resource): Renamed to pfind_results and adjusted for new API. (fetch_dirents): Adjust for new API; fetch a set of 'complex' properties. (start_element, end_element): Adjusted for new API. 2001-02-17 12:08 C. Michael Pilato <cmpilato@collab.net> * 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 copyfrom_revision. (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 copyfrom_path. * 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 copyfrom_revision. (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 copyfrom_*. (commit_rep_dir, commit_rep_file): Renamed ancestor_path to base_path. * 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 copyfrom_revision. (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 <gstein@lyra.org> * configure.in (1.62): apr_common just moved 2001-02-17 07:02 Greg Stein <gstein@lyra.org> * subversion/include/svn_ra.h (1.39): oops. a bit overaggressive there. we need apr_tables.h for the array_header. 2001-02-17 06:49 Greg Stein <gstein@lyra.org> * subversion/include/svn_ra.h (1.38): Doc fix. Parameter name fix. 2001-02-17 06:47 Greg Stein <gstein@lyra.org> * configure.in (1.61): Be a bit more fine-grained about linking ra_local into the client. 2001-02-17 06:29 Greg Stein <gstein@lyra.org> * configure.in (1.60), subversion/Makefile.am (1.23), subversion/tests/Makefile.am (1.12): * configure.in: 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/Makefile.am, subversion/tests/Makefile.am: use new FS_BASED_* macros to determine what subdirs to build. * subversion/client/Makefile.am: use new LIBSVN_CLIENT_DEPS macro to determine what needs to be linked into the client 2001-02-17 05:58 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_client/client.h (1.11): clean out some cruft 2001-02-17 04:49 Greg Stein <gstein@lyra.org> * configure.in (1.59), ac-helpers/svn-define-libs.m4 (1.1): shift some bulk out of configure.in 2001-02-17 03:14 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <kfogel@collab.net> * subversion/libsvn_fs/: Makefile.am (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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 cmpilato. 2001-02-16 18:46 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/tree.c (1.20): #include "svn_error.h" 2001-02-16 17:42 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.69): (SVN_ERR_FS_ALREADY_EXISTS, SVN_ERR_FS_ROOT_DIR): Doc clarifications. 2001-02-16 17:41 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.68): (SVN_ERR_FS_ALREADY_EXISTS, SVN_ERR_FS_ROOT_DIR): New errors. 2001-02-16 17:41 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_ra_local/: split_url.c (1.4), track_editor.c (1.2): Minor tweaks; saving work to look at from home over weekend. 2001-02-16 16:59 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.47): * include/svn_fs.h: Doc fix. 2001-02-16 16:58 Jim Blandy <jimb@redhat.com> * 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 <gstein@lyra.org> * subversion/tests/libsvn_ra_local/.cvsignore (1.1): Over the river, and through the woods... 2001-02-16 14:28 C. Michael Pilato <cmpilato@collab.net> * 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 svn_delta_edit_fns_t. 2001-02-16 13:45 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/libsvn_delta/delta.h (1.53): (svn_xml__digger_t): Removing unnecessary target_revision. 2001-02-16 13:43 C. Michael Pilato <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 <gstein@lyra.org> * subversion/libsvn_ra_dav/: fetch.c (1.39), session.c (1.18): Various cleanup. * session.c: remove SVN_VERSION define and pick up svn_private_config.h * 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 <jimb@redhat.com> * subversion/libsvn_fs/tree.c (1.18): Use a cleaner method to distinguish revision roots from transaction roots. * 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 <gstein@lyra.org> * STACK (1.76): can I get a Mech suit for my b-day? 2001-02-16 08:01 Greg Stein <gstein@lyra.org> * autogen.sh (1.32), ac-helpers/get-neon-ver.sh (1.1): Inspired by Mo DeJong, create the get-neon-ver.sh 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 <sussman@collab.net> * 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 declaration. 2001-02-15 17:17 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/: Makefile.am (1.33), tree.c (1.17): New path representation and cloning strategy. * libsvn_fs/Makefile.am (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 arrangement. (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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/TODO (1.14): Annual Health Screening for the Older Pet 2001-02-15 15:11 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/node-rev.c (1.3): Make some comments excruciatingly accurate. 2001-02-15 15:10 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/node-rev.c (1.2): Heh, it's "NODE-REVISION" not "NODE-VERSION". 2001-02-15 15:06 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/: Makefile.am (1.32), node-rev.c (1.1), rep.c (1.4): * Makefile.am: Build node-rev.c, remove all mention of obsolete rep.c. * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <yoshiki@xemacs.org>: * 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): Same. * 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 <jimb@redhat.com> * 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 functions. (open_path): Take another shot at implementing this. 2001-02-15 11:23 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.58): Ooops, add ra_local. (See yesterday's commit) 2001-02-15 11:14 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/dbt.h (1.16): Doc fix. 2001-02-15 08:37 Jim Blandy <jimb@redhat.com> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * 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 respectively. The following file(s) were lined up and shot with this sweeping change: * 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 <sussman@collab.net> * subversion/: include/svn_ra.h (1.35), libsvn_ra_local/Makefile.am (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/Makefile.am (1.11), tests/libsvn_ra_local/Makefile.am (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 * configure.in (@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 <brane@xbc.nu> * 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 <yoshiki@xemacs.org> 2001-02-14 12:00 Branko Cibej <brane@xbc.nu> * STACK (1.75): Added item about svn_path_first_component. 2001-02-13 19:01 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/dag.c (1.16): (svn_fs__dag_clone_root): Clarifying comments. 2001-02-13 18:22 Karl Fogel <kfogel@collab.net> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 commit. 2001-02-13 13:38 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * 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 <kevin@pilch-bisson.net> * 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 <kfogel@collab.net> * 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 (<20010212183750.V8123@lyra.org>, <200102131635.LAA05760@egyptian-gods.MIT.EDU>, and <87g0hizr40.fsf@galois.ch.collab.net>). 2001-02-13 10:44 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/: Makefile.am (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/Makefile.am (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 <jimb@redhat.com> * 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 `svn_fs__dag_open_path'. * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/structure (1.30): Doc fix. 2001-02-13 10:17 Jim Blandy <jimb@redhat.com> * 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 <kfogel@collab.net> * subversion/libsvn_fs/txn.h (1.7): Fix descriptive comment at top of file. 2001-02-13 10:14 Jim Blandy <jimb@redhat.com> * 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 <kfogel@collab.net> * 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 <gstein@lyra.org> * BUGS (1.5, milestone-2): a bit more refinement on APR bug reporting. 2001-02-12 22:33 Greg Stein <gstein@lyra.org> * 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 object_name (dav_svn_make_activity): use root.activity_id rather than object_name * 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 activity_id (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 parameters (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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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_is_dir, svn_fs_is_file, svn_fs_node_id, svn_fs_node_prop, svn_fs_node_proplist, 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): 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 nodes. (svn_fs__txn_root_node): Reflect the svn_fs_node_t -> svn_fs_root_t change. 2001-02-12 18:27 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/include/svn_fs.h (1.45): (svn_fs_revision_root, svn_fs_txn_root): root_p must be an svn_fs_root_p**. 2001-02-12 17:18 Branko Cibej <brane@xbc.nu> * subversion/libsvn_fs/Makefile.am (1.30): Enable compilation of txn.c again. 2001-02-12 17:16 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <cmpilato@collab.net> * 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 <cmpilato@collab.net> * subversion/include/svn_types.h (1.56): * include/svn_types.h (SVN_IS_VALID_REVNUM): Oops. Not supposed to have a space in the macro. 2001-02-12 12:00 Jim Blandy <jimb@redhat.com> * 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 <kevin@pilch-bisson.net> * subversion/: include/svn_path.h (1.29), libsvn_subr/Makefile.am (1.16), libsvn_subr/target.c (1.1), tests/libsvn_subr/Makefile.am (1.17), tests/libsvn_subr/target-test.c (1.1), tests/libsvn_subr/target-test.sh (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/target-test.sh invokation script for test * libsvn_subr/Makefile.am test/libsvn_subr/Makefile.am, addition of those files and test suites. * include/svn_path.h prototypes for the above functions. 2001-02-12 11:57 Jim Blandy <jimb@redhat.com> * subversion/: include/svn_fs.h (1.43), libsvn_fs/Makefile.am (1.29): Change filesystem interface to use roots and paths, instead of node objects. * 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_node_t's. (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/Makefile.am (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 <kfogel@collab.net> * STACK (1.74): Added item from list discussion between GregS and Ben. 2001-02-12 10:53 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * 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 <jimb@redhat.com> * subversion/libsvn_fs/trail.c (1.4): * libsvn_fs/trail.c (svn_fs__retry_txn): Doc fix. 2001-02-12 10:49 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/fs.c (1.35): * libsvn_fs/fs.c: Formatting tweak. 2001-02-12 09:51 Jim Blandy <jimb@redhat.com> * 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 <daniel@haxx.se> * 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 <gstein@lyra.org> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/libsvn_ra_local/.cvsignore (1.1, milestone-2): This one is obvious. 2001-02-09 19:46 Branko Cibej <brane@xbc.nu> * 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 <sussman@collab.net> * configure.in (1.57), subversion/Makefile.am (1.22), subversion/libsvn_ra_local/Makefile.am (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 compiling. * configure.in: add libsvn_ra_local * Makefile.am: add libsvn_ra_local * Makefile.am: 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 <cmpilato@collab.net> * 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 <jimb@redhat.com> * 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 <sussman@collab.net> * subversion/include/svn_ra.h (1.34): (do_update): docfix, based on latest discussions. 2001-02-09 14:36 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/dag.h (1.10): Doc fixes. 2001-02-09 14:26 Jim Blandy <jimb@redhat.com> * 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 <rassilon@lyra.org> * 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 <cmpilato@collab.net> * 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 comment. 2001-02-08 22:30 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * subversion/include/svn_path.h (1.28): docfix in header comment. 2001-02-08 20:13 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <sussman@collab.net> * subversion/libsvn_ra_local/ra_plugin.c (1.4): Fleshing out routines, bit by bit. 2001-02-08 19:24 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 implementing. 2001-02-08 19:04 Ben Collins-Sussman <sussman@collab.net> * 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 <gstein@lyra.org> * STACK (1.73): bumble bumble bumbly boo 2001-02-08 18:48 Ben Collins-Sussman <sussman@collab.net> * 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 (1.2): 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 temporarily * commit.c (svn_ra_dav__get_commit_editor): same. 2001-02-08 16:37 C. Michael Pilato <cmpilato@collab.net> * subversion/include/svn_types.h (1.54): (IS_VALID_REVNUM): New macro for determining validity of a revision number. (SVN_IGNORED_REVNUM): New #define for svn_revnum_t's that are not really invalid...just unimportant to functions that take them as arguments. 2001-02-08 12:55 Jim Blandy <jimb@redhat.com> * 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 <kfogel@collab.net> * subversion/libsvn_fs/dag.c (1.9): (dag_node_t): Doc clarification. 2001-02-08 12:44 Karl Fogel <kfogel@collab.net> * 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 <cmpilato@collab.net> * STACK (1.72): Assigning myself a little piece o' Hell. 2001-02-08 11:26 Jim Blandy <jimb@redhat.com> * 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 functions. (svn_fs__dag_dup, svn_fs__dag_get_id): Move these to "Generic DAG node stuff" page. 2001-02-08 06:32 Greg Stein <gstein@lyra.org> * 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. see: http://apr.apache.org/~dougm/apr_rename.pl 2001-02-08 06:08 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/version.c (1.12): (dav_svn_checkout): ensure the activity exists 2001-02-08 05:45 Greg Stein <gstein@lyra.org> * 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 special_uri (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 object_name (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 private.uri_path (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 <gstein@lyra.org> * subversion/: mod_dav_svn/Makefile.am (1.13), libsvn_delta/Makefile.am (1.17): FS now depends on DELTA. include that into the mod_dav_svn installation handling. 2001-02-08 01:49 Greg Stein <gstein@lyra.org> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <cmpilato@collab.net> * 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 little. 2001-02-07 16:54 Greg Stein <gstein@lyra.org> * subversion/svnadmin/Makefile.am (1.2): FS now depends on DELTA, so we must link that in, too. 2001-02-07 16:12 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_ra.h (1.30): Beginning change #4 and #5, which revise the RA interface quite a bit. (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 #4). (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 `targets' 2001-02-07 14:42 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.39): Doc fixes. 2001-02-07 10:42 Karl Fogel <kfogel@collab.net> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * configure.in (1.56), subversion/libsvn_fs/Makefile.am (1.28), subversion/tests/libsvn_fs/Makefile.am (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 headers. 2001-02-06 19:30 Branko Cibej <brane@xbc.nu> * 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 casts. 2001-02-06 19:26 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/editor.c (1.2): Do baton construction and swapping correctly. 2001-02-06 18:00 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/: include/svn_fs.h (1.36), libsvn_fs/Makefile.am (1.27), libsvn_fs/editor.c (1.1): Start tree editor interface for committing changes to the repository: (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 <cmpilato@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/: Makefile.am (1.26), dir.c (1.14), node.h (1.9): * dir.c, node.h: Removed, Jim says they're not relevant anymore. 2001-02-06 10:33 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/Makefile.am (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 <kfogel@collab.net> * 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/Makefile.am (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 functions. (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/Makefile.am (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 <kfogel@collab.net> * subversion/tests/: svn_tests_main.c (1.15), libsvn_fs/fs-test.c (1.10): Make the test framework able to run multiple named tests: * tests/svn_tests_main.c (main): Handle multiple test number arguments. Untangle filesystem intertest dependencies, so tests can be run independently: * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 name. * 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 prototypes * 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 structure 2001-02-05 07:44 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/repos.c (1.27): fix typo: wrong prep function. 2001-02-05 07:20 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/: Makefile.am (1.12), activity.c (1.1): add a placeholder for some activity manipulation functions 2001-02-05 07:18 Greg Stein <gstein@lyra.org> * STACK (1.71): "Hey! Give me back my holy man!" -- Glory, Buffer the Vampire Slayer (TV Series) 2001-02-05 06:32 Greg Stein <gstein@lyra.org> * 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_resource_type (dav_svn_parse_uri): fix leading comment. use (renamed) ->parse member (dav_svn_prep_regular): new function, extracted from dav_svn_get_resource. (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 <rassilon@lyra.org> * 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, milestone-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 <rassilon@lyra.org> * DriveHelpers.bas: Added new helper functions PathSkipTail and PathGetTail. * 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 ExplorerViewHelper. * 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 <gstein@lyra.org> * 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() (dav_svn_parse_uri): new code for parsing the different types of SVN URIs. 2001-02-04 23:29 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_fs/fs.c (1.32): (svn_fs_create_berkeley) allow the directory to exist beforehand. 2001-02-04 23:21 Greg Stein <gstein@lyra.org> * .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 <gstein@lyra.org> * configure.in (1.55), subversion/libsvn_fs/Makefile.am (1.25), subversion/tests/libsvn_fs/Makefile.am (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 <gstein@lyra.org> * subversion/libsvn_wc/adm_crawler.c (1.72): blast a couple compile warnings 2001-02-04 22:27 Greg Stein <gstein@lyra.org> * subversion/svnadmin/main.c (1.2): quick hack to create an SVN environment 2001-02-04 21:06 Greg Stein <gstein@lyra.org> * autogen.sh (1.31), configure.in (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). * configure.in: rename the header to "svn_private_config.h" * autogen.sh: 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 <gstein@lyra.org> * STACK (1.70): refactor, avoid code dup... 2001-02-04 18:52 Greg Stein <gstein@lyra.org> * 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 BUFSIZ 2001-02-04 18:25 Greg Stein <gstein@lyra.org> * subversion/tests/libsvn_subr/Makefile.am (1.16): delta builds on subr. reorder the libs. 2001-02-04 17:41 Greg Stein <gstein@lyra.org> * subversion/tests/: libsvn_fs/Makefile.am (1.12), libsvn_subr/Makefile.am (1.15): add missing libsvn_delta library from some of the link steps 2001-02-04 16:34 Greg Stein <gstein@lyra.org> * configure.in (1.53): we don't refer to unistd.h any more. toss it. 2001-02-02 17:09 Bill Tutt <rassilon@lyra.org> * AUTHORS (1.10): 2001-02-02 Bill Tutt <rassilon@lyra.org> * AUTHORS: Greg was nice enough to toss me a slightly more convenient address. 2001-02-02 11:14 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.67): (SVN_ERR_MALFORMED_XML): Doc fix from Sam TH <sam@uchicago.edu>. 2001-02-02 02:39 Bill Tutt <rassilon@lyra.org> * IDEAS (1.20): 2001-02-01 Bill Tutt <rassilon@lima.mudlib.org> * 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 <rassilon@lyra.org> * subversion/clients/win32/svn_com/: MarshalArray.h (1.3), SVN.cpp (1.4): 2001-02-01 Bill Tutt <rassilon@lima.mudlib.org> * 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 <brane@xbc.nu> * STACK (1.68): And they told me time and again not to volunteer for anything ... 2001-02-01 20:29 Branko Cibej <brane@xbc.nu> * 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 understand. 2001-02-01 19:30 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <kbob@jogger-egg.com> * 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 <sussman@collab.net> * notes/guis/: README (1.1), pics/README (1.1) (utags: milestone-2): Added guis/ and guis/pics/ areas to notes/ subdir 2001-02-01 06:24 Branko Cibej <brane@xbc.nu> * HACKING (1.23): Add note about include and lib directories for DB3 for Win32 builds. 2001-01-31 14:57 C. Michael Pilato <cmpilato@collab.net> * STACK (1.67): Added bug inquiry regarding timestamps 2001-01-31 11:36 C. Michael Pilato <cmpilato@collab.net> * configure.in (1.52): Adding client/test/ to list of automagically built thingamabobs. 2001-01-31 11:02 C. Michael Pilato <cmpilato@collab.net> * subversion.dsw (1.11): Updated VS workspace to reflect new location of the test project files. * subversion.dsw: See above. 2001-01-31 10:57 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.51), subversion/Makefile.am (1.21): Build `svnadmin' iff `libsvn_fs' is built too. * configure.in, Makefile.am (@SVNADMIN@): new build variable defined only if @LIBSVN_FS@ is defined. 2001-01-31 08:47 Kevin Pilch-Bisson <kevin@pilch-bisson.net> * 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 libsvn_fs.lib * subversion/tests/libsvn_fs/skel_test.dsp - Changed location of libsvn_fs.lib * subversion/tests/libsvn_subr/hashdump_test.dsp - Changed location of libsvn_subr.lib * subversion/tests/libsvn_subr/string_test.dsp - Changed location of libsvn_subr.lib * subversion/tests/libsvn_wc/checkout_test.dsp - Changed location of libsvn_wc.lib * subversion/tests/libsvn_wc/commit_test.dsp - Changed location of libsvn_wc.lib 2001-01-30 22:13 Brian Fitzpatrick <fitz@red-bean.com> * 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 <kfogel@collab.net> * BUGS (1.3): Q: How late is it in Chicago? A: Too late. 2001-01-30 20:47 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * notes/difftools/: README (1.1), pics/README (1.1) (utags: milestone-2): Add scratch areas for diff-tool photos 2001-01-30 17:32 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/checkout-test.sh (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 <kfogel@collab.net> * subversion/tests/Makefile.am (1.10): (SUBDIRS): Put . first, you'll never regret it. 2001-01-30 17:06 Karl Fogel <kfogel@collab.net> * README (1.12, milestone-2), STACK (1.66), configure.in (1.50), subversion.dsw (1.9), subversion/Makefile.am (1.20), subversion/include/svn_delta.h (1.137), subversion/libsvn_client/Makefile.am (1.12), subversion/libsvn_delta/Makefile.am (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/Makefile.am (1.24), subversion/libsvn_ra_dav/Makefile.am (1.6), subversion/libsvn_ra_dav/commit.c (1.27), subversion/libsvn_ra_dav/fetch.c (1.34), subversion/libsvn_subr/Makefile.am (1.15), subversion/libsvn_wc/Makefile.am (1.26), subversion/libsvn_wc/get_editor.c (1.161), subversion/mod_dav_svn/Makefile.am (1.11), subversion/tests/Makefile.am (1.9), subversion/tests/svn_test_editor.c (1.16), subversion/tests/libsvn_delta/Makefile.am (1.15), subversion/tests/libsvn_fs/Makefile.am (1.11), subversion/tests/libsvn_fs/fs-test.c (1.9), subversion/tests/libsvn_fs/skel-test.c (1.14), subversion/tests/libsvn_subr/Makefile.am (1.14), subversion/tests/libsvn_wc/Makefile.am (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): Same. 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/ * Makefile.am (AC_OUTPUT): Compensate for above changes. * subversion/tests/svn_test_editor.c (svn_test_get_editor): Use new svn_delta_default_editor. * subversion/Makefile.am (SUBDIRS): Put tests/ subdir last. * subversion/tests/Makefile.am (SUBDIRS): Mention new subdirs. * subversion/libsvn_client/Makefile.am, subversion/libsvn_fs/Makefile.am, subversion/libsvn_ra_dav/Makefile.am, subversion/libsvn_subr/Makefile.am, subversion/libsvn_wc/Makefile.am, subversion/mod_dav_svn/Makefile.am (SUBDIRS): Removed this rule, as it was used only for the now-obsolete tests/ subdirs. * subversion/client/Makefile.am, subversion/tests/libsvn_delta/Makefile.am, subversion/tests/libsvn_fs/Makefile.am, subversion/tests/libsvn_subr/Makefile.am, subversion/tests/libsvn_wc/Makefile.am: Replace @SVN_TESTS_COMMON_EDITOR_LIBS@ and @SVN_TESTS_COMMON_MAIN_LIBS@ with @SVN_TESTS_EDITOR_LIBS@ and @SVN_TESTS_MAIN_LIBS@ respectively. * subversion/tests/libsvn_delta/Makefile.am (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. * configure.in, README, subversion.dsw: Compensate for above changes. * STACK: Remove Change #8. 2001-01-30 15:35 C. Michael Pilato <cmpilato@collab.net> * configure.in (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 time). * config.hw (SVN_PATH_LOCAL_SEPARATOR): Added this #define for Windows usage. * configure.in (SVN_PATH_LOCAL_SEPARATOR): 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. * svn_path.h (SVN_PATH_REPOS_SEPARATOR, SVN_PATH_URL_SEPARATOR): 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 <kfogel@collab.net> * AUTHORS (1.9): Added Mark Murphy, Bill Tutt, C. Michael Pilato. 2001-01-29 18:25 Branko Cibej <brane@xbc.nu> * 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): Likewise. * libsvn_wc/questions.c (filesizes_definitely_different_p): Likewise. 2001-01-29 18:20 Branko Cibej <brane@xbc.nu> * subversion/clients/win32/svn_com/.cvsignore (1.1, milestone-2): "Are we visible from the earth?" I asked. "Why?" "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 speck." 2001-01-29 17:12 Ben Collins-Sussman <sussman@collab.net> * STACK (1.65): Ooops, really, change #1 is done. Really. 2001-01-29 17:10 Ben Collins-Sussman <sussman@collab.net> * STACK (1.64): Fixed add/del logic bugs, update my STACK. (I used to be a FUNDAMENTALIST, but then I heard about the HIGH RADIATION LEVELS and bought an ENCYCLOPEDIA!!) 2001-01-29 17:03 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * configure.in (1.48): * configure.in: Remove shorthands for private include directories. 2001-01-28 10:43 Branko Cibej <brane@xbc.nu> * subversion/tests/libsvn_fs/Makefile.am (1.10): * Makefile.am (INCLUDES): Use $(srcdir)/.. rather than @SVN_LIBSVN_FS_INCLUDES@. (COMMON_LIBS): Reformat. 2001-01-28 09:50 Branko Cibej <brane@xbc.nu> * 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 <ghudson@mit.edu> * 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 over. (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 <kfogel@collab.net> * 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 zero. 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/svn-test.sh 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 parameter. * 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 root_dir_baton. (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 batons. * 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 edit_baton. * 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 edit_baton. * 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 root_dir_baton. (svn_ra_dav__checkout): Fold edit_baton and root_baton into a single root_dir_baton. (svn_ra_dav__get_update_editor): Replace edit_baton with root_dir_baton, even though this function is #if'd out right now anyway. (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 edit_baton. (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 <sussman@collab.net> * subversion/Makefile.am (1.19, post-edit-baton-removal, pre-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 exist. 2001-01-26 13:15 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * subversion/include/svn_client.h (1.18): (svn_client_file_diff): add to docstring. 2001-01-26 08:21 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_client.h (1.17), include/svn_wc.h (1.68), libsvn_client/Makefile.am (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 caller. * libsvn_client/Makefile.am: compile diff.c * client/Makefile.am: compile diff.c and diff-cmd.c * main.c (cmd_table): add diff command 2001-01-26 07:06 Daniel Stenberg <daniel@haxx.se> * autogen.sh (1.30, post-edit-baton-removal, pre-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 <sussman@collab.net> * subversion/libsvn_wc/log.c (1.83): (log_do_run_cmd): fix array size, doh! Submitted by Kevin Pilch-Bisson <kevin@pilch-bisson.net>. Thanks Kevin. :) 2001-01-25 14:30 Ben Collins-Sussman <sussman@collab.net> * 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 context. * 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 <gstein@lyra.org> * configure.in (1.47, post-edit-baton-removal, pre-edit-baton-removal), subversion/Makefile.am (1.18): add svnadmin to the build. 2001-01-25 07:44 Greg Stein <gstein@lyra.org> * subversion/svnadmin/: .cvsignore (1.1, milestone-2), Makefile.am (1.1), main.c (1.1) (utags: post-edit-baton-removal, pre-edit-baton-removal): "There can be only one." 2001-01-25 07:37 Greg Stein <gstein@lyra.org> * subversion/libsvn_fs/fs.c (1.31, post-edit-baton-removal, pre-edit-baton-removal): doc fix. 2001-01-25 07:23 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/mod_dav_svn/: dav_svn.h (1.13), liveprops.c (1.12), version.c (1.7) (utags: post-edit-baton-removal, pre-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 functions (dav_svn_get_vsn_header): removed * dav_svn.h (dav_svn_insert_all_liveprops): update prototype 2001-01-24 22:54 Jim Blandy <jimb@redhat.com> * 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 function. * libsvn_fs/err.c, libsvn_fs/err.h (svn_fs__err_path_syntax): New function. 2001-01-24 22:46 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <brane@xbc.nu> * configure.in (1.46), subversion/Makefile.am (1.17), expat-lite/Makefile.am (1.3, milestone-2, post-edit-baton-removal, pre-edit-baton-removal), subversion/libsvn_client/Makefile.am (1.10), subversion/libsvn_delta/Makefile.am (1.15, post-edit-baton-removal, pre-edit-baton-removal), subversion/libsvn_fs/Makefile.am (1.23, post-edit-baton-removal, pre-edit-baton-removal), subversion/tests/libsvn_delta/Makefile.am (1.14, post-edit-baton-removal, pre-edit-baton-removal), subversion/libsvn_ra_dav/Makefile.am (1.5, post-edit-baton-removal, pre-edit-baton-removal), subversion/libsvn_subr/Makefile.am (1.14, post-edit-baton-removal, pre-edit-baton-removal), subversion/tests/libsvn_fs/Makefile.am (1.9, post-edit-baton-removal, pre-edit-baton-removal), subversion/tests/libsvn_subr/Makefile.am (1.13, post-edit-baton-removal, pre-edit-baton-removal), subversion/libsvn_wc/Makefile.am (1.25, post-edit-baton-removal, pre-edit-baton-removal), subversion/mod_dav_svn/Makefile.am (1.10, post-edit-baton-removal, pre-edit-baton-removal), subversion/tests/Makefile.am (1.8, post-edit-baton-removal, pre-edit-baton-removal), subversion/tests/libsvn_wc/Makefile.am (1.14, post-edit-baton-removal, pre-edit-baton-removal), subversion/tests/libsvn_wc/checkout-test.sh (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 <kevin@pilch-bisson.net> * Makefile.am (EXTRA_DIST): Add autoconf helpers. * configure.in (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/Makefile.am (check): Pass XML source directory to test scripts. * subversion/client/tests/svn-test.sh, subversion/client/tests/svn-test2.sh: Accept and use XML source directory parameter. * expat-lite/Makefile.am, subversion/Makefile.am, subversion/client/Makefile.am, subversion/client/tests/Makefile.am, subversion/libsvn_client/Makefile.am, subversion/libsvn_delta/Makefile.am, subversion/libsvn_delta/tests/Makefile.am, subversion/libsvn_fs/Makefile.am, subversion/libsvn_fs/tests/Makefile.am, subversion/libsvn_ra_dav/Makefile.am, subversion/libsvn_ra_dav/tests/Makefile.am, subversion/libsvn_subr/Makefile.am, subversion/libsvn_subr/tests/Makefile.am, subversion/libsvn_wc/Makefile.am, subversion/libsvn_wc/tests/Makefile.am, subversion/mod_dav_svn/Makefile.am, subversion/tests-common/Makefile.am: 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/txn-table.h (1.7, post-edit-baton-removal, pre-edit-baton-removal): Doc fix. 2001-01-24 12:56 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/tree.c (1.8, post-edit-baton-removal, pre-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 <kfogel@collab.net> * 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 <sussman@collab.net> * www/index.html (1.18, post-edit-baton-removal, pre-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 <kfogel@collab.net> * autogen.sh (1.29): Check for neon 0.8.1, since we depend on exactly that release right now. 2001-01-23 15:31 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/wc.h (1.141): (svn_wc__entry_merge_sync): docfix. 2001-01-23 12:43 Ben Collins-Sussman <sussman@collab.net> * 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, pre-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 apr_item_t. * 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 <kevin@pilch-bisson.net>. 2001-01-23 11:30 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.17): Update some dates and such. 2001-01-23 11:26 Ben Collins-Sussman <sussman@collab.net> * www/project_bugs.html (1.4, milestone-2, post-edit-baton-removal, pre-edit-baton-removal): Update bugs page, it's not May anymore. :) 2001-01-23 10:59 Ben Collins-Sussman <sussman@collab.net> * www/project_source.html (1.4, post-edit-baton-removal, pre-edit-baton-removal): New web section: how to contribute code. 2001-01-23 10:19 Ben Collins-Sussman <sussman@collab.net> * STACK (1.61): Add general problems, don't let these fall on the floor. 2001-01-23 08:44 Karl Fogel <kfogel@collab.net> * STACK (1.60): Note that Change #2 is still being discussed. 2001-01-22 19:47 Karl Fogel <kfogel@collab.net> * STACK (1.59): Change status of "Change #2" (that was added in previous commit). 2001-01-22 19:30 Karl Fogel <kfogel@collab.net> * STACK (1.58): Added Ben's emails ("Change #1", "Change #2", ... "Change #7") as stack items. 2001-01-22 12:36 Branko Cibej <brane@xbc.nu> * 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 <gstein@lyra.org> * 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 <brane@xbc.nu> * IDEAS (1.19, post-edit-baton-removal, pre-edit-baton-removal): Add section about removing obsolete versions to archive. Fix some typos. 2001-01-15 03:40 Bill Tutt <rassilon@lyra.org> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/libsvn_fs/txn.c (1.20, post-edit-baton-removal, pre-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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 svn_fs.h. 2001-01-14 15:41 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * STACK (1.55): Remove svn_fs_open_txn from the todo list. 2001-01-14 12:24 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/libsvn_fs/skel.c (1.16, post-edit-baton-removal, pre-edit-baton-removal): (svn_fs__prepend): Fix typo, nake this actually work. 2001-01-12 18:34 Karl Fogel <kfogel@collab.net> * STACK (1.54): Remove svn_fs_close_txn() and svn_fs_txn_name() from the todo list. 2001-01-12 18:32 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/entries.c (1.82): (svn_wc__entry_merge_sync): oops, fix doc typo. :) 2001-01-12 15:58 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/entries.c (1.81): (svn_wc__entry_merge_sync): add long doc string describing logic-to-come. 2001-01-12 15:43 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_fs/txn.c (1.15), tests/libsvn_fs/fs-test.c (1.5): * 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 <sussman@collab.net> * subversion/include/svn_wc.h (1.67): (svn_wc_entry): clearer doc string. 2001-01-12 15:24 Karl Fogel <kfogel@collab.net> * 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 places. 2001-01-12 14:52 Ben Collins-Sussman <sussman@collab.net> * STACK (1.52): Finished the trace-commit editor. 2001-01-12 13:19 Bill Tutt <rassilon@lyra.org> * subversion/clients/win32/SVNControls/: SGrid.vbp (1.3), SVNControls.ocx (1.1) (utags: milestone-2, post-edit-baton-removal, pre-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 sane. * 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 <kfogel@collab.net> * 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 <gstein@lyra.org> * subversion/mod_dav_svn/repos.c (1.23, post-edit-baton-removal, pre-edit-baton-removal): fill in the new pool argument of the dav_walk_resource. 2001-01-11 18:23 Karl Fogel <kfogel@collab.net> * 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 both. (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 <rassilon@lyra.org> * 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 <kfogel@collab.net> * subversion/libsvn_fs/: clones-table.c (1.3), dag.c (1.4, post-edit-baton-removal, pre-edit-baton-removal), txn-table.c (1.5): 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 svn_fs__str_to_dbt(). 2001-01-11 05:25 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_fs/dag.c (1.3): add some stubs so the symbols will be defined and the library can load. 2001-01-11 03:35 Bill Tutt <rassilon@lyra.org> * 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, pre-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 <rassilon@lyra.org> * subversion/clients/win32/WinSVN/: WinSVN.vbp (1.2), lvh.cls (1.2, milestone-2) (utags: post-edit-baton-removal, pre-edit-baton-removal): WinSVN has successfully made it through svn-test.sh! * *.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 AutoWidthColumn 2001-01-11 03:10 Bill Tutt <rassilon@lyra.org> * subversion/clients/win32/svn_com/SVN.cpp (1.2): * SVN.cpp: Only unlock the SAFEARRAY if I've gone and locked it already. 2001-01-11 03:08 Bill Tutt <rassilon@lyra.org> * 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 <rassilon@lyra.org> * 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 <gstein@lyra.org> * 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, pre-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 <billtut@microsoft.com> Reviewed by: Greg Stein 2001-01-10 18:00 Greg Stein <gstein@lyra.org> * notes/issues.txt (1.3, milestone-2, post-edit-baton-removal, pre-edit-baton-removal): don't lose track of this one! 2001-01-10 17:17 Bill Tutt <rassilon@lyra.org> * 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, pre-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 <rassilon@lyra.org> * 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 <rassilon@lyra.org> * subversion.dsw (1.8, post-edit-baton-removal, pre-edit-baton-removal): * subversion.dsw: Add the svn_com project to the workspace. 2001-01-10 16:30 Bill Tutt <rassilon@lyra.org> * 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), SVNCOMps.mk (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. (MarshalArray.h) 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 <brane@xbc.nu> * subversion/libsvn_fs/structure (1.27, post-edit-baton-removal, pre-edit-baton-removal): (Merge rules): Fix typo. (Appendix): Replace "node.id" with "node.revision-id" where appropriate. 2001-01-09 18:08 Branko Cibej <brane@xbc.nu> * configure.in (1.45), subversion/tests/libsvn_delta/Makefile.am (1.13), subversion/tests/libsvn_fs/Makefile.am (1.8), subversion/tests/libsvn_subr/Makefile.am (1.12), subversion/tests/libsvn_wc/Makefile.am (1.13): Update donfigury and makefiles for libtoolized APR. (configure.in): New subtitution SVN_APR_LIBS. Point it to libapr.la and $LIBTOOL_LIBS defined in apr/APRVARS. (subversion/client/Makefile.am subversion/libsvn_delta/tests/Makefile.am subversion/libsvn_fs/tests/Makefile.am subversion/libsvn_ra_dav/tests/Makefile.am subversion/libsvn_subr/tests/Makefile.am subversion/libsvn_wc/tests/Makefile.am): Use @SVN_APR_LIBS@ instead of explicitly linking libapr.a. 2001-01-08 23:01 Greg Stein <gstein@lyra.org> * 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 hash (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 PROPPATCH (commit_add_file): implement CHECKOUT; add notes (commit_rep_file): implement CHECKOUT portion (commit_change_file_prop): do the CHECKOUT immediately; defer the PROPPATCH (commit_close_edit): we'll be MERGE'ing the activity (svn_ra_dav__get_commit_editor): remove the if (0), so we create the activity 2001-01-08 22:54 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/: fetch.c (1.32), ra_dav.h (1.5) (utags: pre-edit-baton-removal): * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/include/svn_wc.h (1.66): Change introduction to status section based on Greg Stein's comments. 2001-01-08 17:06 Karl Fogel <kfogel@collab.net> * 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 <gstein@lyra.org> * STACK (1.50): some changes lying around 2001-01-08 14:35 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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_wc_statuses(). (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 <joe@light.plus.com> * 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 <gstein@lyra.org> * 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 <sussman@collab.net> * 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" editors. 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. * svn-test2.sh: 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 <kfogel@collab.net> * STACK (1.49): Fix typo. 2001-01-03 15:39 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * www/project_docs.html (1.14, post-edit-baton-removal, pre-edit-baton-removal): Link to webdav-usage.html. 2001-01-03 12:45 Karl Fogel <kfogel@collab.net> * notes/webdav-usage.html (1.12): moved to ../www/ 2001-01-03 12:11 Karl Fogel <kfogel@collab.net> * notes/issues.txt (1.2): Tweak wording, and add a comment. 2001-01-03 12:09 Karl Fogel <kfogel@collab.net> * notes/issues.txt (1.1): Ben's summary email, repositized so we can edit it. 2000-12-26 18:54 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <ghudson@mit.edu> * subversion/libsvn_subr/quoprint.c (1.1, post-edit-baton-removal, pre-edit-baton-removal): Routines for quoted-printable encoding. Also forgot this in the last commit. 2000-12-26 18:20 Greg Hudson <ghudson@mit.edu> * subversion/include/svn_quoprint.h (1.1, post-edit-baton-removal, pre-edit-baton-removal): Header for quoted-printable encoding. Forgot this in the last commit. 2000-12-26 17:28 Greg Hudson <ghudson@mit.edu> * 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/Makefile.am (1.13), tests/libsvn_delta/svndiff-test.c (1.10, post-edit-baton-removal, pre-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 encodings (svn_xml__stackframe_t, xml_handle_start): Field for new attribute "encoding" * xml_parse.c (do_begin_textdelta): Understand "encoding" attribute and handle quoted-printable and base64 encodings. Default is base64. * 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 <ghudson@mit.edu> * doc/deltas.texi (1.6, milestone-2, post-edit-baton-removal, pre-edit-baton-removal): Fix formatting error. 2000-12-26 15:36 Greg Hudson <ghudson@mit.edu> * subversion/include/svn_wc.h (1.63): Eliminate duplicate #ifdef wrapping left by last commit. 2000-12-26 15:14 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_subr/base64.c (1.14, post-edit-baton-removal, pre-edit-baton-removal): Typo fix in comment. 2000-12-26 12:37 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/include/svn_xml.h (1.27): Load svn-dev.el. 2000-12-24 06:52 Greg Hudson <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 terminated. 2000-12-24 05:48 Greg Hudson <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * subversion/libsvn_subr/io.c (1.22): (svn_stream_create): Remember to initialize close_fn. 2000-12-23 16:41 Greg Hudson <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * subversion/libsvn_delta/xml_parse.c (1.137): (svn_delta_xml_auto_parse): Doc fix. 2000-12-23 16:24 Greg Hudson <ghudson@mit.edu> * 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, pre-edit-baton-removal): (svn_delta_xml_auto_parse): Use generic stream for input. All callers changed. 2000-12-23 08:42 Greg Hudson <ghudson@mit.edu> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_ra_dav/commit.c (1.24): Don't record local paths, just repository URLs. 2000-12-22 16:48 Karl Fogel <kfogel@collab.net> * 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 <rassilon@lima.mudlib.org>. 2000-12-21 18:39 Karl Fogel <kfogel@collab.net> * STACK (1.47), subversion/libsvn_wc/entries.c (1.79), subversion/libsvn_wc/log.c (1.79), subversion/libsvn_wc/wc.h (1.139): 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". (SVN_WC__ENTRIES_ATTR_FILE_STR, SVN_WC__ENTRIES_ATTR_DIR_STR): new #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 <ghudson@mit.edu> * 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 <brane@xbc.nu> * 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, pre-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 <sussman@collab.net> * subversion/include/svn_ra.h (1.26): oops, typo. 2000-12-21 15:38 Karl Fogel <kfogel@collab.net> * HACKING (1.22, post-edit-baton-removal, pre-edit-baton-removal): Removed spurious `x'. 2000-12-21 15:17 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_ra.h (1.25): (svn_ra_plugin_t) (get_latest_revnum): new func to retrieve latest revnum from repos. 2000-12-21 15:14 Ben Collins-Sussman <sussman@collab.net> * 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. :) (svn_ra_plugin_t): (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 <kfogel@collab.net> * 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 <kfogel@collab.net> * STACK (1.46): note subdir ancestor bug 2000-12-20 22:58 Greg Hudson <ghudson@mit.edu> * 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 (1.68): (svn_txdelta): Use generic streams. All callers changed. 2000-12-20 22:58 Greg Hudson <ghudson@mit.edu> * 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 <sussman@collab.net> * subversion/: include/svn_wc.h (1.60), libsvn_wc/adm_crawler.c (1.67): 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 (report_local_mods) (svn_wc_crawl_revisions): new public interface to report_revisions(), not yet completed. 2000-12-20 19:09 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion.dsw (1.6): Add project test_libsvn_fs-fs. 2000-12-20 19:05 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/tests/libsvn_fs/fs_test.dsp (1.1): Project for building fs-test.exe 2000-12-20 13:24 Ben Collins-Sussman <sussman@collab.net> * 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 <daniel@haxx.se> * 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 <gstein@lyra.org> * subversion/include/svn_types.h (1.51): add a little safety to the macro 2000-12-19 23:26 Greg Hudson <ghudson@mit.edu> * 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 handlers. (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 <daniel@haxx.se> * 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 <daniel@haxx.se> * subversion/mod_dav_svn/Makefile.am (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 <gstein@lyra.org> * HACKING (1.21): whoops. Ben already put in a title/date. 2000-12-18 21:47 Greg Stein <gstein@lyra.org> * HACKING (1.20): first pass at how to config/build/install/setup mod_dav_svn. 2000-12-18 19:41 Branko Cibej <brane@xbc.nu> * 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 <sussman@collab.net> * subversion/include/svn_ra.h (1.22): (svn_ra_plugin_t): clearer variable names. 2000-12-18 10:26 Ben Collins-Sussman <sussman@collab.net> * HACKING (1.19): Adding newbie info and a TOC. 2000-12-18 06:53 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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* change 2000-12-16 20:19 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 less." (create_berkeley_filesystem) Fixed test id. 2000-12-16 18:14 Branko Cibej <brane@xbc.nu> * subversion/tests/libsvn_fs/Makefile.am (1.7): (noinst_PROGRAMS): Added fs-test. Uncomment bits to build it. 2000-12-16 18:13 Branko Cibej <brane@xbc.nu> * subversion/tests/libsvn_fs/run-fs-tests.sh (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 <joe@light.plus.com> * 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 <brane@xbc.nu> * subversion/libsvn_fs/Makefile.am (1.22): (libsvn_fs_la_SOURCES): Added dag.c. 2000-12-16 18:11 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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, pre-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 syntax. * 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 <brane@xbc.nu> * subversion/libsvn_fs/Makefile.am (1.21): (libsvn_fs_la_SOURCES): Added rev-table.c and validate.c. 2000-12-16 17:05 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/libsvn_fs/validate.c (1.1, post-edit-baton-removal, pre-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 <brane@xbc.nu> * subversion/libsvn_fs/validate.h (1.1, post-edit-baton-removal, pre-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 <gstein@lyra.org> * 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 <joe@light.plus.com> * 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 <gstein@lyra.org> * autogen.sh (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 <mdejong@cygnus.com> 2000-12-14 23:19 Branko Cibej <brane@xbc.nu> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/: include/svn_ra.h (1.21), libsvn_client/Makefile.am (1.9), libsvn_client/client.h (1.7), libsvn_client/ra_loader.c (1.2): 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 * Makefile.am: compile ra_loader.c 2000-12-14 11:03 Jim Blandy <jimb@redhat.com> * 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 trickery (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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/: include/svn_error.h (1.62), libsvn_ra_dav/commit.c (1.19): 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 SVN_ERR_RA_DELETE_FAILED * 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, though. (commit_delete) add some initial code, but left it out pending completion of the checkout_resource() code (need a valid WORKCOL). 2000-12-13 13:35 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_ra.h (1.20), libsvn_client/ra_loader.c (1.1): * svn_ra.h (svn_ra_library_t): removed, made private in ra_loader.c * ra_loader.c: new file with pseudocode, just saving some scratchwork. 2000-12-13 13:02 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 distilleries. 2000-12-13 11:05 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/: libsvn_fs/Makefile.am (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/Makefile.am (1.6): * libsvn_fs/clones-table.c: New file. * libsvn_fs/Makefile.am (libsvn_fs_la_SOURCES): Add clones-table.c. * libsvn_fs/txn-table.c: New file. * libsvn_fs/Makefile.am (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 declaration. * 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 "dag.h". (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, too. * libsvn_fs/clones-table.h (svn_fs__open_clones_table): New declaration. * 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 meaningful. * libsvn_fs/structure: Update. * libsvn_fs/tests/Makefile.am (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 <jimb@redhat.com> * subversion/libsvn_fs/: tree.c (1.6), txn-table.h (1.3), txn.c (1.14): 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' argument. * libsvn_fs/tree.c (check_for_clone): Pass the `fs' argument to svn_fs__get_txn. 2000-12-12 14:24 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/tree.h (1.1, post-edit-baton-removal, pre-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 <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/: Makefile.am (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/Makefile.am (libsvn_fs_la_SOURCES): Add back txn.c. 2000-12-12 13:18 Jim Blandy <jimb@redhat.com> * 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 functions. (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 <jimb@redhat.com> * subversion/libsvn_fs/dag.h (1.5): * libsvn_fs/dag.h (svn_fs__dag_delete): Doc fix. 2000-12-12 13:11 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/TODO (1.13, post-edit-baton-removal, pre-edit-baton-removal): Have some priest! 2000-12-12 09:32 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/tree.c (1.4): Doc fixes. 2000-12-11 22:04 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/tree.c (1.3): Doc fixes. 2000-12-11 21:54 Jim Blandy <jimb@redhat.com> * 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 implementations. (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 warnings. * libsvn_fs/dag.h (svn_fs__dag_clone_child): Renamed from svn_fs__dag_clone. * libsvn_fs/tree.c (clone_path): Change caller. * libsvn_fs/dag.h (svn_fs__dag_get_contents): Add omitted CONTENTS_FN_P and CONTENTS_BATON_P arguments. * 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 <jimb@redhat.com> * subversion/libsvn_fs/trail.h (1.2, post-edit-baton-removal, pre-edit-baton-removal): Make the header files self-sufficient: * libsvn_fs/trail.h: #include "svn_fs.h". 2000-12-11 21:37 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/node-rev.h (1.2, post-edit-baton-removal, pre-edit-baton-removal): Make the header files self-sufficient: * libsvn_fs/node-rev.h: #include "skel.h". 2000-12-11 20:06 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/Makefile.am (1.18): * libsvn_fs/Makefile.am (libsvn_fs_la_SOURCES): Add `trail.c'. 2000-12-11 17:29 Jim Blandy <jimb@redhat.com> * 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 <kfogel@collab.net> * doc/deltas.texi (1.4): More tweaks in serialized deltas section; still in progress. 2000-12-09 22:24 Jim Blandy <jimb@redhat.com> * 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 <brane@xbc.nu> * 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 <kfogel@collab.net> * doc/deltas.texi (1.3): Massaged wording of introductory section. Doing same to serialized deltas section, but that is still in progress. 2000-12-08 15:51 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_delta.h (1.127): fix typo. 2000-12-08 11:21 Ben Collins-Sussman <sussman@collab.net> * doc/deltas.texi (1.2): typo fixed. 2000-12-08 11:09 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/: Makefile.am (1.17), tree.c (1.1): * libsvn_fs/Makefile.am (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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 well-formed. * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 declarations. 2000-12-07 19:36 Ben Collins-Sussman <sussman@collab.net> * doc/: Makefile.am (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, pre-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. * Makefile.am: compile deltas.texi. 2000-12-07 08:14 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/libsvn_fs/: Makefile.am (1.16), err.c (1.15): Add err.c to the compile/link so DB_WRAP() can link to svn_fs__wrap_db(). * err.c: fix function definitions to match prototypes in err.h 2000-12-06 17:32 Ben Collins-Sussman <sussman@collab.net> * 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 <jimb@redhat.com> * 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, replacing... (svn_fs__dag_stabilize): Deleted. * libsvn_fs/dag.h (svn_fs__dag_clone, svn_fs__dag_make_file): New declarations. 2000-12-06 15:40 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/: Makefile.am (1.15), nodes-table.h (1.2): * libsvn_fs/nodes-table.c: New file. * libsvn_fs/Makefile.am (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 <jimb@redhat.com> * 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 <sussman@collab.net> * 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 update/checkout. * 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 <jimb@redhat.com> * subversion/libsvn_fs/: Makefile.am (1.14), fs.c (1.24), fs.h (1.14): * libsvn_fs/Makefile.am (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 directly. * libsvn_fs/fs.c (svn_fs_new): Call apr_pcalloc directly. 2000-12-06 15:22 Jim Blandy <jimb@redhat.com> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <jimb@redhat.com> * subversion/libsvn_fs/structure (1.23): Record parents in mutable nodes. 2000-12-06 12:06 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/dag.h (1.1): If you have any questions about your scores, see you dean or adviser. 2000-12-05 17:54 Karl Fogel <kfogel@collab.net> * 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 changes. 2000-12-05 17:30 Ben Collins-Sussman <sussman@collab.net> * 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 with SVN_WC__LOG_DETECT_CONFLICT. Also unrelatedly, check in progress on svn-test2.sh -- our "conflict/merge" test script. * wc.h (SVN_WC__LOG_DETECT_CONFLICT): new log command; replaces RM_IF_EMPTY. * 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. :) * svn-test2.sh: textual conflicts are now detected, because of our new log command above. :) * pipatch.xml: new xml file for svn-test2.sh -- designed to create textual conflict when applied to `pi' 2000-12-05 11:24 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.64): (get_common_path): new utility func 2000-12-05 09:58 Ben Collins-Sussman <sussman@collab.net> * STACK (1.42): Save stack. 2000-12-04 10:42 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_path.h (1.23), libsvn_subr/path.c (1.27): (svn_path_get_longest_ancestor): new utility func 2000-12-03 13:59 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * subversion/libsvn_fs/Makefile.am (1.13): * libsvn_fs/Makefile.am (libsvn_fs_la_SOURCES): Add dbt.c and id.c to list of buildable files. 2000-12-03 13:52 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 apr_palloc. 2000-12-03 13:29 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <gstein@lyra.org> * 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 creation (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 close_edit. * ra-commit.c: [new] perform a commit to the server 2000-12-03 07:43 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <sam@uchicago.edu> 2000-12-02 22:10 Jim Blandy <jimb@redhat.com> * 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 Makefile.am, 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 <jimb@redhat.com> * subversion/libsvn_fs/Makefile.am (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 <gstein@lyra.org> * 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 parameter 2000-12-02 02:08 Greg Stein <gstein@lyra.org> * 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 <ghudson@mit.edu> * 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 <sussman@collab.net> * 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 <gstein@lyra.org> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/include/svn_ra.h (1.16): Fix typo in declaration. 2000-11-30 16:53 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_ra.h (1.15): Describe how working copy updates should work through RA. 2000-11-30 13:25 Ben Collins-Sussman <sussman@collab.net> * 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 <gstein@lyra.org> * subversion/mod_dav_svn/version.c (1.6): fill out the framework for the versioning hooks 2000-11-29 12:58 Greg Stein <gstein@lyra.org> * 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 <sussman@collab.net> * subversion/libsvn_wc/: get_editor.c (1.152), log.c (1.76), wc.h (1.135): 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 <brane@xbc.nu> * subversion/libsvn_fs/structure (1.20): (REVISION): Fixed typo, "V-1" -> "V+1". 2000-11-28 15:56 Branko Cibej <brane@xbc.nu> * 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 <sussman@collab.net> * STACK (1.41): Behold the Mighty Stack. 2000-11-27 13:12 Ben Collins-Sussman <sussman@collab.net> * 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 <brane@xbc.nu> * 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 <jimb@redhat.com> * subversion/libsvn_fs/structure (1.17): Clarify `Cloning' page, as per Branko's comments. 2000-11-27 07:03 Greg Stein <gstein@lyra.org> * 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 request_rec) * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * configure.in (1.44): We don't use strerror(), and we can compile with stricter GCC warnings. 2000-11-26 09:13 Greg Stein <gstein@lyra.org> * 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 svn_wc__do_property_merge(). * client/main.c: add <apr_general.h> for apr_initialize/apr_terminate * 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 argument (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' global. (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" -> "run_cmd_in_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 apr_initialize/apr_terminate. * 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 const (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 apr_initialize/apr_terminate. 2000-11-25 18:51 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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() function 2000-11-23 04:35 Branko Cibej <brane@xbc.nu> * IDEAS (1.18): O.K., so I'm being stubborn. 2000-11-23 04:20 Branko Cibej <brane@xbc.nu> * IDEAS (1.17): No such thing as :ssh: remote CVS. 2000-11-22 21:45 Greg Stein <gstein@lyra.org> * 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 <brane@xbc.nu> * 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/libsvn_delta/libsvn_delta.dsp, subversion/libsvn_delta/tests/deltaparse_test.dsp, subversion/libsvn_fs/libsvn_fs.dsp, subversion/libsvn_subr/libsvn_subr.dsp, subversion/libsvn_subr/tests/sting_test.dsp, subversion/libsvn_wc/libsvn_wc.dsp, subversion/tests-common/libsvn_test_editor.dsp, subversion/tests-common/libsvn_test_main.dsp: Update include path. * subversion/libsvn_delta/tests/random_test.dsp, subversion/libsvn_delta/tests/svndiff_test.dsp, subversion/libsvn_delta/tests/vdelta_test.dsp, subversion/libsvn_delta/tests/xml_output_test.dsp, subversion/libsvn_fs/tests/skel_test.dsp, subversion/libsvn_fs/libsvn_fs.dsp, subversion/libsvn_subr/tests/hashdump_test.dsp, subversion/libsvn_wc/libsvn_wc.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 <brane@xbc.nu> * 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 <kfogel@collab.net> * STACK (1.40): push 2000-11-22 17:56 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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, pre-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/check-license.py (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 <kfogel@collab.net> * www/license-1.html (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal): Remove backlink; the frames take care of that already. 2000-11-22 17:31 Karl Fogel <kfogel@collab.net> * www/license-1.html (1.1): Post license on web. 2000-11-22 15:10 Greg Stein <gstein@lyra.org> * tools/check-license.py (1.2): add the -C switch to support changing licenses in files 2000-11-22 13:56 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * TASKS (1.16): Added Win/Mac GUI client task. 2000-11-22 10:55 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 libsvn_ra_xml 2000-11-21 18:51 Greg Stein <gstein@lyra.org> * 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 <sussman@collab.net> * STACK (1.38): 3.141592653589793238462643383279502884197 2000-11-21 18:04 Ben Collins-Sussman <sussman@collab.net> * 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 is SVN_WC_ENTRY_THIS_DIR. (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 svn_io_copy_file(). (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 <fitz@red-bean.com> * autogen.sh (1.27): I changed cvs directory for apr to /home/cvspublic. 2000-11-20 16:38 Karl Fogel <kfogel@collab.net> * autogen.sh (1.26): Update instructions for getting APR via CVS. 2000-11-17 21:46 Karl Fogel <kfogel@collab.net> * STACK (1.37): One more straw. 2000-11-17 20:27 Karl Fogel <kfogel@collab.net> * 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): Clarifications: (svn_wc_entry_t): change `flags' field to `state', to indicate meaning not implementation. (SVN_WC_ENTRY_ADDED): replaces SVN_WC_ENTRY_ADD. (SVN_WC_ENTRY_DELETED): replaces SVN_WC_ENTRY_DELETE. (SVN_WC_ENTRY_CONFLICTED): SVN_WC_ENTRY_CONFLICT. 2000-11-17 20:15 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.131): (svn_wc__entry_merge_sync): outright doc FIX. 2000-11-17 20:14 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.130): (svn_wc__entry_merge_sync): doc tweaklet. 2000-11-17 20:14 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.129): (svn_wc__entry_merge_sync): doc tweak. 2000-11-17 20:07 Karl Fogel <kfogel@collab.net> * 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 accurate. (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 <kfogel@collab.net> * 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 SVN_WC_ENTRY_CLEAR. * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 * 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 all. 2000-11-17 17:29 Greg Stein <gstein@lyra.org> * STACK (1.35): "I will give you commands! You will obey them!" -- Mojo Jojo 2000-11-17 16:59 Ben Collins-Sussman <sussman@collab.net> * STACK (1.34): stack stack stack. 2000-11-17 16:59 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * STACK (1.33): Save da stack. 2000-11-17 16:27 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.126): (svn_wc__entry_merge_sync): doc fix. 2000-11-17 12:05 Ben Collins-Sussman <sussman@collab.net> * 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 now. (process_subdirectory): change call to above. 2000-11-17 11:53 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 thread-safety) (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 non-const (put_transaction_skel) add 'const' to the 'txn_skel' param 2000-11-17 03:12 Greg Stein <gstein@lyra.org> * tools/check-license.py (1.1): quick tool for checking the licenses in files 2000-11-17 02:51 Greg Stein <gstein@lyra.org> * 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 (1.3): $msg 2000-11-17 02:45 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <sussman@collab.net> * STACK (1.32): Glub glub, updated stack. 2000-11-16 17:00 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <kfogel@collab.net> * subversion/libsvn_wc/: log.c (1.68), wc.h (1.124): Start of changes to detect conflicts after updates and mark entries appropriately: (SVN_WC__LOG_ATTR_SAVED_MODS): removed, obsolete. (SVN_WC__LOG_UPDATED, SVN_WC__LOG_ATTR_TEXT_REJFILE, 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 appropriately. (start_handler): just hand off to above. 2000-11-16 11:18 Karl Fogel <kfogel@collab.net> * STACK (1.31): removed two items 2000-11-16 11:16 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 <gstein@lyra.org> * autogen.sh (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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/tests/libsvn_subr/.cvsignore (1.5, post-edit-baton-removal, pre-edit-baton-removal): Ignore ignorables. 2000-11-15 01:00 Karl Fogel <kfogel@collab.net> * STACK (1.30): Added two items. 2000-11-15 00:55 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * HACKING (1.17): The shepherds knew not whither she was gone. 2000-11-14 20:17 Ben Collins-Sussman <sussman@collab.net> * 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. Examples: -- 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!! a * 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 correctly. 2000-11-14 19:27 Ben Collins-Sussman <sussman@collab.net> * STACK (1.29): commit, commit, ba-da-da-da-da-da dum. 2000-11-14 19:24 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.144): (close_file): doc fix. Or doc break, depending on how you look at it. 2000-11-14 19:21 Karl Fogel <kfogel@collab.net> * 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 <jimb@redhat.com> * IDEAS (1.15): Change section title to something more informative. 2000-11-14 15:08 Jim Blandy <jimb@redhat.com> * IDEAS (1.14): Add blurb about random access to delta-encoded files. 2000-11-13 22:20 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * subversion/include/svn_io.h (1.18): (svn_io_check_path): doc fix. 2000-11-13 21:23 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 for SVN_WC_ENTRY_THIS_DIR. * 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 directory. (svn_wc_props_modified_p): use svn_wc__prop_path and svn_wc__prop_base_path. * wc.h (svn_wc__prop_base_path): declare. 2000-11-13 18:21 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/compose_editors.c (1.4): (change_dir_prop): fix cut-and-paste-o. 2000-11-13 18:01 Ben Collins-Sussman <sussman@collab.net> * 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 return. 2000-11-13 17:37 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: get_editor.c (1.139), props.c (1.15), wc.h (1.116): 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 svn_wc__do_property_merge. 2000-11-13 16:11 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 above. * wc.h (svn_wc__get_existing_prop_reject_file): change declaration too. 2000-11-13 11:56 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/README (1.59): Notes about properties in the working copy. 2000-11-13 01:13 Branko Cibej <brane@xbc.nu> * IDEAS (1.13): New item: Interoperate with CVS servers 2000-11-12 19:46 Branko Cibej <brane@xbc.nu> * subversion/libsvn_delta/vdelta.c (1.6): (svn_txdelta__vdelta): Add some hash statistics, toggled off. 2000-11-12 19:18 Karl Fogel <kfogel@collab.net> * configure.in (1.43), subversion/libsvn_wc/get_editor.c (1.137), subversion/libsvn_wc/log.c (1.62), subversion/libsvn_wc/wc.h (1.113): 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: * configure.in: 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_INFILE, SVN_WC__LOG_ATTR_OUTFILE, SVN_WC__LOG_ATTR_ERRFILE, SVN_WC__LOG_ATTR_ARG_1, SVN_WC__LOG_ATTR_ARG_2, SVN_WC__LOG_ATTR_ARG_3, SVN_WC__LOG_ATTR_ARG_4, SVN_WC__LOG_ATTR_ARG_5, SVN_WC__LOG_ATTR_ARG_6, SVN_WC__LOG_ATTR_ARG_7, 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 <sussman@collab.net> * 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. * Makefile.am: compile props.c into `svn'. 2000-11-12 15:55 Ben Collins-Sussman <sussman@collab.net> * 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 libsvn_delta (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 <kfogel@collab.net> * subversion/libsvn_wc/: Makefile.am (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 <joe@light.plus.com> * configure.in (1.42): * configure.in: Make the search for a diff program work, using AC_DEFINE_UNQUOTED. 2000-11-12 12:47 Karl Fogel <kfogel@collab.net> * configure.in (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 <kfogel@collab.net> * configure.in (1.40): Unsuccessful attempt to get SVN_CLIENT_DIFF set in config.h. 2000-11-12 12:41 Ben Collins-Sussman <sussman@collab.net> * 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 <bkorb@cruzio.com> * 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, pre-edit-baton-removal): provide: itemize mark 2000-11-12 11:24 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.134): (close_file): formatting fix. 2000-11-12 11:23 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.133): (close_file): drive diff the APR way, instead of via C system() and redirection. 2000-11-12 11:16 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 confusion. * STACK: popped. 2000-11-10 19:12 Karl Fogel <kfogel@collab.net> * 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 now. 2000-11-10 16:52 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_subr/io.c (1.15): (svn_io_open_unique_file): fix error message. 2000-11-10 15:03 Ben Collins-Sussman <sussman@collab.net> * 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.h (SVN_WC_ENTRY_ATTR_TEXT_TIME, 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 svn_wc__entry_merge_sync() * 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 arguments. (stuff_entry): same. (svn_wc__entry_dup): use new text_time and prop_time fields in entry. * 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 compared. (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 "unmodified". * wc.h: (svn_wc__entry_merge_sync): update prototype. * adm_ops.c: (svn_wc_delete_file, svn_wc_add_file): change call to svn_wc__entry_merge_sync(). * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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/svn-test.sh: 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 <brane@xbc.nu> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_wc/log.c (1.59): (start_handler): use svn_path_add_component_nts, as Greg Stein suggested. 2000-11-09 15:42 Karl Fogel <kfogel@collab.net> * 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. Unrelated: (svn_path_is_empty): replaces svn_path_isempty; this kept biting me. 2000-11-09 14:47 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/README (1.57): Change definition of `timestamp'. 2000-11-09 12:44 Ben Collins-Sussman <sussman@collab.net> * 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 SVN_WC_TIMESTAMP_WC * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <daniel@haxx.se>. 2000-11-09 09:31 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/: get_editor.c (1.124), log.c (1.57), wc.h (1.104): 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 file. 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 <gstein@lyra.org> * 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 <ghudson@mit.edu> * subversion/tests/xml/: co1-inline.xml (1.4), co1-postfix.xml (1.4) (utags: milestone-2, post-edit-baton-removal, pre-edit-baton-removal): Fix encoded svndiffs (they were encoded using a faulty base64 table). 2000-11-08 11:53 Greg Hudson <ghudson@mit.edu> * 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 <brane@xbc.nu> * HACKING (1.16): Added a note about checking APR status codes. 2000-11-08 04:32 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/repos.c (1.11): checkpoint some continued development. 2000-11-08 01:33 Greg Hudson <ghudson@mit.edu> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/log.c (1.56): (start_handler): call apr_remove_file with correct full path. 2000-11-07 23:48 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_wc/log.c (1.55): (start_handler): pass received attribute hash to svn_wc__entry_merge_sync. 2000-11-07 23:43 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 remove_from_revision_control(). * props.c (svn_wc__do_property_merge): use new SVN_WC__LOG_RM 2000-11-07 23:24 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/entries.c (1.66): (sync_entry): handle merge and conflict flags. 2000-11-07 23:18 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * STACK (1.20): Bugs for Ben n' Karl regarding merging/conflicts 2000-11-07 22:07 Karl Fogel <kfogel@collab.net> * 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 Latin. 2000-11-07 21:59 Greg Stein <gstein@lyra.org> * 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 <kfogel@collab.net> * subversion/include/svn_wc.h (1.42): (svn_wc_entry_t): doc fix. 2000-11-07 21:44 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.41): (svn_wc_entry_t): doc fix. 2000-11-07 21:40 Karl Fogel <kfogel@collab.net> * 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_ATTR_NAME replaces SVN_WC__ENTRIES_ATTR_NAME SVN_WC_ENTRY_ATTR_REVISION replaces SVN_WC__ENTRIES_ATTR_REVISION SVN_WC_ENTRY_ATTR_KIND replaces SVN_WC__ENTRIES_ATTR_KIND SVN_WC_ENTRY_ATTR_TIMESTAMP replaces SVN_WC__ENTRIES_ATTR_TIMESTAMP SVN_WC_ENTRY_ATTR_CHECKSUM replaces SVN_WC__ENTRIES_ATTR_CHECKSUM SVN_WC_ENTRY_ATTR_ADD replaces SVN_WC__ENTRIES_ATTR_ADD SVN_WC_ENTRY_ATTR_DELETE replaces SVN_WC__ENTRIES_ATTR_DELETE SVN_WC_ENTRY_ATTR_MERGED replaces SVN_WC__ENTRIES_ATTR_MERGED SVN_WC_ENTRY_ATTR_CONFLICT replaces SVN_WC__ENTRIES_ATTR_CONFLICT SVN_WC_ENTRY_ATTR_ANCESTOR replaces SVN_WC__ENTRIES_ATTR_ANCESTOR SVN_WC_ENTRY_ATTR_REJFILE replaces SVN_WC__ENTRIES_ATTR_REJFILE 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_ENTRY_CONFLICT replaces SVN_WC__ENTRY_CONFLICT SVN_WC_ENTRY_THIS_DIR replaces SVN_WC__ENTRIES_THIS_DIR (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 renaming. Even more unrelatedly: (svn_wc__get_existing_reject_file): add `const' qualifier. 2000-11-07 20:37 Ben Collins-Sussman <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/props.c (1.4): (svn_wc__append_prop_conflict): drop the prefix, this is a static func. 2000-11-07 18:14 Ben Collins-Sussman <sussman@collab.net> * 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 <gstein@lyra.org> * 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). * 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 <kfogel@collab.net> * subversion/libsvn_wc/: get_editor.c (1.119), log.c (1.50): Preserve local mods by patching: * libsvn_client/tests/svn-test.sh: 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 <gstein@lyra.org> * STACK (1.19): watching Blue Submarine No. 6 ... 2000-11-07 17:17 Karl Fogel <kfogel@collab.net> * subversion/include/svn_io.h (1.16): (svn_io_open_unique_file): doc fix. 2000-11-07 16:45 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.118): (close_file): mask out irrelevant bits of return code. 2000-11-07 15:51 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <gstein@lyra.org> * subversion/mod_dav_svn/Makefile.am (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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 questionable 2000-11-07 00:23 Greg Stein <gstein@lyra.org> * 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 CFLAGS 2000-11-06 19:58 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * 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 <kfogel@collab.net> * subversion/libsvn_fs/: structure (1.14), TODO (1.11): Replace "version" with "revision". 2000-11-06 18:27 Karl Fogel <kfogel@collab.net> * AUTHORS (1.8, post-edit-baton-removal, pre-edit-baton-removal): added Daniel Stenberg 2000-11-06 17:29 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/log.c (1.48): Fix void returns. 2000-11-06 11:51 Greg Stein <gstein@lyra.org> * autogen.sh (1.24): we want 0.7.7 to get the right linking behavior when shared libs are built 2000-11-05 21:05 Branko Cibej <brane@xbc.nu> * 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 expat-lite/xmlparse.c:doContent. 2000-11-05 16:32 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * subversion/tests/libsvn_fs/skel-test.c (1.6): * libsvn_fs/tests/skel-test.c: Include <stdlib.h> for alloca on Win32. 2000-11-05 16:29 Branko Cibej <brane@xbc.nu> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * subversion/: libsvn_fs/.cvsignore (1.3, milestone-2, post-edit-baton-removal, pre-edit-baton-removal), libsvn_fs/Makefile.am (1.11), libsvn_subr/.cvsignore (1.3), libsvn_subr/Makefile.am (1.12), mod_dav_svn/.cvsignore (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal), mod_dav_svn/Makefile.am (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/Makefile.am: add -ldb to mark a dependency in the .la file so that Apache will link in -ldb when it statically links mod_dav_svn * libsvn_fs/Makefile.am, libsvn_subr/Makefile.am: 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/Makefile.am: 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 removed * 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 <gstein@lyra.org> * 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 Apache 2000-11-04 02:12 Greg Stein <gstein@lyra.org> * subversion/tests/libsvn_fs/Makefile.am (1.5): add some missing libraries to the link 2000-11-03 20:44 Greg Stein <gstein@lyra.org> * expat-lite/Makefile.am (1.2): make libtool be quiet 2000-11-03 20:15 Branko Cibej <brane@xbc.nu> * 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 apr_size_t. * libsvn_delta/delta.h (svn_txdelta__vdelta); Remove const from `start'. * 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 <brane@xbc.nu> * subversion/libsvn_fs/libsvn_fs.dsp (1.2): Put `.\' on files, like DevStudio does. 2000-11-03 20:03 Branko Cibej <brane@xbc.nu> * subversion.dsw (1.3): Get rid of those weird uppercase path names. 2000-11-03 19:06 Branko Cibej <brane@xbc.nu> * HACKING (1.15): Describe Win32 build process. 2000-11-03 17:34 Branko Cibej <brane@xbc.nu> * subversion.dsw (1.2): Include libsvn_fs project. 2000-11-03 17:33 Branko Cibej <brane@xbc.nu> * 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 <brane@xbc.nu> * .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 <kfogel@collab.net> * 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_ERR_IO_UNIQUE_NAMES_EXHAUSTED): replaces SVN_ERR_IO_TMP_NAMES_EXHAUSTED. (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 <sussman@collab.net> * subversion/libsvn_wc/: get_editor.c (1.116), props.c (1.2), wc.h (1.98): 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 merged. * get_editor.c (struct dir_baton): add apr array of svn_propdelta_t objects (make_dir_baton): initialize this array (change_dir_prop): accumulate propchanges in the baton, just like change_file_prop(). (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 <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.97): (SVN_WC__LOG_REPLACE_PROP_BASE): removed. 2000-11-02 12:11 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: log.c (1.46), wc.h (1.96): (SVN_WC__LOG_MERGE_PROPS, SVN_WC__LOG_MERGE_TEXT): removed these 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 <kfogel@collab.net> * subversion/libsvn_wc/: get_editor.c (1.115), log.c (1.45), wc.h (1.95): (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 SVN_WC__LOG_MV. (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 <gstein@lyra.org> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/: include/svn_delta.h (1.122), libsvn_delta/delta.h (1.42), libsvn_wc/Makefile.am (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 `props.c'. 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' file. Also, ask Karl about how entry timestamps are updated. (another log command?) * 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. * Makefile.am: 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 <kfogel@collab.net> * 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/Makefile.am (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 gotchas: * 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 <bkorb@cruzio.com> * IDEAS (1.12): use a format string to construct ``svn status'' output 2000-10-31 16:34 Karl Fogel <kfogel@collab.net> * 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. (SVN_WC__LOG_MODIFY_ENTRY): replaces SVN_WC__LOG_SET_VERSION, make it handle the general case of tweaking an entry. (SVN_WC__ENTRY_MERGED, SVN_WC__ENTRIES_ATTR_MERGED, 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 <kfogel@collab.net> * subversion/libsvn_wc/log.c (1.42): (rename_under_directory): more accurate name for rename_within_directory. 2000-10-31 13:20 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/: include/svn_error.h (1.53), libsvn_wc/adm_crawler.c (1.48): 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 conflicted. * 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 necessary. * svn_error.h: added SVN_ERR_WC_FOUND_CONFLICT 2000-10-31 12:18 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/io.c (1.8): (svn_io_tmp_file): doc fix. 2000-10-31 12:14 Karl Fogel <kfogel@collab.net> * 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 SVN_ERR_WC_UNIQUE_NAME_UNAVAILABLE. 2000-10-31 11:32 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_subr/path.c (1.21): (svn_path_compare_paths): make sure dirs always appear before their children. (count_chars): removed. Actually, this function was never added; the previous log message was inaccurate. 2000-10-30 18:58 Karl Fogel <kfogel@collab.net> * 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. (SVN_PATH__REPOS_SEPARATOR): privatize SVN_PATH_REPOS_SEPARATOR. (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 <kfogel@collab.net> * subversion/include/svn_io.h (1.10): (svn_io_tmp_name): doc clarifications. 2000-10-30 17:25 Karl Fogel <kfogel@collab.net> * 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_ERR_WC_UNIQUE_TMP_NAME_UNAVAILABLE): new error code. (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: (SVN_ERR_WC_OBSTRUCTED_UPDATE): replaces SVN_ERR_OBSTRUCTED_UPDATE. 2000-10-30 15:48 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/: include/svn_hash.h (1.8), libsvn_subr/Makefile.am (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 (apr_item_t *) 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 output. * keysort.c: new file implementing apr_get_sorted_keys() * Makefile.am: 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 <kfogel@collab.net> * 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, libsvn_client/update.c (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 svn_delta_compose_editors. Unrelated cosmetic change: * client/trace.c (dir_baton): arrange structure more consistently. 2000-10-28 02:12 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <jimb@redhat.com> * subversion/: include/svn_fs.h (1.23), libsvn_fs/Makefile.am (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 functions. (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 transaction. (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 functions. * 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/Makefile.am (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 them. * 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 consistency. * 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 well-defined. * 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 svn_fs_is_mutable. * include/svn_fs.h (svn_fs_file_contents): Clarify lifetime of CONTENTS / CONTENTS_BATON. * libsvn_fs/Makefile.am (delta.c, file.c): Set aside for now. 2000-10-27 14:59 Ben Collins-Sussman <sussman@collab.net> * 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: recursion.) * 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 hash. * cl.h (svn_cl__print_status): change declaration appropriately 2000-10-27 13:26 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/wc.h (1.89): Add SVN_WC__ENTRY_CONFLICT flag in entries structure. 2000-10-26 20:24 Karl Fogel <kfogel@collab.net> * IDEAS (1.11): Lost an idea, gained an idea. 2000-10-26 19:33 Brian Fitzpatrick <fitz@red-bean.com> * subversion/include/svn_delta.h (1.119): Fixed indentation. 2000-10-26 19:02 Brian Fitzpatrick <fitz@red-bean.com> * IDEAS (1.10): Added ideas for 'svn convert' and 'svn repo' 2000-10-26 16:55 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: get_editor.c (1.107), log.c (1.39), wc.h (1.88): 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 <joe@light.plus.com> * AUTHORS (1.7): Change of e-mail address. 2000-10-26 15:02 Karl Fogel <kfogel@collab.net> * 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/Makefile.am (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/Makefile.am: add compose_editors.c. * include/svn_delta.h (svn_delta_compose_editors): prototype and document. * 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/Makefile.am: 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. * Makefile.am, main.c: adjust for above. * cl.h: prototype. 2000-10-26 14:36 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/log.c (1.38): merged conflicts from Joe. :) 2000-10-26 14:32 Joe Orton <joe@light.plus.com> * 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 <joe@light.plus.com> * 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 functions. 2000-10-26 13:12 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.35): Removed lock-manager discussion from spec. 2000-10-26 13:05 Joe Orton <joe@light.plus.com> * subversion/include/: svn_error.h (1.50), svn_string.h (1.38): * svn_error.h (svn_error_createf): Add GCC printf format-checking attributes. * svn_string.h (svn_string_createf, svn_string_createv): Add GCC printf format-checking attributes. 2000-10-26 11:36 Ben Collins-Sussman <sussman@collab.net> * 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 svn_wc__adm_path. * adm_files.c (init_adm): create SVN/ dir with new #defines. 2000-10-26 11:23 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_files.c (1.49): (svn_wc__adm_path): fix braino. 2000-10-26 07:47 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 hash (save_prop_file): factorized code to write props from hash to disk * adm_files.c: change calls to SVN_WC__ADM_* defines where necessary. 2000-10-25 21:15 Ben Collins-Sussman <sussman@collab.net> * 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 tests. * 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 <brane@xbc.nu> * 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 <jimb@redhat.com> * subversion/include/svn_error.h (1.49): (SVN_ERR_FS_NO_SUCH_TRANSACTION, SVN_ERR_FS_BAD_REPLACE_ROOT, SVN_ERR_FS_NOT_MUTABLE): New errors. 2000-10-25 12:23 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/README (1.54): Describe new property-storage scheme. 2000-10-25 10:58 Branko Cibej <brane@xbc.nu> * configure.in (1.39), subversion/libsvn_fs/Makefile.am (1.8), subversion/tests/libsvn_delta/Makefile.am (1.12), subversion/tests/libsvn_fs/Makefile.am (1.4), subversion/tests/Makefile.am (1.7), subversion/tests/libsvn_subr/Makefile.am (1.11), subversion/tests/libsvn_wc/Makefile.am (1.12): Use flags and libs computed by APR's configure: * configure.in: Source apr/APRVARS after subdir config and set initial CPPFLAGS, CFLAGS and LIBS. * <all> Makefile.am: Remove explicit definitions of CFLAGS. 2000-10-25 07:48 Greg Stein <gstein@lyra.org> * 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 <sussman@collab.net> * subversion/: include/svn_client.h (1.7), include/svn_wc.h (1.34), libsvn_client/Makefile.am (1.8), libsvn_client/status.c (1.1), libsvn_wc/Makefile.am (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_INVALID_VERNUM. * 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 * Makefile.am: modified in both libsvn_wc/ and libsvn_client/ to build new `status.c' files. 2000-10-24 14:45 Karl Fogel <kfogel@collab.net> * README (1.11, post-edit-baton-removal, pre-edit-baton-removal), STACK (1.18), subversion/Makefile.am (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. * Makefile.am (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 <brane@xbc.nu> * ac-helpers/berkeley-db.m4 (1.5, post-edit-baton-removal, pre-edit-baton-removal): * ac-helpers/berkeley-db.m4: Don't mix LIBS and CPPFLAGS. 2000-10-23 20:54 Brian Fitzpatrick <fitz@red-bean.com> * IDEAS (1.8): Moved svn sync from subversion/client/README to here where it belongs 2000-10-23 20:51 Brian Fitzpatrick <fitz@red-bean.com> * IDEAS (1.7): Added Branko's idea 2000-10-23 17:18 Ben Collins-Sussman <sussman@collab.net> * 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 tree. 2000-10-23 17:09 Ben Collins-Sussman <sussman@collab.net> * doc/future.texi (1.8): * future.texi: add pointer to IDEAS. 2000-10-23 17:08 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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" instead. * Update description of files in the working copy administrative area. * 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 <kfogel@collab.net> * subversion/libsvn_wc/README (1.53): Cleaning up some loose ends. 2000-10-23 16:18 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.52): Clearer intro. 2000-10-23 12:59 Karl Fogel <kfogel@collab.net> * TASKS (1.14): Some tasks are now just stack items, others are in-progress. 2000-10-23 12:57 Karl Fogel <kfogel@collab.net> * STACK (1.17): You know, I could make all these changes and *then* commit, but noooo... 2000-10-23 12:57 Karl Fogel <kfogel@collab.net> * STACK (1.16): another note about hook editor 2000-10-23 12:56 Karl Fogel <kfogel@collab.net> * STACK (1.15): note about hook editor 2000-10-23 12:42 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * doc/svn-design.texi (1.15): Add date keyword to front page. 2000-10-23 12:24 Ben Collins-Sussman <sussman@collab.net> * STACK (1.13): Sunshine my herring trousers. 2000-10-23 11:56 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * STACK (1.12): What Ben is doing now. :) 2000-10-23 10:45 Greg Stein <gstein@lyra.org> * IDEAS (1.6): add an idea about splitting WC 2000-10-21 17:52 Joe Orton <joe@light.plus.com> * 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 <joe@light.plus.com> * 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 <joe@light.plus.com> * subversion/libsvn_ra_dav/fetch.c (1.19): * fetch.c (fetch_dirents): Destroy PROPFIND handler after use. 2000-10-21 17:43 Joe Orton <joe@light.plus.com> * subversion/libsvn_ra_dav/fetch.c (1.18): * fetch.c (fetch_dirents): More verbose error reporting for PROPFIND failures. 2000-10-21 10:25 Joe Orton <joe@light.plus.com> * 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 <kfogel@collab.net> * www/index.html (1.16, milestone-1): Simplify language. 2000-10-21 01:04 Karl Fogel <kfogel@collab.net> * STACK (1.11, milestone-1): Note some more todo items. 2000-10-21 01:04 Karl Fogel <kfogel@collab.net> * www/index.html (1.15): Note Milestone 1. 2000-10-21 00:57 Karl Fogel <kfogel@collab.net> * 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/svn-test.sh: demonstrate updates. * client/README: notes about update functionality and testing the client. * 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 svn_xml_protect_pcdata. * STACK: note some future todo items. 2000-10-20 21:44 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.45): (push_stack): allocate in the safe style. 2000-10-20 21:42 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * IDEAS (1.5, milestone-1): Describe how commit/update "hooks" might work in the near future. 2000-10-20 16:41 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.101): (apply_textdelta): handle errors correctly. 2000-10-20 16:33 Karl Fogel <kfogel@collab.net> * 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' warning. 2000-10-20 16:25 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.44): Prevent hash key from possibly vanishing. :) 2000-10-20 16:15 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 SVN_WC__LOG_COMMITTED. (delete): add note. 2000-10-20 15:18 Ben Collins-Sussman <sussman@collab.net> * 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 <joe@light.plus.com> * 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 <joe@light.plus.com> * 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 <sussman@collab.net> * subversion/libsvn_delta/xml_parse.c (1.126): Remove silly style of calling function pointers. 2000-10-20 13:06 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 target_baton. * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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/svn-test.sh: demonstrate the adds. Not really related changes: (svn_wc_crawl_local_mods): doc fix. 2000-10-19 21:19 Karl Fogel <kfogel@collab.net> * 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 SVN_WC__LOG_COMMITTED. (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 <kfogel@collab.net> * 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 consistency. 2000-10-19 19:21 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.40): (do_lock): innify scope of new error variable. 2000-10-19 19:21 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.39): (do_lock): don't overload error variable. 2000-10-19 19:12 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_ops.c (1.26), log.c (1.31), wc.h (1.80): (svn_wc__cleanup): take targets arg. (svn_wc__log_commit): test for targets in the right way. 2000-10-19 18:45 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <sussman@collab.net> * 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 above. * commit.c (generic_write) removed in favor of above, changed one caller to it. * adm_crawler.c (posix_reader) removed in favor above, changed callers. * 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 <kfogel@collab.net> * subversion/libsvn_wc/: adm_ops.c (1.24), log.c (1.29), wc.h (1.78): (svn_wc__cleanup): added bail_on_lock argument. All callers changed. 2000-10-19 17:09 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_ops.c (1.23), log.c (1.28), wc.h (1.77): (svn_wc__cleanup): new func. (svn_wc_close_commit): filled in. 2000-10-19 16:54 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 happy. * 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 do_dir_replaces(). (svn_wc_crawl_local_mods): adjust call to to process_subdirectory(). 2000-10-19 16:09 Greg Stein <gstein@lyra.org> * STACK (1.10): just noticed that I still needed to do this, from one of Karl's commits 2000-10-19 15:53 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.75): (SVN_WC__LOG_COMMITTED): restored. 2000-10-19 15:02 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: get_editor.c (1.98), log.c (1.26), wc.h (1.74): Document the meanings of the log elements, and: (SVN_WC__LOG_SET_VERSION): more accurate name for SVN_WC__LOG_SET_ENTRY. (set_version): more accurate name for set_entry. 2000-10-19 14:44 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.73): (SVN_WC__LOG_COMMITTED): new log tag. 2000-10-19 14:39 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.72): (svn_wc__copy_file): doc fix. 2000-10-19 14:38 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.71): (apr_copy_file): don't export. 2000-10-19 14:36 Karl Fogel <kfogel@collab.net> * 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 <gstein@lyra.org> * subversion/mod_dav_svn/: Makefile.am (1.6), dav_svn.h (1.5), mod_dav_svn.c (1.8), repos.c (1.7), util.c (1.1) (utags: milestone-1): - 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 <gstein@lyra.org> * 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 <gstein@lyra.org> * STACK (1.9): random whack at what needs to be coded / what can be deferred for a bit 2000-10-18 20:57 Brian Fitzpatrick <fitz@red-bean.com> * IDEAS (1.4): Fixed indentation. Doh. 2000-10-18 20:57 Brian Fitzpatrick <fitz@red-bean.com> * IDEAS (1.3): Added cvs-compatibility wrapper idea 2000-10-18 20:39 Brian Fitzpatrick <fitz@red-bean.com> * IDEAS (1.2): Added possible implementation specific information as item under 'shell-like insteractive mode' 2000-10-18 15:13 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <joe@light.plus.com> * BUGS (1.2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1): Put in the neon mailing list as the bug-reporting address. 2000-10-17 21:20 Karl Fogel <kfogel@collab.net> * BUGS (1.1): New file, so I can remember where to send APR bug reports. 2000-10-17 20:56 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/local_changes.c (1.15): (svn_wc__string_to_time): remove glaringly incorrect comment. 2000-10-17 20:54 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/: include/svn_io.h (1.5), include/svn_types.h (1.45, milestone-1), libsvn_subr/Makefile.am (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 changed. * libsvn_wc (svn_wc__file_exists_p): removed, in favor of svn_io_check_path. 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): removed. (compose_paths): replaces remove_redundancies. But not removed, as will still be useful. 2000-10-17 17:58 Joe Orton <joe@light.plus.com> * 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 <joe@light.plus.com> * 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 <kfogel@collab.net> * subversion/libsvn_subr/path.c (1.18): Load svn-dev.el. 2000-10-17 16:48 Karl Fogel <kfogel@collab.net> * subversion/include/svn_path.h (1.16): (svn_path_canonicalize): not static here either. 2000-10-17 16:47 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/path.c (1.17): (svn_path_canonicalize): not static. 2000-10-17 16:47 Karl Fogel <kfogel@collab.net> * subversion/include/svn_path.h (1.15): (svn_path_canonicalize): semicolon assumed the position. 2000-10-17 16:32 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/path.c (1.16): (svn_path_canonicalize): oops, change all callers of the old canonicalize. 2000-10-17 16:31 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.14), libsvn_subr/path.c (1.15): (svn_path_canonicalize): new public name for canonicalize. 2000-10-17 16:22 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.68): (svn_wc__entries_recurse): document. 2000-10-17 15:41 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <ghudson@mit.edu> * 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 <kfogel@collab.net> * subversion/tests/svn_test_editor.c (1.6): (my_vcdiff_windoweater): cast printf args to avoid compilation warnings. 2000-10-17 13:22 Karl Fogel <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/tests/: libsvn_wc/checkout-1.delta (1.15), libsvn_wc/checkout-2.delta (1.6), libsvn_wc/checkout-test.sh (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/svn-test.sh. 2000-10-17 12:32 Ben Collins-Sussman <sussman@collab.net> * 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 = FALSE'. (svn_wc__file_modified_p): clean up logic, using routines above. 2000-10-17 12:31 Karl Fogel <kfogel@collab.net> * AUTHORS (1.6, milestone-1): Added bkorb, fitz, lefty, mab. 2000-10-17 12:02 Karl Fogel <kfogel@collab.net> * IDEAS (1.1): [sorry, accidentally checked in STACK with this log message a moment ago] New file. Initialize with John Cavanaugh's idea for ftp-like shell mode for client. 2000-10-17 12:02 Karl Fogel <kfogel@collab.net> * STACK (1.8): New file. Initialize with John Cavanaugh's idea for ftp-like shell mode for client. 2000-10-17 11:17 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/svn_test_editor.c (1.3): Fill out edit_baton properly. 2000-10-17 11:12 Jim Blandy <jimb@redhat.com> * 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 <kfogel@collab.net> * 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 <sussman@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_client/delete.c (1.3, milestone-1): typo 2000-10-16 19:10 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.96): doc fix 2000-10-16 18:18 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_wc/adm_files.c (1.41): Removed obsolete comment. 2000-10-16 17:57 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: get_editor.c (1.94), local_changes.c (1.12): (svn_wc__string_to_time, svn_wc__time_to_string): use dummy timestamps until the apr_day_snames and apr_month_snames problem is fixed. Also fixed a couple of argument-order brainos. Now libsvn_wc passes checkout-test again. 2000-10-16 17:24 Ben Collins-Sussman <sussman@collab.net> * 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 <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.30): (process_subdirectory): fix silly recursion bug. 2000-10-16 17:07 Ben Collins-Sussman <sussman@collab.net> * 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 <jimb@redhat.com> * 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 <kfogel@collab.net> * 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 svn_wc__entry_merge. (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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/include/svn_test.h (1.2): #include necessary things, wrap in SVN_TEST_H. 2000-10-16 16:47 Karl Fogel <kfogel@collab.net> * 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 <kfogel@collab.net> * 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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <sussman@collab.net> * subversion/: include/svn_test.h (1.1), tests/Makefile.am (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/Makefile.am (1.11, milestone-1), tests/libsvn_delta/deltaparse-test.c (1.52), tests/libsvn_wc/Makefile.am (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. * Makefile.am (s): make the two test programs above depend on the new libsvn_test_editor.la. 2000-10-16 13:25 Karl Fogel <kfogel@collab.net> * 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 check_defaults. (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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_fs/txn.c (1.2): #include <string.h>, for memset. 2000-10-16 10:05 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_wc/commit-test.c (1.4): Don't forget to close the edit. 2000-10-16 08:23 Greg Stein <gstein@lyra.org> * configure.in (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 switch) * add a comment to the output stream that libtool configuration is starting 2000-10-16 08:13 Greg Stein <gstein@lyra.org> * 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 svn_fs__make_proplist(). 2000-10-15 22:51 Jim Blandy <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 <joe@light.plus.com> * configure.in (1.37): Remove references to old libsvn_string. 2000-10-14 16:05 Greg Hudson <ghudson@mit.edu> * subversion/: libsvn_client/Makefile.am (1.7), libsvn_wc/Makefile.am (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 <ghudson@mit.edu> * subversion/tests/libsvn_subr/Makefile.am (1.10, milestone-1): Need expat for test programs now that we have XML stuff in libsvn_subr. 2000-10-14 11:47 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/: TODO (1.7), TODO (1.8): [no log message] 2000-10-14 11:46 Jim Blandy <jimb@redhat.com> * 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 error. 2000-10-14 01:27 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/TODO (1.6): [no log message] 2000-10-14 01:11 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/: Makefile.am (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/Makefile.am (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 <jimb@redhat.com> * subversion/libsvn_fs/: dbt.c (1.5), dbt.h (1.4), node.c (1.7, milestone-1): * 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 <jimb@redhat.com> * subversion/libsvn_fs/fs.c (1.16): libsvn_fs/fs.c (cleanup_fs): Close databases before checkpointing. 2000-10-13 18:24 Jim Blandy <jimb@redhat.com> * 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, milestone-1): * 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 <jimb@redhat.com> * subversion/libsvn_fs/dbt.h (1.3): Doc fix. 2000-10-13 18:12 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/TODO (1.5): [no log message] 2000-10-13 17:37 Jim Blandy <jimb@redhat.com> * 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 <kfogel@collab.net> * 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 <jimb@redhat.com> * subversion/libsvn_fs/TODO (1.4): Long-term repository readability strategy. 2000-10-13 15:01 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.45): (SVN_ERR_WC_ENTRY_MISSING_VERSION): new error code. 2000-10-13 14:48 Greg Hudson <ghudson@mit.edu> * 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 interfaces. * base64.c (encode_bytes, encode_partial_group, decode_bytes): New helper functions to factor out encoding and decoding of byte strings. 2000-10-13 14:09 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.44): (SVN_ERR_UNKNOWN_NODE_KIND): new error. 2000-10-13 14:05 Karl Fogel <kfogel@collab.net> * 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 <jimb@redhat.com> * 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 <kfogel@collab.net> * 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 <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.61): (SVN_WC__ENTRIES_THIS_DIR): doc fix. 2000-10-13 12:32 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/wc.h (1.60): Added #define, because apr won't let us store NULL as a hash key (yet). 2000-10-13 09:58 Karl Fogel <kfogel@collab.net> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * subversion/libsvn_subr/svn_string.c (1.3): (svn_string_ensure): Don't reallocate when not necessary. 2000-10-12 16:24 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.58): (BRAVE_NEW_INTERFACE): new #define while entries interface is being improved. 2000-10-12 16:21 Joe Orton <joe@light.plus.com> * 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, svn_string_append*. * 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 <sussman@collab.net> * subversion/libsvn_wc/wc.h (1.57): New interface prototyped, but #ifdef'd out. 2000-10-12 12:28 Greg Hudson <ghudson@mit.edu> * 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 <ghudson@mit.edu> * subversion/tests/: libsvn_delta/foo.delta (1.9, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), libsvn_delta/postfix.delta (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), libsvn_delta/simple.delta (1.3, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), libsvn_wc/checkout-1.delta (1.14), libsvn_wc/checkout-2.delta (1.5), libsvn_wc/simple.delta (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 libsvn_delta/tests/svndiff-test. 2000-10-12 12:25 Greg Hudson <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * 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 <sussman@collab.net> * subversion/: Makefile.am (1.15, milestone-1), libsvn_client/Makefile.am (1.6), tests/libsvn_delta/Makefile.am (1.10), tests/libsvn_fs/Makefile.am (1.3, milestone-1), libsvn_subr/Makefile.am (1.9), libsvn_subr/svn_string.c (1.1), tests/libsvn_subr/Makefile.am (1.9), tests/libsvn_subr/stringtest.c (1.1), tests/libsvn_wc/Makefile.am (1.10): Merge libsvn_string into libsvn_subr. 2000-10-12 11:20 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/structure (1.8): Describe how transactions are implemented. 2000-10-11 19:42 Jim Blandy <jimb@redhat.com> * 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 <sussman@collab.net> * 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 <ghudson@mit.edu> * 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 routines. (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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * subversion/: include/svn_base64.h (1.1), libsvn_subr/Makefile.am (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 <jimb@redhat.com> * subversion/tests/libsvn_fs/skel-test.c (1.4, jimb_pre_transaction): * libsvn_fs/tests/skel-test.c (skel_is_digit): Dyke out, to silence `unused function' warnings. 2000-10-11 13:18 Jim Blandy <jimb@redhat.com> * 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): Declare. * 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 functions. (get_version_skel): Adapt to the fact that `versions' is now a `recno' table, indexed by record number, not a `btree', indexed by strings. 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 svn_fs__parse_id. * libsvn_fs/version.c (svn_fs__version_root): Same. * libsvn_fs/fs.c (cleanup_fs): Checkpoint the database before closing. * 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 long. * 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 <jimb@redhat.com> * subversion/libsvn_fs/structure (1.7, jimb_pre_transaction): [no log message] 2000-10-11 12:52 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/TODO (1.3, jimb_pre_transaction): [no log message] 2000-10-11 12:51 Jim Blandy <jimb@redhat.com> * 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 <ghudson@mit.edu> * subversion/libsvn_delta/svndiff.c (1.5): (write_handler): nheader should be at most *len, not at least *len. Oops. 2000-10-10 17:17 Daniel Stenberg <daniel@haxx.se> * www/: project_license.html (1.1, milestone-2), project_nav.html (1.2) (utags: milestone-1, post-edit-baton-removal, pre-edit-baton-removal): Added the "project license" web page PR: Obtained from: Submitted by: Reviewed by: 2000-10-10 15:33 Joe Orton <joe@light.plus.com> * 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 <joe@light.plus.com> * subversion/: include/svn_error.h (1.43), libsvn_ra_dav/session.c (1.7): * svn_error.h: Move RA-specific errors into SVN_ERR_RA_ namespace. * session.c: Altered accordingly. 2000-10-10 14:18 Joe Orton <joe@light.plus.com> * subversion/tests/libsvn_wc/.cvsignore (1.5, milestone-1): Add commit-test. 2000-10-10 13:55 Greg Hudson <ghudson@mit.edu> * 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 <jimb@redhat.com> * 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 <gstein@lyra.org> * subversion/: libsvn_fs/delta.c (1.14), libsvn_repos/delta.c (1.14), tests/libsvn_fs/Makefile.am (1.2) (utags: jimb_pre_transaction): * 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 delta_stream * Makefile.am: add libsvn_subr to pick up the svn_pool_create needed for libsvn_tests_main 2000-10-10 07:43 Greg Stein <gstein@lyra.org> * autogen.sh (1.23, milestone-1): The automake line generates Makefile.in from Makefile.am. However, Makefile.in is also dependent upon aclocal.m4 which was being generated *after* the Makefile.in. Thus, the first thing a "make" would do is regenerate the Makefile.in. Moving the automake pass *after* the aclocal.m4 regeneration should avoid this senseless rebuild. 2000-10-10 07:28 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * ac-helpers/berkeley-db.m4 (1.3): add the default install location for the DB distro to our search path 2000-10-10 06:36 Greg Stein <gstein@lyra.org> * notes/svndiff (1.2): typo 2000-10-10 06:34 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * 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 future 2000-10-10 06:29 Greg Stein <gstein@lyra.org> * 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 <gstein@lyra.org> * autogen.sh (1.22): Try and preserve the timestamp on aclocal.m4 to prevent excessive churning from the top-level Makefile. [ Every time autogen.sh was run, it would smack that timestamp, which caused the top-level Makefile to rebuild Makefile.in, Makefile, and configure. It would then run ./configure(!) ] 2000-10-10 05:52 Greg Stein <gstein@lyra.org> * autogen.sh (1.21): update the required version of Neon 2000-10-10 04:10 Greg Stein <gstein@lyra.org> * 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 <ghudson@mit.edu> * 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 <ghudson@mit.edu> * notes/svndiff (1.1): Document the svndiff format as clearly as I can at the moment. 2000-10-10 02:41 Greg Hudson <ghudson@mit.edu> * 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 <ghudson@mit.edu> * subversion/: include/svn_delta.h (1.116), libsvn_delta/Makefile.am (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 interfaces. * 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 interfaces. * 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 <gstein@lyra.org> * configure.in (1.36): tell Neon that we will be using a libtool version of libexpat. 2000-10-09 22:56 Greg Hudson <ghudson@mit.edu> * 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 implementation. (svn_txdelta__init_window): Removed. (svn_txdelta_make_window): New function, returns window (can't fail), takes pool argument intead of stream argument. Callers changed. (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 <ghudson@mit.edu> * 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 <gstein@lyra.org> * 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/Makefile.am (1.8), libsvn_wc/get_editor.c (1.89), tests/Makefile.am (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 abort() * 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. * .../Makefile.am: add libsvn_subr.la 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 libsvn_subr::svn_pool_create() 2000-10-09 16:58 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/fs.c (1.11): Doc fix. 2000-10-09 16:38 Jim Blandy <jimb@redhat.com> * subversion/: libsvn_fs/delta.c (1.13), libsvn_repos/delta.c (1.13): * 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 ourselves. (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 <jimb@redhat.com> * 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 <jimb@redhat.com> * 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 (1.12): Don't encourage baroque usage of pools. * include/svn_fs.h (svn_fs_subpool, svn_fs_node_subpool): Delete declarations. * 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 cleanup. * libsvn_fs/node.c (cache_node): Remove sanity check about caching nodes with their own pools. All that stuff has changed, and that rule is no longer relevant. * libsvn_fs/node.c (cache_node): Use apr_null_cleanup for the exec cleanup, not zero; the latter is an error. * libsvn_fs/node.c (svn_fs_cleanup_node): Same. * libsvn_fs/node.c (close_node): Doc fixes. * libsvn_fs/node.c (svn_fs__open_node_by_id): Clarify logic. 2000-10-09 01:56 Greg Hudson <ghudson@mit.edu> * subversion/: include/svn_delta.h (1.115), libsvn_delta/Makefile.am (1.12), libsvn_delta/svndiff.c (1.1), tests/libsvn_delta/.cvsignore (1.8, milestone-1), tests/libsvn_delta/Makefile.am (1.9), tests/libsvn_delta/random-test.c (1.7), tests/libsvn_delta/svndiff-test.c (1.1): Add code to encode and decode text deltas in a custom format called svndiff. (For now, documentation is available at http://subversion.tigris.org/subversion-dev/current/msg00864.html. I'll include something in the tree when things settle.) It is unclear whether svndiff is compact enough for our needs, but it gives us something to play with. Nothing uses this code yet except the test programs. (svn_txdelta_to_vcdiff): gc this declaration (there's no implementation). (svn_txdelta_to_svndiff, svn_txdelta_parse_svndiff): New functions to encode an decode a text delta. * svndiff-test.c: New program, exercises encoding function and lets us get some performance data. Not useful for the testing framework at the moment. * random-test.c: Extend the pipeline to encode and decode the generated delta before applying it. Does not add appreciably to execution time. 2000-10-09 01:20 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_wc/get_editor.c (1.88): I didn't quite understand how svn errors work and had the first two arguments to svn_error_create reversed. Fix. 2000-10-09 00:08 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/dir.c (1.2): Rearrange logic that closes directories after traversing them to work properly in the presence of symlinks, once we have them. 2000-10-08 12:41 Greg Hudson <ghudson@mit.edu> * subversion/: include/svn_error.h (1.41), libsvn_wc/get_editor.c (1.87): (add_or_replace_file): Make an attempt at getting this right. I think the sense of the error test was correct before rev 1.85, but the handling was wrong (we can't wrap an error which didn't happen), and the test in the replace case was also going to dereference a null pointer. (SVN_ERR_WC_ENTRY_EXISTS): New error code for the case in question. 2000-10-07 23:44 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_wc/get_editor.c (1.86): (make_editor): Allocate enough memory for the editor baton. 2000-10-07 19:52 Joe Orton <joe@light.plus.com> * subversion/libsvn_wc/get_editor.c (1.85): * get_editor.c (add_or_replace_file): Invert test to prevent NULL pointer dereference. 2000-10-07 18:25 Karl Fogel <kfogel@collab.net> * STACK (1.7): [no log message] 2000-10-07 17:48 Joe Orton <joe@light.plus.com> * autogen.sh (1.20): * autogen.sh: Require a specific version of neon which is known to work, since future releases may not be compatible. 2000-10-07 17:33 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.84): (debug_dir_baton): removed. This no longer stimulates the string-corruption bug, unfortunately. 2000-10-07 17:17 Karl Fogel <kfogel@collab.net> * subversion/libsvn_client/: apply_edits.c (1.1), client.h (1.1) (utags: milestone-1, milestone-1-beta): Oops, forgot to add these files in the last commit. 2000-10-07 17:12 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_client.h (1.6, milestone-1), libsvn_client/Makefile.am (1.5), libsvn_client/add.c (1.3, milestone-1), libsvn_client/checkout.c (1.7, milestone-1), libsvn_client/delete.c (1.2), libsvn_client/update.c (1.3), libsvn_wc/get_editor.c (1.83) (utags: milestone-1-beta): (main): take a target version arg for `update' as well. (delete): implement. * apply_edits.c: new file, abstracts checkout and update. (generic_read, apply_delta): moved to here from checkout.c. (do_edits, svn_client__checkout_internal, svn_client__update_internal): new funcs. (svn_client_checkout): implement in terms of above. (svn_client_update): same. Also, take version arg. * client.h: new file. * svn-test.sh: added update test, commented out deletion tests for now. 2000-10-07 16:34 Karl Fogel <kfogel@collab.net> * subversion/tests/xml/: up1a-inline.xml (1.2), up1a-postfix.xml (1.2), up1b-inline.xml (1.3, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), up1b-postfix.xml (1.3) (utags: milestone-1-beta): Don't include version numbers in replacements. 2000-10-07 16:21 Greg Hudson <ghudson@mit.edu> * subversion/: include/svn_xml.h (1.23, milestone-1, milestone-1-beta), libsvn_subr/xml.c (1.25, milestone-1-beta), libsvn_delta/xml_output.c (1.7, milestone-1-beta), libsvn_wc/entries.c (1.44, milestone-1-beta), libsvn_wc/get_editor.c (1.82): Reorg XML tag interfaces. Separate open from close tags, and allow open tags to have meaningful pcdata (meaning, no cosmetic newline). Combine make and append functions. (svn_xml_tag_type, svn_xml_append_tag, svn_xml_make_tag, svn_xml_append_tag_v, svn_xml_make_tag_v, svn_xml_append_tag_hash, svn_xml_make_tag_hash): Gone. (svn_xml_escape_string, svn_xml_make_header): Like the new functions, take an svn_string_t ** argument and make a new string or append to an existing string depending on whether it points to NULL. Call sites changed. (svn_xml_open_tag_style, svn_xml_make_open_tag, svn_xml_make_open_tag_v, svn_xml_make_open_tag_hash, svn_xml_make_close_tag): New functions and enum. Call sites changed. 2000-10-07 16:07 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.43), wc.h (1.56, milestone-1-beta): (SVN_WC__ENTRIES_TOPLEVEL): replaces SVN_WC__ENTRIES_END and SVN_WC__ENTRIES_START, since it's the only non-self-closing tag in the entries format. All callers changed. (handle_start_tag): if see toplevel, then this must be an open tag. 2000-10-07 15:57 Karl Fogel <kfogel@collab.net> * subversion/tests/xml/: up1b-inline.xml (1.2), up1b-postfix.xml (1.2): Do a deletion. 2000-10-07 15:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_ops.c (1.19, milestone-1-beta): (svn_wc_delete_file): make sure deletion doesn't affect version number, by passing SVN_INVALID_VERNUM. Tweaked tests. 2000-10-07 15:35 Karl Fogel <kfogel@collab.net> * subversion/tests/xml/: co1-inline.xml (1.2, milestone-1-beta), co1-postfix.xml (1.2, milestone-1-beta), up1a-inline.xml (1.1), up1a-postfix.xml (1.1), up1b-inline.xml (1.1), up1b-postfix.xml (1.1): More test data, and added proper xml headers to some old test data. 2000-10-07 14:49 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error.h (1.40, milestone-1-beta), libsvn_wc/entries.c (1.42), libsvn_wc/get_editor.c (1.81), libsvn_wc/wc.h (1.55), tests/libsvn_wc/checkout-test.sh (1.8, milestone-1-beta), tests/README (1.4, milestone-1-beta): (add_or_replace_file): new func, abstracts common code from add_file() and replace_file(). (add_file, replace_file): implement in terms of above. (SVN_ERR_WC_ENTRY_NOT_FOUND): new error code, often not fatal. (do_entry): if entry should have been found but wasn't, return above error. (svn_wc__entry_merge): tolerate absence of entry when merging. (svn_wc__entry_get): set hash to NULL if returning error, but never set hash if reference is null already. Doc fix. Tweaked test scripts. 2000-10-07 13:47 Karl Fogel <kfogel@collab.net> * subversion/tests/xml/co1.txt (1.2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Doc fix. 2000-10-07 13:46 Karl Fogel <kfogel@collab.net> * subversion/tests/xml/: README (1.1, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), co1-inline.xml (1.1), co1-postfix.xml (1.1), co1.txt (1.1): Shareable test data. 2000-10-07 13:46 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/xml_output.c (1.6): (get_to_elem): Doc fix, clarifying the handling of the root directory. The code already appears to be correct. 2000-10-07 13:36 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/proplist.c (1.3, jimb_pre_transaction, milestone-1-beta): #include <string.h>, for memset 2000-10-07 13:34 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/xml_output.c (1.5): Don't forget the <delta-pkg> element. 2000-10-07 08:06 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/repos.c (1.4, milestone-1-beta): checkpoint some framework code 2000-10-07 08:06 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/mod_dav_svn.c (1.6, milestone-1-beta): put a SVN/<version> into the Server: header in the HTTP response. this lets us know that mod_dav_svn has been loaded, and what version is present. 2000-10-07 08:04 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/Makefile.am (1.5), subversion/mod_dav_svn/static/Makefile.in (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), subversion/mod_dav_svn/static/README (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), subversion/mod_dav_svn/static/config.m4 (1.1, milestone-1), ac-helpers/svn-apache.m4 (1.6, milestone-1) (utags: milestone-1-beta): Enable static build/install of mod_dav_svn. This allows mod_dav_svn to be built within the SVN tree, copied over to the Apache tree, and linked into the Apache executable. Note: the determining factor is the --with-apache switch passed to configure. SVN should also be configured to build static libraries. 2000-10-07 06:02 Joe Orton <joe@light.plus.com> * subversion/: include/svn_error.h (1.39), libsvn_ra_dav/session.c (1.6, milestone-1-beta): * svn_error.h (SVN_ERR_RA_HOSTNAME_LOOKUP): New error. * session.c (svn_ra_open): Return an error if hostname lookup fails. 2000-10-07 05:55 Joe Orton <joe@light.plus.com> * subversion/libsvn_ra_dav/session.c (1.5): * session.c (svn_ra_open): Fix default ports in repository URL. 2000-10-07 03:48 Greg Stein <gstein@lyra.org> * subversion/libsvn_client/commit.c (1.4, milestone-1-beta): [ after fixing a build bug in APR's new UUID support... ] (svn_client_commit): use UUIDs for the unique commit IDs. 2000-10-07 03:24 Greg Stein <gstein@lyra.org> * configure.in (1.35): fix how we pass the expat-lite directory to the Neon subconfig (make it absolute before passing). this fixes some of the linking problems we've seen. 2000-10-07 02:37 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.26, milestone-1-beta): Doh\! Because pathnames aren't local vars anymore, we have to telescope them manually, instead of relying on plain C call-stacks. 2000-10-07 01:53 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.25): Ahhh.. Finally got crawler working right. Fixed small logic bugs. 2000-10-07 00:48 Karl Fogel <kfogel@collab.net> * STACK (1.6): notes 2000-10-07 00:48 Karl Fogel <kfogel@collab.net> * configure.in (1.34): Oops, forgot to commit this: build subversion/client/tests/Makefile. 2000-10-07 00:32 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_files.c (1.40, milestone-1-beta), adm_ops.c (1.18), get_editor.c (1.80), util.c (1.12, milestone-1, milestone-1-beta), wc.h (1.54): Revert previous change. 2000-10-07 00:28 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_files.c (1.39), adm_ops.c (1.17), get_editor.c (1.79), util.c (1.11), wc.h (1.53): Changes to get the correct target dir behavior. But this stimulates the old alloc bug, which now becomes highest priority. :-) This change will be reverted in a moment, I just want to have it in the repository: (svn_wc__ensure_directory): just create the directory one level deep, but tolerate if it already exists. Don't try to recursively make the path, that's not an expected behavior for most users. (prep_directory): removed this func. Callers now do it themselves. (check_adm_exists): take repository arg, but don't actually use it yet. All callers changed. (svn_wc__ensure_adm): removed. (svn_wc__ensure_wc): take require_new arg, do it all here. 2000-10-07 00:00 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_wc/simple.delta (1.1, milestone-1-beta): A simple checkout delta to play with 2000-10-06 23:47 Jim Blandy <jimb@redhat.com> * subversion/: include/svn_fs.h (1.17, milestone-1-beta), libsvn_fs/Makefile.am (1.6, jimb_pre_transaction, milestone-1-beta), libsvn_fs/TODO (1.2, milestone-1-beta), libsvn_fs/delta.c (1.11, milestone-1-beta), libsvn_fs/dir.c (1.1, milestone-1-beta), libsvn_fs/dir.h (1.1, milestone-1, jimb_pre_transaction, milestone-1-beta), libsvn_fs/file.c (1.1, jimb_pre_transaction, milestone-1-beta), libsvn_fs/file.h (1.1, milestone-1, jimb_pre_transaction, milestone-1-beta), libsvn_fs/fs.h (1.7, jimb_pre_transaction, milestone-1-beta), libsvn_fs/id.c (1.2, milestone-1-beta), libsvn_fs/node.c (1.2, milestone-1-beta), libsvn_fs/node.h (1.2, milestone-1-beta), libsvn_fs/proplist.c (1.2), libsvn_fs/proplist.h (1.2, milestone-1, jimb_pre_transaction, milestone-1-beta), libsvn_fs/version.c (1.2, milestone-1-beta), libsvn_repos/delta.c (1.11, milestone-1-beta): All filesystem read functions complete, but completely untested. 2000-10-06 23:46 Jim Blandy <jimb@redhat.com> * subversion/include/svn_error.h (1.38): (svn_errno_t): New filesystem errors: SVN_ERR_FS_PATH_SYNTAX, SVN_ERR_FS_NO_SUCH_VERSION, SVN_ERR_FS_NOT_FOUND, SVN_ERR_FS_NOT_DIRECTORY. 2000-10-06 23:37 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/entries.c (1.41): (svn_wc__entry_merge): if deleting an added file, just remove the entry altogether. (do_entry): sync file if setting an entry or removing. 2000-10-06 23:18 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_client.h (1.5), libsvn_client/Makefile.am (1.4), libsvn_client/delete.c (1.1), libsvn_wc/adm_crawler.c (1.24), libsvn_wc/adm_ops.c (1.16), libsvn_wc/entries.c (1.40), libsvn_wc/wc.h (1.52): (SVN_WC__ENTRIES_ATTR_ADD): replaces SVN_WC__ENTRIES_ATTR_NEW. All callers changed. (svn_client_delete): new func. (svn_wc_delete_file): wrote. * main.c: implement `delete' command with optional `--force' arg. Not strictly speaking part of Milestone 1, but, in a deplorable lack of focus, I couldn't help myself. Stop me before I code again. Partially implement correct add/delete interaction: (do_entry): take allow_duplicates argument. (svn_wc__entry_merge): make sure add and delete don't interfere with each other, and that they cause a duplicate entry to be made. (handle_start_tag): conditionally write out duplicates. (svn_wc__entry_baton_t): new field allow_duplicates. This is not quite right, however: deleting something that's marked as added should make the entry just go away, no fuss, no duplicates. * svn-test.sh: test addition and deletion more. 2000-10-06 22:26 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_wc.h (1.30, milestone-1-beta), libsvn_client/add.c (1.2), libsvn_wc/adm_ops.c (1.15): Implemented svn add: (parse_options): don't require an xml file for adds, duh. (svn_client_add): wrote. (svn_wc_add_file): new func, replaces svn_wc_add. There will be a separate function for directories, when directory adding is supported. Wrote. (svn_wc_delete_file): new func prototype, replaces svn_wc_delete. There will be a separate function for directories, when directory deletion is supported. Still skeletal. (svn_wc_rename, svn_wc_copy): add pool arg. * svn-test.sh: test adding. 2000-10-06 22:04 Karl Fogel <kfogel@collab.net> * subversion/libsvn_client/commit.c (1.3): (generic_write): new func. (svn_client_commit): filled in. Not fully working, due to library problems. However, this part of the code is done, in theory anyway. 2000-10-06 20:41 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/: dav_svn.h (1.3, milestone-1-beta), deadprops.c (1.2, milestone-1, milestone-1-beta), liveprops.c (1.2, milestone-1-beta), mod_dav_svn.c (1.5), repos.c (1.3), version.c (1.2, milestone-1, milestone-1-beta): update to the latest provider registration mechanism in Apache 2.0a7-dev - a block of hooks is now used, rather than multiple hooks - dav_register_provider() replaces dav_registory_provider() - create some blank/placeholder hook structures 2000-10-06 20:28 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.39), get_editor.c (1.78): Fix the bug Ben reported, whereby child dirs don't get entries. That was the old, insane behavior; the new, sane behavior is that child dirs are recorded in the entries file. (dir_baton): added name field. (make_dir_baton): set it. (add_directory): record the new dir in the parent's entries file. (svn_wc__entry_merge): test for invalid vernum, not 0 vernum. (write_entry): check entryname and version before writing. 2000-10-06 20:10 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/: checkout-1.delta (1.13), checkout-2.delta (1.4) (utags: milestone-1-beta): Added test script to drive the client. Removed ancestry information from XML files. 2000-10-06 19:34 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_client.h (1.4), include/svn_delta.h (1.114, milestone-1-beta), libsvn_client/checkout.c (1.6), libsvn_delta/delta.h (1.35, milestone-1-beta), libsvn_delta/xml_parse.c (1.120, milestone-1-beta), tests/libsvn_delta/deltaparse-test.c (1.50, milestone-1-beta), libsvn_wc/get_editor.c (1.77), tests/libsvn_wc/checkout-test.c (1.28, milestone-1-beta): * checkout.c (svn_client_checkout): take ancestor_path and ancestor_version args. (apply_delta): take same args. * log.c (start_handler): don't hardcode xml tagnames. Fix up ancestry handling to be (inelegantly) consistent between true delta streams and xml deltas. This will probably have to be reworked later, but needs some think time. Meanwhile: * checkout.c (svn_delta_xml_auto_parse): pass ancestry after all. * svn_delta.h: reverted change 1.113: (svn_delta_make_xml_parser, svn_delta_xml_auto_parse): take base_path, base_version args after all -- it's the only way to set up ancestry, due to some silly lossage that will be corrected after m1. * delta.h: reverted to 1.33: (svn_xml__digger_t): restored base_path and base_version arguments. * xml_parse.c: partially revert change 1.119: (svn_delta_make_xml_parser): take base_path and base_version args again, set them up in the digger (though I think this is not necessary, Ben?) and the rootframe. (svn_delta_xml_auto_parse): take base_path, base_version args again, pass them along to svn_delta_make_xml_parser. (xml_handle_start): use SVN_INVALID_VERNUM (this is unrelated to the rest of this change). * deltaparse-test.c (main): revert change 1.49. * checkout-test.c (main): revert change 1.27. 2000-10-06 17:36 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_wc/adm_crawler.c (1.23), libsvn_wc/entries.c (1.38), tests/libsvn_wc/commit-test.c (1.2, milestone-1-beta): Saving work... Karl, take it away. Crawler *seems* to work, but entries files and timestamps don't work yet. :) 2000-10-06 16:36 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_client/checkout.c (1.5), libsvn_wc/get_editor.c (1.76): (svn_client_checkout): init file handle to null. (debug_dir_baton): #ifdef out for now. 2000-10-06 16:22 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/simple.delta (1.2, milestone-1-beta): add default ancestry to <delta-pkg> tag in this sample file. 2000-10-06 16:22 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.37), log.c (1.22, milestone-1-beta): (get_entry_attributes): use hash correctly. (set_entry): use svn_wc__entry_merge instead of svn_wc__entry_set. 2000-10-06 16:01 Karl Fogel <kfogel@collab.net> * www/index.html (1.14, milestone-1-beta): date fix 2000-10-06 15:56 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/entries.c (1.36): (svn_wc__entry_merge): handle version and kind correctly. 2000-10-06 15:44 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_wc/adm_files.c (1.38), libsvn_wc/entries.c (1.35), libsvn_wc/get_editor.c (1.75), libsvn_wc/wc.h (1.51), tests/libsvn_wc/checkout-test.c (1.27), tests/libsvn_wc/commit-test.c (1.1): Working on making the crawler work correctly. Here are more bugfixes. * commit-test.c: new test program * wc.h (svn_wc__entries_init): add ancestor_path argument (svn_wc__entry_merge): new prototype * entries.c (svn_wc__entries_init): add ancestor_path argument, place it as an xml attribute in the parent-dir entry. (svn_wc__entry_merge): a NON-destructive version of entry_set, i.e. *get* the entry first, and *merge* any new changes into existing information before writing the entry out again. * adm_files.c (init_adm): pass ancestor_path to svn_wc__entries_init * get_editor.c (free_dir_baton): call svn_wc__entry_merge, not _set, when bumping a directory version up. * checkout-test.c (apply_delta): change call to svn_delta_xml_auto_parse, now that default ancestry is gone. 2000-10-06 15:03 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/dbt.c (1.2, milestone-1-beta): #include <string.h>, for memset. 2000-10-06 15:00 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.113), include/svn_error.h (1.37), libsvn_client/Makefile.am (1.3), libsvn_client/checkout.c (1.4), libsvn_delta/delta.h (1.34), libsvn_delta/xml_parse.c (1.119), tests/libsvn_delta/deltaparse-test.c (1.49), tests/libsvn_wc/checkout-1.delta (1.12), tests/libsvn_wc/checkout-2.delta (1.3): Making checkouts work, still some cleanup to be done: (apply_delta, generic_read): helper funcs, lifted from libsvn_wc/tests/checkout-test.c. (svn_client_checkout): fill in. Require a delta-pkg to have complete ancestry: (svn_delta_make_xml_parser, svn_delta_xml_auto_parse): don't take base_path or base_version ancestory args. These will always be in the delta-pkg from now on. Initialize rootframe's ancestry to blanks, and don't try to set any ancestry in the digger. (svn_xml__digger_t): removed base_path and base_version fields. (maybe_derive_ancestry): return error if unable to derive ancestry. Don't take digger arg. (do_stack_append): check return value of maybe_derive_ancestry. (SVN_ERR_XML_MISSING_ANCESTRY): new error. * checkout-1.delta, checkout-2.delta: have complete ancestry. Also: * Makefile.am: silly fixes. 2000-10-06 14:20 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_wc/adm_crawler.c (1.22), libsvn_wc/entries.c (1.34), libsvn_wc/questions.c (1.15, milestone-1-beta), tests/libsvn_wc/Makefile.am (1.9, milestone-1-beta): Working on making the crawler work correctly. Here are some bugfixes (so far). * adm_crawler.c (set_entry_flags): take a full path, not just an entryname (svn_wc_crawl_local_mods): duh, don't set edit_baton to NULL. * entries.c (svn_wc__entry_get_ancestry): if the "parent dir" entry has no default ancestry, return an error! * questions.c (timestamps_equal_p): if the entry has no timestamp, return FALSE. * commit-test.c: new test program * Makefile.am: add rules for commit-test 2000-10-06 13:33 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_client.h (1.3), libsvn_client/Makefile.am (1.2), libsvn_client/add.c (1.1), libsvn_client/checkout.c (1.3), libsvn_client/commit.c (1.2), libsvn_client/update.c (1.2): (svn_client_add): new func. (svn_client_checkout, svn_client_update, svn_client_commit): print args, for sanity. * main.c (parse_command_options, parse_options, main): handle add command. 2000-10-06 13:04 Jim Blandy <jimb@redhat.com> * subversion/: include/svn_fs.h (1.16), libsvn_fs/Makefile.am (1.5), libsvn_fs/convert-size.c (1.4, milestone-1, jimb_pre_transaction, milestone-1-beta), libsvn_fs/convert-size.h (1.2, milestone-1, jimb_pre_transaction, milestone-1-beta), libsvn_fs/dbt.c (1.1), libsvn_fs/dbt.h (1.1, milestone-1-beta), libsvn_fs/delta.c (1.10), libsvn_fs/err.c (1.7, milestone-1-beta), libsvn_fs/err.h (1.4, milestone-1-beta), libsvn_fs/fs.c (1.9, milestone-1-beta), libsvn_fs/fs.h (1.6), libsvn_fs/id.c (1.1), libsvn_fs/id.h (1.1, milestone-1-beta), libsvn_fs/node.c (1.1), libsvn_fs/node.h (1.1), libsvn_fs/proplist.c (1.1), libsvn_fs/proplist.h (1.1), libsvn_fs/skel.c (1.3, milestone-1-beta), libsvn_fs/skel.h (1.3, milestone-1, jimb_pre_transaction, milestone-1-beta), libsvn_fs/structure (1.6, milestone-1-beta), libsvn_fs/version.c (1.1), libsvn_fs/version.h (1.1, milestone-1-beta), libsvn_repos/delta.c (1.10), tests/libsvn_fs/skel-test.c (1.3, milestone-1-beta): * include/svn_fs.h: Miscellaneous changes throughout, as we figure out what form the filesystem should really have. Biggest changes: - Rework pool system. Allocate all immutable nodes in the filesystem's pool, and all mutable nodes in the transaction's pool, but make it easy for people to register cleanup functions with their own pools that close nodes. Where we do let the user specify pools, don't require them to be subpools of the filesystem; just make the user responsible for freeing them before the filesystem is closed. - Make the filesystem open / create functions Berkeley-DB specific. This doesn't lose any real generality, and it means that we can add functions to open / create other kinds of filesystems without losing symmetry. - Add new generic node type, svn_fs_node_t, which acts as a common superclass for both files and directories. This allows us to declare functions that operate on any kind of node, instead of having to write out separate functions for files and directories. For example, we've combined `open_file' and `open_dir' into `open_node'. - When adding and replacing files and directories, use immutable node objects to specify the base version, not filenames and version numbers. * libsvn_fs: Much work throughout. 2000-10-06 12:50 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.48): (my_vcdiff_windoweater): check for NULL window, signifying end of textdelta 2000-10-06 12:48 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/TODO (1.1): [no log message] 2000-10-06 12:15 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/text_delta.c (1.12, milestone-1-beta): (svn_txdelta_next_window): For now, only generate windows which we know how to "encode". 2000-10-06 11:48 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: adm_crawler.c (1.21), entries.c (1.33), wc.h (1.50): Rewrite the working copy crawler completely. (What is this, the third time around? :) ) The entry-looping interface was inverted; the recursive crawler no longer "pulls" the next entry from an entries file, but now calls an xml parser which then "pushes" each entry at a callback. This callback decides what to do about the entry, and sometimes calls the crawler again, thereby completing the recursive circle. Phew! * wc.h (svn_wc__entries_index, svn_wc__entries_start, svn_wc__entries_next): remove these declarations, we don't want this interface for entry-looping anymore. (svn_wc__entry_baton_t, do_parse): declare in public, because both entries.c and adm_crawler.c both need to use it.cd * entries.c (svn_wc__entry_baton_t): just a struct now, the typedef is public. (do_parse): no longer static, but public. (svn_wc__entry_baton_t): add new fields (i.e. func ptr) for looping purposes. (handle_start_tag): handle "looping" as a special case: call looper callback and return when done.q * adm_crawler.c (entry_callback): new callback containing most of the old logic from process_subdirectory. Called by expat whenever a new entry is found, and completes recursion by calling process_subdirectory. (svn_wc__crawler_baton_t): new beast, encapsulating all info ever needed in a call to either process_subdirectory or entry_callback. (do_dir_replaces): take a crawler_baton now, instead of lots of args. (struct stack_object, remove_stack, append_stack): move filehash into crawler baton instead. (process_subdirectory) very gutted; guts moved to entry_callback. 2000-10-06 04:08 Greg Stein <gstein@lyra.org> * subversion/: include/svn_ra.h (1.9, milestone-1), libsvn_ra_dav/fetch.c (1.14) (utags: milestone-1-beta): * svn_ra.h (svn_ra_checkout): don't take a dir_baton any more * fetch.c: use editor's replace_root function; call the textdelta handler with a NULL arg to close the file * ra-dav-test.c: call the close_edit function; flesh out a bit with some comments/questions; don't worry about a dir_baton 2000-10-06 03:19 Daniel Stenberg <daniel@haxx.se> * ac-helpers/svn-apache.m4 (1.5): svn-apache.m4: as Greg Stein suggested, the check for a configured apache 2 now uses test -r. PR: Obtained from: Submitted by: Reviewed by: 2000-10-06 00:50 Daniel Stenberg <daniel@haxx.se> * ac-helpers/svn-apache.m4 (1.4): * svn-apache.m4: after the apache check has found an apache 2 directory, it now checks for the presense of apr.h to make sure that the apache installation has been configured. If apr.h isn't found, a warning message is produced. This may instead switch off the "apache present" variables. PR: Obtained from: Submitted by: Reviewed by: 2000-10-05 23:04 Jim Blandy <jimb@redhat.com> * subversion/include/svn_error.h (1.36): (svn_errno_t): Two new error codes: SVN_ERR_FS_NOT_OPEN and SVN_ERR_FS_CORRUPT. 2000-10-05 21:31 Greg Hudson <ghudson@mit.edu> * TASKS (1.13, milestone-1): The XML delta generator is done. 2000-10-05 20:49 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/structure (1.5): Remove description of directory entry property lists. Describe the syntax of versions. 2000-10-05 19:15 Karl Fogel <kfogel@collab.net> * configure.in (1.33), subversion/Makefile.am (1.14, milestone-1-beta), subversion/include/svn_client.h (1.2), subversion/include/svn_error.h (1.35), subversion/libsvn_client/checkout.c (1.2), subversion/tests/libsvn_delta/deltaparse-test.c (1.47), subversion/libsvn_subr/svn_error.c (1.39, milestone-1-beta), subversion/tests/libsvn_wc/checkout-test.c (1.26): Start basic command line client; * client/Makefile.am: new file. * client/main.c: new file. * client/README: new file. * libsvn_client/checkout.c (svn_client_checkout): ping the universe. * configure.in (AC_OUTPUT): do client. * svn_error.h, svn_error.c (svn_handle_error): added `fatal' flag. All callers changed. 2000-10-05 17:43 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.22), libsvn_subr/xml.c (1.24), libsvn_wc/entries.c (1.32), libsvn_wc/get_editor.c (1.74), libsvn_wc/log.c (1.21): Adjust for Greg Hudson's change of 2000-10-05 16:35, as promised: * entries.c, get_editor.c: use svn_xml_make_tag() and friends everywhere. * log.c: note a future improvement. * xml.c, svn_xml.h (svn_xml_write_tag_hash, svn_xml_write_tag, svn_xml_write_header): removed. (svn_xml_tag_type): doc fix. 2000-10-05 16:44 Karl Fogel <kfogel@collab.net> * configure.in (1.32), subversion/Makefile.am (1.13), subversion/include/svn_client.h (1.1), subversion/libsvn_client/.cvsignore (1.1, milestone-1, milestone-1-beta), subversion/libsvn_client/Makefile.am (1.1), subversion/libsvn_client/checkout.c (1.1), subversion/libsvn_client/commit.c (1.1), subversion/libsvn_client/update.c (1.1): Skeleton of client library: * include/svn_client.h: new file. * libsvn_client/Makefile.am: new file. * libsvn_client/checkout.c (svn_client_checkout): new file, new func. * libsvn_client/update.c (svn_client_update): new file, new func. * libsvn_client/commit.c (svn_client_commit): new file, new func. * configure.in (AC_OUTPUT): do libsvn_client. * Makefile.am (SUBDIRS): include libsvn_client. (EXTRA_DIST): include some overlooked public header files, unrelated to the rest of this change. 2000-10-05 16:35 Greg Hudson <ghudson@mit.edu> * subversion/: include/svn_xml.h (1.21), libsvn_delta/xml_output.c (1.4), libsvn_subr/xml.c (1.23): Rework svn_xml output interfaces so they work on strings rather than sending output to files. (svn_xml_write_header, svn_xml_write_tag, svn_xml_write_tag_v, svn_xml_write_tag_hash): Deprecated. write_tag_v is actually gone since it wasn't used. Karl should get rid of these when he fixes up libsvn_wc to use the new functions. (svn_xml_make_header, svn_xml_make_tag, svn_xml_make_tag_v, svn_xml_make_tag_hash): New functions to create strings. (svn_xml_append_tag, svn_xml_append_tag_v, svn_xml_append_tag_hash): New functions to append to strings.. * xml_output.c: Use svn_xml functions instead of knowing about XML syntax. (svn_delta_get_xml_editor): Allocate sufficient memory. 2000-10-05 16:09 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_ra.h (1.8), include/svn_wc.h (1.29), libsvn_ra_dav/commit.c (1.11, milestone-1-beta), libsvn_wc/adm_crawler.c (1.20), libsvn_wc/adm_ops.c (1.14), libsvn_wc/get_editor.c (1.73): On Ben's advice, reverse responsibility chain for updating a working copy after a commit: (svn_ra_get_commit_editor): new arg *new_version replaces args close_commit_fn_t and close_commit_baton. (commit_ctx_t): store a pointer to a version number, don't store cleanup func and baton. (commit_close_edit): just set the new version, by reference, instead of invoking a cleanup function. (close_commit_baton): removed. (svn_wc_close_commit): public func replaces private close_commit, take args explicitly instead of via baton. (svn_wc_crawl_local_mods): take new token arg, don't take close_commit_fn_t and close_commit_baton args. (svn_wc_close_commit_fn_t): removed this typedef. 2000-10-05 15:26 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/entries.c (1.31): (do_parse): doc fix. 2000-10-05 13:44 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/entries.c (1.30): Ooops, let's change the entire entry-looper interface. Reverting from 1.29 back to 1.28. 2000-10-05 12:50 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: entries.c (1.29), wc.h (1.49): Implement routines to "loop" over an administrative `entries' file. The interface is extremely similar to apr's hash-looping. :) * wc.h (svn_wc__entries_index_t): defined. * entries.c (svn_wc__entry_baton_t): two new fields (count and nth_item) for looping over entries file, looking for Nth item. (handle_start_tag): handle looping as an independent case from the normal "tag matching" logic. When we find the Nth item, return the entryname into baton (in addition to everything else). (svn_wc__entry_get, svn_wc__entry_set, svn_wc__entry_remove): changed calls to do_entry() appropriately. (do_entry): now takes **entryname_receiver arg (to return entryname to looper), and a boolean `looping' flag. Sets up baton appropriately for looping. (svn_wc__entries_start): new routine to create a looper index (svn_wc__entries_next): new routine for looping 2000-10-05 12:45 Greg Hudson <ghudson@mit.edu> * subversion/: libsvn_delta/xml_output.c (1.3), tests/libsvn_delta/xml-output-test.c (1.3, milestone-1-beta): * xml_output.c (window_handler): Output the new data in a window, so that we can feed this routine fake deltas and have it spit out the contents of the file. * xml-output-test.c: Feed a proper window to the window handler function. 2000-10-05 12:38 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_ra.h (1.7), include/svn_wc.h (1.28), libsvn_ra_dav/commit.c (1.10), libsvn_wc/adm_crawler.c (1.19): Give the commit editor the ability to complete the commit: (svn_wc_close_commit_fn_t): new typedefs. (commit_baton): new struct. (close_commit): new func, instance of svn_wc_close_commit_fn_t. (svn_wc_crawl_local_mods): new args close_commit_fn and close_commit_baton, set by reference. * libsvn_ra_dav/commit.c (commit_ctx_t): new fields close_fn, close_baton. (svn_ra_get_commit_editor): new args close_commit_fn, close_commit_baton, new args close_commit_fn and close_commit_baton, return the corresponding addresses in the edit baton by reference. (commit_close_edit): new func, still skeletal, but calls above closure function/baton to complete the commit. (commit_editor): include commit_close_edit. 2000-10-05 11:15 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.34): (svn_errno_t): new error SVN_ERR_WC_NOT_UP_TO_DATE. 2000-10-05 10:46 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.112): trivial doc fix 2000-10-05 01:23 Greg Hudson <ghudson@mit.edu> * subversion/tests/libsvn_delta/xml-output-test.c (1.2): (main): editor should be a pointer to const data. Changing properties on the root directory violates the DTD (possibly a bug in the DTD), although the output functions support it just fine. Anyway, change properties on the subdir instead. 2000-10-05 01:21 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/xml_output.c (1.2): Fix some bugs noted by Bob Miller and some mistakes noted by myself. (elem_prop_delta, elem_delta_pkg): Former renamed to latter; was a braino. (get_to_elem): text-delta-ref element should end with "/>". Close a tree-delta if we are trying to get to a directory prop-delta. Add an assertion to detect cases where get_to_elem doesn't get to where it should go. (close_directory): Set eb->elem to appropriate value (previously we left it at elem-dir). Don't close a <dir> element for the root directory, since we never opened one. 2000-10-04 19:15 Greg Hudson <ghudson@mit.edu> * subversion/: include/svn_delta.h (1.111), include/svn_xml.h (1.20), libsvn_delta/Makefile.am (1.11, milestone-1-beta), libsvn_delta/xml_output.c (1.1), tests/libsvn_delta/.cvsignore (1.7, milestone-1-beta), tests/libsvn_delta/Makefile.am (1.8, milestone-1-beta), libsvn_subr/xml.c (1.22), tests/libsvn_delta/xml-output-test.c (1.1): Implement the XML-outputting error. It lives in libsvn_delta, not libsvn_subr as Karl envisioned, because otherwise we'd get a circular depenency between libsvn_subr and libsvn_delta * include/svn_delta.h, libsvn_delta/xml_output.c (svn_delta_get_xml_editor): New function, returns an editor which outputs XML deltas. * include/svn_xml.h, libsvn_subr/xml.c (svn_xml_escape_string): Rename escape_string and export for use by xml_output.c. Also, clear out Karl's skeletal editor. * libsvn_delta/tests/xml-output-test.c: A little program to exercise the XML output editor functions. Not a real test program at the moment. * libsvn_delta/Makefile.am, libsvn_delta/tests/Makefile.am, libsvn_delta/tests/.cvsignore: Mention new files. 2000-10-04 19:07 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/.cvsignore (1.5, milestone-1, milestone-1-beta): D'oh, wrong file. Revert. 2000-10-04 19:06 Greg Hudson <ghudson@mit.edu> * subversion/: libsvn_delta/.cvsignore (1.4), tests/libsvn_delta/.cvsignore (1.6): We have an automated test (at least for the moment), so ignore tests.log. 2000-10-04 17:50 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: adm_crawler.c (1.18), wc.h (1.48): Making the working copy crawler send postfix text-deltas. Presumably, if the tree edit is rejected in mid-stream, one of the editor functions will return an error to the crawler before it ever sends a single textdelta. :) * adm_crawler.c (struct stack_object): add filehash (append_stack): new stack objects inherit filehash; create case for initial stack creation (fixing OBO error). (process_subdirectory): no more calls to do_apply_textdelta; instead, store file's full pathname and open file_baton in the filehash (do_postfix_text_deltas): new func to loop over the filehash and send textdeltas to the open file_batons. (svn_wc_crawl_local_mods): call do_postfix_text_deltas after crawler returns. * wc.h : add SVN_WC__ENTRIES_ATTR_DELETE (svn_wc__entries_next) change prototype to `enum svn_node_kind' 2000-10-04 17:01 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/xml_parse.c (1.118): Addendum to previous addendum: (do_stack_append): appropriately increase eagerness to invalidate propdeltas. 2000-10-04 16:56 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta.h (1.33), xml_parse.c (1.117): Addendum to previous commit: (svn_propdelta_t): removed svn_propdelta_dirent from kind enum. (do_begin_propdelta): removed svn_delta__XML_add and svn_delta__XML_replace cases, which are only for dirent propdeltas. [Ben, please bean me if this is wrong.] 2000-10-04 16:43 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.110), include/svn_fs.h (1.15), libsvn_delta/xml_parse.c (1.116), tests/libsvn_delta/deltaparse-test.c (1.46), libsvn_fs/delta.c (1.9), libsvn_repos/delta.c (1.9), libsvn_ra_dav/commit.c (1.9), libsvn_ra_dav/fetch.c (1.13), libsvn_subr/xml.c (1.21), libsvn_wc/get_editor.c (1.72): Remove support for dirent properties: * svn_delta.h (svn_delta_edit_fns_t): removed change_dirent_prop callback. * deltaparse_test.c (test_change_dirent_prop): removed. (main): don't initialize it in editor. * xml_parse.c (do_prop_delta_callback): don't handle svn_propdelta_dirent case. * svn_fs.h: doc fixes. (svn_fs_change_dirent_prop): removed prototype. * delta.c (change_dirent_plist): removed. (delta_dirent_props): removed. (delta_dirs): don't call delta_dirent_props. * commit.c (commit_change_dirent_prop): removed. * get_editor.c (change_dirent_prop): removed. * fetch.c (update_change_dirent_prop): removed. 2000-10-04 16:26 Jim Blandy <jimb@redhat.com> * subversion/include/svn_error.h (1.33): (SVN_ERR): New macro. 2000-10-04 16:15 Jim Blandy <jimb@redhat.com> * subversion/include/svn_error.h (1.32): Doc fix. 2000-10-04 16:06 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/structure (1.4): Doc fix. 2000-10-04 15:50 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.13, milestone-1-beta), libsvn_delta/xml_parse.c (1.115), tests/libsvn_delta/deltaparse-test.c (1.45), libsvn_fs/delta.c (1.8), libsvn_repos/delta.c (1.8), libsvn_subr/path.c (1.13, milestone-1-beta), libsvn_wc/adm_files.c (1.37), libsvn_wc/entries.c (1.28), libsvn_wc/get_editor.c (1.71), libsvn_wc/log.c (1.20), libsvn_wc/questions.c (1.14), libsvn_wc/util.c (1.10): (svn_path_style): new enum, values are svn_path_local_style, svn_path_repos_style, svn_path_url_style. (SVN_PATH_LOCAL_STYLE, SVN_PATH_REPOS_STYLE, SVN_PATH_URL_STYLE): these #defines removed in favor of above new enum. Callers and callees changed. (wc_split_path): this private func in the wc library became... (svn_path_split): ...this new public func in the path library. Now takes a style argument. All callers changed. (timestamps_equal_p): use svn_path_split. 2000-10-04 15:25 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.70): (make_dir_baton): revert back to apr_pcalloc(). [Note to Greg H: totally a matter of personal taste how you do it in code you're working on, but for code I "own" -- in the loose sense of ownership, of course -- I'd like to stick to the pcalloc way. In this case, your change was not harmless, because d->prop_changed would now have a garbage value, instead of the zero I was counting on from pcalloc. I know you don't favor this way of doing initialization, but I personally find it less distracting, and would like to use it where I'm working. Thanks. -K] 2000-10-04 15:02 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/questions.c (1.13): (timestamps_equal_p): finish by doing directory split 2000-10-04 13:42 Greg Hudson <ghudson@mit.edu> * subversion/: libsvn_delta/text_delta.c (1.11), libsvn_wc/get_editor.c (1.69): Revert a few unnecessary pallocs. 2000-10-04 13:08 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/questions.c (1.12): (svn_wc__file_modified_p): move apr_stat calls into filesizes_equal_p. Also only call this routine if textbase exists. :) (filesizes_equal_p): change this routine's arguments appropriately, given that it stats internally now. (timestamps_equal_p): change interface, it only needs one filename and needs a pool. Actually implement this routine using Karl's time API. 2000-10-04 12:58 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/entries.c (1.27): (do_entry): don't set receiver args if they're null, as promised. 2000-10-04 12:46 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_files.c (1.36), entries.c (1.26): (svn_wc__entry_remove): implemented. (struct entry_baton): new field `removing'. (do_entry): new arg `removing'. All callers changed. Also, added some assertions. (handle_start_tag): if removing, then simply don't write the entry back out. 2000-10-04 12:23 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: README (1.51, milestone-1, milestone-1-beta), entries.c (1.25): (write_entry): write kind as a string. (get_entry_attributes): read kind as a string. 2000-10-04 12:09 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.19), libsvn_subr/xml.c (1.20), libsvn_wc/adm_files.c (1.35), libsvn_wc/entries.c (1.24), libsvn_wc/get_editor.c (1.68), libsvn_wc/wc.h (1.47): In the working copy library: Removed several obsolete "kff todo" comments. (svn_wc__write_adm_item, v_write_adm_item): removed, this is handled by our xml library now. (close_file): use svn_xml_write_tag instead of svn_wc__write_adm_item. Supporting changes in the xml library: (svn_xml_tag_type): name for enum. Removed extra underscores from publicly-visible values: svn_xml_open_tag replaces svn_xml__open_tag, svn_xml_close_tag replaces svn_xml__close_tag, and svn_xml_self_close_tag replaces svn_xml__self_close_tag. All callers changed. (svn_xml_write_tag, svn_xml_write_tag_v, svn_xml_write_tag_hash): take enum type explicitly, instead of int. 2000-10-04 11:44 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.17): (do_dir_replaces, process_subdirectory): add pool argument, and start using svn_wc__get_ancestry everywhere we need it. 2000-10-04 11:11 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/local_changes.c (1.10, milestone-1-beta): (timestamp_format): note possible portability issues in comment. 2000-10-04 11:07 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_types.h (1.43, milestone-1-beta), libsvn_wc/entries.c (1.23), libsvn_wc/local_changes.c (1.9), libsvn_wc/log.c (1.19), libsvn_wc/wc.h (1.46): Make writing new entries work, including timestamps. Theoretically, make reading timestamps work too, but that code is untested (have at it, Ben): (svn_wc__entry_get, svn_wc__entry_set): use kind argument. (do_entry): new arguments kind and kind_receiver. (get_entry_attributes): handle kind as well as version, and deal gracefully with the absence of either. (write_entry): new helper func. (handle_end_tag, handle_start_tag): use write_entry. (SVN_WC__ENTRIES_ATTR_KIND): replaces SVN_WC__ENTRIES_ATTR_TYPE. (find_matching_string): new helper func for below. (timestamp_format): new shared format string. (svn_wc__time_to_string, svn_wc__string_to_time): new functions. (set_entry): just use above to make the timestamp string now. (svn_wc__ensure_directory): doc fix. * svn_types.h (enum svn_node_kind): replaces enum node_kind, for namespace safety. Initialize at 1. 2000-10-04 10:34 Ben Collins-Sussman <sussman@collab.net> * subversion/: tests/libsvn_delta/foo.delta (1.8, milestone-1-beta), libsvn_wc/questions.c (1.11), libsvn_wc/wc.h (1.45): * wc.h (svn_wc__entry_set) doc fix. * questions.c (svn_wc_file_modified_p): use apr_stat instead of apr_getfileinfo; no need to open files. Move apr_open calls to contents_identical_p instead. Also, rename some vars and give more informative error messages using svn_create_errorf(). (contents_identical_p): Open files internally, instead receiving previous opened ones. (timestamps_equal_p): still waiting for karl's timestamps interface; about to rewrite this. * foo.delta: put a <delta-pkg> tag around this so we can parse it again. 2000-10-04 07:19 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/local_changes.c (1.8): (svn_wc__file_affected_time): rewrite according to Greg Stein's advice about apr_stat. 2000-10-03 18:24 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.22), local_changes.c (1.7), log.c (1.18), wc.h (1.44): (svn_wc__file_affected_time): new func. (set_entry): set a timestamp attribute. (do_parse): note to self. 2000-10-03 18:21 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/structure (1.3): Ooh. Content. 2000-10-03 17:24 Karl Fogel <kfogel@collab.net> * STACK (1.5): Removed some items, added others. They're not always ordered, so I guess this file shouldn't really be called "stack"... but then again, they all have to be done in order for a given next big step to be taken, so it's a stack if you look at it with low enough resolution. 2000-10-03 16:48 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/delta.h (1.32), libsvn_delta/vcdiff_parse.c (1.17, milestone-1-beta), libsvn_wc/get_editor.c (1.67), tests/libsvn_wc/checkout-test.c (1.25): Checkouts working again now: (svn_vcdiff_parse): send a terminal window when done. (window_handler): use file baton's pool, not window's, in places where window could be null. (svn_vcdiff__send_terminal_window): new func. (svn_vcdiff__send_window): new name for svn_vcdiff_send_window, since it is only shared within the library. * checkout-test.c (main): use svn_wc_get_checkout_editor instead of svn_wc_get_update_editor. 2000-10-03 16:08 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/text_delta.c (1.10), libsvn_delta/vcdiff_parse.c (1.16), libsvn_delta/xml_parse.c (1.114), tests/libsvn_delta/deltaparse-test.c (1.44), libsvn_subr/svn_error.c (1.38), libsvn_wc/get_editor.c (1.66), libsvn_wc/log.c (1.17): Change some calls to apr_palloc() to apr_pcalloc() instead, to get zeroed memory. Did this mainly where a structure is being allocated and it wasn't clear that all the structure's fields were being initialized by the caller, and in a few other places. Obviously, this can't break anything, but please feel free to revert in places where you know you don't need zeroed memory. Did not change the NEW(P,T) and NEWARRAY(P,T,N) macros in fs.h, but wonder if that might be a good idea...? 2000-10-03 15:54 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/vcdiff_parse.c (1.15), libsvn_wc/get_editor.c (1.65): (window_handler): don't try to close source file if this is a checkout. (free_file_baton): don't destroy the pool for now, see comment there. * vcdiff_parse.c (svn_vcdiff_send_window): set window->tview_len. Use apr_pcalloc to allocate windows, not apr_palloc, because we want all fields to be zeroed out by default. 2000-10-03 14:25 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.64): (apply_textdelta): don't even try to open text base if this is a checkout, otherwise, try to open it and error out if unable to open. 2000-10-03 14:10 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.27): (svn_wc_get_checkout_editor): new prototype. Forgot to commit this file yesterday. 2000-10-03 10:25 Greg Hudson <ghudson@mit.edu> * subversion/include/svn_delta.h (1.109): Add a sixth restriction for the sake of XML deltas, this time on the placement of change_dir_prop calls. This is starting to feel like the Spanish Inquisition sketch. ("Our four... no... amongst our restrictions...") 2000-10-03 00:06 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_wc/get_editor.c (1.63): Paired with part of Karl's last change, treat a nonexistent base file the same as an empty base file. This ought to get checkouts working. This is probably too relaxed for updates; if we're doing an update and the base file is missing, we should report an error or go fetch the version we expected. But we can take care of that later. (read_from_file): Treat a NULL file handle as if it were an empty file. 2000-10-02 19:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_files.c (1.34), entries.c (1.21), get_editor.c (1.62), wc.h (1.43): (struct edit_baton): added ancestor_path, is_checkout fields. (make_editor): new helper func. (svn_wc_get_update_editor): don't take repos arg anymore. Doc fixes reflecting that this is only for updates now. (svn_wc_get_checkout_editor): new func, what you think it is. (replace_root): prep target dir only if this is a checkout. (SVN_WC__ADM_DELTA_HERE, SVN_WC__ADM_ANCESTOR): removed. (init_adm): don't create delta-here and ancestor files anymore. (svn_wc__entry_get): check for error. Set hash table for return. (apply_textdelta): beginning of changes to make this work when no text base is present, but will ask Greg Hudson about it. 2000-10-02 19:25 Jim Blandy <jimb@redhat.com> * configure.in (1.31), subversion/include/svn_fs.h (1.14), subversion/libsvn_fs/Makefile.am (1.4), subversion/libsvn_fs/delta.c (1.7), subversion/libsvn_fs/fs.h (1.5), subversion/libsvn_repos/delta.c (1.7): * configure.in (AC_OUTPUT): Build subversion/libsvn_fs/tests/Makefile. * subversion/libsvn_fs/Makefile.am (SUBDIRS): Mention `tests'. * subversion/include/svn_fs.h (svn_fs_t): The underlying structure for this typedef is now named `struct svn_fs_t', not `struct svn_fs', for consistency. * subversion/libsvn_fs/fs.h (struct svn_fs_t): Renamed from `struct svn_fs'. * subversion/include/svn_fs.h: Doc fixes. * subversion/libsvn_fs/Makefile.am (libsvn_fs_la_SOURCES): Remove delta.c; it's incomplete. * subversion/libsvn_fs/delta.c: Reintroduce syntax errors; this code isn't runnable anyway, and the syntax errors ensure that I won't forget the parts that are incomplete. Since this file isn't mentioned in the Makefile anyway, this shouldn't cause anyone problems. 2000-10-02 19:14 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/structure (1.2): Some more babbling. I'll bring this up to date once things are working. 2000-10-02 19:13 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/convert-size.c (1.3): Use an explicit cast to throw away `const' qualifier. 2000-10-02 19:10 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.108): Doc tweak. 2000-10-02 18:42 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.20), get_editor.c (1.61), wc.h (1.42): #include svn_types.h. (svn_wc__entry_get_ancestry): renamed `svn_wc__get_entry_ancestry' for consistency with rest of interface. Fill in definition. 2000-10-02 18:35 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.50): Doc fixes. 2000-10-02 18:26 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.41): (svn_wc__entry_get): further doc fix. 2000-10-02 18:11 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/entries.c (1.19): Saving work (still compiles) ;-) In the middle of rewriting entry_get and entry_set. 2000-10-02 18:00 Karl Fogel <kfogel@collab.net> * subversion/include/svn_types.h (1.42): (SVN_INVALID_VERNUM): new #define. 2000-10-02 17:40 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.31): (svn_errno_t): new error SVN_ERR_WC_ENTRY_MISSING_ANCESTRY. 2000-10-02 17:29 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.40): (svn_wc__entry_get): doc fix. 2000-10-02 17:27 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/versions.c (1.17): renamed to entries.c 2000-10-02 17:26 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_crawler.c (1.16): (process_subdirectory, do_dir_replaces): correct type for version args. 2000-10-02 17:19 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_wc.h (1.26), libsvn_wc/adm_crawler.c (1.15), libsvn_wc/wc.h (1.39): adm_crawler.c : doesn't work yet, but it *compiles*. 2000-10-02 17:12 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.107), libsvn_delta/xml_parse.c (1.113), tests/libsvn_delta/deltaparse-test.c (1.43), libsvn_subr/xml.c (1.19), libsvn_wc/entries.c (1.18), libsvn_wc/get_editor.c (1.60), libsvn_wc/log.c (1.16), libsvn_wc/wc.h (1.38): * svn_delta.h (svn_delta_edit_fns_t): finally remove ancestry arguments from replace_root, because the root's ancestry is never in question. This won't change again. Really. Below, deal with implications of this: * xml.c (replace_root): don't take ancestor_path nor ancestor_version argument. * xml_parse.c (svn_delta_make_xml_parser): don't pass ancestry args to editor->replace_root. * deltaparse-test.c (struct edit_baton): hold a root_path field. (main): set up the root_path in the edit baton. (test_replace_root): remove ancestry arguments. Get the root path from the edit baton instead. * get_editor.c (replace_root): removed ancestry arguments. Derive ancestry from working copy instead. Unrelated fixes: * entries.c, wc.h (svn_wc__get_entry_ancestry): take a pool arg. Doc fix. Made skeleton definition. * log.c (set_entry): call svn_wc__entry_set correctly. 2000-10-02 16:47 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: entries.c (1.17), get_editor.c (1.59), log.c (1.15), wc.h (1.37): wc.h (svn_wc__entry_set, svn_wc__entry_get, svn_wc__entry_remove): changed prototypes and all callers in libsvn_wc 2000-10-02 16:11 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: adm_crawler.c (1.14), wc.h (1.36): * wc.h (svn_wc_get_entry_ancestry): new prototype * adm_crawler.c : finish writing, but it still depends on a bunch of things in entries.c that don't exist yet. Therefore it doesn't yet compile. :) 2000-10-02 14:48 Jim Blandy <jimb@redhat.com> * subversion/tests/svn_tests_main.c (1.10, milestone-1-beta): #include <string.h>, since we're using strrchr. (main): Strip off leading directories from the program name. This makes test output more readable, and makes it easier to compare test logs from different builds. * svn_test_main.c (do_test_num): Simplify code. * svn_test_main.c (do_test_num): If the test function didn't set its name, print something that points out the problem --- not garbage. 2000-10-02 13:29 Jim Blandy <jimb@redhat.com> * subversion/include/svn_string.h (1.35, milestone-1-beta): * include/svn_string.h (svn_string_ensure): New public function. * libsvn_string/svn_string.c (svn_string_ensure): Renamed from `ensure_block_capacity'. (svn_string_appendbytes): Use new name. 2000-10-02 13:14 Jim Blandy <jimb@redhat.com> * subversion/tests/libsvn_fs/.cvsignore (1.2, milestone-1, jimb_pre_transaction, milestone-1-beta): Add skel-test executable. 2000-10-02 00:12 Greg Hudson <ghudson@mit.edu> * subversion/include/svn_delta.h (1.106): Tighten up the restrictions on text delta producers so that it is actually possible to streamily generate XML deltas. The producer will decide whether text deltas come inline or at the end (the consumer can't possibly make that decision without buffering all the text deltas); however, the consumer can now intuit whether a text delta will be coming at the end by the lack of a `close_file' call before the next directory operation. I feel like our edit_fns interface now has "too much rope." dir_batons are now redundant (there is only one allowable value for the dir_baton argument for any call which takes one), and there is no explicit call made when a text delta is being deferred to the end of the call sequence. In general, the tree structure of an editing operation is enforced through documentation rather than through the interface, and it doesn't have to be that way. However, I don't feel comfortable unilaterally instituting a major design change at the moment, so for the moment I am just documenting the restrictions on the call sequence. 2000-10-01 16:52 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/text_delta.c (1.9): (svn_txdelta_next_window): Improve our windowing algorithm performance by padding the source view with half a target view's worth of data on each side. This change doesn't appreciably slow down delta generation in my tests, even though we're passing twice as much source data to the vdelta engine. (svn_txdelta_stream_t, svn_txdelta): Add new fields sbuf and sbuf_len to stash source data in between calls to svn_txdelta_next_window. 2000-10-01 14:55 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/vdelta.c (1.2, milestone-1-beta): (svn_txdelta__vdelta): When the destination of a copy straddles the source/target boundary, we were failing to output an opcode for the part of the copy which wrote target data. Bug discovered using random input testing and an assertion in text_delta.c's apply_instructions() which compared the length of the regenerated output against tview_len. 2000-10-01 14:52 Greg Hudson <ghudson@mit.edu> * subversion/tests/libsvn_delta/Makefile.am (1.7): Incorporate the test framework boilerplate and put random-test in SVN_TESTS. 2000-10-01 14:49 Greg Hudson <ghudson@mit.edu> * subversion/tests/libsvn_delta/random-test.c (1.6, milestone-1-beta): Use our own PRNG instead of rand(), just in case rand() works differently on some platforms. (The code we use is equivalent to rand(), which means it isn't a very good PRNG but it's very concise.) Run the test 30 times by default (new -n option varies number of iterations), which takes about ten seconds on my relatively spiffy laptop. Modify the output format to be consistent with the test framework's requirements. 2000-10-01 13:56 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/xml_parse.c (1.112): Revert rev 1.110, which was committed as a compile fix because of rev 1.101 of svn_delta.h, which was reverted in rev 1.102. Now this library compiles again. 2000-10-01 13:43 Greg Hudson <ghudson@mit.edu> * notes/txdelta_sanity (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Update for interface changes. 2000-10-01 12:45 Bob Miller <kbob@jogger-egg.com> * tools/cvs2svn/: CheckedClass.pm (1.2, milestone-2), README (1.2, milestone-2), cvs2svn.pl (1.2) (utags: milestone-1, milestone-1-beta, post-edit-baton-removal, pre-edit-baton-removal): Lots of cleanup and refactoring. cvs2svn.pl now outputs a list of which file revisions should be in which commit. That list is not XML, just a text list. Here's the comment in Commit::accepts_filerev. # This is the heuristic that determines whether a filerev # can be merged into a commit. # # The rules are: # Author must match. # Log message must match (and be nonempty). # Time must be within DURATION seconds of another rev in the commit. # File must not already be in commit. Also see tools/cvs2svn/README. tools/cvs2svn/README: updated. tools/cvs2svn/tests/test1-create-repo.sh: minor changes to make it work when $CVSREAD is set. tools/cvs2svn/CheckedClass.pm: (CheckedClass::check_new): now works if required args has undefined value. (CheckedClass::merged_type_info): now detects where the same arg is listed as both required_arg and optional_arg. tools/cvs2svn/cvs2svn.pl: (CvsTime::time_t): new routine Also, changed all "new ClassName" to "ClassName->new" since I'd been inconsistent. (CvsName::): new abstract base class (@CvsName::ISA): new. CvsName ISA CheckedClass. (CvsName::type_info, CvsName::name, CvsName::add_rev, CvsName::self_test): new methods. (CvsAuthor::): now derived from CvsName:: (@CvsAuthor::ISA): Now CvsAuthor is derived from CheckedClass. (CvsAuthor::type_info): deleted. Replaced by CvsName::type_info. (CvsAuthor::checked_in_rev): deleted. Use CvsName::add_rev now. (CvsAuthor::self_test): moved most of it to CvsName::self_test. (CvsTag::): now derived from CvsName:: (@CvsTag::ISA): Now CvsTag is derived from CheckedClass. (CvsTag::type_info): deleted. Replaced by CvsName::type_info. (CvsTag::tagged_rev): deleted. Use CvsName::add_rev now. (CvsTag::self_test): moved most of it to CvsName::self_test. (CvsLog::): new class derived from CvsName::. (@CvsLog::ISA): new. CvsLog ISA CvsName. (CvsLog::self_test): new method. (CvsFileRev::type_info): LOG is now a required arg. (CvsFileRev::get_file, CvsFileRev::get_author, CvsFileRev::get_time, CvsFileRev::get_log): new methods. (CvsFileRev::self_test): added tests for new methods. (CvsDirEntry::path, CvsDirEntry::set_parent): new methods. (CvsDirEntry::self_test): added tests for new methods. (CvsFile::count_revs): renamed to CvsFile::count_filerevs. Now calls $self->filerevs. (CvsFile::filerevs): new method returns list of CvsFileRev's in file. (CvsFile::self_test): much more thorough. Had a lot of trouble getting filerevs and count_filerevs working. (CvsDir::count_revs): renamed to CvsDir::count_filerevs. (CvsDir::has_entry): new method. (CvsDir::filerevs): new method returns list of CvsFileRev's in dir and subdirs. (CvsDir::self_test): now tests new methods. (CvsRepository::type_info): deleted member ALL_REVS_BY_TIME. (CvsRepository::count_revs): renamed to CvsRepository::count_filerevs. (CvsRepository::count_authors, CvsRepository::count_tags, CvsRepository::count_logs, CvsRepository::filerevs, CvsRepository::find_log): new methods. (CvsRepository::self_test): added tests for new methods. (CvsFileReader::read): now stores log messages as CvsLog objects (hashed in the repository) instead of as strings. Also, correctly sets up back links from authors, tags and logs to the filerevs that use them. (CvsDirReader::type_info): added new member PARENT_DIR. (CvsDirReader::read): changed call to CvsDirReader::_read_path. (CvsDirReader::_read_path): now handles the case where the same file is in the base directory and in the Attic by discarding the Attic file. (Commit::): new class represents an SVN commit. (@Commit::ISA): new. Commit ISA CheckedClass. (Commit::type_info, Commit::filerevs, Commit::accepts_filerev, Commit::add_filerev, Commit::self_test): new. accepts_filerev is the interesting method; it has the heuristic for clumping individual filerevs into a commit. (main::get_vm_size): new function. Linux-only, it returns the process's virtual size in kilobytes. Returns zero on other platforms. (main::print_stats): now prints more stats: counts authors, tags, and log messages. (main::build_commit_list): new function. Takes a CvsRepository, returns a list of Commits in the order they should be applied. (main): more bookkeeping, now sets stdout to unbuffered, now builds and prints the commit list. PR: Obtained from: Submitted by: Reviewed by: 2000-10-01 12:26 Bob Miller <kbob@jogger-egg.com> * tools/cvs2svn/tests/test1-create-repo.sh (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Lots of cleanup and refactoring. cvs2svn.pl now outputs a list of which file revisions should be in which commit. That list is not XML, just a text list. Here's the comment in Commit::accepts_filerev. # This is the heuristic that determines whether a filerev # can be merged into a commit. # # The rules are: # Author must match. # Log message must match (and be nonempty). # Time must be within DURATION seconds of another rev in the commit. # File must not already be in commit. Also see tools/cvs2svn/README. tools/cvs2svn/README: updated. Here's the blow by blow... tools/cvs2svn/tests/test1-create-repo.sh: minor changes to make it work when $CVSREAD is set. tools/cvs2svn/CheckedClass.pm: (CheckedClass::check_new): now works if required args has undefined value. (CheckedClass::merged_type_info): now detects where the same arg is listed as both required_arg and optional_arg. tools/cvs2svn/cvs2svn.pl: (CvsTime::time_t): new routine Also, changed all "new ClassName" to "ClassName->new" since I'd been inconsistent. (CvsName::): new abstract base class (@CvsName::ISA): new. CvsName ISA CheckedClass. (CvsName::type_info, CvsName::name, CvsName::add_rev, CvsName::self_test): new methods. (CvsAuthor::): now derived from CvsName:: (@CvsAuthor::ISA): Now CvsAuthor is derived from CheckedClass. (CvsAuthor::type_info): deleted. Replaced by CvsName::type_info. (CvsAuthor::checked_in_rev): deleted. Use CvsName::add_rev now. (CvsAuthor::self_test): moved most of it to CvsName::self_test. (CvsTag::): now derived from CvsName:: (@CvsTag::ISA): Now CvsTag is derived from CheckedClass. (CvsTag::type_info): deleted. Replaced by CvsName::type_info. (CvsTag::tagged_rev): deleted. Use CvsName::add_rev now. (CvsTag::self_test): moved most of it to CvsName::self_test. (CvsLog::): new class derived from CvsName::. (@CvsLog::ISA): new. CvsLog ISA CvsName. (CvsLog::self_test): new method. (CvsFileRev::type_info): LOG is now a required arg. (CvsFileRev::get_file, CvsFileRev::get_author, CvsFileRev::get_time, CvsFileRev::get_log): new methods. (CvsFileRev::self_test): added tests for new methods. (CvsDirEntry::path, CvsDirEntry::set_parent): new methods. (CvsDirEntry::self_test): added tests for new methods. (CvsFile::count_revs): renamed to CvsFile::count_filerevs. Now calls $self->filerevs. (CvsFile::filerevs): new method returns list of CvsFileRev's in file. (CvsFile::self_test): much more thorough. Had a lot of trouble getting filerevs and count_filerevs working. (CvsDir::count_revs): renamed to CvsDir::count_filerevs. (CvsDir::has_entry): new method. (CvsDir::filerevs): new method returns list of CvsFileRev's in dir and subdirs. (CvsDir::self_test): now tests new methods. (CvsRepository::type_info): deleted member ALL_REVS_BY_TIME. (CvsRepository::count_revs): renamed to CvsRepository::count_filerevs. (CvsRepository::count_authors, CvsRepository::count_tags, CvsRepository::count_logs, CvsRepository::filerevs, CvsRepository::find_log): new methods. (CvsRepository::self_test): added tests for new methods. (CvsFileReader::read): now stores log messages as CvsLog objects (hashed in the repository) instead of as strings. Also, correctly sets up back links from authors, tags and logs to the filerevs that use them. (CvsDirReader::type_info): added new member PARENT_DIR. (CvsDirReader::read): changed call to CvsDirReader::_read_path. (CvsDirReader::_read_path): now handles the case where the same file is in the base directory and in the Attic by discarding the Attic file. (Commit::): new class represents an SVN commit. (@Commit::ISA): new. Commit ISA CheckedClass. (Commit::type_info, Commit::filerevs, Commit::accepts_filerev, Commit::add_filerev, Commit::self_test): new. accepts_filerev is the interesting method; it has the heuristic for clumping individual filerevs into a commit. (main::get_vm_size): new function. Linux-only, it returns the process's virtual size in kilobytes. Returns zero on other platforms. (main::print_stats): now prints more stats: counts authors, tags, and log messages. (main::build_commit_list): new function. Takes a CvsRepository, returns a list of Commits in the order they should be applied. (main): more bookkeeping, now sets stdout to unbuffered, now builds and prints the commit list. 2000-09-30 13:36 Greg Hudson <ghudson@mit.edu> * subversion/include/svn_delta.h (1.105): Er, whoops. Should make sure things parse before checking them in. 2000-09-30 13:34 Greg Hudson <ghudson@mit.edu> * subversion/include/svn_delta.h (1.104): Flip around svn_txdelta_to_vcdiff so that it can be used by an edit_fns consumer. Branko, apologies if this gets in the way of your work; I don't know whether you've considered the problem and flipped around the interface yet or not. 2000-09-30 13:23 Greg Hudson <ghudson@mit.edu> * subversion/: include/svn_delta.h (1.103), libsvn_delta/text_delta.c (1.8), libsvn_wc/get_editor.c (1.58), tests/libsvn_delta/random-test.c (1.5): Revise the text delta applicator interface. Instead of inventing a new data type svn_txdelta_applicator_t and having three externally visible functions, have one function svn_txdelta_apply which passes back a window handler and baton. (svn_txdelta_applicator_t, svn_txdelta_applicator_create, svn_txdelta_apply_window, svn_txdelta_applicator_free): Old interface, garbage collected. (svn_txdelta_apply): New function. * random-test.c, get_editor.c: Adjust for new interface. 2000-09-29 23:04 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_subr/xml.c (1.18): escape_string() needs to work for attribute values as well as character data, so quote "' in addition to &<>. 2000-09-29 22:58 Greg Hudson <ghudson@mit.edu> * TASKS (1.12): Whoop, I renumbered task 5 to 3 but didn't fix the reference in 4. 2000-09-29 22:43 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_subr/xml.c (1.17): (escape_string): D'oh, got careless. Clean up a bit. 2000-09-29 22:21 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_subr/xml.c (1.16): (escape_string): Implement. 2000-09-29 21:20 Greg Hudson <ghudson@mit.edu> * TASKS (1.11): The Berkeley DB stuff was done a while ago by jimb. libsvn_wc now uses the delta code courtesy of sussman and myself. 2000-09-29 19:13 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_wc/adm_crawler.c (1.13): (do_apply_textdelta): According to the comment in svn_delta.h about svn_txdelta_window_handler_t, we have to call window_handler with a NULL window argument after we're out of windows. 2000-09-29 18:46 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_wc/get_editor.c (1.57): (apply_textdelta, window_handler): Rewrite to use svn_txdelta_apply_window, so we can handle arbitrary text deltas now. (handler_baton): New type of handler to encapsulate applicator state. (read_from_file, write_to_file): Helper functions for applicator. This change compiles cleanly and is fairly simple, but there is too much churn in this library right now to test it. 2000-09-29 18:19 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.102): (svn_delta_edit_fns_t): Revert accidental change to `replace_root' prototype. 2000-09-29 18:17 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: adm_crawler.c (1.12), wc.h (1.35): Complete rewrite of adm_crawler.c; not yet functional, because it depends on rewriting some other routines in entries.c. Specifically, this checkin temporarily breaks the build of libsvn_wc. As soon as we rewrite svn_wc__entry_get() to match the new declaration in wc.h, things will work again. If you want a tree that builds right this second, try the tree as of 2000-09-27 16:00. 2000-09-29 17:32 Jim Blandy <jimb@redhat.com> * subversion/tests/libsvn_fs/skel-test.c (1.2): Add tests for unparsing skeletons. 2000-09-29 17:32 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/convert-size.c (1.2): (svn_fs__putsize): Don't forget to initialize i. 2000-09-29 17:31 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/skel.h (1.2): Doc fix. 2000-09-29 17:30 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/skel.c (1.2): (unparse): Don't forget the mandatory whitespace after an implicit-length atom. (unparse): Don't compute the list length; we never use it. (unparse): Don't indent the opening paren --- the caller has done any necessary indentation. (unparse): When we recurse to print list elements, don't ignore the return value. 2000-09-29 16:03 Bob Miller <kbob@jogger-egg.com> * subversion/: libsvn_fs/delta.c (1.6), libsvn_repos/delta.c (1.6): (svn_fs_dir_delta): removed extraneous args to editor->replace_root(). PR: Obtained from: Submitted by: Reviewed by: 2000-09-29 15:14 Bob Miller <kbob@jogger-egg.com> * tools/cvs2svn/: CheckedClass.pm (1.1), cvs2svn.pl (1.1), design-notes.txt (1.1, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), tests/test1-create-repo.sh (1.1), tests/test1.sh (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Initial checkin of cvs2svn.pl. At this point, it reads a CVS repository and builds an internal data structure, but doesn't output anything significant. 2000-09-29 15:02 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.34): Yet another note for Ben (doh). 2000-09-29 15:01 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.33): Another note for Ben. 2000-09-29 15:01 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc.h (1.32): Committing internal interface changes discussed with Ben on the phone. Ben, search for "Ben". 2000-09-29 14:11 Karl Fogel <kfogel@collab.net> * .cvsignore (1.4, milestone-1): Ignore *.orig, *.rej, TAGS. 2000-09-28 19:08 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/: convert-size.c (1.1), convert-size.h (1.1), skel.c (1.1), skel.h (1.1): First cut at skeleton parsing code 2000-09-28 19:07 Jim Blandy <jimb@redhat.com> * subversion/tests/libsvn_fs/.cvsignore (1.1): [no log message] 2000-09-28 19:05 Jim Blandy <jimb@redhat.com> * subversion/tests/libsvn_fs/: Makefile.am (1.1, milestone-1-beta), run-fs-tests.sh (1.1, milestone-1, jimb_pre_transaction, milestone-1-beta), skel-test.c (1.1): some skeleton parsing tests 2000-09-28 10:23 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_xml.h (1.18), libsvn_delta/xml_parse.c (1.111), libsvn_subr/xml.c (1.15): Fixing silly compile-o's 2000-09-27 19:14 Jim Blandy <jimb@redhat.com> * subversion/tests/README (1.3): Doc fix. 2000-09-27 16:46 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.101): Doc fixes. 2000-09-27 16:33 Jim Blandy <jimb@redhat.com> * subversion/tests/README (1.2): Doc fix. 2000-09-27 16:20 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/xml.c (1.14): doc fix 2000-09-27 16:19 Karl Fogel <kfogel@collab.net> * TASKS (1.10): Add xml outputter to task list. 2000-09-27 16:19 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.17), libsvn_subr/xml.c (1.13): Skeleton of an xml output interface: (svn_xml_get_editor): new public func. (replace_root, delete, add_directory, replace_directory, change_dir_prop, change_dirent_prop, close_directory, add_file, replace_file, apply_textdelta, change_file_prop, close_file, close_edit): new static funcs, comprising the editor. (tree_editor): new struct, holding above. 2000-09-27 15:53 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.49): Eliminate `delta-here' file -- we don't need it anymore. 2000-09-27 15:42 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile.am (1.20, milestone-1-beta), README (1.48), adm_files.c (1.33), entries.c (1.16), get_editor.c (1.56), log.c (1.14), versions.c (1.16), wc.h (1.31): Use an `entries' file instead of `versions', now, because it will record every directory entry. This is a lot more conceptually consistent, and (not coincidentally) makes implementing some things easier. * README: doc fixes. * entries.c: new file, inherits versions.c's history. * versions.c: removed. * Makefile.am: adjust. (svn_wc__entries_init): replaces svn_wc__versions_init. (svn_wc__entry_set, svn_wc__entry_get, svn_wc__entry_remove): replace svn_wc__set_versions_entry, svn_wc__get_versions_entry, and svn_wc__remove_versions_entry, respectively. All callers changed. (do_entry): replace do_versions_entry. All callers changed. (SVN_WC__ADM_ENTRIES): replaces SVN_WC__ADM_VERSIONS, all uses changed. (SVN_WC__ENTRIES_ATTR_NAME, SVN_WC__ENTRIES_ATTR_VERSION, SVN_WC__ENTRIES_ATTR_TYPE, SVN_WC__ENTRIES_ATTR_TIMESTAMP, SVN_WC__ENTRIES_ATTR_CHECKSUM, SVN_WC__ENTRIES_ATTR_NEW, SVN_WC__ENTRIES_ATTR_ANCESTOR): new #defines, use them in place of literals where appropriate. (SVN_WC__LOG_SET_ENTRY): replaces SVN_WC__LOG_SET_VERSION. All uses changed. (SVN_WC__ENTRIES_START, SVN_WC__ENTRIES_ENTRY, SVN_WC__ENTRIES_END): replace SVN_WC__VERSIONS_START, SVN_WC__VERSIONS_ENTRY and SVN_WC__VERSIONS_END, respectively. All uses changed. (svn_wc__write_adm_item, v_write_adm_item): replace svn_wc__write_adm_entry, v_write_adm_entry. All callers changed. 2000-09-27 12:43 Karl Fogel <kfogel@collab.net> * STACK (1.4): Added a buncha stuff to my stack. 2000-09-27 12:13 Jim Blandy <jimb@redhat.com> * autogen.sh (1.19): There's no need to copy the configure script and check for changes if there's no config.cache file. Don't print an error message if `configure' doesn't exist for us to copy. Don't assume that `if' implements `!'; use `||' instead. 2000-09-26 17:53 Branko Cibej <brane@xbc.nu> * www/project_members.html (1.9, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Added Joe Orton and Bob Miller to the project members list. This list is now in sync with the AUTHORS file. 2000-09-26 17:43 Branko Cibej <brane@xbc.nu> * www/project_members.html (1.8): Changed my mail address. 2000-09-26 16:33 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error.h (1.30), libsvn_subr/svn_error.c (1.37), libsvn_wc/get_editor.c (1.55), tests/libsvn_wc/checkout-test.sh (1.7): Take care of reference counting within baton constructors and destructors, as much as possible: (make_dir_baton, make_file_baton): bump parent dir baton's ref count. (free_file_baton): new func. (add_directory, add_file): don't bump ref counts. (close_file): call free_file_baton when done. Note: above has either caused or (I suspect) revealed an allocation bug. See the comment in free_file_baton. Suggestions welcome... I've spent all day trying to figure out how freeing a file baton's subpool can affect its parent dir baton chain, which is apparently what's happening. Anyone want to play Captain Obvious? :-) (debug_dir_baton): new temporary func. (svn_pool_create): use apr_make_sub_pool(). * checkout-test.sh: just make one tree, for easier debugging. 2000-09-26 12:34 Karl Fogel <kfogel@collab.net> * autogen.sh (1.18): Toss config.cache only if configure itself has changed. 2000-09-26 01:02 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.15), get_editor.c (1.54), versions.c (1.15): (handle_start_tag): avoid strcmp() on null. (free_dir_baton): decrement parent's ref count too. Bump the dir to the new version before freeing. Dang, that feels good. 2000-09-26 00:24 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.14), versions.c (1.14): (do_parse): use do-while, not while, to avoid the usual initial condition bug. (handle_end_tag): get rid of test output. 2000-09-26 00:12 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.16), libsvn_subr/xml.c (1.12), libsvn_wc/entries.c (1.13), libsvn_wc/versions.c (1.13): Fix bugs in version setting: (do_versions_entry): new helper func, abstracts common code from below. (svn_wc__set_versions_entry, svn_wc__set_versions_entry): implement by calling do_versions_entry. (get_entry_attributes): rewrite to use a hash. Support for above: * xml.c, svn_xml.h (svn_xml_hash_atts_preserving, svn_xml_hash_atts_overlaying, svn_xml_ap_to_hash): new funcs. (svn_xml_make_hash_att_overlaying): removed. (amalgamate): new helper func, engine for all att<->hash code. (svn_xml_make_att_hash): implementing by calling amalgamate. (svn_xml_write_tag_v): use svn_xml_ap_to_hash now. 2000-09-25 23:14 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.12), versions.c (1.12): (svn_wc__set_versions_entry, svn_wc__get_versions_entry): actually, just use baton->ap in place. 2000-09-25 23:12 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.11), versions.c (1.11): (svn_wc__set_versions_entry, svn_wc__get_versions_entry): don't set baton's va_list ap until after va_start call. I'm amazed that this makes a difference, but it does. 2000-09-25 22:58 Karl Fogel <kfogel@collab.net> * STACK (1.3), TASKS (1.9): Added a bunch of tasks. Cleaned up stack. 2000-09-25 22:24 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.15), libsvn_subr/xml.c (1.11), libsvn_wc/entries.c (1.10), libsvn_wc/log.c (1.13), libsvn_wc/versions.c (1.10), libsvn_wc/wc.h (1.30): Changes to make updating the SVN/versions file actually work: * versions.c (svn_wc__versions_init): open tmp file with APR_EXCL, as a secondary locking check. Rewrite in accord with below. (svn_wc__version_baton_t): new boolean field `found_it'. Use plain svn_vernum_t for version field. Eliminate unused default_version field. Doc fixes. (get_entry_attributes): rewritten. New calling discipline, caller changed. (set_entry_attributes): removed. (svn_wc__set_versions_entry): open tmp file with APR_EXCL, as a secondary locking check. Doc fixes, cosmetic fixes. (svn_wc__get_versions_entry): doc fixes, cosmetic fixes. (handle_start_tag, handle_end_tag): new names for xml_handle_start and xml_handle_end respectively, to avoid debugger namespace conflicts with similar functions in xml_parse.c. * log.c (set_version): doc and formatting fixes. * xml.c (valist_to_hash, escape_string): new helper funcs. (svn_xml_write_tag_hash): new public func. (svn_xml_write_tag_list): removed in favor of above. (svn_xml_write_tag_v): implement by calling svn_xml_write_tag_hash. (svn_xml_make_att_hash, svn_xml_make_att_hash_overlaying): new funcs. * wc.h, svn_xml.h: adjust accordingly. 2000-09-25 20:51 Branko Cibej <brane@xbc.nu> * AUTHORS (1.5): * AUTHORS: Removed coding-system escapes from name and changed mailing address. 2000-09-25 19:07 Greg Hudson <ghudson@mit.edu> * subversion/tests/libsvn_delta/random-test.c (1.4): I noticed that the windows of diffs between purely psuedo-random data files tend to contain only one opcode (a copy from the new data). That's not a very good test. Taking a suggestion from my wife, I decided to make the data less random by generating shortish pseudo-random subsequences using a limited range of seeds. This way we get around 300 opcodes per window on average. Most of those tend to be source copies, but a few of them are target copies or copies from new data. 2000-09-25 17:22 Jim Blandy <jimb@redhat.com> * autogen.sh (1.17): Remove Karl's note about configuring for Berkeley DB. These problems should be fixed now. PR: Obtained from: Submitted by: Reviewed by: 2000-09-25 17:15 Jim Blandy <jimb@redhat.com> * configure.in (1.30), subversion/Makefile.am (1.12), ac-helpers/berkeley-db.m4 (1.2, milestone-1-beta): Get better at finding Berkeley DB. * configure.in: Use new macro SVN_LIB_BERKELEY_DB. If we can't find it, then just don't build the filesystem library. We should also make this turn off mod_dav_svn, but I'll leave that to Greg. * subversion/Makefile.am (SUBDIRS): Build in libsvn_fs only if the configure script says we should. * ac-helpers/berkeley-db.m4 (SVN_CHECK_BERKELEY_DB): Replaced by: (SVN_LIB_BERKELEY_DB): New macro. Check --with-berkeley-db flag. If the user doesn't explicitly tell us where to look, search for Berkeley DB in a number of standard places. Cache results in a way that works accurately even when the user tells us to look in a different place, or not to look for Berkeley DB at all. 2000-09-25 15:45 Karl Fogel <kfogel@collab.net> * autogen.sh (1.16): Add a note about how to deal with configure lossage relating to Berkeley DB. This has bitten a few people, and Jim is working on a real fix right now, but in the meantime these new instructions may save some headache. 2000-09-25 12:10 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/text_delta.c (1.7): (svn_txdelta_stream_t): Style police. 2000-09-25 12:08 Greg Hudson <ghudson@mit.edu> * TASKS (1.8): Binary diffing is pretty much done, although we still need to fill in the functions to convert text deltas to vcdiff format and back. Branko has that subtask. 2000-09-25 12:04 Jim Blandy <jimb@redhat.com> * configure.in (1.29): Abort the configuration process if we can't find a sufficiently new version of Berkeley DB. Ideally, this should just disable compilation of the filesystem library, and let the rest of the system build. But I haven't figured out how to fix that yet, and this is better than nothing. 2000-09-25 11:59 Greg Hudson <ghudson@mit.edu> * subversion/include/: svn_delta.h (1.100), svn_error.h (1.29), svn_parse.h (1.6, milestone-1, milestone-1-beta), svn_svr.h (1.33, milestone-1, milestone-1-beta): Eliminate "extern" from function prototypes where it was used. (It doesn't do anything, it consumes horizontal space, and we weren't using it in most places anyway.) 2000-09-25 11:54 Greg Hudson <ghudson@mit.edu> * subversion/libsvn_delta/text_delta.c (1.6): (svn_txdelta): Allocate stream descriptor in subpool, or it won't get freed up when we call svn_txdelta_free(). 2000-09-25 11:52 Greg Hudson <ghudson@mit.edu> * subversion/: include/svn_delta.h (1.99), libsvn_delta/text_delta.c (1.5), tests/libsvn_delta/random-test.c (1.3): Rework delta applicator interface so that it can be used with an edit_fns callback. (Previously a delta could only be applied as it was being created, which wasn't very useful.) * include/svn_delta.h, libsvn_delta/text_delta.c: (svn_txdelta_apply): Remove. (svn_txdelta_applicator_t, svn_txdelta_applicator_create, svn_txdelta_apply_window, svn_txdelta_applicator_free): New type and functions to do the same job window by window. (apply_window, apply_instructions): Rename helper function for clarity. * libsvn_delta/tests/random_test.c: Fix up for new interface. 2000-09-25 11:31 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_subr/xml.c (1.10), libsvn_wc/entries.c (1.9), libsvn_wc/versions.c (1.9): `versions.c' completed. Time to debug. :) * xml.c (svn_xml_write_tag_list): finish definition. * versions.c (set_entry_attributes): finish definition. (xml_handle_start): rename input arg to `tagname', so we don't overload the term `name'. also re-do calls to svn_xml_write_tag_list. 2000-09-25 09:20 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.28): Remove pointless check for db.h. This should be part of SVN_CHECK_BERKELEY_DB() 2000-09-24 21:28 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_xml.h (1.14), libsvn_wc/entries.c (1.8), libsvn_wc/versions.c (1.8): Almost finished with versions.c. Karl, would you like to finish set_entry_attributes() and xml.c:svn_xml_write_tag_list() ? :) * svn_xml.h (svn_xml_write_tag_list) new func declaration, not yet written in libsvn_subr/xml.c. * versions.c (svn_wc__version_baton_t): new userdata structure (set_entry_attributes, get_entry_atttributes, do_parse): new routines, almost finished. (svn_wc__get_versions_entry, svn_wc__get_versions_entry, xml_handle_start, xml_handle_end): fully fleshed out. 2000-09-23 12:37 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/fs.c (1.8): #include "db.h". 2000-09-23 12:36 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.98): Doc fix. 2000-09-23 11:44 Jim Blandy <jimb@redhat.com> * TASKS (1.7): Revise Ben's comments about Berkeley DB. 2000-09-23 08:58 Ben Collins-Sussman <sussman@collab.net> * notes/txdelta_sanity (1.1): Ben's notes on how txdelta interfaces work. Mainly as a personal reminder. :) 2000-09-22 18:16 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.13), libsvn_subr/xml.c (1.9): note need for XML quoting. 2000-09-22 17:33 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.12), libsvn_subr/xml.c (1.8), libsvn_wc/Makefile.am (1.19), libsvn_wc/adm_files.c (1.32), libsvn_wc/adm_parse.c (1.13), libsvn_wc/entries.c (1.7), libsvn_wc/versions.c (1.7), libsvn_wc/wc.h (1.29): Changes to do all working copy xml creation via the new svn xml interface: (svn_wc__versions_init): replaces `svn_wc__versions_init_contents', moved to here from adm_parse.c. Use the new xml-writing routines to produce the initial versions file. (init_adm): use above to initialize versions file. (SVN_WC__VERSIONS_START, SVN_WC__VERSIONS_END, SVN_WC__VERSIONS_ENTRY): new #defines. * adm_parse.c: removed this file. Added the following to support above changes: * xml.c, svn_xml.h: doc fixes, and... (svn_xml_write_header): new func. (svn_xml_write_tag_v): new func. (svn_xml_write_tag): implement using svn_xml_write_tag_v. (SVN_XML_NAMESPACE): new #define. 2000-09-22 16:25 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/log.c (1.12): (svn_wc__run_log): shut down the parser correctly. 2000-09-22 15:56 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.6), log.c (1.11), versions.c (1.6): Silly compilation warning fixes. 2000-09-22 15:49 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/delta.h (1.31), libsvn_delta/xml_parse.c (1.110), libsvn_subr/xml.c (1.7): Finish factorizing xml parsing code! * delta.h: include svn_xml.h instead of xmlparse.h (svn_delta_xml_parser_t): now includes a svn_xml_parser_t instead of an expat parser. * xml.c: include apr_pools.h (svn_xml_make_parser, svn_xml_free_parser, svn_xml_parse, svn_xml_signal_bailout): finish defining all of these factorized routines. * xml_parse.c: many, many changes to use all of the factorized routines. 2000-09-22 15:47 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/log.c (1.10): (log_runner): no more error field, we get it for free in svn_xml_parser_t now. (svn_wc__run_log): don't check for an error in the log_runner. Use svn_xml_parser_t and svn_xml_parse, instead of invoking expat directly. Don't initialize `err'. (signal_error): replaces set_error, invokes svn_xml_signal_bailout. All callers changed. (start_handler): fix up error handling. 2000-09-22 15:46 Karl Fogel <kfogel@collab.net> * subversion/include/svn_xml.h (1.11): (svn_xml_parse): doc fix. 2000-09-22 15:17 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.5), versions.c (1.5): resolve doc conflicts. 2000-09-22 15:12 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_xml.h (1.10): Use correct name. 2000-09-22 15:11 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_xml.h (1.9): Typo! Remove `static' keyword. 2000-09-22 15:11 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_xml.h (1.8): Passing latest header file back to Karl. :-) 2000-09-22 14:35 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.7), libsvn_subr/xml.c (1.6): (svn_xml_parse): started, hand off to Ben. 2000-09-22 14:27 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_xml.h (1.6), libsvn_subr/xml.c (1.5), libsvn_wc/entries.c (1.4), libsvn_wc/versions.c (1.4): * svn_xml.h : #include "svn_error.h" to make compilation work right. * libsvn_subr/xml.c : new routine svn_xml_write_tag() 2000-09-22 13:03 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_xml.h (1.5): (svn_xml_parser_t): new generalized xml parser object (svn_xml_make_parser): prototype for how this routine will look (svn_xml_write_tag): new routine coming soon 2000-09-22 12:43 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: log.c (1.9), wc.h (1.28): (replace_text_base): fix typo. (svn_wc__remove_adm_file): fix formatting. 2000-09-22 12:35 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/checkout-test.c (1.24): (main): correct format args to fprintf. 2000-09-22 12:34 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_delta/random-test.c (1.2): (main): don't include getpid () when seeding the random number generator, it's not portable outside of Unix. 2000-09-22 12:32 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/text_delta.c (1.4): #include <string.h>, for memmove. 2000-09-21 18:49 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile.am (1.18), adm_files.c (1.31), entries.c (1.3), local_changes.c (1.6), log.c (1.8), versions.c (1.3), wc.h (1.27): More changes to make log handling behave correctly. These compile but seg fault when run. (svn_wc__file_exists_p): new func. (svn_wc__merge_local_changes, replace_text_base): handle absences, so that log recovery is as well-behaved as initial log execution. (set_version): use svn_wc__set_versions_entry, even though it's not fully implemented yet. (merge_text): make return scheme consistent. (svn_wc__remove_versions_entry, svn_wc__get_versions_entry, svn_wc__set_versions_entry): make skeleton definitions. * wc.h: document log file properties some more. (svn_wc__get_versions_entry): fix prototype. * Makefile.am (libsvn_wc_la_SOURCES): add versions.c 2000-09-21 18:16 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: entries.c (1.2), versions.c (1.2): load svn-dev.el 2000-09-21 18:04 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error.h (1.28), include/svn_wc.h (1.25), libsvn_subr/svn_error.c (1.36), libsvn_wc/adm_files.c (1.30), libsvn_wc/get_editor.c (1.53), libsvn_wc/local_changes.c (1.5), libsvn_wc/log.c (1.7), libsvn_wc/wc.h (1.26): Changes to make files update by "running" the adm log: (merge_text, replace_text_base, set_version): take a pool argument. (start_handler): pass pool to above. (close_file): let svn_wc__run_log do everything. (svn_wc__gnudiff_differ, svn_wc__gnudiff_patcher): replace svn_wc__generic_differ and svn_wc__generic_patcher, respectively. Take pool args, use svn_error_createf where appropriate. (svn_wc__get_local_changes, svn_wc__merge_local_changes): adjust calls. (svn_wc__text_base_path): take `tmp' flag. (v_extend_with_adm_name): ignore empty components. * wc.h: doc fixes. * svn_error.c, svn_error.h (svn_error_free): rename svn_free_error. * svn_wc.h (svn_wc_patch_fn_t, svn_wc_diff_fn_t): take pool args. 2000-09-21 17:39 Greg Hudson <ghudson@mit.edu> * subversion/: include/svn_delta.h (1.97), include/svn_io.h (1.4, milestone-1-beta), libsvn_delta/text_delta.c (1.3), tests/libsvn_delta/.cvsignore (1.5), tests/libsvn_delta/Makefile.am (1.6), tests/libsvn_delta/random-test.c (1.1): Reviewed by: brane Add delta applicator function. Unfortunately, I don't think it has the right interface to fit into the edit_fns framework, but it can be munged appropriately once I get that issue hammered out on the list. * include/svn_delta.h (svn_txdelta_window_t, svn_txdelta_apply): Add sview_offset, sview_len, tview_len to window structure; prototype new function to apply delta stream. * include/svn_io.h (svn_read_fn_t, svn_write_fn_t): Tighten up contract and extend for writing as well as reading. * libsvn_delta/text_delta.c: (svn_txdelta_stream_t, svn_txdelta__init_window, svn_txdelta_next_window): Adjust for new window fields. (size_buffer, apply_window, svn_txdelta_apply): new function and helpers to apply a delta stream. May need to be rewritten as a window handling function. * libsvn_delta/test/.cvsignore, libsvn_delta/tests/Makefile.am, libsvn_delta/tests/random_test.c: New program, random-test, to test svn_txdelta and svn_txdelta_apply with random data. 2000-09-21 17:26 Karl Fogel <kfogel@collab.net> * subversion/tests/svn_tests_main.c (1.9): (get_array_size): add `void' non-argument to prototype, to pacify compiler. 2000-09-21 17:21 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.42): Mark static functions, fix printf() long int formats. 2000-09-21 17:17 Karl Fogel <kfogel@collab.net> * subversion/tests/svn_tests_main.c (1.8): #include <stdlib.h>, for atoi(). 2000-09-21 16:27 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/: entries.c (1.1), versions.c (1.1): * version.c: new file -- for editing versions file 2000-09-21 16:11 Karl Fogel <kfogel@collab.net> * AUTHORS (1.4): (ghudson, kbob): added. 2000-09-21 16:09 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/wc.h (1.25): * wc.h : add definitions for manipulating the wc `versions' file. 2000-09-21 15:56 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/lock.c (1.15, milestone-1-beta): (svn_wc__lock): use svn_error_createf for formatting. 2000-09-21 15:54 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/lock.c (1.14): (svn_wc__lock): don't initialize error, that's not necessary. 2000-09-21 15:54 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/lock.c (1.13): (svn_wc__lock): free error if innocuous. 2000-09-21 15:22 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/xml_parse.c (1.109): * xml_parse.c (svn_delta_make_xml_parser): use svn_xml_make_parser. 2000-09-21 15:20 Karl Fogel <kfogel@collab.net> * README (1.10, milestone-1): Describe tools/ subdir. 2000-09-21 15:11 Karl Fogel <kfogel@collab.net> * TASKS (1.6): Note that Bob Miller has begun working on a conversion program. 2000-09-21 15:11 Karl Fogel <kfogel@collab.net> * tools/cvs2svn/README (1.1): Note that Bob Miller has begun working on this. 2000-09-21 13:46 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_files.c (1.29), lock.c (1.12), log.c (1.6), wc.h (1.24): (svn_wc__remove_adm_file): replaces svn_wc__remove_adm_thing, now variadic. (svn_wc__unlock, svn_wc__run_log): accommodate above. 2000-09-21 12:30 Karl Fogel <kfogel@collab.net> * subversion/tests/: libsvn_delta/Makefile.am (1.5), libsvn_subr/Makefile.am (1.7, milestone-1-beta), libsvn_wc/Makefile.am (1.8), Makefile.am (1.4, milestone-1-beta): Don't clobber autoconf's CFLAGS. 2000-09-21 12:25 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.41): Fix single-baton handling: (test_replace_root): set edit_baton in dir_baton. (add_or_replace_dir): abstract out common guts of test_add_directory and test_replace_directory. (test_add_directory, test_replace_directory): use above. (dec_spaces, inc_spaces): take an edit_baton. All callers changed. (test_close_file): use file_baton correctly. (main): pass edit_baton correctly. 2000-09-21 12:15 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.27): * configure.in: add check for "db.h" 2000-09-21 11:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_files.c (1.28): Tightenings: (wc_split_path): new func. (svn_wc__open_text_base, svn_wc__close_text_base, svn_wc__sync_text_base, svn_wc__text_base_path): use wc_split_path. (sync_adm_file, close_adm_file): use svn_error_createf for formatting. (sync_adm_file): formatting fix. 2000-09-21 11:40 Ben Collins-Sussman <sussman@collab.net> * TASKS (1.5): * TASKS: extra comment 2000-09-21 11:26 Ben Collins-Sussman <sussman@collab.net> * TASKS (1.4): * TASKS: Add berkeley db autoconf issue. 2000-09-21 10:56 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_fs/delta.c (1.5), libsvn_repos/delta.c (1.5): (dir_from_scratch, add): correct return value. 2000-09-21 10:55 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_fs/delta.c (1.4), libsvn_repos/delta.c (1.4): (svn_fs_dir_delta): fix type of second arg to editor->replace_root. 2000-09-21 10:50 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/fs.c (1.7): #include <string.h>, for memset. 2000-09-21 10:17 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_fs/delta.c (1.3), libsvn_repos/delta.c (1.3): (svn_fs_dir_delta): pass correct number of args to editor->replace_root. (add, dir_from_scratch): comment out non-compiling ellipses. Patched by Bob Miller <kbob@jogger-egg.com>. 2000-09-21 10:14 Karl Fogel <kfogel@collab.net> * subversion/include/svn_fs.h (1.13): (svn_fs_t): typedef forwards to struct svn_fs, not struct svn_fs_t. Patched by Bob Miller <kbob@jogger-egg.com>. 2000-09-21 09:58 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.27): Doc fix. 2000-09-21 09:41 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_error.h (1.26): * svn_error.h : add SVN_ERR_WC_BAD_ADM_LOG. (Karl forgot to add?) 2000-09-19 20:58 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/log.c (1.5): (log_runner): added pool, path, and error fields. (set_error, merge_text, replace_text_base, set_version): new funcs. (start_handler): do error checking and invoke above new funcs. 2000-09-19 20:30 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/log.c (1.4): (start_handler): print element and attribute list. (end_handler): removed -- don't actually need this. (svn_wc__run_log): parse the log file visibly. 2000-09-19 19:52 Karl Fogel <kfogel@collab.net> * STACK (1.2): update short-term tasks 2000-09-19 19:42 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.96), libsvn_delta/xml_parse.c (1.108), tests/libsvn_delta/deltaparse-test.c (1.40), libsvn_ra_dav/commit.c (1.8), libsvn_ra_dav/fetch.c (1.12), libsvn_wc/get_editor.c (1.52): Move to a single-baton scheme. * svn_delta.h: change callbacks in svn_delta_edit_fns_t to use their most specific baton: (add_directory, replace_directory, add_file, replace_file, change_dir_prop, change_dirent_prop, close_directory, close_file): removed edit_baton arg. (apply_textdelta, change_file_prop): remove edit_baton and parent_baton args. * deltaparse_test.c: change callback invocations appropriately. (edit_baton, dir_baton, file_baton): new structs, use them everywhere. * xml_parse.c: change callback invocations appropriately. * get_editor.c, fetch.c, commit.c: change callback implementations appropriately. 2000-09-19 18:21 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/checkout-1.delta (1.11): Restore to valid syntax. 2000-09-19 18:07 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error.h (1.25), libsvn_delta/vcdiff_parse.c (1.14), libsvn_delta/xml_parse.c (1.107), tests/libsvn_delta/deltaparse-test.c (1.39), libsvn_fs/err.c (1.6), libsvn_fs/fs.c (1.6), libsvn_ra_dav/fetch.c (1.11), libsvn_ra_dav/session.c (1.4), libsvn_subr/svn_error.c (1.35), libsvn_subr/svn_parse.c (1.38, milestone-1-beta), libsvn_wc/adm_crawler.c (1.11), libsvn_wc/adm_files.c (1.27), libsvn_wc/adm_parse.c (1.12), libsvn_wc/get_editor.c (1.51), libsvn_wc/local_changes.c (1.4), libsvn_wc/lock.c (1.11), libsvn_wc/questions.c (1.10), libsvn_wc/util.c (1.9), tests/libsvn_wc/checkout-test.c (1.23): Namespace fix: (svn_error_create, svn_error_createf, svn_error_quick_wrap): new names for svn_create_error, svn_create_errorf, and svn_quick_wrap_error. All callers changed. 2000-09-19 18:00 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error.h (1.24), libsvn_delta/text_delta.c (1.2), libsvn_delta/vcdiff_parse.c (1.13), libsvn_delta/xml_parse.c (1.106), tests/libsvn_delta/deltaparse-test.c (1.38), libsvn_fs/delta.c (1.2), libsvn_fs/fs.c (1.5), libsvn_repos/delta.c (1.2), libsvn_subr/svn_error.c (1.34), libsvn_subr/svn_parse.c (1.37), libsvn_wc/get_editor.c (1.50), tests/libsvn_wc/checkout-1.delta (1.10), tests/libsvn_wc/checkout-test.c (1.22), tests/svn_tests_main.c (1.7): Fix the error lifetime problem: (svn_pool_create): new func, wraps APR pool creation, creates or inherits an error pool, depending on args. (default_abort): default bailout function for above. (make_error_internal): find and use the error pool. (svn_errno_t): new error SVN_ERR_BAD_CONTAINING_POOL. Throughout Subversion: callers changed to create pools using svn_pool_create, instead of apr_create_pool or apr_make_sub_pool. 2000-09-19 17:35 Karl Fogel <kfogel@collab.net> * subversion/tests/svn_tests_main.c (1.6): fix loading of svn-dev.el 2000-09-19 15:48 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/: checkout-1.delta (1.9), checkout-2.delta (1.2): Wrap in new `delta-pkg' element. 2000-09-19 14:14 Jim Blandy <jimb@redhat.com> * subversion/: include/svn_fs.h (1.12), libsvn_fs/Makefile.am (1.3), libsvn_fs/delta.c (1.1), libsvn_fs/err.c (1.5), libsvn_fs/err.h (1.3), libsvn_repos/delta.c (1.1): * svn_fs.h: Many changes throughout. Make node and node version ID's part of the public interface. Add delta functions. Tweak semantics of svn_fs_dir_entries and property list functions. * libsvn_fs/Makefile.am (libsvn_fs_la_SOURCES): Add delta.c. * libsvn_fs/err.c (svn_fs__pool_abort): New function. * libsvn_fs/err.h (svn_fs__pool_abort): New declaration. * libsvn_fs/delta.c: New file. 2000-09-19 13:43 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/svn_error.c (1.33): (make_error_internal): previous log message had the wrong name for this func 2000-09-19 13:36 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error.h (1.23), libsvn_delta/xml_parse.c (1.105), tests/libsvn_delta/deltaparse-test.c (1.37), libsvn_fs/err.c (1.4), libsvn_fs/fs.c (1.4), libsvn_ra_dav/commit.c (1.7), libsvn_ra_dav/session.c (1.3), libsvn_subr/svn_error.c (1.32), libsvn_subr/svn_parse.c (1.36), libsvn_wc/Makefile.am (1.17), libsvn_wc/adm_crawler.c (1.10), libsvn_wc/adm_files.c (1.26), libsvn_wc/adm_parse.c (1.11), libsvn_wc/get_editor.c (1.49), libsvn_wc/local_changes.c (1.3), libsvn_wc/lock.c (1.10), libsvn_wc/log.c (1.3), libsvn_wc/questions.c (1.9), libsvn_wc/util.c (1.8), tests/libsvn_wc/checkout-test.c (1.21): NOTE: the build appears to be broken right now, although I'm not sure this change is what breaks it. Committing anyway, though, because Ben is remote today and I want to him to be able to help figure out the build problem. To see the problem, rerun autogen.sh and configure (with all the suggested flags), then `make clean', then `make'. This change: Cleanups to error system, preliminary to making the much-discussed fix regarding pool lifetimes: (make_error): new internal helper func. (svn_create_error, svn_create_errorf): allocate in a subpool of pool, else use child's pool. Also, change order of arguments to svn_create_error to match that of svn_create_errorf. All callers changed, whew! (svn_quick_wrap_error): make sure allocation happens directly in child's pool. (svn_free_error): new func. Minor compilation fixes: * libsvn_wc/Makefile.am (libsvn_wc_la_LIBADD): mention expat-lite and libsvn_subr, nothing else. * libsvn_ra_dav/commit.c (commit_editor): align correctly for latest svn_delta_edit_fns_t. 2000-09-18 18:23 Jim Blandy <jimb@redhat.com> * subversion/include/svn_string.h (1.34): Doc fix. 2000-09-18 16:59 Karl Fogel <kfogel@collab.net> * STACK (1.1): short-term todo list 2000-09-18 14:47 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/Makefile.am (1.16): * Makefile.am : too many ".." in link line?? 2000-09-18 12:50 Jim Blandy <jimb@redhat.com> * subversion/include/svn_path.h (1.12): Doc fixes. 2000-09-18 12:30 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.95), include/svn_wc.h (1.24), include/svn_xml.h (1.4), libsvn_delta/delta.h (1.30), libsvn_delta/xml_parse.c (1.104), tests/libsvn_delta/deltaparse-test.c (1.36), libsvn_subr/Makefile.am (1.7, milestone-1-beta), libsvn_subr/xml.c (1.4), libsvn_wc/Makefile.am (1.15), libsvn_wc/adm_crawler.c (1.9), libsvn_wc/log.c (1.2), tests/libsvn_wc/checkout-test.c (1.20): Abstractions to make building XML parsers more convenient: * xml.c (svn_xml_make_parser): new func. * log.c: #include "svn_xml.h". (start_handler, end_handler): new funcs. (svn_wc__run_log): make and free a parser, using above. * libsvn_subr/Makefile.am (INCLUDES): include expat-lite. * libsvn_wc/Makefile.am (libsvn_wc_la_LIBADD): new dependency, include expat-lite and others. Namespace changes to old XML delta parsing code, to avoid interference with above new abstractions: * svn_delta.h, etc: (svn_delta_xml_parser_t, svn_delta_make_xml_parser, svn_delta_free_xml_parser, svn_delta_xml_parsebytes, svn_delta_xml_auto_parse): more accurate names for `svn_xml_parser_t', `svn_delta_make_xml_parser', `svn_delta_free_xml_parser', `svn_xml_parsebytes', and `svn_delta_xml_auto_parse', respectively. All callers changed. 2000-09-15 17:57 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/delta.h (1.29), libsvn_delta/xml_parse.c (1.103), tests/libsvn_delta/deltaparse-test.c (1.35), tests/libsvn_delta/postfix.delta (1.1, milestone-1-beta), tests/libsvn_delta/simple.delta (1.1): MAJOR changes to the xml parser, so that it can handle postfix text-deltas! After all, we need to test libsvn_wc's ability to handle these, and this is currently our only driver. :) * simple.delta: new file, example of "in-line" text-deltas. * postfix.delta: new file, example of "postfix" text-deltas. * delta.h (svn_delta__xml_t): add two new tags, <delta-pkg> and <text-delta-ref> (svn_xml__digger_t): add hashtable for looking up postfix text references (svn_xml__stackframe_t): add `ref_id' field for postfix text-delta frames; add `hashed' to note if file_baton is stored in postfix hash. * xml_parse.c (svn_delta__tagmap): add two tags to match svn_delta__xml_t (xml_handle_start): set `ref_id' field in frame if attribute exists; new condition to handle <text-delta-ref> tag. (do_begin_textdelta): depending on whether its a in-line or postfix text-delta, 1) error-check for (non)existence of ref_id, 2) fetch appropriate file_baton (either from hashtable or parent file-frame) Also, check for error when calling apply_textdelta (duh). (lookup_file_baton): new function to retrieve file_baton from hash (xml_handle_end): when parsing </text-delta>, if postfix then close file_baton manually. (svn_xml_make_parser): initialize digger's postfix hashtable (do_begin_textdeltaref): new function -- stores id/file_baton in hash. (do_close_file): call editor->close_file ONLY IF file_baton isn't stored in a hash somewhere. (do_stack_append): add new validation rules for <delta-pkg> tag * deltaparse-test.c: cleaned up some printing. 2000-09-15 16:29 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile.am (1.14), adm_files.c (1.25), get_editor.c (1.48), local_changes.c (1.2), log.c (1.1), wc.h (1.23): Changes to write out log files and process them. The processing is still skeletal. (file_baton): new fields `name' and `pool', and remove const from `path'. (make_file_baton): set name, pool, which is a new subpool. Change all users to use file baton's own pool, not parent's. (svn_wc__write_adm_entry): new func, variadic. (v_write_adm_entry): guts for above, taking va_list. (close_file): write log entries according to baton. * log.c (svn_wc__run_log): new file, new func. * wc.h: adjust for above new funcs. Also: (SVN_WC__ADM_LOG, SVN_WC__LOG_MERGE_TEXT, SVN_WC__LOG_REPLACE_TEXT_BASE, SVN_WC__LOG_MERGE_PROPS, SVN_WC__LOG_REPLACE_PROP_BASE, SVN_WC__LOG_SET_VERSION, SVN_WC__LOG_ATTR_NAME, SVN_WC__LOG_ATTR_VERSION, SVN_WC__LOG_ATTR_SAVED_MODS): new #defines. (SVN_WC__ADM_DOING, SVN_WC__ADM_DOING_ACTION, SVN_WC__ADM_DOING_FILES, SVN_WC__ADM_DOING_STARTED, SVN_WC__ADM_DOING_FINISHED): removed these obsolete #defines. * local_changes.c: minor fix -- load svn-dev.el. 2000-09-15 13:27 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.47): (close_file): document diff/log/merge/update sequence. 2000-09-15 12:33 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_ra_dav/fetch.c (1.10), libsvn_wc/adm_crawler.c (1.8): Fix compilation warnings by bringing callers up to date: * fetch.c (update_editor): add null placeholders for update_replace_root and update_close_edit. * ra-dav-test.c (svn_wc_get_update_editor): don't pass dir_baton arg anymore. * adm_crawler.c (svn_wc_crawl_local_mods): call svn_make_xml_parser correctly. 2000-09-15 01:15 Branko Cibej <brane@xbc.nu> * subversion/tests/libsvn_delta/.cvsignore (1.4): * .cvsignore : Add vdelta-test to the ignore list. 2000-09-15 01:08 Branko Cibej <brane@xbc.nu> * subversion/: libsvn_delta/Makefile.am (1.10), libsvn_delta/delta.h (1.28), libsvn_delta/text_delta.c (1.1), libsvn_delta/vdelta.c (1.1), include/svn_delta.h (1.94), tests/libsvn_delta/Makefile.am (1.4), tests/libsvn_delta/vdelta-test.c (1.1, milestone-1, milestone-1-beta), tests/libsvn_delta/vdelta_1.txt (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Implemented vdelta generator and test driver: * include/svn_delta.h (svn_txdelta_window_t): New member ops_size. * libsvn_delta/text_delta.c, libsvn_delta/vdelta.c: New files. * libsvn_delta/Makefile.am: Add them to libsvn_delta_la_SOURCES. * libsvn_delta/delta.h: Declare private interfaces for text deltas. * libsvn_delta/tests/vdelta-test.c: New file. * libsvn_delta/tests/Makefile.am: Add bits to build vdelta-test. * libsvn_delta/tests/vdelta_1.txt: New testcase for vdelta-test. 2000-09-14 19:44 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_wc.h (1.23), libsvn_wc/Makefile.am (1.13), libsvn_wc/adm_files.c (1.24), libsvn_wc/get_editor.c (1.46), libsvn_wc/local_changes.c (1.1), libsvn_wc/lock.c (1.9), libsvn_wc/wc.h (1.22), tests/libsvn_wc/checkout-test.sh (1.6): Make files appear in text-base first, then in working dir, pretending to merge local mods (but not really). * svn_wc.h (svn_wc_diff_fn_t, svn_wc_patch_fn_t): new typedefs. * local_changes.c: new file. (svn_wc__generic_differ, svn_wc__generic_patcher): new functions implementing the above typedefs. (svn_wc__get_local_changes, svn_wc__merge_local_changes): wrappers for above. * adm_files.c (apr_copy_file): no longer static, export for intra-library use. (svn_wc__text_base_path): new func. * get_editor.c (close_file): allegedly save and restore local mods. * wc.h: #include "svn_wc.h". New prototypes as needed. * checkout-test.sh: print command line before running it. 2000-09-14 18:12 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_ops.c (1.13), wc.h (1.21): (svn_wc__push_unwind, svn_wc__pop_unwind, svn_wc__unwind_all, svn_wc__unwind_empty_p): removed. We'll be doing things in a loggy way, not a stacky way. 2000-09-14 18:07 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_files.c (1.23), get_editor.c (1.45): (dir_baton): new field prop_changed. (change_dir_prop): set dir_baton->prop_changed. (file_baton): new fields text_changed, prop_changed. (change_file_prop): set file_baton->prop_changed. (window_handler): set file_baton->text_changed. (close_file): if text_changed, then sync up the file. (svn_wc__sync_text_base): pass null final arg to sync_adm_file (see joe's change of 2000-09-14 16:51). 2000-09-14 17:42 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_files.c (1.22), get_editor.c (1.44), wc.h (1.20): * adm_files.c (apr_copy_file): init apr_file_t's to null, to satisfy apr_open's weird calling discipline. Let me just say that this is only the three thousand and seventy-seventh time this has bitten me. (maybe_copy_file): replaces `copy_file', and just creates dst if src does not exist, for the initial checkout into text-base, etc. * get_editor.c (window_handler): use svn_wc__open_text_base() and svn_wc__close_text_base() now. * wc.h (svn_wc__close_text_base): arg's name is `sync', not `write'. Added Joe and Branko. 2000-09-14 16:57 Karl Fogel <kfogel@collab.net> * AUTHORS (1.3): Added Joe and Branko. 2000-09-14 16:51 Joe Orton <joe@light.plus.com> * subversion/libsvn_wc/adm_files.c (1.21): * adm_files.c (v_extend_with_adm_name, extend_with_adm_name, sync_adm_file, open_adm_file, close_adm_file): Modified to accept a NULL-terminated argument list, rather than using an extra argument to indicate the length of the list. (all callers changed) 2000-09-14 16:25 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/: checkout-2.delta (1.1), checkout-test.sh (1.5): * checkout-2.delta: new test delta * checkout-test.sh: do new delta too. 2000-09-14 16:07 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/xml_parse.c (1.102): DON'T TOUCH maybe_derive_ancestry(); it works perfectly. The trick is to *guarantee* that there's always a "root" frame on the parser stack which represents the nameless root directory. This frame *always* has the `base' src-path and src-version, so that maybe_derive_ancestry can correctly fall back on it. It works now! * xml_parse.c (maybe_derive_ancestry): revert change -- leave it alone. (svn_make_xml_parser): call replace_root to fetch root_baton, and start our digger out with a `root' stackframe containing both root_baton and our `base' ancestry. (do_stack_append): check for "root" frame by testing (previous == NULL) (do_stack_check_remove): check for "root" frame by testing (previous == NULL) (xml_handle_end): if root frame is last remaining frame, call close_directory on the root_baton. 2000-09-14 16:06 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/adm_files.c (1.20), libsvn_wc/adm_ops.c (1.12), libsvn_wc/get_editor.c (1.43), libsvn_wc/wc.h (1.19), tests/libsvn_wc/checkout-test.c (1.19): (replace_root): new callback. (callbacks): add replace_root(). (svn_wc_get_update_editor): don't set dir baton here, it's done in replace_root now. (prep_directory): new helper func, abstracts common code for replace_root(), replace_directory(), and add_directory(). (dir_baton): hold parent's dir_baton. (make_dir_baton): take parent_baton arg and set it in the new dir_baton. Also, fixed path handling. (svn_wc__ensure_wc, svn_wc__ensure_adm, check_adm_exists): take ancestor_path and ancestor_version args. All callers changed. (init_adm): take ancestor_path arg, init ancestor file. (SVN_WC__ADM_ANCESTOR): new #define. (sync_adm_file): replaces svn_wc__sync_adm_file, confined to static now. This will be the guts for other functions. (svn_wc__sync_text_base): use above as guts. (svn_wc__file_modified_p): prototype. (make_file_baton): make path the right way. * checkout-test.c (apply_delta): call xml parser the right way. 2000-09-14 16:03 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/checkout-1.txt (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Mention top-level `iota' file. 2000-09-14 15:47 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.22): (svn_wc_get_update_editor): don't take dir_baton arg anymore. 2000-09-14 15:46 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/xml_parse.c (1.101): (svn_xml_parsebytes): pass only edit_baton to close_edit. 2000-09-14 15:44 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.93): (svn_delta_fns_t): close_edit no longer takes a dir_baton. 2000-09-14 14:38 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.92): Doc fixes. 2000-09-14 13:22 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/xml_parse.c (1.100), tests/libsvn_delta/deltaparse-test.c (1.34): * xml_parse.c (maybe_derive_ancestry): take a digger argument, and default to `base' path and version when all else fails. Not working right yet; checking it in so things compile right. * deltaparse-test.c (main): call svn_xml_auto_parse in the new way, and register test_replace_root inside our editor. (test_replace_root): new func, copies `base_path' and returns it as `root_baton' to the caller. :) 2000-09-14 13:20 Karl Fogel <kfogel@collab.net> * autogen.sh (1.15): Give various example configure lines in a way convenient for cutting and pasting. 2000-09-14 12:41 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/README.xmlparse (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): * README.xmlparse : new file, describes how to use XML parsing interface. 2000-09-14 12:41 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.91), libsvn_delta/xml_parse.c (1.99): * xml_parse.c : replace all "finish_*" calls with "close_*" calls (svn_xml_make_parser): - return value is now (svn_error_t *). - parser is now passed back through an argument. - no longer takes dir_baton as an argument; instead, it calls the brand new editor->replace_root() to fetch the rootdir_baton. (svn_xml_auto_parse): - call svn_xml_make_parser in the new way. - no longer requires dir_baton argument. * svn_delta.h : update prototypes of svn_xml_make_parser and svn_xml_auto_parse * README.xmlparse : new file, describes how to use XML parsing interface. 2000-09-14 12:35 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.90), tests/libsvn_delta/deltaparse-test.c (1.33), libsvn_ra_dav/commit.c (1.6), libsvn_ra_dav/fetch.c (1.9): In svn_delta_edit_fns_t: (close_directory, close_file, close_edit): new names for `finish_directory', `finish_file', and `finish_edit'. All callers changed, except in xml_parse.c, which Ben is taking care of, and get_editor.c, which has other uncommitted changes right now. 2000-09-14 12:27 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.89): (svn_delta_edit_fns_t): removed `add_root', leaving just `replace_root'. Because there is always a root directory, though it might need an arbitrary amount of preparation, depending on whose editor this is. 2000-09-14 11:46 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.88): (add_root, replace_root): take `edit_baton' arg. 2000-09-14 11:41 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.87): (svn_delta_edit_fns_t): further doc fix. 2000-09-14 11:39 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.86): (svn_delta_edit_fns_t): doc fix. 2000-09-14 11:30 Karl Fogel <kfogel@collab.net> * subversion/tests/: libsvn_subr/hashdump-test.c (1.12, milestone-1, milestone-1-beta), svn_tests_main.c (1.5): All test functions now take a char **msg pointer, which they set to a message describing this test. (descriptions): no more need for this array; the messages are set inside the functions themselves. (do_test_num): print test number with a minimum field width, so columns of results line up nicely. 2000-09-14 11:05 Karl Fogel <kfogel@collab.net> * subversion/tests/svn_tests_main.c (1.4): (do_test_num): revert previous change -- this is a lot more involved than just changing that one %d. 2000-09-14 11:00 Karl Fogel <kfogel@collab.net> * subversion/tests/svn_tests_main.c (1.3): (do_test_num): print test number using a minimum field width, so a column of results lines up all pretty like. 2000-09-14 10:57 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_error.h (1.22), include/svn_string.h (1.33), libsvn_wc/adm_crawler.c (1.7): * svn_string.h: declaration of `svn_string_appendcstr' * svn_string.c: new wrapper: `svn_string_appendcstr' * stringtest.c: added test for `svn_string_appendcstr' 2000-09-14 10:27 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.85): (svn_delta_edit_fns_t): new funcs `add_root' and `replace_root'. 2000-09-14 10:10 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_files.c (1.19): (svn_wc__sync_adm_file, open_adm_file, close_adm_file): Reuse va_lists. It makes logical sense that doing so is legal, despite the very slight implication on p. 155 of K&R (2nd edition) that va_lists should only be used once. 2000-09-14 06:56 Joe Orton <joe@light.plus.com> * subversion/: include/svn_delta.h (1.84), libsvn_delta/xml_parse.c (1.98): * xml_parse.c, svn_delta.h (svn_xml_parsebytes): Add 'const' to buffer argument. 2000-09-14 05:56 Joe Orton <joe@light.plus.com> * subversion/libsvn_wc/get_editor.c (1.42): * get_editor.c (free_dir_baton): Add return statement. (add_file): Fix debugging printf. PR: Obtained from: Submitted by: Reviewed by: 2000-09-13 14:44 Joe Orton <joe@light.plus.com> * subversion/libsvn_wc/questions.c (1.8): * questions.c: Fix compile warning by picking up apr_psprintf prototype. 2000-09-12 22:46 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: README (1.47), adm_files.c (1.18), adm_ops.c (1.11), get_editor.c (1.41), lock.c (1.8), questions.c (1.7), wc.h (1.18): More changes to handle postfix text deltas and prop deltas, and give more control over syncing of tmp files in the adm area: * adm_ops.c, adm_files.c: (svn_wc__ensure_wc): replaces `svn_wc__ensure_prepare_wc'. Don't ask about prior existence, and don't leave the adm area locked. (svn_wc__ensure_adm): checking adm area's existence is a purely internal matter now, don't reveal anything to caller. (v_extend_with_adm_name): new func, extends path by using a va_list. (extend_with_adm_name): replaces `extend_with_adm_name'. Now variadic, by v_extend_with_admin_name(). All callers changed. (chop_admin_name): replaces `chop_admin_thing', better name. (svn_wc__make_adm_thing): take `tmp' arg. All callers changed. (init_adm): make directories before files, so the tmp dir is present by the time we need it. (svn_wc__open_adm_file): open temporary files in tmp/. (svn_wc__sync_adm_file): new func, all syncing of tmp file with real file happens here. (svn_wc__close_adm_file): `sync' arg replaces old `write' arg. Document that it is optional, and call above to actually do the sync. (svn_wc__open_text_base, svn_wc__close_text_base, svn_wc__sync_text_base): new funcs. (SVN_WC__TMP_EXTENSION): removed, no longer used. * get_editor.c (edit_baton): replaces struct `e_baton'. (dir_baton, file_baton): new structs. (make_file_baton): new func, creates a file baton in the parent dir's subpool. (make_dir_baton, free_dir_baton): create and destroy dir batons, where "destroy" implies various cleanups on the directory. (decrement_ref_count): decrement ref count and conditionally free a dir baton. (maybe_prepend_dest): removed, no longer needed. All callers changed. * questions.c (svn_wc__check_wc): replaces `svn_wc__working_copy_p', just returns error to flag that arg is not a working copy, because a "no" answer is usually best fatal anyway. * README: document SVN/tmp/ better. Various cleanups: (svn_wc__open_adm_file): set *handle to null, to guarantee APR's satisfaction. (apr_copy_file): use BUFSIZ, not hardcoded 1024. (svn_wc__make_adm_thing): doc fix. (init_adm_file): doc fix. (svn_wc__file_modified_p): pass pool arg to apr_psprintf(). 2000-09-12 16:53 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/questions.c (1.6): * questions.c : fix typos (compile-o's?) :) 2000-09-12 16:48 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/questions.c (1.5): * questions.c (svn_wc__file_modified_p) new routine to check if a file has changed. also added many static helper funcs. 2000-09-11 20:41 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/fetch.c (1.8): [ patch from Joe Orton ] (validate_element): refine the logic used to validate elements. the previous logic was just flat out wrong. (doc updates in Neon forthcoming to clarify how to do this stuff) Msg-id: <20000909183709.F321@light.plus.com> on dev@subversion.tigris.org 2000-09-11 19:05 Jim Blandy <jimb@redhat.com> * configure.in (1.26), ac-helpers/berkeley-db.m4 (1.1): * ac-helpers/berkeley-db.m4: New file. * configure.in: Call SVN_CHECK_BERKELEY_DB, to make sure we are linking against the right version of Berkeley DB. 2000-09-11 12:35 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.11): Doc fix. 2000-09-11 06:01 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/: dav_svn.h (1.2), mod_dav_svn.c (1.4), repos.c (1.2): mod_dav changed how repository providers are registered and found: - tossed the get_resource hook - added call to dav_register_repository() 2000-09-11 05:54 Greg Stein <gstein@lyra.org> * subversion/tests/: libsvn_subr/.cvsignore (1.3, milestone-1), libsvn_wc/.cvsignore (1.4) (utags: milestone-1-beta): [ patch from Joe Orton ] additional files/dirs to ignore 2000-09-11 05:50 Greg Stein <gstein@lyra.org> * subversion/libsvn_wc/: adm_files.c (1.17), wc.h (1.17): adm_files.c: (adm_subdir): Joe Orton noted this function was unsafe. Removed the pool argument and changed the return type to a const char *. wc.h, adm_files.c: added "const" to several function param types 2000-09-11 05:46 Greg Stein <gstein@lyra.org> * subversion/libsvn_wc/get_editor.c (1.40): clean out an unused variable 2000-09-11 05:42 Greg Stein <gstein@lyra.org> * subversion/libsvn_delta/xml_parse.c (1.97): mark svn_delta__tagmap as a constant 2000-09-11 04:46 Greg Stein <gstein@lyra.org> * subversion/libsvn_wc/adm_crawler.c (1.6): (get_next_child_subdir): remove "done" variable -- unused. 2000-09-11 04:21 Greg Stein <gstein@lyra.org> * subversion/: libsvn_delta/Makefile.am (1.9), tests/libsvn_delta/Makefile.am (1.3), libsvn_fs/Makefile.am (1.2), libsvn_ra_dav/Makefile.am (1.4, milestone-1, milestone-1-beta), libsvn_subr/Makefile.am (1.6), libsvn_wc/Makefile.am (1.12), tests/libsvn_subr/Makefile.am (1.6), tests/libsvn_wc/Makefile.am (1.7), mod_dav_svn/Makefile.am (1.4), tests/Makefile.am (1.3): [ patch concept from Joe Orton ] */Makefile.am: tell libtool to be a bit more quiet when working 2000-09-11 04:13 Greg Stein <gstein@lyra.org> * subversion/libsvn_delta/xml_parse.c (1.96): [ patch from Joe Orton ] (xml_validation_error): renamed from XML_validation_error. the XML_ is Expat's prefix... stay away. 2000-09-11 04:08 Greg Stein <gstein@lyra.org> * subversion/include/svn_string.h (1.32): [ patch from Joe Orton ] svn_string.[ch]: Change size_t types to apr_size_t. 2000-09-11 04:03 Greg Stein <gstein@lyra.org> * subversion/: include/svn_path.h (1.11), libsvn_subr/path.c (1.12): [ patch from Joe Orton ] (svn_path_add_component_nts, svn_path_add_component, svn_path_isempty): add const to some of the parameters 2000-09-11 03:58 Greg Stein <gstein@lyra.org> * subversion/libsvn_wc/adm_crawler.c (1.5): (get_next_child_subdir): changed an = to an ==. patch from Joe Orton. 2000-09-09 12:17 Greg Stein <gstein@lyra.org> * subversion/mod_dav_svn/: Makefile.am (1.3), dav_svn.h (1.1), deadprops.c (1.1), liveprops.c (1.1), mod_dav_svn.c (1.3), repos.c (1.1), version.c (1.1): more framework 2000-09-09 11:19 Greg Stein <gstein@lyra.org> * configure.in (1.25), subversion/mod_dav_svn/Makefile.am (1.2), subversion/mod_dav_svn/mod_dav_svn.c (1.2), ac-helpers/svn-apache.m4 (1.3): * configure.in: also enable AP_DEBUG or we get warnings * svn-apache.m4: export APACHE_INCLUDES for makefile usage * Makefile.am: use APACHE_INCLUDES; drop our private APR reference * mod_dav_svn.c: add basic module framework 2000-09-09 11:11 Jim Blandy <jimb@redhat.com> * subversion/: include/svn_delta.h (1.83), include/svn_io.h (1.3), include/svn_string.h (1.31), libsvn_delta/vcdiff_parse.c (1.12), libsvn_delta/xml_parse.c (1.95), libsvn_subr/path.c (1.11), libsvn_wc/adm_parse.c (1.10), tests/libsvn_delta/deltaparse-test.c (1.32), tests/libsvn_wc/checkout-test.c (1.18): Use apr_size_t to describe the size of things in memory, not apr_off_t. apr_off_t is intended for file offsets. 2000-09-09 06:17 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/commit.c (1.5): checkpoint (and prevent conflicts)... just some notes about the operation, plus some initial structures. 2000-09-09 06:13 Greg Stein <gstein@lyra.org> * ac-helpers/svn-apache.m4 (1.2): beat it into shape 2000-09-09 06:01 Greg Stein <gstein@lyra.org> * configure.in (1.24), ac-helpers/svn-apache.m4 (1.1), subversion/Makefile.am (1.11): begin some work on trying to find Apache and to determine how the mod_dav_svn module will be built (static vs shared) 2000-09-09 05:07 Greg Stein <gstein@lyra.org> * configure.in (1.23), subversion/mod_dav_svn/.cvsignore (1.1, milestone-1, milestone-1-beta), subversion/mod_dav_svn/Makefile.am (1.1), subversion/mod_dav_svn/mod_dav_svn.c (1.1): set up the basic framework for the mod_dav_svn Apache module 2000-09-08 21:58 Greg Stein <gstein@lyra.org> * subversion/libsvn_wc/adm_files.c (1.16): (apr_copy_file): just pass NULL to apr_full_write's fourth arg (copy_file): the error string construction was just too painful to see. I put it out of its misery. 2000-09-08 21:02 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/adm_crawler.c (1.4), libsvn_wc/adm_files.c (1.15), libsvn_wc/adm_ops.c (1.10), libsvn_wc/adm_parse.c (1.9), libsvn_wc/get_editor.c (1.39), libsvn_wc/lock.c (1.7), libsvn_wc/questions.c (1.4), libsvn_wc/wc.h (1.16), tests/libsvn_wc/checkout-test.c (1.17): Started getting batonning/locking/logging stuff into shape. It's in a non-working state right now: compiles, but gets an svn_error early on when you run it. * adm_files.c (apr_copy_file): new func. Greg, it's not well-tested yet; feel free to grab it or to wait until I've exercised it some more. (copy_file): wrapper for apr_copy_file(). (svn_wc__open_adm_file): if opening for write, open a tmp file instead, and if appending too, then copy original file to tmp first. (svn_wc__close_adm_file): take new `write' arg, rename tmp file to orig after closing if non-zero. All callers changed. (svn_wc__make_admin_thing): fix error message. (init_adm_file): replaces `init_contents_thing', creates the file now. (init_adm): rewrite to use new init_adm_file(). Don't take version arg anymore, just init to version 0. Unlock the dir when done, as locking is a shorter-term thing now. (svn_wc__ensure_adm): don't take or pass along version anymore. Callers changed. (svn_wc__ensure_prepare_wc): don't take or pass along version anymore. Callers changed. * adm_parse.c: leftovers -- svn_xml_get_attr_value replaces svn_get_xml_attr_value. (svn_wc__versions_init_contents): fix xml string. * adm_crawler.c (svn_wc_crawl_local_mods): pass correct number of args to svn_wc_crawl_local_mods(). * lock.c (svn_wc__lock): better error message. * questions.c (svn_wc__working_copy_p): check for `README', like the documentation says, not `repository'. * get_update.c: started fixing up locking and baton conventions. Changes incomplete, and tentative. * wc.h: adjust for all of above changes. * checkout-test.c: place `editor' correctly in args. 2000-09-08 20:45 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.21): (svn_wc_crawl_local_mods): fix prototype. 2000-09-08 19:46 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/xml_parse.c (1.94): (maybe_derive_ancestry): revert Ben's tentative change of just now, he's gone home and it segfaults under certain circumstances. Caller changed. Ben, let's talk about ancestry soon; I'm not sure maybe_derive_ancestry() needs the digger information -- the delta should always have the ancestry somewhere before the top, I think. 2000-09-08 19:32 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.3), libsvn_delta/xml_parse.c (1.93), libsvn_subr/xml.c (1.3): (svn_xml_get_attr_value): replaces `svn_get_xml_attr_value'. If it's in the svn_xml header file, it should be in the svn_xml_ namespace. All callers changed. 2000-09-08 19:24 Greg Stein <gstein@lyra.org> * subversion/: include/svn_xml.h (1.2), libsvn_delta/xml_parse.c (1.92), libsvn_subr/xml.c (1.2), libsvn_wc/adm_parse.c (1.8): (svn_get_xml_attr_value): renamed from get_attribute_value for namespace protection. added "const" to the "name" argument. xml.c: added include of "svn_xml.h" to pick up the prototype 2000-09-08 18:14 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/structure (1.1): Notes on the structure of the filesystem. 2000-09-08 18:14 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/fs.h (1.4): Delete discussion of node id's. This isn't the right place for it. 2000-09-08 18:13 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/err.c (1.3): #include "svn_fs.h" directly, even though "fs.h" does too. Every file should directly #include everything it directly uses; it shouldn't rely on other headers to bring the right things in, unless that's their purpose. 2000-09-08 18:13 Jim Blandy <jimb@redhat.com> * subversion/libsvn_fs/fs.c (1.3): Random changes, but they compile. #include "svn_fs.h" directly, even though "fs.h" does too. Every file should directly #include everything it directly uses; it shouldn't rely on other headers to bring the right things in, unless that's their purpose. (check_already_open, allocate_env): New functions. (svn_fs_newfs): Call check_already_open and allocate_env. (open_table, svn_fs_open): New functions. (cleanup_fs_apr): Return SVN_ERR_FS_CLEANUP when the cleanup fails. (create_table): Tweaks. 2000-09-08 18:08 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.10): Doc fix. 2000-09-08 18:08 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.9): Doc fixes. (svn_fs_dir_subpool, svn_fs_file_subpool): Renamed from svn_dir_subpool, svn_file_subpool. (svn_fs_begin_txn): Let the caller specify a pool for TXN to live in. (svn_fs_txn_subpool): New function. (svn_fs_add_dir, svn_fs_replace_dir, svn_fs_add_file, svn_fs_replace_file): New POOL argument. Add persistent transaction interface. 2000-09-08 17:40 Jim Blandy <jimb@redhat.com> * subversion/include/svn_error.h (1.21): (SVN_ERR_FS_CLEANUP, SVN_ERR_FS_ALREADY_OPEN): New error codes. 2000-09-08 17:39 Jim Blandy <jimb@redhat.com> * subversion/include/svn_io.h (1.2): Protect this file against multiple #inclusion. 2000-09-08 17:36 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/checkout-test.c (1.16): (apply_delta): pass dest and version to svn_xml_auto_parse(). 2000-09-08 17:02 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/xml_parse.c (1.91), tests/libsvn_delta/deltaparse-test.c (1.31): Saving state, toying with xml_parse.c (maybe_derive_ancestry). 2000-09-08 16:30 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta.h (1.27), xml_parse.c (1.90): * delta.h (svn_xml__digger_t): add rootdir_baton field, to preserve original `top level' directory baton * xml_parse.c (svn_xml_parsebytes): when finished, call editor's `finish_edit' callback 2000-09-08 16:27 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.46): Mention ref-counting during updates. 2000-09-08 16:25 Karl Fogel <kfogel@collab.net> * subversion/tests/: libsvn_delta/.cvsignore (1.3), libsvn_wc/.cvsignore (1.3): Update ignores (patch from Joe Orton <joe@light.plus.com>). 2000-09-08 15:58 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.82), libsvn_delta/delta.h (1.26), libsvn_delta/xml_parse.c (1.89), libsvn_wc/adm_crawler.c (1.3), tests/libsvn_delta/deltaparse-test.c (1.30): Refining xml parsing interface to take "contextual" arguments when evaluating tree-deltas. * delta.h (svn_delta__digger_t): now contains context variables "base_version" and "base_path" for deriving ancestry in tree-deltas. (svn_xml_parser_t): added "my_pool" argument. * svn_delta.h, xml_parse.c (svn_make_xml_parser): - now requires the two new context variables mentioned above; these become a permanent part of the svn_xml_parser_t. - Also, everything is created in a *subpool*, so the entire parser can be freed later. (svn_free_xml_parser): new function, self-explanatory. (svn_xml_auto_parse): - requires two new context variables (to create internal xml parser) - free internal xml parser when finished. * deltparse-test.c (main) invoke svn_xml_auto_parse correctly, using new arguments. 2000-09-08 15:38 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: adm_files.c (1.14), adm_ops.c (1.9), wc.h (1.15): Got rid of `initial_unwind' argument(s) when ensuring a working copy. Instead: (init_adm): create dir in a locked state. (svn_wc__ensure_adm): take int *exists_already arg, set according to result of check_adm_exists(). (svn_wc__ensure_prepare_wc): if working copy already existed, then just lock it, else create it locked. 2000-09-08 15:13 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.45): Document log file, which replaces the unwind stack. Doing things in a loggy way, rather than a stacky way, removes the restriction that all tree delta events must happen in a perfectly nesty way. 2000-09-08 14:43 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/Makefile.am (1.11): (libsvn_wc_la_SOURCES): `get_editor' replaces `make_walker'. 2000-09-08 14:43 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/get_editor.c (1.38): Oops -- changes referred to in previous commit are actually in this one. Also: (e_baton): replaces w_baton, and `eb' replaces `wb' in local vars throughout the file. 2000-09-08 14:35 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_io.h (1.1): DOH... Forgot to add this file earlier. 2000-09-08 14:14 Greg Stein <gstein@lyra.org> * subversion/include/svn_ra.h (1.6): a duplicate definition for svn_ra_get_commit_editor() ended up here somehow. 2000-09-08 13:09 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.81), include/svn_ra.h (1.5), include/svn_wc.h (1.20), libsvn_delta/delta.h (1.25), libsvn_delta/xml_parse.c (1.88), tests/libsvn_delta/deltaparse-test.c (1.29), libsvn_ra_dav/commit.c (1.4), libsvn_ra_dav/fetch.c (1.7), libsvn_wc/adm_parse.c (1.7), libsvn_wc/make_walker.c (1.38), tests/libsvn_wc/checkout-test.c (1.15): (svn_delta_edit_fns_t): replaces `svn_delta_walk_t'. References throughout Subversion changed accordingly, including comments and parameter names. Also: * get_editor.c: replaces make_walker.c. (svn_wc_get_update_editor): replaces `svn_wc_get_change_walker'. 2000-09-08 10:12 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.80), include/svn_fs.h (1.8), libsvn_delta/xml_parse.c (1.87), libsvn_wc/adm_parse.c (1.6), tests/libsvn_wc/checkout-test.c (1.14): Rename "svn_delta_read_fn_t" to "svn_read_fn_t" everywhere. Place svn_read_fn_t into new file `svn_io.h', and #include this file where necessary. * svn_io.h : new header * svn_delta.h, svn_fs.h: #include "svn_io.h" * apply_delta.c (apply_delta): rename svn_delta_read_fn_t to svn_read_fn_t * xml_parse.c (svn_xml_auto_parse): rename svn_delta_read_fn_t to svn_read_fn_t * adm_parse.c (svn__wc_parse_versions): rename svn_delta_read_fn_t to svn_read_fn_t 2000-09-08 05:43 Greg Stein <gstein@lyra.org> * subversion/include/svn_ra.h (1.4): oops. missed a previous commit. found by Daniel Stenberg. *) fix two prototypes 2000-09-07 18:42 Karl Fogel <kfogel@collab.net> * HACKING (1.14, milestone-1): Document ChangeLog generation better. 2000-09-07 18:12 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error.h (1.20), include/svn_wc.h (1.19), libsvn_delta/xml_parse.c (1.86), libsvn_wc/README (1.44), libsvn_wc/adm_crawler.c (1.2), libsvn_wc/adm_files.c (1.13), libsvn_wc/adm_ops.c (1.8), libsvn_wc/adm_parse.c (1.5), libsvn_wc/get_editor.c (1.37), libsvn_wc/lock.c (1.6), libsvn_wc/make_walker.c (1.37), libsvn_wc/wc.h (1.14): Started implementing an unwind stack and cleanup code for working copy operations: * svn_error.h (SVN_ERR_WC_UNWIND_MISMATCH, SVN_ERR_WC_UNWIND_EMPTY, SVN_ERR_WC_UNWIND_NOT_EMPTY): new errors. (SVN_ERR_WC_LOCKED): replaces SVN_ERR_ENCOUNTERED_LOCK. * adm_files.c (extend_admin_name, chop_admin_name): return and accept the number of components, respectively. All callers changed. (svn_wc__open_adm_thing): started special handling for write case, but #ifdef'd out until working. (svn_wc__ensure_adm, init_adm): take and pass along new `initial_unwind' arg, use it to make sure the directory is created in a pre-wound-up state. * adm_ops.c (svn_wc__pop_unwind, svn_wc__push_unwind, svn_wc__unwind_all, svn_wc__unwind_empty_p): new functions. (svn_wc__ensure_wc_prepared): take and pass along new `initial_unwind' arg. All callers changed. (svn_wc__working_name): removed, we won't be needing this. * make_walker.c (add_directory, add_file, finish_directory): push and pop the unwind stack as appropriate. (finish_walk): new func -- unlocks, unwinds, and frees the pool. (change_walker): add `finish_walk'. (svn_wc_get_change_walker): make a subpool immediately, use it for everything and store it in the walk baton. * svn_delta.h (svn_delta_walk_t): new `finish_walk' callback. Note that this change was accidentally included added in my previous commit to this file, revision 1.79. * adm_parse (svn_wc__parse_versions): started, but still skeletal. * lock.c (svn_wc__lock): fix logic. * wc.h: adjust for all of above. (SVN_WC__UNWIND_UPDATE, SVN_WC__UNWIND_MV, SVN_WC__UNWIND_MERGE): new #defines. Also, these minor tweaks: * (SVN_ERR_UNFRUITFUL_DESCENT): comma. * svn_wc.h (svn_wc_crawl_local_mods): semicolon after prototype. * xml_parse.c (xml_handle_end): grammaro. * README: `unwind' file replaces `pending', more documentation. * adm_crawler.c: #include a bunch of needed stuff. (do_crawl): fix semicolon, and build a proper svn_error_t for return. 2000-09-07 17:53 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.7): Remove `extern' keyword from function declarations. They're unnecessary (old habit), and inconsistent with the rest of the code base. 2000-09-07 17:38 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.79): (svn_delta_add, svn_delta_delete, svn_delta_replace): removed these enums. 2000-09-07 16:19 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/lock.c (1.5): revert previous change, i.e., revert to 1.3 2000-09-07 16:18 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/lock.c (1.4): Temporarily check in locking code that's conscious of the unwind file. (I don't think this will be how things go later, but want to preserve the start of this path just in case.) 2000-09-07 15:58 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_wc.h (1.18), libsvn_client/adm_crawler.c (1.6), libsvn_wc/Makefile.am (1.10), libsvn_wc/adm_crawler.c (1.1): * Move adm_crawler.c from libsvn_client to libsvn_wc * wc.h (svn_wc_crawl_local_mods): new public routine * Makefile.am : added adm_crawler.c 2000-09-07 12:13 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.6): Reasonably complete first cut at filesystem interface. Includes reading and writing, with transactions. Not included yet: delta computation, non-historical properties. 2000-09-07 11:43 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.5): Doc fixes. 2000-09-07 08:04 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_error.h (1.19), libsvn_client/adm_crawler.c (1.5): Algorithm still has some pseudocode, but much smarter now. Using new return value SVN_ERR_UNFRUITFUL_DESCENT to insure that only tree-branches that *actually* contain local mods are returned! 2000-09-06 23:36 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_client/adm_crawler.c (1.4): Fleshing out depth-first search; still mostly pseudocode. 2000-09-06 20:46 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_wc/checkout-test.c (1.13): * checkout-test.c (apply_delta): call svn_xml_auto_parse, not svn_xml_parse. 2000-09-06 19:04 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_client/adm_crawler.c (1.3): Clarify comments, begin work. 2000-09-06 18:53 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.78), libsvn_client/adm_crawler.c (1.2), libsvn_delta/delta.h (1.24), libsvn_delta/xml_parse.c (1.85), tests/libsvn_delta/deltaparse-test.c (1.28): Factorize svn_xml_parse into *two* routines, and add a new opaque type and public constructor: * svn_delta.h: (svn_xml_parser_t): declaration of new public parser type (opaque) (svn_make_xml_parser): new public routine to create an svn_xml_parser_t (svn_xml_parsebytes): new public routine that *pushes* bytes at an svn_xml_parser_t (svn_xml_auto_parse): new name of svn_xml_parse ("auto" because it does everything internally, including the creation of an svn_xml_parser_t, and because it "pulls" data from a source automatically until the stream runs dry.) * delta.h: (svn_xml_parser_t): concrete declaration of type (in private space) * xml_parse.c (svn_make_xml_parser): new routine, returns an svn_xml_parser. (svn_xml_parsebytes): new routine -- see description above. (svn_xml_auto_parse): now a *wrapper* around svn_xml_parsebytes! -- see above. * deltaparse-test.c: (main): renamed "svn_xml_parse" to "svn_xml_auto_parse". 2000-09-06 18:49 Jim Blandy <jimb@redhat.com> * subversion/include/svn_fs.h (1.4): First cut at filesystem interface. Incomplete. 2000-09-06 16:31 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.43): note to self 2000-09-06 16:30 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.42): Clarify usage of `SVN/tmp'. 2000-09-06 15:14 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_client/adm_crawler.c (1.1): Adding new file. 2000-09-06 15:05 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.27): Check for NULLs in sample walker callbacks. 2000-09-06 13:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.41): Discuss generalization of `pending' file algorithm. 2000-09-06 13:50 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.40): grammaro 2000-09-06 13:49 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.39): Specify crash-recovery technique more precisely, using a single `pending' file instead of the `doing/' directory. 2000-09-06 12:18 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: get_editor.c (1.36), make_walker.c (1.36): (add_directory): comment -- note need to drop a marker, and undrop later. 2000-09-05 20:01 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/xml_parse.c (1.84), libsvn_wc/adm_parse.c (1.4): #include svn_xml.h. 2000-09-05 19:59 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_parse.c (1.3): Doc fix. 2000-09-05 19:55 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.77): Previous revision (1.76) should have said: (svn_delta_add, svn_delta_delete, svn_delta_replace): new enum values. 2000-09-05 19:53 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.76), libsvn_wc/adm_parse.c (1.2), libsvn_wc/wc.h (1.13): Initial code for wc adm xml parsing (still in morph stage). 2000-09-05 19:39 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_xml.h (1.1), libsvn_delta/xml_parse.c (1.83), libsvn_subr/Makefile.am (1.5), libsvn_subr/xml.c (1.1): * svn_xml.h: new file, declares `get_attribute_value'. * xml.c: new file, part of libsvn_subr. (get_attribute_value): moved to here from xml_parse.c, in anticipation of use in the working copy library. Also, switched order of arguments (all callers changed). 2000-09-05 18:49 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_files.c (1.12): (init_adm): correct URL (duh). 2000-09-05 18:45 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile.am (1.9), adm_files.c (1.11), adm_parse.c (1.1), wc.h (1.12): * adm_parse.c (svn_wc__versions_init_contents): new file, new func. * adm_files.c (init_adm): use it. 2000-09-05 18:30 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/xml_parse.c (1.82), libsvn_wc/get_editor.c (1.35), libsvn_wc/make_walker.c (1.35): Make summary comments at tops of these files match the files' names. 2000-09-05 18:28 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile.am (1.8), apply_delta.c (1.35): * make_walker.c: renamed from `apply_delta.c'. 2000-09-05 15:50 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta.h (1.23), xml_parse.c (1.81): * xml_parse.c, delta.h : rename svn_delta__digger_t --> svn_xml__digger_t rename svn_delta__stackframe_t --> svn_xml__stackframe_t 2000-09-05 15:16 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta.h (1.22), xml_parse.c (1.80): Check for namespace collisions when adding/replacing entries within a tree-delta. (This is done by storing names within hashes within tree-delta stackframes.) I think this is the last bit of XML validation we need to worry about for now. * delta.h (svn_delta__stackframe_t): added `namespace' hash * xml_parse.c (check_dirent_namespace): added (do_stack_append): call check_dirent_namespace() before appending. (xml_handle_start): when creating new tree-delta frame, initialize hash. 2000-09-05 13:15 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.75): Doc fixes. I've replaced the little `push interface' divider in the page of VCDIFF handling functions with what I think are clearer comments. It should easier to see which functions do what now. 2000-09-05 12:30 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/Makefile.am (1.8): (libsvn_delta_la_SOURCES): compile xml_parse.c now, not delta_parse.c. 2000-09-05 12:27 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/delta_parse.c (1.80): renamed to xml_parse.c 2000-09-05 10:18 Ben Collins-Sussman <sussman@collab.net> * autogen.sh (1.14): autogen.sh: Because helpers/ was renamed to ac-helpers/, we need to include ac-helpers/ when running aclocal, right? :) 2000-09-04 20:33 Karl Fogel <kfogel@collab.net> * HACKING (1.13): Mention `--fsf' flag to cvs2cl. 2000-09-04 17:49 Karl Fogel <kfogel@collab.net> * configure.in (1.22): dir is ac-helpers now, not helpers 2000-09-04 15:41 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_wc.h (1.17), libsvn_wc/apply_delta.c (1.34), libsvn_wc/get_editor.c (1.34), libsvn_wc/make_walker.c (1.34), tests/libsvn_wc/checkout-test.c (1.12): (svn_wc_apply_delta): removed from public interface, as svn_wc_get_change_walker() is the way to do this now. * checkout-test.c (apply_delta): new func in test suite, hooks up an XML delta with a walker to do the checkout. 2000-09-02 05:39 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/: commit.c (1.3), fetch.c (1.6): (svn_ra_checkout): don't pass pool; use the one in "ras" (svn_ra_get_commit_walker): add 'ras' param and drop the TBD thing 2000-09-02 05:03 Greg Stein <gstein@lyra.org> * subversion/: include/svn_wc.h (1.16), libsvn_wc/apply_delta.c (1.33), libsvn_wc/get_editor.c (1.33), libsvn_wc/make_walker.c (1.33): (svn_wc_apply_delta): use svn_wc_get_change_walker() to create walker and batons for the XML parse step (svn_wc_get_change_walker): add repos and version parameters. store them into the walk_baton structure. 2000-09-02 05:00 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/: commit.c (1.2), fetch.c (1.5): tweak: update to new walker callback interfaces 2000-09-02 03:48 Greg Stein <gstein@lyra.org> * .cvsignore (1.3), autogen.sh (1.13), configure.in (1.21), ac-helpers/.cvsignore (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), ac-helpers/svn-macros.m4 (1.1, milestone-1-beta): create the helpers/ directory to contain autoconf stuff add helpers/svn-macros.m4: holds macros for autoconf use pass -I helpers to the aclocal program to pick up helpers/*.m4 add SVN_CONFIG_NICE autoconf macro: creates a config.nice file which runs configure from scratch with the same options as the previous run (config.status only regenerates the output) adjust .cvsignore files as necessary 2000-09-01 23:50 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.15): (svn_wc_apply_delta): new `version' parameter. 2000-09-01 23:45 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/adm_files.c (1.10), libsvn_wc/adm_ops.c (1.7), libsvn_wc/apply_delta.c (1.32), libsvn_wc/get_editor.c (1.32), libsvn_wc/make_walker.c (1.32), libsvn_wc/wc.h (1.11), tests/libsvn_wc/checkout-test.c (1.11): Include version number as part of the "context" of a delta application: (w_baton): new version field. (svn_wc_apply_delta): take version arg, stuff it into walk baton. (add_directory, add_file): get version, pass it along. (svn_wc__ensure_adm, svn_wc__ensure_wc_prepared): accept and pass along new version arg. (init_adm): take version, use it during file initialization. 2000-09-01 23:17 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: apply_delta.c (1.31), get_editor.c (1.31), make_walker.c (1.31): (svn_wc_get_change_walker): minor formatting fix. 2000-09-01 23:14 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: README (1.38), adm_files.c (1.9), adm_ops.c (1.6), apply_delta.c (1.30), get_editor.c (1.30), make_walker.c (1.30), wc.h (1.10): Rewritten. 2000-09-01 23:13 Karl Fogel <kfogel@collab.net> * subversion/include/svn_types.h (1.41): (svn_dir_kind): replaces svn_directory_kind, enough keystrokes already. 2000-09-01 17:38 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.74): Doc fixes. 2000-09-01 17:25 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.28, milestone-1, milestone-1-beta): XML tagname "add" replaces "new". 2000-09-01 17:24 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/delta.h (1.21), libsvn_delta/delta_parse.c (1.79), libsvn_delta/xml_parse.c (1.79), tests/libsvn_delta/foo.delta (1.7), tests/libsvn_wc/checkout-1.delta (1.8): Use "add" as the tagname everywhere, instead of "new". All sample deltas updated, and: (svn_delta__tagmap): "add" replaces "new". (svn_delta__XML_t): svn_delta__XML_add replaces svn_delta__XML_new. 2000-09-01 17:12 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.26): * deltaparse-test.c: (print_spaces, inc_spaces, dec_spaces) added. (all other routines): above calls added, for pretty spacing of output. 2000-09-01 16:54 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/adm_files.c (1.8): (chop_admin_thing): replaces `chop_admin_name'. (svn_wc__make_adm_thing): special case making an empty thing, i.e., making the parent directory. 2000-09-01 16:42 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.78), xml_parse.c (1.78): (do_file_callback): oops, clean up a leftover from previous change. 2000-09-01 16:39 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.77), xml_parse.c (1.77): (do_directory_callback): avoid initialization issues by eliminating local var `child_baton' in favor of `&(youngest_frame->child_baton)'. (do_file_callback): same as above, but for `file_baton'. 2000-09-01 16:32 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.76), xml_parse.c (1.76): (do_begin_textdelta): init window_consumer to NULL, so it's safe even if the walker callback never sets it. 2000-09-01 16:26 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.73), libsvn_delta/delta_parse.c (1.75), libsvn_delta/xml_parse.c (1.75), tests/libsvn_delta/deltaparse-test.c (1.25): Adding walk_baton to the only two walker callbacks that didn't already receive it. * svn_delta.h (svn_delta_walk_t): add walk_baton to finish_directory and finish_file. * delta_parse.c (do_finish_file, do_finish_directory): add walk_baton to callback invocations. * deltaparse-test.c (test_finish_file, test_finish_directory): add walk_baton argument. 2000-09-01 16:15 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.72), libsvn_delta/delta_parse.c (1.74), libsvn_delta/xml_parse.c (1.74), tests/libsvn_delta/deltaparse-test.c (1.24): As Karl suggests, change XML to xml in all symbols. * svn_delta.h (svn_XML_parse) renamed to svn_xml_parse * delta_parse.c (svn_XML_parse) renamed to svn_xml_parse * deltaparse-test.c (svn_XML_parse) renamed to svn_xml_parse 2000-09-01 16:13 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.71): Revert recent `local-variables' change. 2000-09-01 16:12 Karl Fogel <kfogel@collab.net> * HACKING (1.12): Revert advice about `local-variables' for Emacs. It seems Emacs wants to see a consistent prefix, and putting it on the first line of the comment interferes with this. 2000-09-01 16:03 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.10), libsvn_delta/delta_parse.c (1.73), libsvn_delta/xml_parse.c (1.73), libsvn_subr/path.c (1.10), libsvn_wc/adm_files.c (1.7), libsvn_wc/apply_delta.c (1.29), libsvn_wc/get_editor.c (1.29), libsvn_wc/make_walker.c (1.29), libsvn_wc/util.c (1.7): Partially revert my change of 2000-08-31 15:29. The svn_path library now side-effects its operands again; all callers changed to account for this, but not always exactly as they worked before. * path.c, path.h (add_component_internal): revert to 1.7 behavior, but also canonicalize result. (svn_path_add_component_nts, svn_path_add_component): revert to 1.7 behavior. (svn_path_remove_component): revert to 1.7 behavior and prototype. * delta_parse.c (maybe_derive_ancestry): dup a new path and add name to it as a component, to get ancestor. * adm_files.c: revert to 1.5: (extend_with_adm_name): back to this name instead of `make_adm_path', callers changed accordingly. (chop_admin_name): restored, calls restored as well. * util.c (svn_wc__ensure_directory): dup a new path, then shorten it, when recursing. * apply_delta.c (maybe_prepend_dest, add_directory, add_file, finish_file): dup a new path, then operate on that. Also, changes to accommodate new names: * apply_delta.c (svn_wc_apply_delta): it's `svn_XML_parse' now, not `svn_delta_parse'. 2000-09-01 11:53 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.70), libsvn_delta/delta_parse.c (1.72), libsvn_delta/xml_parse.c (1.72), tests/libsvn_delta/deltaparse-test.c (1.23): MAJOR RENAME: svn_delta_parse() is now renamed svn_XML_parse() ! * svn_delta.h: (svn_delta_parse): renamed to svn_XML_parse * delta_parse.c: (svn_delta_parse): renamed to svn_XML_parse * deltaparse-test.c: (main): call svn_XML_parse 2000-08-31 22:36 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/delta_parse.c (1.71), libsvn_delta/xml_parse.c (1.71), tests/libsvn_delta/foo.delta (1.6): Fixed property-parsing buglets. The trick was that xml_handle_end shouldn't remove a stackframe right at the outset; instead it should first *validate* that the removal is ok, *then* call walker callbacks, *then* remove the stackframe. I had implemented this correctly earlier, but I hadn't updated property-handling to reflect this change! * foo.delta: added more prop-deltas to experiement. * delta_parse.c: (do_begin_propdelta): set current_propdelta fields to empty strings, not NULL. (do_propdelta_callback): if value is empty string, send NULL to callback. Set name/value to empty (not null) when done. (xml_handle_end): check parent frame's tag for property deletions, duh. 2000-08-31 22:22 Greg Stein <gstein@lyra.org> * autogen.sh (1.12): add a comment. suggest the user of --with-maintainer-mode 2000-08-31 22:22 Greg Stein <gstein@lyra.org> * configure.in (1.20): additional config work: *) remove AC_PROG_MAKE_SET and AC_PROG_INSTALL invocations because AM_INIT_AUTOMAKE calls these *) run the subdir configs if --enable-subdir-config is passed *) remove the automatic GCC flag munging: depend on cmdline switches *) add --with-debug for USERS. sets some basic debug options. *) add --with-maintainer-mode for DEVELOPERS. sets stricter compile options and defines SVN_DEBUG. the latter symbol allows us to insert additional assertions or other debug code that should never be present in user installations. *) define the SVN_VERSION symbol based on AM_INIT_AUTOMAKE's version arg 2000-08-31 17:16 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.69): Fix up one page title. 2000-08-31 17:15 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.68): Follow conventions for titles after page breaks. 2000-08-31 17:14 Karl Fogel <kfogel@collab.net> * HACKING (1.11): Document page break conventions, and adhere to them. 2000-08-31 16:22 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.67): Doc fixes. 2000-08-31 16:04 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/delta.h (1.20), libsvn_delta/delta_parse.c (1.70), libsvn_delta/xml_parse.c (1.70), tests/libsvn_delta/deltaparse-test.c (1.22): Working out bugs in new libsvn_delta organization. Still a couple of buglets to go, but we're no longer crashing. (knock, knock). * deltaparse_test.c: (test_add_directory, test_replace_directory): set *child_baton to new directory's name. (test_change_file_prop, test_change_dir_prop, test_change_dirent_prop): added new test functions. (general): add nicer indentation in my own callbacks. * delta.h: (svn_propdelta_t): add new entry_name field to hold name of object being patched -- (needed by walker's change_dirent_prop). * delta_parse.c: (do_begin_prop delta): copy parent stackframe's 'name' field into current_propdelta->entity_name. (do_prop_delta_callback): pass this entity_name to change_dirent_prop. (do_finish_file): drop batons *after* calling walker callback. (do_finish_directory): drop batons *after* calling walker callback. (do_stack_remove): only validates the stackframe removal now, renamed to do_stack_check_remove. (xml_handle_end): do the stackframe removal at the *end* of this routine. 2000-08-31 15:47 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/path.c (1.9): (add_component_internal): fix braino. 2000-08-31 15:29 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.9), libsvn_delta/delta_parse.c (1.69), libsvn_delta/xml_parse.c (1.69), libsvn_subr/path.c (1.8), libsvn_wc/adm_files.c (1.6), libsvn_wc/apply_delta.c (1.28), libsvn_wc/get_editor.c (1.28), libsvn_wc/make_walker.c (1.28), libsvn_wc/util.c (1.6): Change path library to always return non-shared results, instead of side-effecting its arguments (part of making libsvn_wc insensitive to whether delta traversal happens depth-first vs breadth-first): * path.c (add_component_internal): make and return a new string, canonicalizing it before returning. (svn_path_add_component_nts, svn_path_add_component): return a new string. (svn_path_remove_component): return a new string, and take a new pool arg therefore. * delta_parse.c (maybe_derive_ancestry): use new svn_path semantics; tighten up code and comments. * adm_files.c (make_adm_path): replaces extend_with_adm_name(), no longer requires the caller to "unmake" the name later. Callers changed accordingly. (chop_admin_name): removed, no longer necessary. * util.c (svn_wc__ensure_directory): use new svn_path semantics, improve comments. * apply_delta.c (maybe_prepend_dest, add_directory, add_file, finish_file): use new svn_path semantics. Also, changes to accommodate new names: * apply_delta.c (window_handler): it's "txdelta", not "delta". 2000-08-31 12:40 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.66), libsvn_delta/delta.h (1.19), libsvn_delta/delta_parse.c (1.68), libsvn_delta/xml_parse.c (1.68): (svn_delta_parse): make walker argument `const'. (svn_delta__digger_t): make walker field `const'. 2000-08-31 12:23 Karl Fogel <kfogel@collab.net> * autogen.sh (1.11): Test for presence of neon/ subdir, exit with error message if none. 2000-08-31 12:21 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.65), libsvn_delta/delta_parse.c (1.67), libsvn_delta/xml_parse.c (1.67), tests/libsvn_delta/deltaparse-test.c (1.21), tests/libsvn_delta/foo.delta (1.5): Adopted deltaparse-test program to new walker interface. (It works now.) Again, `delta_window' is renamed to `txdelta_window' everywhere. * deltaparse-test.c: (main): take a filename as a command-line argument. (test_begin_textdelta): renamed to `test_apply_textdelta'. (test_begin_propdelta): removed, different prop-delta system now. (test_change_file_prop, test_change_dir_prop, test_change_dirent_prop): added. (my_fileprop_handler, my_dirprop_handler, my_direntprop_handler): deleted. (test_add_file, test_replace_file, test_apply_textdelta): deal with new file_baton. * delta_parse.c: (xml_handle_end): after </text-delta>, be sure to call svn_vcdiff_parse() with len=0. (do_delete_prop): check for initial existence of current_propdelta. (do_prop_delta_callback): DUH, check for walker callbacks before trying to call them. :) * svn_delta.h: (svn_vcdiff_parse): len is not a pointer. 2000-08-31 10:11 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/prop_parse.c (1.8): prop_parse.c no longer needed; much simpler model now. 2000-08-31 10:10 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.66), vcdiff_parse.c (1.11), xml_parse.c (1.66): Still adopting libsvn_delta to new walker interface. * vcdiff_parse.c: (svn_vcdiff_parse): fix `len' argument, it's not a pointer; better comments; if (len == 0), flush what's left in buffer. (svn_vcdiff_send_window): better comments. * delta_parse.c: (xml_handle_data): fix `len' argument, it's not a pointer. (svn_finish_textdelta): deleted; svn_vcdiff_parse flushes buffer instead. 2000-08-31 09:18 Greg Stein <gstein@lyra.org> * configure.in (1.19): remove a goof that I put in. 2000-08-31 09:17 Greg Stein <gstein@lyra.org> * subversion/libsvn_ra_dav/fetch.c (1.4): while I'm thinking about it... 2000-08-31 08:52 Greg Stein <gstein@lyra.org> * subversion/: include/svn_ra.h (1.3), libsvn_ra_dav/Makefile.am (1.3), libsvn_ra_dav/commit.c (1.1), libsvn_ra_dav/fetch.c (1.3): continued development. fetch.c: - added my_basename() to get the basename of a char* into an svn_string - added fetch_file() to grab files from the server - added logic to call walker callbacks to create the working copy - fetch_data is history: it becomes svn_ra_checkout() - svn_ra_update() is gone. the algorithm will use a walker returned by svn_ra_get_update_walker() - added svn_ra_get_update_walker() and associated functions (unused) commit.c: - added svn_ra_get_commit_walker() and associated functions (unused) ra-dav-test.c: - can't use svn_wc_get_change_walker(), so we add a temporary, internal debug walker to use. Makefile.am: - build commit.c and tests subdir svn_ra.h: - bring up to date with new design 2000-08-31 08:44 Greg Stein <gstein@lyra.org> * subversion/: include/svn_wc.h (1.14), libsvn_wc/apply_delta.c (1.27), libsvn_wc/get_editor.c (1.27), libsvn_wc/make_walker.c (1.27): (svn_wc_get_change_walker): ADDED. provides a walker structure for effecting change against the working copy. (svn_wc_apply_delta): don't use manual assignments to a walker structure; just use a static, constant structure. added "change_walker" struct. 2000-08-31 08:40 Greg Stein <gstein@lyra.org> * subversion/include/svn_path.h (1.8): add a new "component style" (for paths) for the URL separator ('/') 2000-08-30 17:52 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.64), libsvn_delta/Makefile.am (1.7), libsvn_delta/delta.h (1.18), libsvn_delta/delta_parse.c (1.65), libsvn_delta/vcdiff_parse.c (1.10), libsvn_delta/xml_parse.c (1.65): Adopting code in libsvn_delta to use newly revised svn_delta_walk_t interface. Test program in tests/ DOES NOT YET WORK.pp In general, rename all "svn_delta_window_t" references to "svn_txdelta_window_t", and rename "svn_delta_window_handler_t" to "svn_txdelta_window_handler_t". Rename "svn_delta_op_t" to "svn_txdelta_op_t". Also rename "svn_delta__vcdiff_parser_t" to "svn_vcdiff_parser_t" when moving from private to public header file, as well as changing "svn_delta__vcdiff_parse" to "svn_vcdiff_parse". (Remove all references to pdelta_handler_t, pdelta_parser_t.) * delta.h: (svn_delta__digger_t): added file_baton and current_propdelta. (svn_delta__stackframe_t): added file_baton. (svn_vcdiff_parser_t): moved from private to public header. (svn_make_vcdiff_parser): removed, already declared in public header. (svn_vcdiff_send_window): added so delta_parse can flush vcdiff buffer (temporary only, until we get a real vcdiff implementation) (svn_propdelta_t): define simpler in-memory prop-delta object. * svn_delta.h: (svn_vcdiff_parser_t): added from private header. (svn_make_vcdiff_parser): added pool arg, to create windows from. * delta_parse.c: (do_file_callback, do_finish_file): deal with file_baton now. (do_finish_directory): drop the current dir baton when done. (do_begin_textdelta): call apply_textdelta with new file_baton. (do_finish_textdelta): scale down to a buffer flush only, no longer a walker callback for this. (do_prop_delta_callback): added -- calls appropriate walker callback for property deltas. (do_finish_setprop): deleted, made irrelevant by do_prop_delta_callback. (do_begin_propdelta, do_begin_setprop, do_delete_prop): major rewrite to use new in-memory propdeltas. (do_finish_propdelta): deleted, no longer needed. (xml_handle_end): add *specific* test for </delete> in the context of a <prop-delta> (as opposed to within a <tree-delta>) (xml_handle_data): buffer property values internally, no longer need a "property parser" in prop_parse.c * vcdiff_parse.c: (svn_delta__vcdiff_flush_buffer): removed, just put the one line into delta_parse.c:do_finish_textdelta. (svn_vcdiff_send_window): no longer static -- called by do_finish_text_delta to flush final buffer. * prop_parse.c: deleted, no longer needed. xml_handle_data can buffer property values as they come in from expat. Much simpler now! * Makefile.am: remove prop_parse.c TODO: rename svn_delta_parse to something more specific. svn_XML_parse is fine, I think, because it's still a very general-purpose routine; it takes an read function and a walk_t structure. This would work for a "test" program: * reader function presents an XML file; * callbacks are a bunch of dorky printf's It would also work for WC use: * reader function implicitly crawls the working copy, assembling an XML stream on-the-fly * callbacks generate DAV calls It would also work for WC *internal* use: * reader function implicitly crawls the working copy, assembling an XML stream on-the-fly * callbacks generate *new* XML to put in WC administrative files. 2000-08-30 04:55 Greg Stein <gstein@lyra.org> * subversion/: include/svn_ra.h (1.2), libsvn_ra_dav/fetch.c (1.2), libsvn_ra_dav/ra_session.h (1.2, milestone-1, milestone-1-beta), libsvn_ra_dav/session.c (1.2), libsvn_wc/apply_delta.c (1.26), libsvn_wc/get_editor.c (1.26), libsvn_wc/make_walker.c (1.26): wouldn't you know it... the file that I used as a template for the new RA/DAV files' license (it was apply_delta.c) happens to be the only file with a tweak in it. of all that I could have chosen... 2000-08-30 04:46 Greg Stein <gstein@lyra.org> * subversion/: include/svn_ra.h (1.1), libsvn_ra_dav/Makefile.am (1.2), libsvn_ra_dav/fetch.c (1.1), libsvn_ra_dav/ra_session.h (1.1), libsvn_ra_dav/session.c (1.1): begin implementation of the RA/DAV layer. introduced "RA Session" concept: svn_ra_open, svn_ra_close. draft prototypes for: svn_ra_update, svn_ra_checkout this "draft" will connect to a DAV server and traverse the URL space to fetch the DAV:target property from each member resource. 2000-08-30 04:39 Greg Stein <gstein@lyra.org> * subversion/include/svn_delta.h (1.63): eek! bad hack! with these additional types, we can at least include svn_delta.h and successfully compile. these will disappear RSN. 2000-08-30 04:37 Greg Stein <gstein@lyra.org> * subversion/include/svn_error.h (1.18): add a couple error codes for RA/DAV usage 2000-08-30 01:24 Greg Stein <gstein@lyra.org> * subversion/libsvn_delta/: delta_parse.c (1.64), xml_parse.c (1.64): (svn_delta_parse): fix leaks of Expat parsers 2000-08-29 23:41 Greg Stein <gstein@lyra.org> * configure.in (1.18), subversion/Makefile.am (1.10), subversion/libsvn_ra_dav/.cvsignore (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), subversion/libsvn_ra_dav/Makefile.am (1.1): add config/build framework for the RA/DAV layer. 2000-08-29 23:11 Greg Stein <gstein@lyra.org> * COPYING (1.4, milestone-1), README (1.9): some tweaks about directories and license 2000-08-29 22:56 Greg Stein <gstein@lyra.org> * expat-lite/: CHANGES.svn (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), dllmain.c (1.2), xmlparse.def (1.2), xmltok.def (1.2): add CHANGES.svn to document our local changes remove Windows-specific files since we don't build there yet 2000-08-29 22:17 Greg Stein <gstein@lyra.org> * autogen.sh (1.10), configure.in (1.17), expat-lite/.cvsignore (1.1, milestone-1, milestone-1-beta), expat-lite/Makefile (1.3), expat-lite/Makefile.am (1.1, milestone-1, milestone-1-beta), subversion/tests/libsvn_delta/Makefile.am (1.2), subversion/tests/libsvn_wc/Makefile.am (1.6): switch expat-lite over to automake (updates tests for libsvn_delta and libsvn_wc to use libexpat.la now) add some initial work on config/build for Neon 2000-08-29 20:22 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.37): Start twisting XML format explanations to match new `svn_delta_walk_t' plans. 2000-08-29 19:36 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.62): Major doc fixes. (svn_delta_read_fn_t): Moved to its own page at the top; this isn't specific to text or tree deltas. Rename text delta functions and types, to avoid confusion with tree delta stuff. (svn_txdelta_op_t): Renamed from svn_delta_op_t. (svn_txdelta_source, svn_txdelta_target, svn_txdelta_new): Renamed from svn_delta_source, svn_delta_target, and svn_delta_new. (svn_txdelta_window_t): Renamed from svn_delta_window_t. (svn_txdelta_free_window): Renamed from svn_free_delta_window. (svn_txdelta_window_handler_t): Renamed from svn_text_delta_window_handler_t. Reinstate the text delta creation and vcdiff handling interfaces. (svn_txdelta_stream_t): New type. (svn_txdelta_next_window, svn_txdelta, svn_txdelta_free, svn_txdelta_to_vcdiff, svn_make_vcdiff_parser, svn_vcdiff_parse): New functions. 2000-08-29 19:31 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: apply_delta.c (1.25), get_editor.c (1.25), make_walker.c (1.25): Separate pages for walker callbacks vs their helpers. Return SVN_NO_ERROR instead of 0 everywhere. Come into line with the new svn_delta_walk_t interface: (change_file_prop, change_dir_prop, change_dirent_prop, apply_textdelta): new callback functions, empty skeletons for now. (begin_textdelta, finish_textdelta): removed, but code preserved verbatim in apply_textdelta(), #ifdef'd out. (svn_wc_apply_delta): set up the new walker appropriately. Also, unmush all walker callback function declarations, so they look the same as they do in the definition of `svn_delta_walk_t'. 2000-08-29 19:01 Greg Stein <gstein@lyra.org> * subversion/tests/.cvsignore (1.1, milestone-1, milestone-1-beta): "Looks like an orange on a toothpick!" 2000-08-29 15:35 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.61): (svn_delta_walk_t): Clean up handling of text and property deltas: Make `add_file' and `replace_file' create a baton to represent the file being created / changed. Replace `begin_textdelta' and `finish_textdelta' with `apply_textdelta', which uses the file baton. Replace `begin_propdelta' and `finish_propdelta' with `change_dir_prop', `change_dirent_prop', and `change_file_prop'. (svn_propchange_location_t, svn_propchange_t, svn_propchange_handler_t): Delete. As far as I can tell, these aren't any streamier than the simpler interface now in svn_delta_walk_t. 2000-08-29 10:48 Ben Collins-Sussman <sussman@collab.net> * COPYING (1.3): * COPYING: Remove mention of glib. 2000-08-29 10:47 Ben Collins-Sussman <sussman@collab.net> * README (1.8): * README: Added description of subversion/tests-common/. 2000-08-29 10:46 Ben Collins-Sussman <sussman@collab.net> * doc/WritingChangeLogs.txt (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): * WritingChangeLogs.txt : Fixed typo. 2000-08-29 10:44 Ben Collins-Sussman <sussman@collab.net> * HACKING (1.10): * HACKING: Added pointer to automated-test-suite README file. 2000-08-28 20:21 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.36): Describe XML plans for working copy administrative files. 2000-08-28 20:13 Karl Fogel <kfogel@collab.net> * HACKING (1.9): (Generating ChangeLogs): don't tell people how to view their ChangeLogs. 2000-08-28 20:11 Karl Fogel <kfogel@collab.net> * HACKING (1.8): (Writing Log Entries): better wording. 2000-08-28 20:11 Karl Fogel <kfogel@collab.net> * HACKING (1.7): (Writing Log Entries): fix typo. 2000-08-28 20:10 Karl Fogel <kfogel@collab.net> * HACKING (1.6): (Generating ChangeLogs): new subsection at the end of "Writing Log Entries". 2000-08-28 19:04 Karl Fogel <kfogel@collab.net> * HACKING (1.5), doc/WritingChangeLogs.txt (1.1): log entry guidelines 2000-08-28 18:05 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.60): Don't #include xmlparse.h; the parser interface is independent of the representation, so this is irrelevant. 2000-08-28 15:17 Karl Fogel <kfogel@collab.net> * subversion/include/svn_hash.h (1.6, milestone-1, milestone-1-beta): Put on `svn_' prefix. 2000-08-28 15:11 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.16), subversion/Makefile.am (1.9), subversion/tests/libsvn_subr/Makefile.am (1.5), subversion/tests/libsvn_subr/hashdump-test.c (1.11), subversion/tests/Makefile.am (1.2), subversion/tests/svn_tests_main.c (1.2): Factorized main() out of standard svn test programs. 2000-08-28 14:27 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/: Makefile.am (1.1), README (1.1), svn_tests_main.c (1.1): common main() code for test-suite, not quite finished yet 2000-08-28 11:21 Karl Fogel <kfogel@collab.net> * COPYING (1.2), subversion/include/svn_delta.h (1.59), subversion/include/svn_error.h (1.17), subversion/include/svn_fs.h (1.3), subversion/include/svn_hash.h (1.5), subversion/include/svn_parse.h (1.5), subversion/include/svn_path.h (1.7), subversion/include/svn_string.h (1.30), subversion/include/svn_svr.h (1.32), subversion/include/svn_types.h (1.40), subversion/include/svn_wc.h (1.13), doc/svn-design.texi (1.14, milestone-1, milestone-1-beta), subversion/libsvn_delta/delta.h (1.17), subversion/libsvn_delta/delta_parse.c (1.63), subversion/libsvn_delta/prop_parse.c (1.7), subversion/libsvn_delta/vcdiff_parse.c (1.9), subversion/libsvn_delta/xml_parse.c (1.63), subversion/libsvn_fs/err.c (1.2), subversion/libsvn_fs/err.h (1.2), subversion/libsvn_fs/fs.c (1.2), subversion/libsvn_fs/fs.h (1.3), subversion/libsvn_subr/hashdump.c (1.11, milestone-1-beta), subversion/libsvn_subr/path.c (1.7), subversion/libsvn_subr/svn_error.c (1.31), subversion/libsvn_subr/svn_parse.c (1.35), subversion/tests/libsvn_subr/hashdump-test.c (1.10), subversion/libsvn_wc/adm_files.c (1.5), subversion/libsvn_wc/adm_ops.c (1.5), subversion/libsvn_wc/apply_delta.c (1.24), subversion/libsvn_wc/get_editor.c (1.24), subversion/libsvn_wc/lock.c (1.3), subversion/libsvn_wc/make_walker.c (1.24), subversion/libsvn_wc/questions.c (1.3), subversion/libsvn_wc/util.c (1.5), subversion/libsvn_wc/wc.h (1.9), subversion/tests/libsvn_wc/checkout-test.c (1.10): Fixed Collab.Net url, and other name change tweaks. 2000-08-28 11:09 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_fs.h (1.2): typo fix. 2000-08-28 10:59 Karl Fogel <kfogel@collab.net> * subversion/libsvn_fs/fs.h (1.2): speling: "propage" ==> "propagate" 2000-08-26 10:26 Jim Blandy <jimb@redhat.com> * notes/testing_framework.txt (1.5, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Adjust form of test output. 2000-08-26 04:05 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.9), notes/webdav-usage.html (1.9) (utags: milestone-1, milestone-1-beta): add commentary on etags, based on feedback from Joe Orton 2000-08-25 16:42 Ben Collins-Sussman <sussman@collab.net> * notes/testing_framework.txt (1.4): Done with test-suite spec. 2000-08-25 16:31 Jim Blandy <jimb@redhat.com> * configure.in (1.15), subversion/Makefile.am (1.8), subversion/include/svn_error.h (1.16), subversion/include/svn_fs.h (1.1), subversion/libsvn_fs/.cvsignore (1.1, milestone-1, jimb_pre_transaction, milestone-1-beta), subversion/libsvn_fs/Makefile.am (1.1), subversion/libsvn_fs/err.c (1.1), subversion/libsvn_fs/err.h (1.1), subversion/libsvn_fs/fs.c (1.1), subversion/libsvn_fs/fs.h (1.1): * configure.in: Include subversion/libsvn_fs/Makefile in the list of Makefiles to produce. * subversion/Makefile.am (SUBDIRS): Add libsvn_fs. * subversion/include/svn_error.h (svn_errno_t): Add new error code, SVN_ERR_FS_GENERAL. * subversion/libsvn_fs: First inklings of filesystem implementation. PR: Obtained from: Submitted by: Reviewed by: 2000-08-25 16:26 Jim Blandy <jimb@redhat.com> * subversion/: libsvn_delta/.cvsignore (1.3), libsvn_wc/.cvsignore (1.5, milestone-1, milestone-1-beta), tests/libsvn_wc/.cvsignore (1.2), tests/libsvn_delta/.cvsignore (1.2): Add .deps and .libs directories to the ignore lists. PR: Obtained from: Submitted by: Reviewed by: 2000-08-25 16:21 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_subr/hashdump-test.sh (1.2): don't need script anymore 2000-08-25 16:19 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_subr/hashdump.c (1.10), tests/libsvn_subr/hashdump-test.c (1.9): Improve hashdump testing (new test) 2000-08-25 15:42 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_subr/: Makefile.am (1.4), hashdump-test.c (1.8): Convert hashdump-test to new testing system 2000-08-25 15:09 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.58), include/svn_error.h (1.15), include/svn_hash.h (1.4), include/svn_parse.h (1.4), include/svn_path.h (1.6), include/svn_string.h (1.29), include/svn_svr.h (1.31), include/svn_types.h (1.39), include/svn_wc.h (1.12), libsvn_delta/delta.h (1.16), libsvn_delta/delta_parse.c (1.62), libsvn_delta/prop_parse.c (1.6), libsvn_delta/vcdiff_parse.c (1.8), libsvn_delta/xml_parse.c (1.62), libsvn_subr/hashdump.c (1.9), libsvn_subr/path.c (1.6), libsvn_subr/svn_error.c (1.30), libsvn_subr/svn_parse.c (1.34), tests/libsvn_subr/hashdump-test.c (1.7), libsvn_wc/adm_files.c (1.4), libsvn_wc/adm_ops.c (1.4), libsvn_wc/apply_delta.c (1.23), libsvn_wc/get_editor.c (1.23), libsvn_wc/lock.c (1.2), libsvn_wc/make_walker.c (1.23), libsvn_wc/questions.c (1.2), libsvn_wc/util.c (1.4), libsvn_wc/wc.h (1.8), tests/libsvn_wc/checkout-test.c (1.9): Replace Collab.Net with CollabNet everywhere. 2000-08-25 14:59 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/util.c (1.3): (check_existence): removed, as no longer used. 2000-08-25 14:58 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.5), libsvn_subr/path.c (1.5), libsvn_wc/apply_delta.c (1.22), libsvn_wc/get_editor.c (1.22), libsvn_wc/make_walker.c (1.22), libsvn_wc/util.c (1.2), tests/libsvn_wc/checkout-test.sh (1.4): More changes for context-sensitive delta application. Do path canonicalization. 2000-08-25 14:08 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: apply_delta.c (1.21), get_editor.c (1.21), make_walker.c (1.21): (delete): call maybe_prepend_dest() here too. 2000-08-25 14:07 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.4), libsvn_subr/path.c (1.4), libsvn_wc/apply_delta.c (1.20), libsvn_wc/get_editor.c (1.20), libsvn_wc/make_walker.c (1.20), tests/libsvn_wc/checkout-test.sh (1.3): Make sure dest_dir is accounted for in delta application. (maybe_prepend_dest): new func, makes sure delta activity happens in the right place. (svn_path_isempty): new func, helper for above. 2000-08-25 13:18 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.3), include/svn_string.h (1.28), include/svn_wc.h (1.11), libsvn_subr/path.c (1.3), libsvn_wc/Makefile.am (1.7), libsvn_wc/README (1.35), libsvn_wc/adm_files.c (1.3), libsvn_wc/adm_ops.c (1.3), libsvn_wc/apply_delta.c (1.19), libsvn_wc/get_editor.c (1.19), libsvn_wc/make_walker.c (1.19), libsvn_wc/questions.c (1.1), libsvn_wc/util.c (1.1), libsvn_wc/wc.h (1.7), tests/libsvn_wc/checkout-test.c (1.8): Changes to for delta application to take a destination directory: (svn_wc_apply_delta): take `dest' and `repos' arguments. (svn_path_last_component): new func. (svn_string_find_char_backward): new func, helps out path library. (svn_wc__working_copy_p): new func. (svn_wc__ensure_directory): new func. 2000-08-24 20:21 Ben Collins-Sussman <sussman@collab.net> * notes/testing_framework.txt (1.3): More detail on test framework. 2000-08-24 15:48 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_wc.h (1.10), libsvn_wc/README (1.34), libsvn_wc/adm_files.c (1.2), libsvn_wc/adm_ops.c (1.2), libsvn_wc/apply_delta.c (1.18), libsvn_wc/get_editor.c (1.18), libsvn_wc/make_walker.c (1.18), tests/libsvn_wc/checkout-1.delta (1.7): Documentation and #include fixes. Add a top-level file to checkout-1.delta. Grin. 2000-08-24 15:06 Ben Collins-Sussman <sussman@collab.net> * notes/testing_framework.txt (1.2): more detail on testing framework 2000-08-24 14:27 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile.am (1.6), README (1.33), adm_files.c (1.1), adm_ops.c (1.1), apply_delta.c (1.17), get_editor.c (1.17), lock.c (1.1), make_walker.c (1.17), wc.h (1.6), wc_adm.c (1.12): Reorganize code: separate files for locking stuff, adm path/file stuff, and adm operations. Document general plan of interrupt-safe operation. 2000-08-24 10:22 Ben Collins-Sussman <sussman@collab.net> * notes/testing_framework.txt (1.1): some beginnning notes 2000-08-23 21:16 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc_adm.c (1.11): Results of code review by Ben: (svn_wc__adm_subdir): move static string inside, no reason for it to be external static. Everywhere: return SVN_NO_ERROR where formerly returned 0. 2000-08-22 20:39 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc_adm.c (1.10): (make_adm_thing): restore path and return error correctly in all cases. (svn_wc__lock): restored error-checking. Works now, but apr_sleep() appears to be broken so it's not actually retrying at the rate the user specifies. 2000-08-22 17:03 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc_adm.c (1.9): Tweak/test the locking code. 2000-08-22 16:48 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: README (1.32), wc.h (1.5), wc_adm.c (1.8): Create more of the working copy, do real locking. 2000-08-22 16:35 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta.h (1.15), delta_parse.c (1.61), xml_parse.c (1.61): - svn_delta_make_xml_parser: prefix removed, this is a static routine. - svn_delta__tagmap[] added, rewrote do_stack_remove and set_tagtype accordingly... MUCH cleaner now. - svn_delta__digger_t: "stack" argument now represents YOUNGEST stackframe. Many routines simplified because of this. (find_stack_newest() removed.) - do_stack_append: check that the first frame appended is always a tree-delta. 2000-08-22 15:19 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/wc_adm.c (1.7): Just use enums `svn_file_kind' and `svn_directory_kind' from svn_types.h, instead of own enums. Enough is enough already. 2000-08-22 15:05 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.60), xml_parse.c (1.60): (maybe_derive_ancestry): declare p in the scope where it is used. 2000-08-22 15:04 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.59), xml_parse.c (1.59): (maybe_derive_ancestry): eliminate first_frame argument; we don't need it anymore. Caller changed. 2000-08-22 14:55 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.2), libsvn_delta/delta_parse.c (1.58), libsvn_delta/xml_parse.c (1.58), libsvn_subr/path.c (1.2), libsvn_wc/apply_delta.c (1.16), libsvn_wc/get_editor.c (1.16), libsvn_wc/make_walker.c (1.16), libsvn_wc/wc_adm.c (1.6): (SVN_PATH_LOCAL_STYLE, SVN_PATH_REPOS_STYLE): new #defines. (svn_path_remove_component, svn_path_add_component, svn_path_add_component_nts, add_path_internal): use them. All callers changed. This gives an interface handling both local paths (for files) and repository paths (for ancestry), though the implementation is all Unix-style right now, which is the same as repository style. 2000-08-22 12:30 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_path.h (1.1), libsvn_delta/delta_parse.c (1.57), libsvn_delta/xml_parse.c (1.57), libsvn_subr/Makefile.am (1.4), libsvn_subr/path.c (1.1), libsvn_wc/apply_delta.c (1.15), libsvn_wc/get_editor.c (1.15), libsvn_wc/make_walker.c (1.15), libsvn_wc/wc.h (1.4), libsvn_wc/wc_adm.c (1.5): Put mini-library for path manipulation into libsvn_subr. (maybe_derive_ancestor): always set to a full ancestry path, derived from both ancestors and names. 2000-08-22 11:52 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/: deltaparse-test.c (1.20), foo.delta (1.4): test program correctly recognizes prop-deltas on files, dirs, and dirents. 2000-08-22 11:46 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/delta_parse.c (1.56), libsvn_delta/prop_parse.c (1.5), libsvn_delta/xml_parse.c (1.56), libsvn_subr/svn_error.c (1.29), tests/libsvn_delta/deltaparse-test.c (1.19), tests/libsvn_delta/foo.delta (1.3): * when printing errors, specify if svn-specific * fixed prop-delta handling routine * fixed prop-delta "delete" validation logic Prop-deltas seem to work correctly now! 2000-08-21 23:04 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta.h (1.14), delta_parse.c (1.55), prop_parse.c (1.4), vcdiff_parse.c (1.7), xml_parse.c (1.55): Derive ancestry correctly: (derive_ancestry): new function, walks up from bottom frame, looking for ancestry information. (do_stack_append): use it. Plus, many changes for namespace protection: (svn_delta__vcdiff_parser_t): replaces `svn_vcdiff_parser_t'. (svn_delta__make_vcdiff_parser): replaces `svn_make_vcdiff_parser'. (svn_delta__vcdiff_parse): replaces `svn_vcdiff_parse'. (svn_delta__vcdiff_flush_buffer): replaces `svn_vcdiff_flush_buffer'. (svn_delta__stackframe_t): replaces `svn_delta_stackframe_t'. (svn_delta__digger_t): replaces `svn_delta_digger_t'. (svn_delta__pdelta_parser_t): replaces `svn_pdelta_parser_t'. (svn_delta__make_pdelta_parser): replaces `svn_make_pdelta_parser'. (svn_delta__pdelta_parse): replaces `svn_pdelta_parse'. (svn_delta__reset_parser_subpool): replaces `svn_reset_parser_subpool'. (svn_delta__XML_t): replaces `svn_XML_t', and therefore: `svn_delta__XML_treedelta' replaces `svn_XML_treedelta' `svn_delta__XML_new' replaces `svn_XML_new' `svn_delta__XML_delete' replaces `svn_XML_delete' `svn_delta__XML_replace' replaces `svn_XML_replace' `svn_delta__XML_file' replaces `svn_XML_file' `svn_delta__XML_dir' replaces `svn_XML_dir' `svn_delta__XML_textdelta' replaces `svn_XML_textdelta' `svn_delta__XML_propdelta' replaces `svn_XML_propdelta' `svn_delta__XML_set' replaces `svn_XML_set' 2000-08-21 19:45 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: README (1.31), wc.h (1.3), wc_adm.c (1.4): Started locking code. 2000-08-21 19:37 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.14): (svn_errno_t): new error code `SVN_ERR_ENCOUNTERED_LOCK'. 2000-08-21 19:25 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta.h (1.13), delta_parse.c (1.54), xml_parse.c (1.54): Changes to handle ancestor paths and versions correctly: (svn_version_t): removed, use `svn_vernum_t' instead. (svn_delta_stackframe_t): Added `ancestor_path' and `ancestor_version' fields. (xml_handle_start): look for "ancestor" and "ver" attributes, set them in frame if present. (do_stack_append): validate above new fields, then make them default to parent's values. (do_directory_callback): pass correct ancestry information to callbacks. 2000-08-21 18:37 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: README (1.30), apply_delta.c (1.14), get_editor.c (1.14), make_walker.c (1.14), wc.h (1.2), wc_adm.c (1.3): Many changes to do with creating administrative subdirs. 2000-08-21 17:43 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/delta_parse.c (1.53), libsvn_delta/xml_parse.c (1.53), tests/libsvn_delta/deltaparse-test.c (1.18), tests/libsvn_delta/foo.delta (1.2): save state 2000-08-21 17:15 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.57), libsvn_delta/delta.h (1.12), libsvn_delta/delta_parse.c (1.52), libsvn_delta/prop_parse.c (1.3), libsvn_delta/vcdiff_parse.c (1.6), libsvn_delta/xml_parse.c (1.52), tests/libsvn_delta/deltaparse-test.c (1.17): Property-delta stuff at least compiles correctly now. :) 2000-08-21 15:22 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_delta.h (1.56): begin_propdelta: needs to return any of 3 propchange_handler_t routines to consume an entire propchange. 2000-08-21 14:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/svn_error.c (1.28): (svn_create_error): copy the message to permanent storage, so don't have to worry about pointer lifetimes. 2000-08-21 14:14 Karl Fogel <kfogel@collab.net> * subversion/include/.cvsignore (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Ignore ChangeLog*. 2000-08-21 13:41 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.55): Revert previous change, after discussion with Ben. There are cases where knowing that a text or prop delta is about to begin/end are useful, and even necessary. 2000-08-21 13:01 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_delta.h (1.54): Partial reversion: place "consumer" routines back in walker's add_file and replace_file fields. 2000-08-19 21:47 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile (1.6), apply_delta.c (1.13), get_editor.c (1.13), make_walker.c (1.13), wc.h (1.1), wc_adm.c (1.2): (svn_wc__set_up_new_dir, svn_wc__working_name, svn_wc__read_lock, svn_wc__write_lock): new funcs, still skeletal. (add_directory): just call `svn_wc__set_up_new_dir' now. 2000-08-18 20:31 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.53), libsvn_delta/vcdiff_parse.c (1.5), libsvn_wc/apply_delta.c (1.12), libsvn_wc/get_editor.c (1.12), libsvn_wc/make_walker.c (1.12): Fill out the skeleton tree with files and their contents. (svn_delta_window_t): call it `pool', not `my_pool'. All references changed. 2000-08-18 20:17 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/delta.h (1.11), libsvn_delta/delta_parse.c (1.51), libsvn_delta/xml_parse.c (1.51), libsvn_wc/apply_delta.c (1.11), libsvn_wc/get_editor.c (1.11), libsvn_wc/make_walker.c (1.11), tests/libsvn_wc/checkout-test.c (1.7): (svn_delta_digger_t): call it `pdelta_chunk_parser' instead of `chunk_parser', just to keep things straight. Pass the new handler_baton, a.k.a. consumer_baton, as appropriate. 2000-08-18 20:10 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.52), libsvn_delta/delta.h (1.10): Moved `svn_pdelta_chunk_parser_t' from public to internal. (svn_delta_walker_t): add `handler_baton' argument to finish_propdelta, finish_textdelta. 2000-08-18 20:03 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.51), libsvn_delta/delta.h (1.9): Move `svn_vcdiff_parser_t' from public to internal. 2000-08-18 19:58 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/apply_delta.c (1.10), libsvn_wc/get_editor.c (1.10), libsvn_wc/make_walker.c (1.10), tests/libsvn_wc/checkout-1.delta (1.6), tests/libsvn_wc/checkout-test.c (1.6), tests/libsvn_wc/checkout-test.sh (1.2): Test suite improvements: make script do something useful, correct the test delta. 2000-08-18 19:35 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: apply_delta.c (1.9), get_editor.c (1.9), make_walker.c (1.9): Start building a tree. 2000-08-18 18:59 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/delta_parse.c (1.50), libsvn_delta/xml_parse.c (1.50), libsvn_wc/apply_delta.c (1.8), libsvn_wc/get_editor.c (1.8), libsvn_wc/make_walker.c (1.8): Don't drop those batons. 2000-08-18 17:42 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.50), libsvn_delta/delta_parse.c (1.49), libsvn_delta/xml_parse.c (1.49), tests/libsvn_delta/deltaparse-test.c (1.16), libsvn_wc/apply_delta.c (1.7), libsvn_wc/get_editor.c (1.7), libsvn_wc/make_walker.c (1.7): Use `ancestor_path' and `ancestor_version', instead of `base_path' and `base_version', because less likely to cause confusion. 2000-08-18 17:37 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/delta.h (1.8), libsvn_delta/prop_parse.c (1.2), libsvn_wc/apply_delta.c (1.6), libsvn_wc/get_editor.c (1.6), libsvn_wc/make_walker.c (1.6): Use new delta walker interface. (Fix a few minor things in the delta library, too: missing prototype and missing return value. Everything compiles now.) 2000-08-18 17:30 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.49), libsvn_delta/Makefile.am (1.6), libsvn_delta/delta.h (1.7), libsvn_delta/delta_parse.c (1.48), libsvn_delta/prop_parse.c (1.1), libsvn_delta/xml_parse.c (1.48), tests/libsvn_delta/deltaparse-test.c (1.15): We made a interface change in svn_walk_t, which then required much hacking on libsvn_delta. deltaparse-test now works correctly again. We're now ready to start filling out prop_parse.c! 2000-08-18 17:05 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.48): (svn_pdelta_chunk_parser_t): more accurate name for `svn_pdelta_chunk_parser_t'. (svn_delta_walk_t): correct some prototypes. 2000-08-18 17:03 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.47): (svn_pdelta_parser_t): fix typo. 2000-08-18 16:54 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.46): Comment on usage of fully-streamy property change handlers. 2000-08-18 16:53 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.45): Comment on usage of fully-buffering property change handlers. (apply_dirent_propchange): fix name. (dirent_pdelta): removed, as obsolete. 2000-08-18 16:46 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.44): Prop delta usage note. 2000-08-18 16:45 Karl Fogel <kfogel@collab.net> * subversion/include/svn_string.h (1.27): (svn_string_chop_back_to_char): prototype. 2000-08-18 16:44 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_delta.h (1.43): comments update 2000-08-18 16:30 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_delta.h (1.42): New interface for optionally streaming prop-deltas. 2000-08-18 12:24 Karl Fogel <kfogel@collab.net> * autogen.sh (1.9): run /bin/sh (thanks Daniel Stenberg <daniel@haxx.se>) 2000-08-18 12:09 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.47), xml_parse.c (1.47): Added copyright info, load svn-dev.el. This commit is also mainly to reproduce a problem with commitlogging. 2000-08-18 12:06 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.14): Ignore this commit -- only whitespace changes, done mainly to reproduce a problem with commitlogging. 2000-08-18 12:00 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/apply_delta.c (1.5), libsvn_wc/get_editor.c (1.5), libsvn_wc/make_walker.c (1.5), tests/libsvn_wc/checkout-test.c (1.5): Start baton usage. More flexible test program. 2000-08-18 11:44 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_string.h (1.26), libsvn_subr/svn_parse.c (1.33), tests/libsvn_delta/deltaparse-test.c (1.13): Remove all cases of svn_string_print(). Remove compile warning on deltaparse-test.c. 2000-08-18 11:09 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_string.h (1.25), tests/libsvn_delta/deltaparse-test.c (1.12), libsvn_subr/svn_parse.c (1.32): (svn_string_dup2cstring, svn_string_compare_2cstring): removed, no need for these funcs. Rewrote test suite to exercise new functionality, and display results readably. 2000-08-18 09:41 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_string.h (1.24), tests/libsvn_delta/deltaparse-test.c (1.11), libsvn_subr/svn_parse.c (1.31): (svn_string_dup2cstring, svn_string_ncreate, svn_string_appendbytes, svn_string_chop): o-b-o-e repairs, thanks to Greg Stein <gstein@lyra.org> for catching them early. (svn_string_dup2cstring): new name for `svn_string_2cstring'. 2000-08-17 20:10 Karl Fogel <kfogel@collab.net> * subversion/include/svn_string.h (1.23): (svn_string_chop): new func, does what you think it does. (svn_string_setempty): just set len to 0, and null data[0] if appropriate. Leave block and blocksize alone, however, so we can still call svn_string_appendstr() with all the rights, privileges, and honors thereunto appertaining. (svn_string_isempty): simplify. 2000-08-17 19:49 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.41), libsvn_delta/delta.h (1.6), libsvn_delta/delta_parse.c (1.46), libsvn_delta/vcdiff_parse.c (1.4), libsvn_delta/xml_parse.c (1.46), tests/libsvn_delta/deltaparse-test.c (1.10), libsvn_wc/apply_delta.c (1.4), libsvn_wc/get_editor.c (1.4), libsvn_wc/make_walker.c (1.4), tests/libsvn_wc/checkout-test.c (1.4): Making WC library use the new stuff in delta library: `svn_text_delta_window_handler_t' replaces `svn_delta_handler_t', because more specific. All uses changed. (svn_delta_op_t): call field `action_code' instead of `op'. Having two different things both called "op" was making my brain spin. All uses changed. (do_file_callback, do_directory_callback): parenthesize for precedence clarity. (svn_vcdiff_parse): increment buffer offset only if ate a byte. (svn_vcdiff_send_window): check if callback func is null before calling it. (check_existence): include APR_READ flag when testing, because apr_open() always returns APR_EACCES if you fail to request at least one of reading or writing. Also, remove the file after testing. (window_handler): new func in wc library; skeleton, everything will depend on the baton. (add_file, replace_file): store window_handler in *handler. (checkout-test.c:main): be robuster. (test_read_fn): interpret results of apr_full_read() correctly. 2000-08-17 18:21 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.9): trying to print window contents now 2000-08-17 17:49 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/: Makefile.am (1.1), deltaparse-test.c (1.8): oops, forgot this file 2000-08-17 17:45 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/Makefile.am (1.5), libsvn_delta/delta_parse.c (1.45), libsvn_delta/vcdiff_parse.c (1.3), libsvn_delta/xml_parse.c (1.45), tests/libsvn_delta/deltaparse-test.c (1.7), tests/libsvn_delta/foo.delta (1.1): AHA... deltaparse-test actually WORKS. Time for a beer. 2000-08-17 17:42 Karl Fogel <kfogel@collab.net> * autogen.sh (1.8): instructions for static linking 2000-08-17 14:39 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: Makefile.am (1.4), delta.h (1.5), vcdiff_parse.c (1.2): vcdiff_parse.c now compiles. 2000-08-17 14:18 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.44), xml_parse.c (1.44): compiles now, typo. 2000-08-17 12:47 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.40), libsvn_delta/delta.h (1.4), libsvn_delta/delta_parse.c (1.43), libsvn_delta/vcdiff_parse.c (1.1), libsvn_delta/xml_parse.c (1.43), tests/libsvn_delta/deltaparse-test.c (1.6): Almost ready to start compiling deltaparse-test 2000-08-16 18:01 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.39), include/svn_types.h (1.38), include/svn_wc.h (1.9), libsvn_delta/delta_parse.c (1.42), libsvn_delta/xml_parse.c (1.42), libsvn_wc/Makefile.am (1.5), libsvn_wc/apply_delta.c (1.3), libsvn_wc/get_editor.c (1.3), libsvn_wc/make_walker.c (1.3), libsvn_wc/wc_adm.c (1.1), tests/libsvn_wc/checkout-test.c (1.3): (svn_delta_read_fn_t): add pool argument. All callers changed. (svn_vernum_t): new type. Callers who formerly used `long int' use this now. (svn_wc_apply_delta): correct arguments. Def and callers changed. (svn_delta_parse): pass pool to reader function. (test_read_fn): finished. Tweaked #includes and Makefiles as appropriate, and defined skeleton functions. 2000-08-16 17:36 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.5): typo 2000-08-16 17:35 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_delta/deltaparse-test.c (1.4): Mostly finished test of XML parser interface. 2000-08-16 16:38 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.41), xml_parse.c (1.41): You are in a maze of twisty compilation errors, each slightly different. 2000-08-16 16:36 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/delta.h (1.3): (svn_delta_to_vcdiff): removed this hulking remnant of the bad old caller-pull days. 2000-08-16 16:35 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.38): Use `long int' instead of the non-existent `svn_version_t'. 2000-08-16 11:37 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.40), xml_parse.c (1.40): (get_attribute_value): completed. Never errors now, just returns the value or NULL. All callers changed. 2000-08-15 21:23 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.8), notes/webdav-usage.html (1.8): fold in some comments from Joe Orton. clarify the correlation between the delta and the DAV requests in the example commit section. 2000-08-15 10:46 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.8): (svn_wc_make_skelta): restore this -- we still need skeltas for updates. 2000-08-15 04:31 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.7), notes/webdav-usage.html (1.7): flesh out some more stuff. 2000-08-15 03:55 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.6), notes/webdav-usage.html (1.6): complete a couple more sections. 2000-08-14 23:24 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.5), notes/webdav-usage.html (1.5): detail the server URL layout detail the tags and branches stuff 2000-08-14 20:47 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.4), notes/webdav-usage.html (1.4): another round of changes. specifically, this includes how a "commit" uses WebDAV to transmit the changes. (still in draft form, of course) 2000-08-14 18:19 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: apply_delta.c (1.2), get_editor.c (1.2), make_walker.c (1.2): Plug in new finish_file() callback. 2000-08-14 18:17 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/Makefile.am (1.4), libsvn_wc/README (1.29), libsvn_wc/apply_delta.c (1.1), libsvn_wc/get_editor.c (1.1), libsvn_wc/make_walker.c (1.1), libsvn_wc/update.c (1.12), tests/libsvn_wc/checkout-test.c (1.2): Rewrite to use the callee-push streaming interface. This commit is _not_ going to compile, so don't even try. 2000-08-14 17:23 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.37), include/svn_error.h (1.13), libsvn_delta/delta.h (1.2), libsvn_delta/delta_parse.c (1.39), libsvn_delta/xml_parse.c (1.39): delta_parse.c is basically finished for now; ready to start fleshing out dummy vcdiff parser stuff. 2000-08-14 15:12 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.7): Minor formatting/wording fix. 2000-08-14 15:11 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.6): Reflect the new callee-push interface. Use the (svn_error_t *) and return-by-reference conventions that we have adopted everywhere else. Got rid of non-streamable property functions. Long comment about implementation of property reading and writing. 2000-08-14 14:44 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.3), notes/webdav-usage.html (1.3): checkpoint some changes made last night [couldn't check in last night due to some DNS troubles] 2000-08-14 14:38 Karl Fogel <kfogel@collab.net> * www/project_docs.html (1.13, milestone-1, milestone-1-beta): Note out-of-dateness of design docs. 2000-08-14 14:33 Karl Fogel <kfogel@collab.net> * www/project_members.html (1.7): Reword subsequent paragraph to compensate for previous change. 2000-08-14 14:32 Karl Fogel <kfogel@collab.net> * www/project_members.html (1.6): Note congenital incompleteness of list. 2000-08-14 14:29 Karl Fogel <kfogel@collab.net> * www/project_members.html (1.5): Quote angle brackets for HTML. 2000-08-14 14:28 Karl Fogel <kfogel@collab.net> * www/project_members.html (1.4): List some people. 2000-08-14 14:21 Karl Fogel <kfogel@collab.net> * www/: cvs_help.html (1.5, milestone-2, post-edit-baton-removal, pre-edit-baton-removal), project_source.html (1.3) (utags: milestone-1, milestone-1-beta): Update info and links (thanks to Bruce Korb <bkorb@sco.COM> for noticing that things were out of date). 2000-08-14 14:04 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.36), libsvn_delta/delta.h (1.1), libsvn_delta/delta_parse.c (1.38), libsvn_delta/xml_parse.c (1.38): Moved private stuff from public header to private header. 2000-08-14 12:58 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/jimb-delta-parse.h (1.7), include/svn_delta.h (1.35), include/svn_error.h (1.12), libsvn_delta/delta_parse.c (1.37), libsvn_delta/xml_parse.c (1.37): Merged jimb's walker structure into svn_delta.h, jimb's own header is not (any longer) relevant. :) Busy filling out parser's routines to call various svn_walker_t callbacks. 2000-08-11 15:57 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/jimb-delta-parse.h (1.6), include/svn_delta.h (1.34), libsvn_delta/delta_parse.c (1.36), libsvn_delta/xml_parse.c (1.36): Entire interface rewritten, in process of flushing out specific events now. 2000-08-11 12:50 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.35), xml_parse.c (1.35): Tweak validity check. 2000-08-11 12:13 Jim Blandy <jimb@redhat.com> * subversion/: include/svn_error.h (1.11), libsvn_subr/svn_error.c (1.27): * svn_error.h (svn_create_errorf): Use `extern' in declaration, although it doesn't make any difference. * svn_error.c: #include <stdarg.h> and "apr_strings.h", since we use facilities they provide. (svn_create_errorf): New function. 2000-08-11 11:37 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.34), xml_parse.c (1.34): Split telescope_delta_stack() into two routines, for better clarity. They have different validity-checking logic, and different execution logic. 2000-08-11 06:24 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.2), notes/webdav-usage.html (1.2): Describe basic concepts and sketch out topic areas 2000-08-10 21:12 Greg Stein <gstein@lyra.org> * www/webdav-usage.html (1.1), notes/webdav-usage.html (1.1): the SVN/WebDAV design doc will initially be placed here. I don't know texinfo, so I can't put this into doc/. If this gets texinfo'd, then it should move there. this is just an initial checkin noting that more will be coming. expect to see this get fleshed out over the next few days. 2000-08-10 20:07 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/jimb-delta-parse.h (1.5), include/svn_delta.h (1.33), libsvn_delta/delta_parse.c (1.33), libsvn_delta/xml_parse.c (1.33): Saving work... in the middle of huge rewrite, a big mess. I'm doing this because of repeated power outages here at home. (I need to buy a UPS *now*) 2000-08-10 18:54 Jim Blandy <jimb@redhat.com> * subversion/include/svn_error.h (1.10): Create a typedef for enum svn_errno_t. 2000-08-10 18:27 Jim Blandy <jimb@redhat.com> * subversion/include/svn_error.h (1.9): Use an enum instead of a series of #defines for the error codes. The effect in the code is the same, but the debugger can see and use enum values, while it is ignorant of #defines. 2000-08-10 17:01 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.32), xml_parse.c (1.32): Still rewriting parser. 2000-08-10 16:10 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.31), xml_parse.c (1.31): New error-returning strategy: If we encounter a validation error while inside an expat callback, 1. store the error in our digger structure 2. immediately set all of the expat callbacks to NULL Item #2 causes XML_Parse() to finish its chunk rather quickly, whereby our main parser loop then notices the existence of #1 and returns. 2000-08-10 16:03 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/jimb-delta-parse.h (1.4), include/svn_delta.h (1.32), libsvn_delta/delta_parse.c (1.30), libsvn_delta/xml_parse.c (1.30): In process of rewriting parser machinery. 2000-08-10 09:57 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.31): (svn_delta_read_fn_t, svn_text_delta, svn_delta_to_vcdiff): Doc fixes. Turn VCDIFF parsing interface upside-down, to use a caller-pushes model. This makes it easier to work properly with Expat. 2000-08-10 08:32 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.30): Revert previous change, which added a not-yet-implemented interface to svn_delta.h. Mea culpa. The CVS sources should always build. In cases where it would be helpful to check in experimental code, or not-yet-implemented interfaces, they can be put in an uncompiled file until the work is completed. 2000-08-10 08:28 Jim Blandy <jimb@redhat.com> * subversion/include/jimb-delta-parse.h (1.3): Doc fixes. (svn_delta_parse): Rename `context' arguments using `baton'. Sounds kind of weird. 2000-08-09 16:51 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.29): Replace tree delta traversal interface. The new interface does a better job of insulating the consumer of the delta's data from details of the delta's representation. Both the parser and the client should be simpler now. (svn_next_delta_window, svn_delta_to_vcdiff, svn_vcdiff_to_delta): Put values returned by reference first. Doc fixes. 2000-08-09 12:42 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.28): Delete obsolete comment. 2000-08-09 11:53 Jim Blandy <jimb@redhat.com> * subversion/include/jimb-delta-parse.h (1.2): (svn_delta_walk_t): Add finish_directory function. 2000-08-09 11:06 Jim Blandy <jimb@redhat.com> * subversion/include/jimb-delta-parse.h (1.1): Possible new delta walking interface. 2000-08-09 10:29 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/update.c (1.11): comments 2000-08-09 00:00 Ben Collins-Sussman <sussman@collab.net> * README (1.7): Remove mention of glib. 2000-08-08 23:38 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/.cvsignore (1.2): Ignore s'more. 2000-08-08 23:34 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.29), xml_parse.c (1.29): temporarily report malformed XML errors 2000-08-08 23:31 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/update.c (1.10): (delta_stack_to_path): fix iteration. 2000-08-08 19:24 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.28), xml_parse.c (1.28): Duh, don't forget to set previous ptr after appending stackframe. 2000-08-08 18:31 Karl Fogel <kfogel@collab.net> * subversion/svn-dev.sh (1.5, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Use SVN_WC instead of WC, and export it. (Change suggested by Branko <branko.cibej@hermes.si>). 2000-08-08 18:22 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_delta/Makefile.am (1.3), libsvn_subr/Makefile.am (1.3), libsvn_wc/Makefile.am (1.3), libsvn_wc/update.c (1.9), tests/libsvn_wc/Makefile.am (1.5): Use static where appropriate. Correct ordering of library dependencies; plus some accidental newline removals that are easier to commit than revert. 2000-08-08 18:10 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.27), xml_parse.c (1.27): The usual strcmp() mishap. 2000-08-08 16:57 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.26), xml_parse.c (1.26): Fix allocation size buglets. 2000-08-08 15:54 Jim Blandy <jimb@redhat.com> * configure.in (1.14): For the moment, don't include -O2 in CFLAGS by default, as that interferes with debugging. 2000-08-08 15:37 Karl Fogel <kfogel@collab.net> * expat-lite/Makefile (1.2): Clean with rm -f, so no complaints. 2000-08-08 15:01 Karl Fogel <kfogel@collab.net> * configure.in (1.13): add some CFLAGS if gcc 2000-08-08 14:29 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.25), xml_parse.c (1.25): Recurse, or, as Noah Friedman likes to say, "recur". 2000-08-08 13:41 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.24), xml_parse.c (1.24): Allow null callbacks. 2000-08-08 13:14 Karl Fogel <kfogel@collab.net> * subversion/: svn-dev.sh (1.4), tests/libsvn_subr/Makefile.am (1.3), tests/libsvn_wc/Makefile.am (1.4): Add new paths to LD_LIBRARY_PATH. Don't install test programs in a "make install". 2000-08-08 12:48 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_wc/Makefile.am (1.3): Added expat and libsvn_subr dependencies. 2000-08-08 12:36 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/.cvsignore (1.4), libsvn_wc/Makefile.am (1.2), libsvn_wc/update.c (1.8), tests/libsvn_wc/Makefile.am (1.2): Fix various type and path buglets on way to compilation. 2000-08-08 12:35 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_delta/.cvsignore (1.1): Ignore the usual stuff. 2000-08-08 12:34 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.27), libsvn_delta/Makefile.am (1.2), libsvn_delta/delta_parse.c (1.23), libsvn_delta/xml_parse.c (1.23): Delta library compiles now. 2000-08-08 12:17 Karl Fogel <kfogel@collab.net> * TASKS (1.3): list repository conversion program 2000-08-08 12:03 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.26): (svn_delta_digger_t): uh, correct that other function pointer prototype, too. 2000-08-08 12:03 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.25): (svn_delta_digger_t): correct function pointer prototypes. 2000-08-08 11:53 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/.cvsignore (1.3), tests/libsvn_wc/.cvsignore (1.1): Ignore Makefile.in, Makefile, and ChangeLog* too. 2000-08-08 11:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/.cvsignore (1.1): Ignore Makefile.in, Makefile, and ChangeLog*. 2000-08-08 11:51 Karl Fogel <kfogel@collab.net> * subversion/Makefile.am (1.7): (SUBDIRS): include libsvn_wc. 2000-08-08 11:50 Karl Fogel <kfogel@collab.net> * configure.in (1.12): (AC_OUTPUT): generate Makefiles for libsvn_delta libsvn_wc. 2000-08-08 11:48 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.24): Clean up syntax errors -- we're compiling now. 2000-08-08 11:35 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: Makefile.am (1.1), delta_parse.h (1.3): Don't need intra-library header, but we do need automake. 2000-08-08 11:33 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.22), xml_parse.c (1.22): Make all routines static, except for one public interface: svn_delta_make_xml_parser() 2000-08-08 11:23 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/Makefile.am (1.1), libsvn_wc/update.c (1.7), tests/libsvn_wc/Makefile.am (1.1), tests/libsvn_wc/checkout-test.c (1.1), tests/libsvn_wc/checkout-test.sh (1.1): Print out checkout dirs. Skeleton of a test framework; probably doesn't compile yet, more to come. 2000-08-08 11:20 Ben Collins-Sussman <sussman@collab.net> * subversion/Makefile.am (1.6): Add delta dependency 2000-08-07 22:01 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.23): (svn_delta_stream_t): This shouldn't be a pointer to a struct; it's just an opaque struct. (svn_delta_read_fn_t): Provide a way to return EOF and short reads. (svn_delta_read_fn_t): Make this a function type, not a pointer-to-function type. (svn_text_delta): Adjust prototype. (svn_text_delta): Doc fixes. 2000-08-07 21:59 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.22): (svn_delta_window_t): "ops", not "insns". 2000-08-07 21:49 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.21): Rename: svn_delta_insn_t to svn_delta_op_t. 2000-08-07 21:42 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.20): Minor comment in Jim's text delta interface. (svn_walk_delta_stack): obsolete, removed. 2000-08-07 19:49 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/update.c (1.6): (delta_stack_to_path): throw out hysterical raisin. 2000-08-07 19:40 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/update.c (1.5): (delta_stack_to_path): replaces delta_to_path(), extracts file or directory paths with equal alacrity. 2000-08-07 19:34 Jim Blandy <jimb@redhat.com> * subversion/include/: svn_delta.h (1.18), svn_delta.h (1.19): Doc fix. 2000-08-07 19:30 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.21), xml_parse.c (1.21): Added type-checking to frame append/unpend. 2000-08-07 19:16 Jim Blandy <jimb@redhat.com> * subversion/include/svn_delta.h (1.17): Add interface to text deltas. 2000-08-07 18:35 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.20), xml_parse.c (1.20): (svn_walk_delta): gone. No need for a generic delta walker -- it's so simple, it'll be clearer to write out the logic each time and avoid an awkward callback mechanism. 2000-08-07 17:44 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.16), libsvn_delta/delta_parse.c (1.19), libsvn_delta/xml_parse.c (1.19): Finished stackframe rewrite... much cleaner. 2000-08-07 17:04 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.15), libsvn_delta/delta_parse.c (1.18), libsvn_delta/xml_parse.c (1.18): in process of rewriting w/ stack frames 2000-08-07 15:29 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_delta.h (1.14): Added delta stackframe type. 2000-08-05 18:35 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.17), xml_parse.c (1.17): Filled in some constructors. 2000-08-05 18:19 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.16), xml_parse.c (1.16): Finished 2nd draft (big rewrite) of: svn_find_delta_bottom() svn_starpend_delta() svn_xml_handle_start() svn_xml_handle_end() 2000-08-05 17:55 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.13), libsvn_delta/delta_parse.c (1.15), libsvn_delta/xml_parse.c (1.15), libsvn_wc/update.c (1.4): Codus Interruptus, saving state: Implementing svn_walk_delta() before implementing delta_to_path() before implementing update_dir_handler(). Someone remind me to read this log entry to figure what to do next. (svn_walk_delta): in progress. (update_dir_handler): waiting on above and delta_to_path(). 2000-08-05 17:40 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.14), xml_parse.c (1.14): Factorization in progress. 2000-08-05 17:26 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.12): Correct prototype for svn_delta_digger_t->dir_handler. 2000-08-05 17:20 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_subr/hashdump-test.c (1.6): Correct path to find svn-dev.el in local vars section. 2000-08-05 17:19 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.13), xml_parse.c (1.13): Fleshed out most of svn_xml_handle_end(). 2000-08-05 17:18 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/update.c (1.3): (check_existence): new func, helper for update() and later for callbacks. (update): use above. (update_data_handler, update_dir_handler): replace `svn_update_data_handler' and `svn_update_data_handler' respectively, albeit not respectfully. 2000-08-05 17:03 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.12), xml_parse.c (1.12): Finished svn_starpend_delta() -- appends object to bottom of delta, or deletes bottommost object in delta. Uses new version of svn_find_delta_bottom(), which now returns both the bottommost *and* penultimate objects in the delta (needed for deletion.) 2000-08-05 16:46 Karl Fogel <kfogel@collab.net> * subversion/include/svn_error.h (1.8): (SVN_ERR_OBSTRUCTED_UPDATE): new error. 2000-08-05 16:33 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/update.c (1.2): (update): set up digger before passing it to the parser creator; this is more intuitive although not technically necessary. 2000-08-05 16:21 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/update.c (1.1): (update): new function, entry point. (svn_update_data_handler, svn_update_dir_handler): started helpers for `update()'. 2000-08-05 16:07 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_error.h (1.7), libsvn_delta/delta_parse.c (1.11), libsvn_delta/xml_parse.c (1.11): Broke apart recursive delta cdr() logic from appending logic. 2000-08-05 16:02 Karl Fogel <kfogel@collab.net> * subversion/include/: svn_string.h (1.22), svn_types.h (1.37): Define svn_string_t type in svn_string.h now, using explicit structs for forward references. 2000-08-05 15:48 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.11), libsvn_delta/delta_parse.c (1.10), libsvn_delta/xml_parse.c (1.10), tests/libsvn_delta/deltaparse-test.c (1.3): (svn_delta_make_xml_parser): new constructor function (rename of svn_xml_make_parser). Use it in test program. 2000-08-05 15:44 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.10): Include xmlparse.h. (svn_xml_make_parser): prototype. 2000-08-05 14:37 Karl Fogel <kfogel@collab.net> * subversion/include/: svn_delta.h (1.9), svn_types.h (1.36): Moved all delta definitions from svn_types.h to svn_delta.h. Namespace-protect enum values with "svn_". 2000-08-05 12:56 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.9), delta_parse.h (1.2), xml_parse.c (1.9): Remove useless constructors. :) 2000-08-05 12:41 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.8), libsvn_delta/delta_parse.c (1.8), libsvn_delta/xml_parse.c (1.8): Made note about possible context optimization for data handler callback. 2000-08-05 12:34 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_delta.h (1.7), include/svn_types.h (1.35), libsvn_delta/delta_parse.c (1.7), libsvn_delta/xml_parse.c (1.7): Working with Ben: Got rid of `svn_ancestor_t' -- it was only used for one thing, so just hold its fields inline. Say `this_edit_content' instead of `new_edit_content', to avoid implying that the type of the edit is `new'. Point out some remaining bookkeeping tasks in comments. Got rid of some old debugging code. 2000-08-05 11:53 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.6), xml_parse.c (1.6): First draft of svn_xml_startElement(). 2000-08-05 11:40 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_wc/checkout-1.delta (1.5): <new> tag always requires name attribute. 2000-08-05 11:27 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/svn_parse.c (1.30): Oops, a little too eager in the "FILE" ==> "file" conversion. 2000-08-05 11:26 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/svn_parse.c (1.29): "FILE" ==> "file" 2000-08-05 11:17 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.6), libsvn_delta/delta_parse.c (1.5), libsvn_delta/delta_parse.h (1.1), libsvn_delta/xml_parse.c (1.5): Filling out main expat callback. 2000-08-04 22:44 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.5), include/svn_types.h (1.34), libsvn_delta/delta_parse.c (1.4), libsvn_delta/xml_parse.c (1.4): 1. Defined new enum svn_XML_elt_t, describing different XML elts we may encounter when building a delta. 2. Defined svn_append_to_delta(delta, object, svn_XML_elt_t), which traverses a delta-in-progress recursively and attaches object to the tip. 3. Started filling in main expat "open paren" callback with above routine. 2000-08-04 21:37 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_types.h (1.33): Removed *next field from svn_edit_t, because our in-memory delta will _never_ need to hold more than one edit at a time; one edit will always be "closed" before the next sibiling edit begins. Thus the "edit" field of our delta should be thought of us as "the current edit we're working on", _not_ a list of edits. 2000-08-04 17:42 Karl Fogel <kfogel@collab.net> * subversion/libsvn_delta/: delta_parse.c (1.3), xml_parse.c (1.3): Start constructors for delta components; we'll need destructors, too. 2000-08-04 17:24 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.4): (svn_delta_digger_t): explain how diggers are used. 2000-08-04 16:57 Karl Fogel <kfogel@collab.net> * subversion/include/svn_delta.h (1.3): Hmmm, somehow missed the local eval ritual -- put it in again. 2000-08-04 16:53 Karl Fogel <kfogel@collab.net> * subversion/include/: svn_delta.h (1.2), svn_hash.h (1.3): Use `apr_pool_t' now, not `ap_pool_t'. Document callbacks as caller will use them. Added the usual local eval ritual to the end of svn_delta.h and svn_hash.h. (unknown_elt_handler): more descriptive name for `default_handler'. 2000-08-04 16:40 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_delta.h (1.1), include/svn_types.h (1.32), libsvn_delta/delta_parse.c (1.2), libsvn_delta/xml_parse.c (1.2), tests/libsvn_delta/deltaparse-test.c (1.2): Started XML-to-Delta callback system. 2000-08-04 15:49 Karl Fogel <kfogel@collab.net> * subversion/include/svn_types.h (1.31): Point out streamy construction/deconstruction of deltas w.r.t. XML parser, remove note about now-obsolete method. 2000-08-04 15:44 Karl Fogel <kfogel@collab.net> * subversion/include/svn_types.h (1.30): (svn_edit_content_t): can include a tree delta as content. (svn_ver_t, svn_user_t): cosmetic fix: use the `_t' suffix even in the structure namespace, for consistency. 2000-08-04 15:34 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/checkout-1.delta (1.4): Double quotes for readability (as per Greg Stein's email about XML accepting either). 2000-08-04 14:23 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_delta/delta_parse.c (1.1), libsvn_delta/xml_parse.c (1.1), tests/libsvn_delta/deltaparse-test.c (1.1), libsvn_wc/deltaparse.c (1.2), tests/libsvn_wc/deltaparse-test.c (1.2): moving files around 2000-08-04 13:50 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_wc/deltaparse.c (1.1), tests/libsvn_wc/deltaparse-test.c (1.1): deltaparser started 2000-08-04 12:06 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/hashdump.c (1.8): Null-terminate the hand-constructed strings. 2000-08-04 12:03 Karl Fogel <kfogel@collab.net> * subversion/include/svn_types.h (1.29): (svn_edit_t): add `action_end' in enum `kind', comment explaining why. 2000-08-04 11:59 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/checkout-1.delta (1.3): Quote the value of the version number attribute, too. 2000-08-04 11:45 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/hashdump.c (1.7): Put in the standard emacs local vars trailer. 2000-08-04 11:42 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/propdump.c (1.16): obsoleted by ../libsvn_subr/hashdump.c 2000-08-04 11:32 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/checkout-1.delta (1.2): Single quotes, not double quotes (this is XML). 2000-08-04 11:32 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_wc/: checkout-1.delta (1.1), checkout-1.txt (1.1): A test delta. 2000-08-04 07:55 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_types.h (1.28): readability tweak 2000-08-04 07:36 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_types.h (1.27): tweak 2000-08-04 07:33 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_types.h (1.26): Heh, just tweaking Karl's data schema... almost identical to mine. :) 2000-08-03 16:11 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.28): Settled skelta issues w/ Ben, able to describe rest of working copy format. 2000-08-03 15:22 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_subr/hashdump-test.c (1.5): (main): pass 0, not NULL, as arg 2 to svn_create_error(). 2000-08-03 15:03 Ben Collins-Sussman <sussman@collab.net> * autogen.sh (1.7): autogen.sh checks for automake >= 1.4 now 2000-08-03 14:55 Karl Fogel <kfogel@collab.net> * TASKS (1.2): clarify tentative diff interface 2000-08-03 14:31 Karl Fogel <kfogel@collab.net> * TASKS (1.1): parallelizable tasks 2000-08-03 09:39 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.11), subversion/include/svn_error.h (1.6), subversion/include/svn_hash.h (1.2), subversion/include/svn_parse.h (1.3), subversion/include/svn_string.h (1.21), subversion/include/svn_svr.h (1.30), subversion/include/svn_types.h (1.25), subversion/include/svn_wc.h (1.5), subversion/libsvn_subr/hashdump.c (1.6), subversion/libsvn_subr/svn_error.c (1.26), subversion/libsvn_subr/svn_parse.c (1.28), subversion/tests/libsvn_subr/hashdump-test.c (1.4), subversion/libsvn_wc/propdump.c (1.15): whoa, APR has changed. s/ap_/apr_ 2000-08-03 07:44 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/README (1.27): Added some comments for discussion 2000-08-02 17:19 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.10): ./configure now tells apr/ to run configure; our top-level Makefile builds apr first now, too. 2000-08-01 16:36 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_subr/.cvsignore (1.2), doc/.cvsignore (1.6, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): tweaking .cvsignores 2000-08-01 16:31 Ben Collins-Sussman <sussman@collab.net> * subversion/.cvsignore (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), doc/.cvsignore (1.5), subversion/libsvn_subr/.cvsignore (1.1, milestone-1, milestone-1-beta), subversion/tests/libsvn_subr/.cvsignore (1.1): adding .cvsignore files all around which ignore automake/autoconf stuff 2000-08-01 16:29 Ben Collins-Sussman <sussman@collab.net> * .cvsignore (1.2), configure.in (1.9), subversion/Makefile.am (1.5): tweak 2000-08-01 15:11 Ben Collins-Sussman <sussman@collab.net> * subversion/: Makefile.am (1.4), tests/libsvn_subr/Makefile.am (1.2), tests/libsvn_subr/hashdump-test.sh (1.1): <make check> now runs automated tests in libsvn_string and libsvn_subr 2000-08-01 13:06 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.8), subversion/Makefile.am (1.3), doc/Makefile.am (1.2, milestone-1, milestone-1-beta), doc/README (1.8, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): doc/ should be autoconf'd now 2000-08-01 11:59 Ben Collins-Sussman <sussman@collab.net> * doc/: Makefile (1.14), Makefile.am (1.1): autoconfiscating doc/ 2000-07-31 20:32 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.27): Try not to contradict ../subversion/libsvn_wc/README too much, although this whole section will have to be updated in a big way eventually. 2000-07-31 20:31 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.26): Start describing concrete working copy layout and algorithms for walking around in it. 2000-07-31 20:30 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/Makefile.am (1.2): tweak 2000-07-31 20:26 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.7): save work 2000-07-31 20:24 Ben Collins-Sussman <sussman@collab.net> * subversion/tests/libsvn_subr/: Makefile (1.2), Makefile.am (1.1): autoconf libsvn_subr/tests/ 2000-07-31 20:09 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/Makefile.am (1.1): [no log message] 2000-07-31 20:08 Ben Collins-Sussman <sussman@collab.net> * autogen.sh (1.6), subversion/Makefile.am (1.2), subversion/include/svn_error.h (1.5), subversion/libsvn_subr/README.errors (1.3, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), subversion/libsvn_subr/svn_error.c (1.25): saving autoconf work 2000-07-31 19:34 Ben Collins-Sussman <sussman@collab.net> * configure.in (1.6): still autoconfiscating... getting the hang of it. :) 2000-07-31 15:44 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.25, before-big-rewrite): Scenario 2. 2000-07-31 14:04 Ben Collins-Sussman <sussman@collab.net> * autogen.sh (1.5), configure.in (1.5): hacking on autoconfiscation 2000-07-31 13:11 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.24): Scenario 1. 2000-07-31 12:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.23): Point out the implied redundancy between Tables 2 and 3. 2000-07-31 12:03 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.22): Quick tweak before working on scenarios. 2000-07-31 12:02 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.21): Get rid of the "working here" tag. Not working there anymore. 2000-07-31 11:55 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.20): The tables don't need to show conflict foldability -- that's just an optimization, not a fundamental property. 2000-07-31 11:43 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.19): Mark working point more clearly for JimB. 2000-07-28 11:17 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/hashdump.c (1.5): fixing casting warning 2000-07-27 23:31 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/hashdump.c (1.4): (svn_pack_bytestring): Don't reallocate, just assemble the string by hand, copying the data pointer. 2000-07-27 16:57 Ben Collins-Sussman <sussman@collab.net> * subversion/: libsvn_subr/hashdump.c (1.3), tests/libsvn_subr/hashdump-test.c (1.3): Test program works; we can read/write hash tables to disk now. 2000-07-27 16:12 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_hash.h (1.1), libsvn_subr/hashdump.c (1.2), libsvn_wc/Makefile (1.5), tests/libsvn_subr/Makefile (1.1), tests/libsvn_subr/hashdump-test.c (1.2): Header file reorganization 2000-07-27 15:25 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_error.h (1.4), libsvn_subr/hashdump.c (1.1), libsvn_wc/hashdump.c (1.7), tests/libsvn_subr/hashdump-test.c (1.1): Movin' stuff around 2000-07-27 01:00 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/hashdump.c (1.6): Document hash dump format more accurately, too. 2000-07-27 00:57 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/hashdump.c (1.5): (read_length_line): document better. 2000-07-27 00:53 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/hashdump.c (1.4): (hash_read): started. (read_length_line): helper for above. 2000-07-27 00:18 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/hashdump.c (1.3): Call return values `err', not `status', and deprolicize accordingly. Jim was right, we don't need the SVN_NO_ERROR mnemonic. If we just use a variable named `err', then the clearest thing to do is test it as a boolean directly. 2000-07-26 23:17 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile (1.4), hashdump.c (1.2): Run in static space. 2000-07-26 23:16 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/svn_error.c (1.24): Fix format mismatch in fprintf(). 2000-07-26 23:15 Karl Fogel <kfogel@collab.net> * subversion/include/: svn_string.h (1.20), svn_types.h (1.24): Define `svn_string_t' in svn_types.h after all, otherwise we had a circular include problem. 2000-07-26 17:35 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/hashdump.c (1.1): PR:hash_write() is now generalized, taking a helper function. TODO: hack the test program to use svn_unpack_bytestring() as the helper function, and print out a property hash. 2000-07-26 16:20 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_wc/README (1.18): a few comments 2000-07-25 18:55 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.17): Clean out a lot of cruft. Almost at a General Theory of Change Compatibility here. 2000-07-25 17:16 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.16): Justify the Symmetry Principle. (As close to proof as we're going to get, probably.) 2000-07-25 14:43 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.15): More expanation fill-in. Following through examples based on a few of the table cells (a pain now, will be glad we did it later). The examples are showing up a need to tweak Table 1, I think. 2000-07-24 17:07 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.14): Explain commit algorithm in full. 2000-07-24 11:43 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.13): Lay out third server decision table (direct changes against direct changes). Make earlier parts of text clearer. 2000-07-22 17:26 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.12): Write up conflict tables. 2000-07-21 19:06 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.11): Checkin so can go work at home. 2000-07-21 17:14 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.10): More explanation (writing with Ben, wish commits could have N authors). 2000-07-21 16:48 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.9): Wow. We are going to *own* this problem by the time we're done. In progress describing the pre-commit check and update-delta-generation algorithms. It's kind of hairy, but Ben has found a theoretical framework, we are still applying it. 2000-07-21 12:06 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.8): more tweaks 2000-07-21 11:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.7): tweaks 2000-07-21 11:29 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.6): Update/commit algorithm described. Aaaah. 2000-07-21 11:28 Ben Collins-Sussman <sussman@collab.net> * notes/the_update_problem.txt (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): save work 2000-07-21 11:13 Ben Collins-Sussman <sussman@collab.net> * notes/the_update_problem.txt (1.1): saving work 2000-07-21 11:08 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.5): Update/commit algorithm half-described (good checkin point). 2000-07-21 10:46 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/README (1.4): List principles involved in the update algorithm (next, describe the algorithm). 2000-07-18 16:23 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/propdump.c (1.14): Fix buglet noticed by JimB (that of not being handling the most-negative number). 2000-07-18 15:19 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.29): Removed policy-level permission-checking from server; redundant with Apache. 2000-07-17 17:32 Jim Blandy <jimb@redhat.com> * subversion/include/: svn_string.h (1.19), svn_types.h (1.23): * svn_string.h: No need to #include <svn_types.h> any more. Do #include <apr_pools.h>, however. (svn_string_t): Move the definition of this type here. * svn_types.h: #include <svn_string.h>. (svn_string_t): Definition removed. PR: Obtained from: Submitted by: Reviewed by: 2000-07-17 17:19 Jim Blandy <jimb@redhat.com> * subversion/include/svn_parse.h (1.2): New parsing API, and underlying data structure. 2000-07-17 16:47 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_error.h (1.3), include/svn_parse.h (1.1), libsvn_subr/svn_error.h (1.26), libsvn_subr/svn_parse.h (1.9): moved headers to include/ 2000-07-17 16:09 Jim Blandy <jimb@redhat.com> * subversion/: include/svn_string.h (1.18), include/svn_svr.h (1.28), include/svn_types.h (1.22), include/svn_wc.h (1.4), libsvn_subr/svn_error.h (1.25), libsvn_subr/svn_parse.h (1.8): Rename symbols used to protect header files from multiple #inclusion so the symbols don't tread on the system C library's name space. PR: Obtained from: Submitted by: Reviewed by: 2000-07-17 14:50 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_error.c (1.23): oops, I meant vfprintf 2000-07-17 14:23 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_error.c (1.22): fix default warning handler 2000-07-17 14:17 Ben Collins-Sussman <sussman@collab.net> * notes/svn-config-files (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), subversion/include/svn_svr.h (1.27), subversion/libsvn_subr/svn_error.c (1.21), subversion/libsvn_subr/svn_error.h (1.24), subversion/libsvn_subr/svn_parse.c (1.27): add warning hook to policy structure, replace warning calls appropriately. 2000-07-17 13:17 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.h (1.23), svn_parse.c (1.26): tr/SVN_SUCCESS/SVN_NO_ERROR 2000-07-17 13:13 Karl Fogel <kfogel@collab.net> * subversion/svn-dev.el (1.4, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): Get rid of annoying load-message pause. I have no idea why I put it in there in the first place. 2000-07-17 11:18 Jim Blandy <jimb@redhat.com> * doc/client.texi (1.26): Specify that the VDelta data is encoded using MIME Base64. 2000-07-17 10:57 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_svr.h (1.26), include/svn_types.h (1.21), libsvn_subr/svn_error.h (1.22): Major rewrite of Subversion Server logic: instead of 15 wrappered filesystem calls, we now have *one* filesystem wrapper that takes a svn_fsrequest_t structure as input. MUCH CLEANER. 2000-07-17 09:09 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.h (1.21), svn_parse.c (1.25): No subversion routine calls svn_handle_error() anymore; instead, warnings are created by generating & nesting a stack of errors of type SVN_WARNING. At the end of the routine, the batch (stack) is returned. Applications that have their own error-handling code should recognized the SVN_WARNING type and realize it's non-fatal. 2000-07-14 19:14 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_svr.h (1.25), libsvn_subr/svn_error.h (1.20): Fleshing out lots of server routines... much stuff. 2000-07-14 17:24 Karl Fogel <kfogel@collab.net> * AUTHORS (1.2): Added "make changelog" rule, runs cvs2cl.pl but only on certain subdirs, of which apr/ is not one. This makes ChangeLog generation much faster, which is good, since 90% of the time we're looking for a change that happened in Subversion. [This also means that `.' is being ignored, but that will require a slightly fancy solution. Coming soon.] Reformat AUTHORS file for --usermap option to cvs2cl.pl. 2000-07-14 16:47 Karl Fogel <kfogel@collab.net> * README (1.6), autogen.sh (1.4): Deal with new apr/ situation. 2000-07-14 16:30 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.c (1.20), svn_error.h (1.19), svn_parse.c (1.24): Added src_err field to error structure, changed calls to svn_create_error 2000-07-13 19:44 Greg Stein <gstein@lyra.org> * subversion/libsvn_wc/propdump.c (1.13): *) there are easier ways to concatenate C strings *) note: svn_wc_proplist_write() should probably take a const char * *) tweaks for new error handling 2000-07-13 19:10 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_svr.h (1.24), libsvn_subr/svn_parse.c (1.23), libsvn_subr/svn_parse.h (1.7): Changed the way server inits; fixed other random typos. 2000-07-13 19:08 Karl Fogel <kfogel@collab.net> * configure.in (1.4): Okay, stringtest builds too. 2000-07-13 18:53 Karl Fogel <kfogel@collab.net> * configure.in (1.3): Got libsvn_string.so building... 2000-07-13 17:07 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/: README.errors (1.2), svn_error.h (1.18): Got rid of SVN_RETURN_IF_ERROR() and SVN_RETURN_WRAPPED_ERROR() macros; expand to inline code everywhere they had been used. There was a general consensus that a macro affecting control flow must meet three criteria: 1. The need must be compelling (for example, it replaces very complex inline code). 2. Its meaning must be obvious from looking at a use of the macro (without reference to its expansion). 3. It must work in any context. These macros probably met 2 and 3, but not 1. 2000-07-13 14:42 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.c (1.19), svn_error.h (1.17), svn_parse.c (1.22): Removed FATAL flag from error structure. 2000-07-13 10:04 Greg Stein <gstein@lyra.org> * subversion/libsvn_wc/: .cvsignore (1.2), Makefile (1.3), propdump.c (1.12): compile/build fixes 2000-07-13 10:03 Greg Stein <gstein@lyra.org> * subversion/libsvn_subr/: svn_error.c (1.18), svn_error.h (1.16): compilation fixes 2000-07-13 07:05 Greg Stein <gstein@lyra.org> * subversion/libsvn_subr/svn_error.h (1.15): tweak the macros so they bind properly within an enclosing if/else construct 2000-07-13 01:34 Karl Fogel <kfogel@collab.net> * autogen.sh (1.3): better msg 2000-07-13 01:09 Jim Blandy <jimb@redhat.com> * README (1.5): test commit as jimb, no change. -kff 2000-07-13 00:57 Karl Fogel <kfogel@collab.net> * autogen.sh (1.2), configure.in (1.2): more autoconfiscation work 2000-07-13 00:12 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_svr.h (1.23), libsvn_subr/svn_error.c (1.17), libsvn_subr/svn_error.h (1.14): * Removed ap_err and ap_description fields from error structure * svn_create_error() no longer tries to fill these fields * svn_handle_error() calls ap_canonical_error() and ap_strerror() when printing error structure 2000-07-13 00:11 Karl Fogel <kfogel@collab.net> * .cvsignore (1.1), AUTHORS (1.1), COPYING (1.1), HACKING (1.4), NEWS (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), autogen.sh (1.1), configure.in (1.1), subversion/Makefile.am (1.1): autoconfiscation in progress 2000-07-12 23:13 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.c (1.16), svn_error.h (1.13): tweaky tweaky 2000-07-12 22:48 dlr * subversion/libsvn_subr/svn_error.c (1.15): Corrected invalid pointer deference on assignment introduced during last commit. 2000-07-12 22:36 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/README.errors (1.1): Added instructions on exception system 2000-07-12 22:15 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.c (1.14), svn_error.h (1.12), svn_parse.c (1.21): error system now nests exceptions 2000-07-12 16:29 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_error.h (1.11): prefixed SVN_RETURN_IF_ERROR, and removed curly braces from it. 2000-07-12 15:53 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/propdump.c (1.11): Correct path to svn-dev.el in emacs local vars. 2000-07-12 15:52 Karl Fogel <kfogel@collab.net> * subversion/include/svn_types.h (1.20): Namespace-protect svn_svr_action_t, to avoid enumbiguities. (The prefix is "svn_action_". While "svn_svr_action_" would probably have been preferable, it's pretty long, and even starts getting close to the 32-char limit, as in `svn_svr_action_get_dirent_propnames'.) Use `svn_delta_action_t' instead of `svn_change_action_t', due to possible noun/verb confusion. All callers changed. 2000-07-12 14:38 Karl Fogel <kfogel@collab.net> * subversion/svn-dev.el (1.3): restore old value of PAGER env var 2000-07-12 14:33 Karl Fogel <kfogel@collab.net> * subversion/svn-dev.sh (1.3): wording tweak so output is less alarming 2000-07-12 14:09 Karl Fogel <kfogel@collab.net> * subversion/: libsvn_wc/propdump.c (1.10), libsvn_subr/svn_error.c (1.13), libsvn_subr/svn_parse.c (1.20): Use suggested "" vs <> #include convention everywhere. 2000-07-11 23:41 Greg Stein <gstein@lyra.org> * expat-lite/Makefile (1.1): get libexpat.a built. not an ideal Makefile, but that can happen when SVN gets a true config/build system. 2000-07-11 23:28 Greg Stein <gstein@lyra.org> * expat-lite/: Makefile.in (1.2), xmlparse.dsp (1.2), xmltok.dsp (1.2): oops. these should not have been imported. we have a different build environment from Apache. 2000-07-11 22:20 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_svr.h (1.22), include/svn_types.h (1.19), libsvn_subr/svn_error.h (1.10): saving work 2000-07-11 21:00 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/propdump.c (1.9): Hmm. Not sure if this bug isn't in apr_hash.c itself, now... After this code /* Test overwriting: same key both times, but different values. */ key = svn_string_create ("twice-used property name", pool); ap_hash_set (proplist, key->data, key->len, svn_string_create ("This is the FIRST value.", pool)); ap_hash_set (proplist, key->data, key->len, svn_string_create ("This is the SECOND value.", pool)); there should be no way for the "FIRST" value to still be in the hash table, right? Why is it still appearing in the dump, and not "SECOND"? 2000-07-11 20:33 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_svr.h (1.21), include/svn_types.h (1.18), include/svn_wc.h (1.3), libsvn_wc/propdump.c (1.8): Eliminate typedef of `svn_proplist_t' to `ap_hash_t'. Change all references to use `ap_hash_t'. We'll be good, GCC. Promise. 2000-07-11 20:26 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/propdump.c (1.7): Hash on (svn_string_t).data now. There's still a bug, though; see the final two entries in the test main() function. 2000-07-11 20:23 Greg Stein <gstein@lyra.org> * expat-lite/README.svn (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): describe where this stuff comes from and how to update it. 2000-07-11 20:20 Greg Stein <gstein@lyra.org> * expat-lite/: CHANGES (1.1), Makefile.in (1.1), asciitab.h (1.1), dllmain.c (1.1), expat.html (1.1), hashtable.c (1.1), hashtable.h (1.1), iasciitab.h (1.1), latin1tab.h (1.1), nametab.h (1.1), utf8tab.h (1.1), xmldef.h (1.1), xmlparse.c (1.1), xmlparse.def (1.1), xmlparse.dsp (1.1), xmlparse.h (1.1), xmlrole.c (1.1), xmlrole.h (1.1), xmltok.c (1.1), xmltok.def (1.1), xmltok.dsp (1.1), xmltok.h (1.1), xmltok_impl.c (1.1), xmltok_impl.h (1.1), xmltok_ns.c (1.1): Initial revision 2000-07-11 20:20 Greg Stein <gstein@lyra.org> * expat-lite/: CHANGES (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), Makefile.in (1.1.1.1), asciitab.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), dllmain.c (1.1.1.1), expat.html (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), hashtable.c (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), hashtable.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), iasciitab.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), latin1tab.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), nametab.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), utf8tab.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmldef.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmlparse.c (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmlparse.def (1.1.1.1), xmlparse.dsp (1.1.1.1), xmlparse.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmlrole.c (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmlrole.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmltok.c (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmltok.def (1.1.1.1), xmltok.dsp (1.1.1.1), xmltok.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmltok_impl.c (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmltok_impl.h (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), xmltok_ns.c (1.1.1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta) (utags: CVS_2_0_20000711): apache-2.0_20000711/src/lib/expat-lite/ 2000-07-11 20:19 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.20): checking in current state, so karl can do global search/replace 2000-07-11 19:53 Greg Stein <gstein@lyra.org> * README (1.4): Test commit as gstein; no change. -kff 2000-07-11 19:51 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_parse.c (1.19): prefixed all non-exported routines with svn_ to avoid namespace conflicts. 2000-07-11 19:42 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_parse.c (1.18): parser stores string->data as a hash key now, not (string *), phew. 2000-07-11 19:21 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.c (1.12), svn_error.h (1.9), svn_parse.c (1.17), svn_parse.h (1.6): svn_parse() now returns svn_error_t *, and takes ap_hash_t ** as an argument 2000-07-11 02:15 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: README (1.3), propdump.c (1.6): Clean up some loose ends, zzzzz. 2000-07-11 01:47 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: Makefile (1.2), propdump.c (1.5): Clean up, add "make test" rule. 2000-07-11 01:40 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/propdump.c (1.4): Remove debugging code. 2000-07-11 01:38 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/propdump.c (1.3): Be even more readable than that. 2000-07-11 01:37 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/propdump.c (1.2): Be more readable in num_into_string(). 2000-07-11 01:32 Karl Fogel <kfogel@collab.net> * subversion/libsvn_wc/: .cvsignore (1.1), Makefile (1.1), README (1.2), propdump.c (1.1): Implemented property dumping. 2000-07-11 01:31 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/svn_error.c (1.11): Don't output that line of asterisks. (Although we may have a server error prefix later, like CVS's "E ". 2000-07-11 01:31 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.2): Minor textual tweaks. 2000-07-11 01:30 Karl Fogel <kfogel@collab.net> * README (1.3): Note presence of glib. 2000-07-11 01:29 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/: svn_error.h (1.8), svn_parse.c (1.16): Define SVN_FATAL and SVN_NON_FATAL, use in all error calls. (For readability). 2000-07-11 01:29 Karl Fogel <kfogel@collab.net> * subversion/include/svn_types.h (1.17): Resolve some enumbiguities. 2000-07-11 01:27 Karl Fogel <kfogel@collab.net> * subversion/svn-dev.el (1.2): Added `svn-perldoc' and friends. Run "M-x svn-perldoc", using "apr/include/apr_lib.h" when it asks for a file, to see what it does. 2000-07-10 20:28 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.19): saving work, working on loading plugins 2000-07-10 17:37 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_error.c (1.10): nicer error printout 2000-07-07 20:42 Karl Fogel <kfogel@collab.net> * subversion/include/svn_types.h (1.16): Added delta types (needed for libsvn_wc). 2000-07-07 20:06 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.18): svn_svr_init() test works... 2000-07-07 19:44 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_string.h (1.17), libsvn_subr/svn_error.h (1.7), libsvn_subr/svn_parse.c (1.15): saving lots of random work threads. 2000-07-07 19:26 Karl Fogel <kfogel@collab.net> * subversion/svn-dev.sh (1.2): Fix (thanks, Ben). 2000-07-07 17:40 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.25): Correct decimal ascii number of single forward quote (', not `). 2000-07-07 15:53 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.17): save work\! 2000-07-07 15:35 Karl Fogel <kfogel@collab.net> * subversion/svn-dev.sh (1.1): Set up development environment (handles LD_LIBRARY_PATH for now). 2000-07-07 15:03 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/: svn_parse.c (1.14), svn_parse.h (1.5): Revert formatting tweaks from previous commit. Neurotic control tendencies *must be controlled*. 2000-07-07 14:57 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/: svn_parse.c (1.13), svn_parse.h (1.4): Change return conventions of slurp__to(), tweak some formatting. 2000-07-06 23:51 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_parse.c (1.12): Parser bug fixed. Test program works correctly, and successfully pretty-prints our hash of hashes. Sorry, Karl, I beat you to it. :) 2000-07-06 19:45 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_string.h (1.16), libsvn_subr/svn_error.c (1.9), libsvn_subr/svn_parse.c (1.11), libsvn_subr/svn_parse.h (1.3): debugging parser; svn_string_print is temporarily altered 2000-07-06 18:32 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_string.h (1.15), libsvn_subr/svn_parse.c (1.10): moved some convenient string routines from svn_parse.c to svn_string.c 2000-07-05 23:41 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_string.h (1.14), libsvn_subr/svn_error.c (1.8), libsvn_subr/svn_error.h (1.6), libsvn_subr/svn_parse.c (1.9): bugfixes 2000-07-05 23:01 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.c (1.7), svn_parse.c (1.8): mmm, no more compiler warnings from -Wall... 2000-07-05 22:11 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.c (1.6), svn_error.h (1.5), svn_parse.c (1.7), svn_parse.h (1.2): svn_error.c and svn_parse.c actually compile now. 2000-07-05 21:37 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_parse.c (1.6): time to write a parser test program 2000-07-05 20:06 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_parse.c (1.5): almost done coding parser... heh 2000-07-05 19:22 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_parse.c (1.4): save, save, save... 2000-07-05 17:58 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: alloc.c (1.6), alloc.h (1.6), svn_error.c (1.5), svn_error.h (1.4), svn_parse.c (1.3): removing uncessary alloc files, we're using apr pools now. 2000-07-05 14:51 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_string.h (1.13), include/svn_types.h (1.15), libsvn_subr/svn_parse.c (1.2): added svn_string_2cstring() 2000-07-05 14:21 Ben Collins-Sussman <sussman@collab.net> * notes/svn-config-files (1.1), subversion/libsvn_subr/svn_parse.c (1.1), subversion/libsvn_subr/svn_parse.h (1.1): started writing parser 2000-07-04 15:28 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_svr.h (1.16), svn_types.h (1.14): really big checkin 2000-07-03 22:17 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_types.h (1.13): fleshing out filesystem wrappers in full, ahhh. 2000-07-03 21:30 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.15): adding internal, non-exported routines to server library 2000-07-03 20:47 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_svr.h (1.14), libsvn_subr/svn_error.c (1.4), libsvn_subr/svn_error.h (1.3): save save save 2000-07-03 20:12 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/svn_error.c (1.3): error handler 2000-07-03 19:52 Ben Collins-Sussman <sussman@collab.net> * subversion/libsvn_subr/: svn_error.c (1.2), svn_error.h (1.2): simple error handling stuff started 2000-07-03 18:25 Karl Fogel <kfogel@collab.net> * subversion/: include/svn_error.h (1.2), libsvn_subr/svn_error.h (1.1): Move svn_error.h from include/ to svn_subr/, because it's an internal interface, not an exported one. 2000-07-03 18:22 Ben Collins-Sussman <sussman@collab.net> * subversion/: include/svn_error.h (1.1), libsvn_subr/svn_error.c (1.1): adding error handling files 2000-07-03 14:56 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_svr.h (1.13), svn_types.h (1.12): Many changes; using svn_strings, ap_arrays, ap_hashes, and ap_pools in many new places. 2000-06-30 20:42 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_string.h (1.12), svn_svr.h (1.12), svn_types.h (1.11): save, save, save 2000-06-30 18:09 Karl Fogel <kfogel@collab.net> * subversion/include/svn_wc.h (1.1): Oops, forgot to add this header file in the previous commit. 2000-06-30 18:08 Karl Fogel <kfogel@collab.net> * HACKING (1.3), doc/README (1.7), subversion/include/svn_svr.h (1.11), subversion/include/svn_types.h (1.10), subversion/libsvn_wc/README (1.1): Started working copy management library. Update other headers and docs to note some `todo' items. 2000-06-29 15:57 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_string.h (1.11): peppered const's into string library. yum. 2000-06-23 15:52 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_string.h (1.10): committed changes suggested by Greg Stein 2000-06-23 10:11 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_string.h (1.9): bytestrings now work correctly with ap_pool_t 2000-06-22 18:48 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_string.h (1.8): libsvn_string now uses ap_pool_t instead of malloc; but having LD problems trying to link libapr.a in, argh 2000-06-21 13:54 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_string.h (1.7): finished bytestring library and little test program. 2000-06-21 13:29 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_string.h (1.6), svn_types.h (1.9): adding tests 2000-06-21 12:28 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_string.h (1.5): added convenience routine 2000-06-21 12:11 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_string.h (1.4): fixed string routines 2000-06-21 10:14 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_string.h (1.3): about to fix errors 2000-06-20 19:08 Jim Blandy <jimb@redhat.com> * doc/server.texi (1.32, milestone-1, milestone-1-beta): Use @emph instead of @b, where appropriate. 2000-06-20 17:17 Karl Fogel <kfogel@collab.net> * subversion/tests/libsvn_vcdiff/: README (1.2), target0.txt (1.1) (utags: milestone-1, milestone-2, milestone-1-beta, post-edit-baton-removal, pre-edit-baton-removal): Added test with example text from vdelta paper. (make_vdelta): replaces take_delta(). Describe algorithm and planned improvements in expository comment at top. DTRT at end of sequence. Note o-b-o-e. (main): Allow deltas against null source, since it's just compression anyway. 2000-06-20 16:10 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_string.h (1.2), svn_types.h (1.8): added bytestring routines 2000-06-20 15:58 Jim Blandy <jimb@redhat.com> * doc/client.texi (1.24): Describe concrete form for text, property, and tree deltas. Allow tree deltas to contain property deltas, for files, directories, and directory entries. Add version numbers to tree deltas. 2000-06-19 18:48 Karl Fogel <kfogel@collab.net> * subversion/: tests/libsvn_vcdiff/README (1.1), tests/libsvn_vcdiff/source.txt (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), tests/libsvn_vcdiff/target1.txt (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), tests/libsvn_vcdiff/target2.txt (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), tests/libsvn_vcdiff/target3.txt (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), tests/libsvn_vcdiff/target4.txt (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), tests/libsvn_vcdiff/target5.txt (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta), libsvn_subr/alloc.c (1.5), libsvn_subr/alloc.h (1.5): Commit what I have, though further research with xdelta may make it moot. This is a working binary diff engine now, by the way, though the output format is kind of bogus. :-) Run `make', then `make test' to see it in action. (Start at the top of the output and work your way down, for best comprehension, and read tests/README too.) 2000-06-19 17:47 Karl Fogel <kfogel@collab.net> * README (1.2): Note presence of APR. 2000-06-19 16:32 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_string.h (1.1), svn_types.h (1.7): add string files 2000-06-19 16:14 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_types.h (1.6): save 2000-06-16 17:58 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.10): plugins now register themselves, rather than the server digging for them 2000-06-16 17:22 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_svr.h (1.9), svn_types.h (1.5): wrote authorization_hooks glue code iterator thingie 2000-06-16 16:21 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.8): save save save 2000-06-16 12:33 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.7): saving work 2000-06-16 11:56 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_svr.h (1.6), svn_types.h (1.4): save work 2000-06-15 20:53 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/: alloc.c (1.4), alloc.h (1.4): Call it svn_slurp_file(). (Yes, I will check out APR tomorrow. :-) ) 2000-06-15 20:52 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/: alloc.c (1.3), alloc.h (1.3): Added slurp_file(), with some reservations. 2000-06-15 20:24 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/: alloc.c (1.2), alloc.h (1.2): Started hash tables for use in vdelta. 2000-06-15 19:50 Karl Fogel <kfogel@collab.net> * subversion/libsvn_subr/: alloc.c (1.1), alloc.h (1.1): started subr library 2000-06-15 17:59 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_svr.h (1.5), svn_types.h (1.3): started writing server code and a first plugin 2000-06-15 13:25 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.4): tweak 2000-06-15 13:25 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.31): Added security section, finally. 2000-06-15 11:59 Karl Fogel <kfogel@collab.net> * doc/svn-design.texi (1.13): Move contents commands to before `Top' node. Now we get a real table of contents. 2000-06-14 17:11 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.3): added svn_getuser () 2000-06-13 10:34 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_types.h (1.2): changed typedefs for common svn types 2000-06-13 10:07 Ben Collins-Sussman <sussman@collab.net> * doc/future.texi (1.7, milestone-1, milestone-1-beta): fixed future.texi nodes 2000-06-10 13:34 Karl Fogel <kfogel@collab.net> * doc/README (1.6): Put Jim's texinfo notes here. 2000-06-09 17:55 Karl Fogel <kfogel@collab.net> * HACKING (1.2): tweak 2000-06-09 17:29 Ben Collins-Sussman <sussman@collab.net> * subversion/include/: svn_svr.h (1.2), svn_types.h (1.1): First stab at global types, and basic declarations of server library. 2000-06-09 13:38 Ben Collins-Sussman <sussman@collab.net> * subversion/include/svn_svr.h (1.1): saving work 2000-06-08 17:52 Ben Collins-Sussman <sussman@collab.net> * doc/future.texi (1.6): added SMTP network layer idea to blue-sky section. :) 2000-06-06 12:47 Karl Fogel <kfogel@collab.net> * HACKING (1.1), INSTALL (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), README (1.1), subversion/svn-dev.el (1.1): New files. 2000-06-06 12:40 Jim Blandy <jimb@redhat.com> * doc/: .cvsignore (1.4), Makefile (1.13), client.texi (1.23), future.texi (1.5), goals.texi (1.9, milestone-1, milestone-1-beta), model.texi (1.8, milestone-1, milestone-1-beta), server.texi (1.30), svn-design.texi (1.12): * client.texi, future.texi, goals.texi, model.texi, server.texi: Regenerate menus. * server.texi: Make sure each section has a @node command too. Give each node a unique name. * svn-design.texi: Add a @top command after the ``Top'' @node command. PR: Obtained from: Submitted by: Reviewed by: 2000-06-06 12:40 Ben Collins-Sussman <sussman@collab.net> * doc/README (1.5): Edited README 2000-06-06 12:24 Jim Blandy <jimb@redhat.com> * doc/Makefile (1.12): test commit number 3, ignore. -kff 2000-06-06 12:22 Jim Blandy <jimb@redhat.com> * doc/Makefile (1.11): test commit number 2, ignore. -kff 2000-06-06 12:20 Jim Blandy <jimb@redhat.com> * doc/Makefile (1.10): test commit, ignore. -kff 2000-06-06 11:58 Karl Fogel <kfogel@collab.net> * doc/README (1.4): undo previous test commit 2000-06-06 11:57 Karl Fogel <kfogel@collab.net> * doc/README (1.3): test commit, please ignore 2000-06-06 08:41 Karl Fogel <kfogel@collab.net> * doc/: .cvsignore (1.3), svn-design.texi (1.11): unimportant tweaks 2000-06-05 16:58 Karl Fogel <kfogel@collab.net> * subversion/LICENSE (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta): license for new source code directory 2000-06-05 16:54 Karl Fogel <kfogel@collab.net> * notes/: Makefile (1.7), README (1.7), diagram1.dia (1.2), diagram1.eps (1.2), meta-implementation.txt (1.2), outline2html.pl (1.10), subversion.txt (1.52): removed obsolete files 2000-06-05 12:07 jrobbins * www/cvs_help.html (1.4, before-obolete-dir-removals): corrected broken link 2000-06-03 02:22 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.13, before-obolete-dir-removals): Added other names to history. 2000-06-03 02:21 Karl Fogel <kfogel@collab.net> * www/project_docs.html (1.12, before-obolete-dir-removals): better intro 2000-06-03 02:18 Karl Fogel <kfogel@collab.net> * www/project_docs.html (1.11): fix typo 2000-06-03 02:17 Karl Fogel <kfogel@collab.net> * www/index.html (1.12): tweak 2000-06-03 02:14 Karl Fogel <kfogel@collab.net> * www/project_docs.html (1.10): note about html 2000-06-03 02:09 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.11): editing front page still 2000-06-03 01:58 Karl Fogel <kfogel@collab.net> * www/project_docs.html (1.9): svn-design, not subversion, now 2000-06-03 01:57 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.10): changed bottom again 2000-06-03 01:57 Karl Fogel <kfogel@collab.net> * www/project_docs.html (1.8): fix typo 2000-06-03 01:56 Karl Fogel <kfogel@collab.net> * www/project_docs.html (1.7): point to new docs 2000-06-03 01:54 Karl Fogel <kfogel@collab.net> * doc/Makefile (1.9, before-obolete-dir-removals): www target 2000-06-03 01:54 Ben Collins-Sussman <sussman@collab.net> * www/index.html (1.9): updated main page 2000-06-03 01:50 Karl Fogel <kfogel@collab.net> * doc/Makefile (1.8): Hardcode path to dvipdf. 2000-06-03 01:48 Karl Fogel <kfogel@collab.net> * doc/: .cvsignore (1.2, before-obolete-dir-removals), Makefile (1.7), README (1.2, before-obolete-dir-removals), architecture.texi (1.13, milestone-1, milestone-1-beta, before-obolete-dir-removals), client.texi (1.22, before-obolete-dir-removals), future.texi (1.4, before-obolete-dir-removals), goals.texi (1.8, before-obolete-dir-removals), license.texi (1.2, milestone-1, milestone-1-beta, before-obolete-dir-removals), model.texi (1.7, before-obolete-dir-removals), protocol.texi (1.4, milestone-1, milestone-1-beta, before-obolete-dir-removals), server.texi (1.29, before-obolete-dir-removals), svn-design.texi (1.10, before-obolete-dir-removals), svn-doc.el (1.3, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta, before-obolete-dir-removals): No change, just driving loginfo. 2000-06-03 01:41 Karl Fogel <kfogel@collab.net> * doc/model.texi (1.6): formatting fix 2000-06-03 01:40 Karl Fogel <kfogel@collab.net> * doc/: Makefile (1.6), architecture.texi (1.12), client.texi (1.21), future.texi (1.3), goals.texi (1.7), model.texi (1.5), protocol.texi (1.3), server.texi (1.28), svn-design.texi (1.9) (utags: after-lifeboat-checkin): from lifeboat 2000-06-02 14:20 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.27, before-lifeboat-checkin): preparing for bubbleup explanation 2000-06-02 13:32 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.26): leetle feexes 2000-06-02 13:10 Jim Blandy <jimb@redhat.com> * doc/client.texi (1.20, before-lifeboat-checkin): Fix sectioning levels. Minor text changes. 2000-06-02 12:40 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.25): Whittled away the filesystem API, point to client section. 2000-06-02 12:39 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.19): correct some data types 2000-06-02 12:22 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.18): Put "Requires/Provides" lists at the front of each section. 2000-06-02 12:15 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.17): Completed merge from Ben's server API list. 2000-06-02 12:08 Karl Fogel <kfogel@collab.net> * doc/: client.texi (1.16), server.texi (1.24): progress 2000-06-02 10:58 Ben Collins-Sussman <sussman@collab.net> * doc/: architecture.texi (1.11, before-lifeboat-checkin), server.texi (1.23): Removed all references to high-level' :) 2000-06-02 10:47 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.15): Put working copy layout and library as subnodes of new node "Working copies and the working copy library". Still a little awkward, may reorganize. 2000-06-02 10:47 Karl Fogel <kfogel@collab.net> * doc/goals.texi (1.6, before-lifeboat-checkin): tweak 2000-06-01 17:53 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.14): now makeable 2000-06-01 17:53 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.13): make 2000-06-01 17:47 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.22): saving work, now with Jimb suggestions (TM) applied 2000-06-01 17:26 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.12): update for jim 2000-06-01 17:07 Ben Collins-Sussman <sussman@collab.net> * doc/: architecture.texi (1.10), server.texi (1.21): Rewrote a lot of architecture.texi, still rewriting server.texi 2000-06-01 17:02 Jim Blandy <jimb@redhat.com> * doc/server.texi (1.20): Fix some minor typos. 2000-06-01 16:43 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.11): commit for Ben 2000-06-01 16:01 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.19): Removed entire database section. 2000-06-01 15:39 Ben Collins-Sussman <sussman@collab.net> * doc/: Makefile (1.5, before-lifeboat-checkin), architecture.texi (1.9), svn-design.texi (1.8, before-lifeboat-checkin): Added pdf to Makefile, removed DB layer from architecture diagram, and fixed order of pages in top level. 2000-06-01 15:31 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.10): formatting fix 2000-06-01 15:22 Karl Fogel <kfogel@collab.net> * doc/svn-design.texi (1.7): Re-order: client, then protocol, then server. 2000-06-01 13:30 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.9): progress 2000-06-01 13:27 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.18): bugfixes 2000-06-01 13:19 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.8): whiteboard dump 2000-06-01 13:11 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.17): Rewrote all of database and filesystem sections. 2000-05-31 23:23 Ben Collins-Sussman <sussman@collab.net> * www/subversion.jpg (1.2, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta, before-obolete-dir-removals): Match #f0f0f0 background color on graphic. 2000-05-31 23:21 Ben Collins-Sussman <sussman@collab.net> * www/: index.html (1.8), subversion.jpg (1.1): Cheesy late-night gimp graphic. :) 2000-05-31 12:46 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.16): mention props 2000-05-31 12:38 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.15): Sticking with Jim's recursive definition. 2000-05-31 12:11 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.14): Added restrictions to schema 2000-05-31 11:06 Jim Blandy <jimb@redhat.com> * doc/server.texi (1.13): Mention that version zero exists. 2000-05-31 10:59 Ben Collins-Sussman <sussman@collab.net> * doc/: architecture.texi (1.8), server.texi (1.12): Filesystem section seems correct now. Need to work out svn_main library to finish this. 2000-05-31 10:56 Jim Blandy <jimb@redhat.com> * doc/server.texi (1.11): Add property lists to directories. 2000-05-31 09:35 Ben Collins-Sussman <sussman@collab.net> * doc/model.texi (1.4, before-lifeboat-checkin): fixed some typos. 2000-05-30 22:46 Jim Blandy <jimb@redhat.com> * doc/model.texi (1.3): Fill in initial sketch of the model. 2000-05-30 17:02 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.7): minor changes 2000-05-30 16:52 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.10): server.texi fleshed out mostly, except for final high-level section. 2000-05-30 11:07 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.9): Finished locking section 2000-05-29 16:57 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.6): Started explaining client design. 2000-05-26 16:33 Karl Fogel <kfogel@collab.net> * doc/Makefile (1.4): maybe now it will become visible 2000-05-26 16:30 Karl Fogel <kfogel@collab.net> * doc/: Makefile (1.3), client.texi (1.5): cp html file to web area after making 2000-05-26 16:28 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.4): testing new loginfo 2000-05-26 15:41 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.8): saving work 2000-05-26 15:35 Karl Fogel <kfogel@collab.net> * notes/Makefile (1.6, before-obolete-dir-removals): revert to 1.4 2000-05-26 15:33 Karl Fogel <kfogel@collab.net> * notes/Makefile (1.5): Build doc in ../src/doc/ 2000-05-26 15:30 Karl Fogel <kfogel@collab.net> * doc/client.texi (1.3): fix typo 2000-05-26 15:28 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.7): Added locking section 2000-05-26 15:17 Karl Fogel <kfogel@collab.net> * doc/: client.texi (1.2), future.texi (1.2, before-lifeboat-checkin), goals.texi (1.5), svn-design.texi (1.6), svn-doc.el (1.2, after-lifeboat-checkin, before-lifeboat-checkin): Rearranged some existing material. Started client material. Added node maker to elisp. 2000-05-26 12:26 Ben Collins-Sussman <sussman@collab.net> * doc/: architecture.texi (1.7), server.texi (1.6), svn-design.texi (1.5): saving work. 2000-05-26 12:01 Karl Fogel <kfogel@collab.net> * doc/svn-doc.el (1.1): elisp helpers 2000-05-26 11:53 Karl Fogel <kfogel@collab.net> * doc/Makefile (1.2): don't validate for info right now 2000-05-25 14:18 Ben Collins-Sussman <sussman@collab.net> * doc/: architecture.texi (1.6), server.texi (1.5): Saving work. Finished DB interface section, working on Filesystem interface. 2000-05-25 11:09 Ben Collins-Sussman <sussman@collab.net> * doc/: architecture.texi (1.5), goals.texi (1.4), protocol.texi (1.2, before-lifeboat-checkin), server.texi (1.4): saving work. 2000-05-24 15:29 Ben Collins-Sussman <sussman@collab.net> * doc/server.texi (1.3): saving work 2000-05-24 13:21 Ben Collins-Sussman <sussman@collab.net> * doc/architecture.texi (1.4): Changed references 2000-05-24 12:44 Karl Fogel <kfogel@collab.net> * doc/svn-design.texi (1.4): Remove redundant word "version". 2000-05-24 11:56 Ben Collins-Sussman <sussman@collab.net> * doc/: architecture.texi (1.3), svn-design.texi (1.3): Finished architecture section for now. 2000-05-23 17:49 Ben Collins-Sussman <sussman@collab.net> * doc/goals.texi (1.3): tweak to compile right 2000-05-23 17:36 Ben Collins-Sussman <sussman@collab.net> * doc/: architecture.texi (1.2), server.texi (1.2): Redid architecture diagram in ascii (instead of dia), mostly finished chapter. 2000-05-23 14:04 Karl Fogel <kfogel@collab.net> * doc/.cvsignore (1.1, after-lifeboat-checkin, before-lifeboat-checkin): ignore the ignorable 2000-05-23 13:59 Karl Fogel <kfogel@collab.net> * doc/svn-design.texi (1.2): Note division of labor. 2000-05-23 13:45 Karl Fogel <kfogel@collab.net> * doc/: goals.texi (1.2), model.texi (1.2): Moved detailed merging discussion to model.texi, refer to improved merging behavior briefly in goals though. 2000-05-23 13:21 Ben Collins-Sussman <sussman@collab.net> * doc/: Makefile (1.1), README (1.1, after-lifeboat-checkin, before-lifeboat-checkin), architecture.texi (1.1), client.texi (1.1), future.texi (1.1), goals.texi (1.1), license.texi (1.1, after-lifeboat-checkin, before-lifeboat-checkin), model.texi (1.1), protocol.texi (1.1), server.texi (1.1), svn-design.texi (1.1): Started design docs. 2000-05-22 11:52 Karl Fogel <kfogel@collab.net> * notes/subversion.txt (1.51, before-obolete-dir-removals): note obsolescence 2000-04-30 19:30 jrobbins * www/project_docs.html (1.6): Changed link to subversion.html. I see the intent here was to go to the notes directory, however the www module is actually the document root for virtual host subversion.tigris.org, and relative paths that use ".." to go above the "www" directory are not allowed. 2000-04-30 10:24 Ben Collins-Sussman <sussman@collab.net> * notes/meta-implementation.txt (1.1, before-obolete-dir-removals): Added some notes on tools 2000-04-24 20:48 Karl Fogel <kfogel@collab.net> * notes/subversion.txt (1.50): Adjust explanations to handle multiple-parents. 2000-04-24 18:59 Karl Fogel <kfogel@collab.net> * notes/subversion.txt (1.49): Expand on race-condition avoidance in locks; explain change caching better. 2000-04-23 13:33 Karl Fogel <kfogel@collab.net> * notes/subversion.txt (1.48): start discussions of lock priority and change caching 2000-04-21 18:49 jrobbins * notes/: Makefile (1.4), subversion.txt (1.47): this time it should publish subversion.html to the web 2000-04-21 18:46 jrobbins * notes/subversion.txt (1.46): one more time 2000-04-21 18:44 jrobbins * notes/subversion.txt (1.45): ok, lets try that again 2000-04-21 18:42 jrobbins * notes/subversion.txt (1.44): triavial change to force web publishing and automated 'make' 2000-04-19 08:22 Ben Collins-Sussman <sussman@collab.net> * notes/: diagram1.dia (1.1), diagram1.eps (1.1) (utags: before-obolete-dir-removals): Added beautiful postscript diagram from the spec. See my email about this. 2000-04-19 01:51 Karl Fogel <kfogel@collab.net> * notes/subversion.txt (1.43): Tightening up, plus touch on a few new topics people have mentioned. 2000-04-19 01:08 Karl Fogel <kfogel@collab.net> * notes/: outline2html.pl (1.9, before-obolete-dir-removals), subversion.txt (1.42): Removed the Jason-comments section, now that everything in it has been addressed somewhere in the document. Note about cryptographic signing of changes in wish-list section. Change occurrences of "inv" to "svn". Clarifications and consistentizations. Make outline2html turn URLs into real links. 2000-04-19 00:03 Karl Fogel <kfogel@collab.net> * www/index.html (1.7): Fix typo. 2000-04-18 23:53 Karl Fogel <kfogel@collab.net> * notes/subversion.txt (1.41): hand-bumping version number to where it was for inversion.txt 2000-04-18 23:51 Karl Fogel <kfogel@collab.net> * notes/Makefile (1.3), notes/README (1.6, before-obolete-dir-removals), notes/inversion.txt (1.42), notes/subversion.txt (1.1), www/cvs_help.html (1.3), www/index.html (1.6), www/project_admin.html (1.5, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta, before-obolete-dir-removals), www/project_bugs.html (1.3, milestone-1, milestone-1-beta, before-obolete-dir-removals), www/project_docs.html (1.5), www/project_mail.html (1.5, post-edit-baton-removal, pre-edit-baton-removal, milestone-1, milestone-1-beta, before-obolete-dir-removals): Replace "inversion" with "subversion" and "ivn" with "svn" everywhere. 2000-04-18 20:05 jrobbins * www/: cvs_help.html (1.2), project_admin.html (1.4), project_bugs.html (1.2), project_docs.html (1.4), project_mail.html (1.4), project_members.html (1.3, before-obolete-dir-removals), project_source.html (1.2, before-obolete-dir-removals): changed project name 2000-04-16 15:11 jrobbins * www/project_mail.html (1.3): documented members-only posting rule 2000-04-07 11:56 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.41), www/index.html (1.5): Discuss multisite vs local repository issues. Discuss working copy administrative areas. Describe file resurrection algorithm and the subtleties therein. Front page: more descriptive feature list; update status. 2000-04-05 14:31 Karl Fogel <kfogel@collab.net> * notes/: Makefile (1.2), inversion.txt (1.40): Just run `make' from the top level now to generate an up-to-date spec in HTML format. Use the term "clone" not "copy" in the draft; less confusing, tastes great, four out of five dentists recommend. 2000-04-05 14:25 Karl Fogel <kfogel@collab.net> * www/: index.html (1.4), project_admin.html (1.3), project_docs.html (1.3): Content for public consumption. 2000-04-03 14:27 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.39): Tweak again. 2000-04-03 14:25 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.38): Tweak log message behavior spec. 2000-04-03 14:15 Karl Fogel <kfogel@collab.net> * notes/README (1.5): Briefer and to the pointer. 2000-04-03 14:11 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.37): Clarifications. 2000-04-03 03:17 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.36): Utterly meaningless tweak. Time to go to bed... 2000-04-03 03:11 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.35): Explain shallow and deep copies, and why we need to support them. 2000-04-03 02:34 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.34): Explain branching, line-of-ancestry copying, and cross-project references (still in progress). More explanation of the text vs binary issue and how we handle it. Clarification and proposals for UTF-* handling. Clarification of conflict-resolution plans. Various and sundreye tweaks. 2000-04-03 01:20 Karl Fogel <kfogel@collab.net> * notes/outline2html.pl (1.8): Handle C comments and running-text asterisks distinctly. 2000-04-02 19:38 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.33): Describe keyword substitution and line-end conversion strategies. Mark with XXXXXXX's where Ben and I will work tonight. 2000-04-01 21:53 jrobbins * www/: project_members.html (1.2), project_mail.html (1.2), project_docs.html (1.2), project_admin.html (1.2): removed " at " anti-spam measure for subscribe and unsubscribe removed "post" mailto links rather than explain or protect them 2000-03-31 19:37 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.32): Tweak explanation of "negative locks". 2000-03-31 19:34 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.31): Describe the need for unique identifiers. 2000-03-28 19:01 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.30): Remove parent pointers from node structure -- we now know that they are not necessary. 2000-03-28 18:59 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.29): Clarify and expand on locking, note minor variation of scheme. File removal. 2000-03-27 23:36 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.28): Okay, locking formalized. 2000-03-27 23:11 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.27): Yet another probably bad presentation of locking. I know how to present it now, though -- the next commit is really it. 2000-03-27 22:04 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.26): Describe locking sequence (whew, I suspect Jim will have some comments to make on this!). Not yet integrated into node creation plan; that's the next checkin. 2000-03-26 13:16 jrobbins * www/: project_footer.html (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), project_header.html (1.1, milestone-2, post-edit-baton-removal, pre-edit-baton-removal, milestone-1), project_nav.html (1.1) (utags: before-obolete-dir-removals, milestone-1-beta): added project header and footer files and updated project nav to use css rollovers 2000-03-25 13:12 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.25): Sketch out the `node' data structure formally. 2000-03-25 01:21 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.24): Tweak. 2000-03-25 01:16 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.23): Clarification in locking discussion. 2000-03-25 01:11 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.22): Discuss crash-proof repository mutation, and how it relates to locking. 2000-03-25 00:03 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.21): Fix grammaro. 2000-03-25 00:02 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.20): Tersificate. 2000-03-24 23:55 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.19): Trivial tweaks. 2000-03-24 23:50 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.18): Describe how meta-data is stored. Describe branching principles. Miscellaneous tweaks and clarifications. 2000-03-24 17:15 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.17): Add caveat about Jason's comments being partially out of date yet; but leave all the comments there, as some probably still apply. 2000-03-24 17:05 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.16): Clarify time-flow in diagrams. 2000-03-24 17:03 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.15): Fix up a few things. Credit Jim for the basic design. Note about how branches work. 2000-03-24 16:52 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.14): Discuss what happens when new files or directories are created. 2000-03-24 15:48 Karl Fogel <kfogel@collab.net> * notes/: inversion.txt (1.13), outline2html.pl (1.7): Writing up results of the discussion Ben and I had at Golden Nugget last night. New design, incorporates Jim's "bubble-up" property, but with the cross-link optimization to prevent unnecessary duplication of nodes. SQL tables and related material temporarily removed, as it does not yet reflect these changes. Made outline2html.pl able to deal with ASCII diagrams. 2000-03-23 18:39 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.12): small tweaks, going to talk with Ben now 2000-03-23 12:43 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.11): Grammaro. 2000-03-23 12:38 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.10): Oops, fix starro. 2000-03-23 12:37 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.9): Started adding scenarios. 2000-03-22 18:54 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.8): Correct/expand I18N section (I mean I2N, I mean I1N...) 2000-03-08 14:17 Karl Fogel <kfogel@collab.net> * notes/outline2html.pl (1.6): Only translate line of hyphens to <hr> if not yet seen first heading. 2000-03-07 15:43 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.7): Word the part about commit locking better. 2000-03-07 15:04 Karl Fogel <kfogel@collab.net> * notes/outline2html.pl (1.5): Handle preamble text correctly. I just can't quit, stop me before I code again... 2000-03-07 13:17 Karl Fogel <kfogel@collab.net> * notes/outline2html.pl (1.4): Removed note about not being a general purpose converter. It is, now. Correct handling of stdin->stdout case. 2000-03-07 13:15 Karl Fogel <kfogel@collab.net> * notes/outline2html.pl (1.3): Add extension note. 2000-03-07 13:13 Karl Fogel <kfogel@collab.net> * notes/outline2html.pl (1.2): Handle italicization right. (Heh, I know this isn't our highest priority, but I've wanted such a script for so long that these tweaks are worth it -- we only have to do it once, anyway). 2000-03-07 13:03 Karl Fogel <kfogel@collab.net> * notes/: Makefile (1.1), README (1.4), outline2html.pl (1.1): outline2html replaces htmlize.pl as a more generalized outline-to-HTML converter. Handle all indented text in <pre></pre> tags, so the tables get correctly formatted without any dependency on heading level. Use "make html" to convert inversion.txt to inversion.html; document this in README. 2000-03-06 14:54 jrobbins * www/index.html (1.3): trivial change to test logaccum modification 2000-03-06 01:57 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.6): tweak 2000-03-06 01:55 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.5): responses to Jason 2000-03-06 00:52 Karl Fogel <kfogel@collab.net> * notes/README (1.3): note usage of htmlize.pl 2000-03-06 00:47 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.4): automatic htmlification of inversion.txt 2000-03-03 00:09 Karl Fogel <kfogel@collab.net> * notes/: README (1.2), inversion.txt (1.3): Added Jason's comments (no responses yet, just dumped them in for now). 2000-03-03 00:02 Karl Fogel <kfogel@collab.net> * notes/inversion.txt (1.2): recast to plaintext (outline) format 2000-03-03 00:01 Karl Fogel <kfogel@collab.net> * notes/: README (1.1), inversion.txt (1.1): Some notes (see the README). I'm commiting `inversion.txt' as HTML first, but in a moment I'll commit its second revision in text (outline) format, for easier editing. The content will be the same, just text instead of html. 2000-03-02 22:58 Karl Fogel <kfogel@collab.net> * www/index.html (1.2): Fix a few typos (hey, maybe it's not the most constructive thing I could do right now, but it had to get done eventually). 2000-03-01 03:34 jrobbins * www/: cvs_help.html (1.1), index.html (1.1), project_admin.html (1.1), project_bugs.html (1.1), project_docs.html (1.1), project_mail.html (1.1), project_members.html (1.1), project_source.html (1.1): initial checkin |