[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: libsvn_client/commit.c:remove_tmpfiles()

From: <kfogel_at_collab.net>
Date: 2003-07-09 23:51:11 CEST

cmpilato@collab.net writes:
> > I'm going to comment out the svn_io_check_path() and make the removal
> > unconditional, then run the test suite. But that won't necessarily
> > provide a 100% reliable answer, so I also wanted to ask here, in case
> > anyone remembers anything about the logic of this code...
> Also, note that we could just check the error response from
> svn_io_remove_file() for APR_EEXIST (or whatever the error is that
> means "it ain't here"), and ignore that error. That would still save
> us the stat().

Well, this is interesting. I simply commented out the
svn_io_check_path() and the conditional guard, so that we'd
unconditionally run svn_io_file_remove() on the tempfile.

To my surprise, that caused a bunch of test failures (see below).
Maybe there's some code path by which tmpfiles are removed early?

Next thing to try is the APR_EEXIST error check; perhaps all of the
errors below were simply due to that. But if that turns out not to be
the case, I recommend we simply stay the heck away from
libsvn_client/commit.c:remove_tmpfiles() right now :-).

Running all tests in config-test...success
Running all tests in diff-diff3-test...success
Running all tests in hashdump-test...success
Running all tests in path-test...success
Running all tests in random-test...success
Running all tests in stream-test...success
Running all tests in string-test...success
Running all tests in time-test...success
Running all tests in translate-test...success
Running all tests in target-test.py...success
Running all tests in run-fs-tests.py...success
Running all tests in run-repos-tests.py...success
Running all tests in getopt_tests.py...success
Running all tests in basic_tests.py...FAILURE
Running all tests in commit_tests.py...FAILURE
Running all tests in update_tests.py...FAILURE
Running all tests in switch_tests.py...FAILURE
Running all tests in prop_tests.py...FAILURE
Running all tests in schedule_tests.py...success
Running all tests in log_tests.py...FAILURE
Running all tests in copy_tests.py...FAILURE
Running all tests in diff_tests.py...FAILURE
Running all tests in externals_tests.py...FAILURE
Running all tests in merge_tests.py...FAILURE
Running all tests in stat_tests.py...FAILURE
Running all tests in trans_tests.py...FAILURE
Running all tests in svnadmin_tests.py...success
Running all tests in svnlook_tests.py...FAILURE
Running all tests in svnversion_tests.py...FAILURE
At least one test FAILED, checking /home/kfogel/src/subversion/tests.log
FAIL: basic_tests.py 3: basic commit command
FAIL: basic_tests.py 4: basic update command
FAIL: basic_tests.py 6: basic corruption detection
FAIL: basic_tests.py 7: receiving text merges as part of an update
FAIL: basic_tests.py 8: basic conflict creation and resolution
FAIL: commit_tests.py 1: commit one file.
FAIL: commit_tests.py 2: commit one newly added file.
FAIL: commit_tests.py 3: commit one newly added binary file.
FAIL: commit_tests.py 4: commit multiple targets
FAIL: commit_tests.py 5: commit multiple targets, 2nd variation
FAIL: commit_tests.py 6: commit wc_dir/A/D -- includes D. (anchor=A, tgt=D)
FAIL: commit_tests.py 7: commit wc_dir -- (anchor=wc_dir, tgt={})
FAIL: commit_tests.py 9: replace two nested dirs, verify empty contents
FAIL: commit_tests.py 12: hudson prob 1.2: delete, commit, re-add, commit
FAIL: commit_tests.py 16: commit mixed-rev wc (no erroneous merge error)
FAIL: commit_tests.py 17: commit files and dirs with URI-unsafe characters
FAIL: commit_tests.py 21: issue 644 attempt to add a file twice
FAIL: commit_tests.py 22: commit from a dir with a longer name than the wc
FAIL: commit_tests.py 23: try to commit when directory is locked
FAIL: update_tests.py 1: update a locally-modified binary file
FAIL: update_tests.py 2: update to an old revision of a binary files
FAIL: update_tests.py 5: make sure overlapping identical changes do not conflict
FAIL: update_tests.py 6: delete files and update to resolve text conflicts
FAIL: update_tests.py 11: update with explicit file target
FAIL: update_tests.py 12: receive prop update to file scheduled for deletion
FAIL: switch_tests.py 2: commits after some basic switching operations
FAIL: prop_tests.py 2: commit properties
FAIL: prop_tests.py 3: receive properties via update
FAIL: prop_tests.py 4: receive property changes as part of a downdate
FAIL: prop_tests.py 5: commit the removal of props
FAIL: prop_tests.py 7: props work when committing a replacement
FAIL: prop_tests.py 8: props work when reverting a replacement
FAIL: prop_tests.py 13: test binary property support
FAIL: log_tests.py 2: 'svn commit -F foo' when foo is a versioned file
FAIL: log_tests.py 4: test 'svn log -rN some_dir_unchanged_in_N'
FAIL: copy_tests.py 1: basic copy and move commands -- on files only
FAIL: copy_tests.py 7: copy a directory hierarchy and modify before commit
FAIL: copy_tests.py 8: copy files with properties
FAIL: copy_tests.py 11: executable bit should be preserved when copying
FAIL: diff_tests.py 10: diff when property was changed but text was not
FAIL: diff_tests.py 11: don't diff file marked as binary type
FAIL: diff_tests.py 14: diff text-bases against repository
FAIL: diff_tests.py 15: repos-repos diff on item deleted from HEAD
FAIL: diff_tests.py 16: select diff targets
FAIL: diff_tests.py 17: diff for branches
FAIL: externals_tests.py 1: check out a directory with some external modules attached
FAIL: externals_tests.py 2: update to receive a new external module.
FAIL: externals_tests.py 3: update to lose an external module.
FAIL: externals_tests.py 4: update to receive a change to an unmodified external module.
FAIL: externals_tests.py 5: update to receive a change to a modified external module.
FAIL: externals_tests.py 6: update to receive a change under an external module.
FAIL: externals_tests.py 7: modify to specify, and update to receive, a new external module
FAIL: merge_tests.py 1: performing a merge, with mixed results
FAIL: merge_tests.py 2: merge and add new files/dirs with history
FAIL: merge_tests.py 4: some simple property merges
FAIL: merge_tests.py 5: merging a file, with no explicitly-specified target path
FAIL: merge_tests.py 6: merge should not die if a target file is absent
FAIL: stat_tests.py 2: run 'status -u' when nested additions are pending
FAIL: trans_tests.py 1: commit new files with keywords active from birth
FAIL: trans_tests.py 5: update locally modified file with eol-style 'native'
FAIL: trans_tests.py 6: commit eol-style change which should force a text transmission
FAIL: trans_tests.py 7: keyword expanded on checkout for only file in a directory
FAIL: svnlook_tests.py 1: test 'svnlook youngest' subcommand
FAIL: svnversion_tests.py 1: test 'svnversion' on a working copy and other directories
make: *** [check] Error 1

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jul 10 00:43:11 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.