See
<http://hudson.zones.apache.org/hudson/job/subversion-trunk-solaris/913/changes>
Changes:
[gstein] Default library is now serf.
* subversion/tests/cmdline/svntest/main.py:
(preferred_http_library): set to 'serf'
[gstein] Connections within serf 0.4.0 have a sticky error status. When that
happens, the connection needs to be reset.
* subversion/libsvn_ra_serf/commit.c:
(delete_entry, abort_edit): reset the connection to get rid of its error
status and try again.
[philip] Remove svn_wc_entry_t from harvest_committables.
* subversion/libsvn_clint/commit_util.c
(harvest_committables): Remove entry, parent_entry and copyfrom_url
parameters, add copy_root parameter, adjust recursive call, remove
use of svn_wc_entry_t.
(svn_client__harvest_committables): Adjust call to harvest_committables.
(harvest_copy_committables): Remove svn_wc_entry_t, adjust call to
harvest_committables.
* subversion/include/private/svn_wc_private.h
(svn_wc__db_temp_get_keep_local): New.
* subversion/libsvn_wc/node.c
(svn_wc__db_temp_get_keep_local): New.
[dannas] Since we need the changelist information inside libsvn_wc, we might
aswell put it in svn_wc_status3_t and save us the overhead of fetching
it again in the callback.
* subversion/svn/status-cmd.c
(print_status): Use status->changelist instead of fetching the
changelist separately.
* subversion/include/svn_wc.h
(svn_wc_status3_t): Add new field 'changelist'.
* subversion/libsvn_wc/status.c
(assemble_status,
assemble_unversioned): Initialize status->changelist.
(svn_wc_dup_status3): Allocate space for the 'changelist' field.
Suggested by: Bert
gstein
[gstein] Fix breakage in the auto-upgrade: it incremented the version too far.
Also pull together all the removal of old files/dirs to be used by the
manual and automatic upgrade processes.
* subversion/libsvn_wc/upgrade.c:
(wipe_wcprops): renamed to ...
(wipe_obsolete_files): ... this. and it now removes some extra files
from the admin area, including the old-style lock.
(upgrade_to_wcng): shift the file removal to wipe_obsolete_files. track
its function rename. move the wipe to the end of the function, where
it can also perform the "unlock".
(svn_wc__upgrade_sdb): remove the individual file deletions, and just
call wipe_obsolete_files at the end of the function. do NOT perform
the start_format=16 upgrade because that bumps the ending format up to
17, which is Not Good.
[cmpilato] Fix issue #3637. This introduces a new syntax for 'svnsync sync' and
'svnsync copy-revprops', plus a new --revision (-r) option for use
with 'svnsync copy-revprops'.
* subversion/svnsync/main.c
(svnsync_cmd_table): Update usage messages for 'sync' and
'copy-revprops' subcommands. Add support for '-r' to
'copy-revprops'.
(svnsync_options): Add '--revision (-r)' option.
(opt_baton_t): Add 'start_rev' and 'end_rev' parameters.
(open_source_session): Now accept a 'from_url' parameter, which is
the preferred URL to use to open from_session.
(do_synchronize, do_copy_revprops): Update call to
open_source_session(), using baton-provided 'from_url' (if any).
(synchronize_cmd): Allow a second command-line argument, the source
URL. If we get one, validate it and pass it to
make_subcommand_baton().
(resolve_revnums): New, broken out from copy_revprops_cmd().
(copy_revprops_cmd): Determine which syntax is in use: the one where
the second command-line argument is the source URL, or the one where
it's a revision/range. If the former, validate the source URL and
pass it to make_subcommand_baton().
(main): Initialize new revision opt_baton members, and parse
'--revision (-r)' options.
* subversion/tests/cmdline/svnsync_tests.py
(run_sync): Add 'source_url' optional parameter. Callers updated.
(run_copy_revprops): Add 'source_url' parameter. Callers updated.
(run_test): Pass 'repo_url' to run_sync() and run_copy_revprops().
Suggested by: Jon Foster <Jon.Foster{_AT_}cabot.co.uk>
[danielsh] Fix special_tests 15: normalize "svn:special"'s value.
* subversion/libsvn_wc/props.c
(svn_wc_canonicalize_svn_prop):
Normalize SVN_PROP_SPECIAL along with the other boolean svn:* properties.
* subversion/tests/cmdline/special_tests.py
(test_list): Expect propvalue_normalized() to pass.
(propvalue_normalized): Tweak expected output so it's interpreted as
a string match rather than a regex match.
[gstein] Fix pool parameter order on svn_wc_upgrade_get_repos_info_t. Some minor
renames and clarifications.
* subversion/include/svn_wc.h:
(svn_wc_upgrade_get_repos_info_t): swap RESULT/SCRATCH_POOL order.
* subversion/libsvn_client/cleanup.c:
(struct repos_info_baton): rename POOL to STATE_POOL
(fetch_repos_info): swap RESULT/SCRATCH_POOL order. track STATE_POOL
rename for the LAST_* allocations.
(svn_client_upgrade): track STATE_POOL rename
* subversion/libsvn_wc/upgrade.c:
(fetch_missing_entry_data): renamed to ...
(ensure_repos_info): ... this. we only want to ensure the repos info is
present, rather than "missing entry data". update docstring. toss out
localvars, and just fetch right into the entry. use == NULL for
clarity. swap pool order on the callback.
(upgrade_to_wcng): track function rename
[julianfoad] Replace a use of svn_wc__entry_modify() with a WC-NG equivalent.
This fixes
a bug by which at least the 'checksum' column of the BASE_NODE row was
set correctly by an earlier call to svn_wc__db_base_add_file() and then
nullified by svn_wc__entry_modify().
* subversion/libsvn_wc/update_editor.c
(close_file): Use svn_wc__db_temp_op_remove_working() instead of
svn_wc__entry_modify().
* subversion/libsvn_wc/wc_db.h,
subversion/libsvn_wc/wc_db.c
(svn_wc__db_temp_op_remove_working): New function.
[dannas] Remove two usages of svn_wc_entry_t for checking if we have some
interresting status to return.
* subversion/libsvn_wc/status.c
(assemble_status): Use lock and changelist retrived with
svn_wc__db_read_info() instead of the entry values.
[gstein] Split assemble_unversioned() out of assemble_status() for clarity.
Adjust
some parameters and assumptions around these two functions.
* subversion/libsvn_wc/status.c:
(assemble_status): ENTRY cannot be NULL, and PATH_KIND/SPECIAL MUST be
provided. REPOS_LOCKS/REPOS_ROOT were only used by one code path, so
the lookup code is moved there (send_status_structure) and the
parmeter pair is replaced by REPOS_LOCK. ripped out all the
unversioned status creation, moved to assemble_unversioned.
(assemble_unversioned): new function, with a chunk of assemble_status
(send_status_structure): look up REPOS_LOCK here and pass it to
assemble_status.
(send_unversioned_item): no need to take PATH_SPECIAL. rename param to
SCRATCH_POOL. rejigger this function to use assemble_unversioned. no
need to check status->repos_lock to determine whether to send this,
since that cannot happen
(handle_dir_entry): put constant values for PATH_KIND/SPECIAL in one
path, since we know those. add param comments.
(get_dir_status): add some param comments. remove PATH_SPECIAL from
calls to send_unversioned_item.
(tweak_statushash): constify the REPOS_LOCK param
(close_file): constify the REPOS_LOCK localvar.
(internal_status): fetch PATH_KIND/SPECIAL for passing to the assemble
functions. no need to init ENTRY since we definitely assign it. if
ENTRY is NULL, then use assemble_unversioned. adjust params to the
assemble_status function.
* subversion/include/svn_wc.h:
(svn_wc_status3_t): constify REPOS_LOCK member. remove @since tag on the
URL member.
(svn_wc_status2_t): remove closing comment about dup_status2 since we
will never append members now.
[julianfoad] * subversion/libsvn_wc/wc_db.h
(svn_wc__db_temp_op_remove_entry, svn_wc__db_temp_op_set_dir_depth):
Remove obsolete comments.
[philip] * subversion/libsvn_wc/merge.c
(svn_wc__internal_merge): Remove unused variable.
[gstein] Add some robustness to assemble_status() to prevent it from trying to
fetch metadata/properties from missing/obstructed subdirectories.
Return errors a bit more often in get_pristine_props() for obstructions.
* subversion/libsvn_wc/status.c:
(assemble_status): also fetch DB_STATUS and BASE_SHADOWED in read_info.
in the future, we'll use BASE_SHADOWED to avoid entry->schedule. use
DB_STATUS to determine certain directory states. avoid the bulk of
work when a directory is incomplete/missing/obstructed. tighten
declaration of WC_SPECIAL.
(send_status_structure): assert that ENTRY is not NULL. this assertion,
plus the behavior in send_unversioned_item clarifies that
assemble_status can easily be split into two functions.
(send_unversioned_item): add comment labels to params to assemble_status.
pass NULL for REPOS_LOCKS since it won't be used anyways.
* subversion/libsvn_wc/props.c:
(svn_wc__get_pristine_props): return errors for all three types of
obstructions. when an obstruction happens, we cannot determine whether
props are supposed to be available or not.
* subversion/tests/cmdline/prop_tests.py:
(obstructed_subdirs): new test that verifies 'svn status' works for
obstructed subdirs. recently, the crawler was broken, and
assemble_status also error'd trying to fetch prop information. this
test should ensure those issues do not return.
[philip] * subversion/libsvn_client/commit_util.c
(harvest_committables): Rework copy mode to avoid accessing the
svn_wc_entry_t structure.
* subversion/tests/cmdline/copy_tests.py
(mixed_wc_to_url): Make the source more complicated, run svnlook to
verify the copies.
[dannas] Update doc string for defgroup svn_wc_status.
* subversion/include/svn_wc.h
(svn_wc_status): Add description of the use of the new
svn_wc_walk_status() function and how it differs from the previous
ones. At the same time move note about status->entry possibly beeing
NULL to ...
(svn_wc_status2_t): .. Here since we no longer rely on the entry field
in our new version to detect unversioned paths.
[julianfoad] Implement the pristine text "check" function.
* subversion/libsvn_wc/wc_db.c
(svn_wc__db_pristine_check): Implement (ignoring the 'mode' parameter).
* subversion/tests/libsvn_wc/pristine-store-test.c
(pristine_write_read): Add testing of svn_wc__db_pristine_check().
[julianfoad] In the pristine text API, require SHA-1 checksums and make some
other
simplifications.
* subversion/libsvn_wc/wc_db.c
(VERIFY_CHECKSUM_KIND): Delete, in favour of using SVN_ERR_ASSERT.
(get_pristine_fname): Make the 'create_subdir' parameter always present
even when it's not used, and thereby simplify all calls to it.
(svn_wc__db_pristine_get_md5, svn_wc__db_pristine_get_sha1): Move these
from the end of the file to where the other pristine functions are.
(svn_wc__db_pristine_read, svn_wc__db_pristine_check,
svn_wc__db_pristine_repair): Rename 'checksum' to 'sha1_checksum'.
(svn_wc__db_pristine_install, svn_wc__db_pristine_remove,
and the other functions mentioned): Assert that 'sha1_checksum' is non-
null and its kind is SHA-1.
* subversion/libsvn_wc/wc_db.h
(svn_wc__db_pristine_read, svn_wc__db_pristine_check,
svn_wc__db_pristine_repair): Rename 'checksum' to 'sha1_checksum'.
[julianfoad] * subversion/libsvn_wc/update_editor.c
(close_file): Rearrange some code, add assertions and fix comments.
Lose a gratuitous assertion that an 'abspath' is in fact absolute.
[rhuijben] * subversion/include/svn_client.h
(svn_client_diff4): Add missing @deprecated marking.
[stsp] Add a new --show-diff option to svn log, fixing part of issue #2909.
svn log --show-diff makes the svn log command provide inline diff output.
This is a fairly naive implementation, done entirely within the CLI client.
A separate RA session is opened to retrieve the diff. It behaves more or
less like one svn log invocation coupled with many svn diff invocations
(one for each revision in the log). This means first and foremost that
it is a bit slow. But it works.
* subversion/svn/cl.h
(svn_cl__opt_state_t): Add SHOW_DIFF member.
* subversion/svn/log-cmd.c
(log_receiver_baton): Add a client context CTX here so we can invoke
svn_client_diff5(), replacing the CANCEL_FUNC and CANCEL_BATON members.
Also add TARGET_URL member to be used as root of the diff operation.
The new SHOW_DIFF and DIFF_EXTENSIONS members represent the --show-diff
and --extensions options.
(log_entry_receiver): Adjust calls to cancellation functions to baton
changes. Print a diff if the --show-diff option was passed. Flush stderr
as well as stdout since an external diff tool might write to stderr.
(log_entry_receiver_xml): Adjust calls to cancellation functions to baton
changes. There is no support for printing diffs in XML mode yet so nothing
else changed here.
(svn_cl__log): Make sure diff options passed are consistent. Adjust
population of the baton to above changes.
* subversion/svn/main.c
(svn_cl__longopt_t): Add OPT_SHOW_DIFF.
(svn_cl__options): Add and document the new --show-diff option, alias
it to --diff.
(svn_cl__cmd_table): Make svn log accept the --show-diff, --diff-cmd,
and --extensions options.
(main): Handle --show-diff option.
* subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout:
Adjust, output has changed.
Inspired by: dannas (who said he really likes git log -p)
[gstein] Fix the revision reporter/crawler to properly handle subdirectories
obstructed by a file. Prior to this fix, it would attempt to recurse into
that file.
History: this section classically included an svn_wc__adm_missing check.
That was replace by an entry fetch in r877435 (aka r37361), which would
return an error if the true contents were not available and a stub was
returned. That entry-based logic was replaced in r879065 (aka r38991) with
wc-ng code, and lost the test.
An upcoming unit test will set up this obstruction condition, and this
revision fixes/is-necessary for that test to complete properly.
* subversion/libsvn_wc/adm_crawler.c:
(report_revisions_and_depths): if the node is obstructed, the skip
reporting or recursing on it.
[gstein] Fix r943323, which broke stat_tests 30. There was an assertion that all
nodes would have a revision, but this is not necessarily true for
obstructed nodes. Tweak it.
Not sure this is entirely correct, but it maintains some behavior from
prior to r943323.
* subversion/libsvn_wc/adm_crawler.c:
(report_revisions_and_depths): nodes with SVN_INVALID_REVNUM should
"inherit" their parent's revision
(svn_wc_crawl_revisions5): leave a marker about future research
[julianfoad] * subversion/libsvn_wc/update_editor.c
(close_file): Strengthen an assertion.
[julianfoad] Move a calculation closer to its point of use, and reduce it to
being done
in only one place.
* subversion/libsvn_wc/update_editor.c
(file_baton): Remove 'text_base_abspath'.
(apply_textdelta): Don't set FB->text_base_abspath here.
(merge_file): Determine 'text_base_abspath' here.
(close_file): Don't set FB->text_base_abspath here.
[danielsh] New (XFail) test for adding symlinks on platforms that lack them.
* subversion/tests/cmdline/special_tests.py
(propvalue_normalized):
New test.
[gstein] Remove a redundant call to svn_wc__db_temp_is_dir_deleted, and add a
bunch
of clarifying comments. Other small cleanups.
* subversion/libsvn_wc/adm_crawler.c:
(restore_node): remove spurious cut/paste comment
(report_revisions_and_depths): after the base_get_info call, explain why
an error may have been raised, and adjust the resulting state. if it
succeeds, explain how we do NOT have to test for a parent stub in the
not-present condition. shift the depth/rev tweak/assert lower in the
file to just before use. remove a status_excluded check from a block,
since the prior block did that already; adjust comments to explain the
absent/not-present operation. clarify a comment about on-disk testing.
* subversion/libsvn_wc/adm_ops.c:
(svn_wc_delete4): rename localvar to indicate it will not be used
[gstein] The test suite should "see" obstructions in 'svn status' output.
* subversion/tests/cmdline/svntest/wc.py:
(_re_parse_status): add the obstruction flag to the regex
(State.tweak_for_entries_compare): omit obstruction markers from the
expected value since entries-based trees won't have it. add a comment
on the .entry_rev trickery.
[dannas] * COMMITTERS
(dannas): Add myself to the full committer section.
[julianfoad] * subversion/libsvn_wc/update_editor.c
(choose_base_paths): Rename to get_pristine_base_path; update doc string.
(get_revert_base_checksum): Rename to get_pristine_base_checksum.
(apply_textdelta, close_file): Adjust callers.
[julianfoad] Rename svn_wc__load_revert_props() to svn_wc__get_revert_props()
for
consistency with svn_wc__get_pristine_props() and
svn_wc__get_actual_props().
* subversion/libsvn_wc/props.h,
subversion/libsvn_wc/props.c
(svn_wc__get_pristine_props, svn_wc__get_actual_props): Tweak doc strings.
(svn_wc__load_revert_props): Rename to svn_wc__get_revert_props.
* subversion/libsvn_wc/diff.c
(file_diff): Update caller.
* subversion/libsvn_wc/update_editor.c
(add_file_with_history): Update caller.
[julianfoad] Remove some local functions which were more obscure than helpful.
* subversion/libsvn_wc/diff.c
(get_working_mimetype, get_base_mimetype): Remove.
(file_diff, report_wc_file_as_added, delete_entry): Use in-line code instead.
[julianfoad] * subversion/libsvn_wc/update_editor.c
(choose_base_paths): Update doc string following r943152.
[julianfoad] Simplify "if replaced-with-a-copy then
svn_wc__get_pristine_base_contents()
else svn_wc__get_pristine_contents()", because the former function can
handle both cases.
* subversion/libsvn_wc/update_editor.c
(add_file_with_history, apply_textdelta): As above.
(choose_base_paths): Remove the "replaced_p" output parameter, as it is
now redundant.
[julianfoad] Replace the old svn_wc__get_revert_contents() function with a more
useful
svn_wc__get_pristine_base_contents() function.
* subversion/libsvn_wc/adm_files.h,
subversion/libsvn_wc/adm_files.c
(svn_wc__get_pristine_contents): Improve doc string.
(svn_wc__get_revert_contents): Rename to svn_wc__get_pristine_base_contents
and write a new doc string. Open the "revert base" file if it exists,
else the "normal base" file.
* subversion/libsvn_wc/update_editor.c
(add_file_with_history, apply_textdelta): Adjust callers.
[hwright] * tools/dist/construct-rolling-environment.sh:
Bump zlib version.
[julianfoad] * subversion/libsvn_wc/adm_files.c
(svn_wc__get_revert_contents): Remove a redundant check.
[hwright] Fix the perl tests, by updating the expected revision number for an
uncommitted
node.
Note: My perl is so rusty, you could get tetanus just from reading it, but
in the absence of any maintainers, I believe this to be the right change.
* subversion/bindings/swig/perl/native/t/3client.t
(ctx->log_msg): Expect an invalid revnum for an uncommitted node.
[julianfoad] Add notes about the change to WC format 17 which is in progress.
* subversion/libsvn_wc/upgrade.c
(svn_wc__upgrade_sdb): Note that format 17 can include other changes too.
* subversion/libsvn_wc/wc.h
Mention the (unfinished) change from format 16 to 17.
[julianfoad] * notes/api-errata/wc006.txt
Add a bit of rationale, after discussing with gstein.
[gstein] Move all the extra work item generation in close_file() to earlier in
the
function, so that it can be queued by the base_add_file() call.
No functional change was made; simply a code shift, and hooking the items
into ALL_WORK_ITEMS.
* subversion/libsvn_wc/update_editor.c:
(close_file): move the work item generation earlier, hooking the items
into ALL_WORK_ITEMS. the manual queueing of the items is no longer
required, as it will occur via base_add_file.
------------------------------------------
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Building remotely on lucene.zones.apache.org (Solaris 10)
Updating https://svn.apache.org/repos/asf/subversion/trunk
U COMMITTERS
U notes/api-errata/wc006.txt
U subversion/include/svn_wc.h
U subversion/include/svn_client.h
U subversion/include/private/svn_wc_private.h
U subversion/libsvn_wc/props.c
U subversion/libsvn_wc/props.h
U subversion/libsvn_wc/wc.h
U subversion/libsvn_wc/adm_ops.c
U subversion/libsvn_wc/status.c
U subversion/libsvn_wc/adm_files.c
U subversion/libsvn_wc/update_editor.c
U subversion/libsvn_wc/adm_files.h
U subversion/libsvn_wc/merge.c
U subversion/libsvn_wc/diff.c
U subversion/libsvn_wc/wc_db.c
U subversion/libsvn_wc/adm_crawler.c
U subversion/libsvn_wc/wc_db.h
U subversion/libsvn_wc/node.c
U subversion/libsvn_wc/upgrade.c
U subversion/libsvn_client/commit_util.c
U subversion/libsvn_client/cleanup.c
U subversion/bindings/swig/perl/native/t/3client.t
U subversion/libsvn_ra_serf/commit.c
U subversion/tests/libsvn_wc/pristine-store-test.c
U subversion/tests/cmdline/svnsync_tests.py
U subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout
U subversion/tests/cmdline/copy_tests.py
U subversion/tests/cmdline/prop_tests.py
U subversion/tests/cmdline/special_tests.py
U subversion/tests/cmdline/svntest/wc.py
U subversion/tests/cmdline/svntest/main.py
U subversion/svnsync/main.c
U subversion/svn/cl.h
U subversion/svn/log-cmd.c
U subversion/svn/main.c
U subversion/svn/status-cmd.c
U tools/dist/construct-rolling-environment.sh
At revision 943804
[subversion-trunk-solaris] $ /bin/bash -xe /var/tmp/hudson1324052207271641358.sh
+ cd subversion-trunk
+
PATH=/export/home/hudson/bin:/export/home/hudson/tools/java/latest/bin:/export/home/hudson/tools/ant/latest/bin:/export/home/hudson/tools/tomcat/latest/bin:/opt/subversion-current/bin:/usr/ucb:/usr/local/bin:/usr/bin:/usr/sfw/bin:/usr/sfw/sbin:/opt/sfw/bin:/opt/sfw/sbin:/opt/SUNWspro/bin:/usr/X/bin:/usr/ucb:/usr/sbin:/usr/ccs/bin:/usr/bin
+ export PATH
+ /usr/ccs/bin/make clean
make: Fatal error: Don't know how to make target `clean'
Recording test results