subversion

Checkout Tools
  • last updated 35 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1369921 is being indexed.

On the 'master-passphrase' branch:

* subversion/libsvn_subr/auth_store.h

(svn_auth__pathetic_store_create): Fix a stale comment.

Remove the "--symmetric" command-line option, which was made redundant in

r1369896.

* subversion/svn/cl.h

(svn_cl__opt_state_t): Remove the 'symmetric_merge' member.

* subversion/svn/main.c

(svn_cl__longopt_t): Remove the 'opt_symmetric' member.

(sub_main): Remove handling of the '--symmetric' option.

* subversion/tests/cmdline/merge_symmetric_tests.py

(symmetric_merge, subtree_to_and_fro,

merge_to_reverse_cherry_subtree_to_merge_to): Remove the '--symmetric'

option from merge commands.

On the 'master-passphrase' branch: Disentangle auth store

opening/creation actions.

* subversion/libsvn_subr/auth_store.h

(svn_auth__store_cb_open_t, svn_auth__store_open): Lose 'create' parameter.

(svn_auth__pathetic_store_get): Remove notes about store creation.

(svn_auth__config_store_get): Add note about auto-creation.

* subversion/libsvn_subr/auth_store.c

(svn_auth__store_open): Remove 'create' parameter and handling.

(svn_auth__get_store_from_parameters): Update call to svn_auth__store_open().

* subversion/libsvn_subr/cmdline.c

(open_auth_store): Update call to svn_auth__store_open().

* subversion/libsvn_subr/config_auth_store.c

(config_store_open): Remove 'create' parameter.

* subversion/libsvn_subr/pathetic_auth_store.c

(pathetic_store_open): Remove 'create' parameter.

* subversion/tests/libsvn_subr/crypto-test.c

(create_ephemeral_auth_store, test_auth_store_basic): Update calls

to svn_auth__store_open().

Remove the #ifdef SVN_WITH_SYMMETRIC_MERGE marker that was surrounding most

of the symmetric merge code.

* subversion/include/private/svn_client_private.h,

subversion/libsvn_client/merge.c,

subversion/svn/merge-cmd.c

Remove definition and all uses of SVN_WITH_SYMMETRIC_MERGE.

Remove a helper function that has lost its helpfulness.

* subversion/libsvn_client/merge.c

(open_source_session): Remove.

(merge_locked, open_reintegrate_source_and_target, merge_peg_locked,

open_source_and_target): Adjust accordingly.

On the 'master-passphrase' branch: Get the GNOME Keyring master

passphrase provider working, too. At least, in theory. Doesn't seem

to work in practice on my machine just yet ... something about symbol

names not resolving or somesuch.

* subversion/include/svn_auth.h

svn_auth_get_gnome_keyring_master_passphrase_provider): New function.

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c

(master_passphrase_gnome_keyring_first_creds,

master_passphrase_gnome_keyring_save_creds,

svn_auth_get_gnome_keyring_master_passphrase_provider): New functions.

(gnome_keyring_master_passphrase_provider): New structure instance.

* subversion/libsvn_subr/cmdline.c

(get_master_passphrase_auth_baton): New helper function, abstracted from...

(open_auth_store): ...here.

* subversion/libsvn_subr/masterpass_providers.c

(get_provider): Fix expected symbol name for gnome-keyring and kwallet

master passphrase providers.

(svn_auth_get_platform_specific_master_passphrase_providers): Enable

GNOME Keyring master passphrase provider support.

Enable symmetric merge as the default 'svn merge' behaviour when there

is one source, no revision range, no --reintegrate option, and no

--ignore-ancestry option. Ignore the '--symmetric' option.

* subversion/include/private/svn_client_private.h

(svn_client__symmetric_merge_t): Move structure definition to here ...

* subversion/libsvn_client/merge.c

(svn_client__symmetric_merge_t): ... from here.

(do_symmetric_merge_locked): Reject unsupported options in reintegrate

mode.

* subversion/svn/merge-cmd.c

(symmetric_merge): If a reintegrate-like merge is required, reject

options that are unsupported options in reintegrate mode.

(svn_cl__merge): Do a symmetric merge if there is one source and no

revision range, '--reintegrate' or '--ignore-ancestry' options.

* subversion/tests/cmdline/merge_tests.py

(dont_merge_revs_into_subtree_that_predate_it): Mark as XFail, because of

issue #4217 "Symmetric merge changes merge range notification

(merge_tests 78)".

* subversion/tests/cmdline/merge_reintegrate_tests.py

(multiple_reintegrates_from_the_same_branch): Specify the revision range

explicitly for a record-only merge, since this merge would otherwise be

a reintegrate-like symmetric merge, for which record-only is no longer

allowed.

Symmetric merge doesn't make sense with the 'ignore ancestry' option, since

it is all about merge tracking, so remove that option from its API and make

'svn merge' error out if both '--ignore-ancestry' and '--symmetric' options

are specified. (This makes sense at the moment, while symmetric merge is

specified explicitly. When we later teach 'svn merge' to do a symmetric

merge by default, then we may want to to handle this a different way.)

* subversion/include/private/svn_client_private.h

(svn_client__do_symmetric_merge): Remove the 'ignore_ancestry' parameter.

The doc string was wrong anyway: the option did prevent mergeinfo from

being used.

* subversion/libsvn_client/merge.c

(do_symmetric_merge_locked, svn_client__do_symmetric_merge): Remove the

'ignore_ancestry' parameter and use FALSE instead.

* subversion/svn/merge-cmd.c

(symmetric_merge): Remove the 'ignore_ancestry' parameter.

(svn_cl__merge): Error out if both '--ignore-ancestry' and '--symmetric'

options are specified.

* CHANGES: Add two more 1.7.6 items.
* build/generator/templates/build_locale.ezt:

Fix the relative path to the po directory, broken since build_locale.bat

was moved in r1034362. (Obvious fix.)

* build/generator/templates/build_locale.ezt,

* build/generator/templates/build_zlib.ezt:

s/not errorlevel 0/errorlevel 1/. "not errorlevel 0" is always false, since

"errorlevel X" tests for %errorlevel% >= X.

Obvious fix.

* subversion/svn/file-merge.c

(get_term_width): Plug a file descriptor leak: Close the file descriptor

used for the TIOCGWINSZ ioctl() call.

* publish/docs/release-notes/1.8.html

(file-merge-tool): I've tweaked the output again so update the example

output in the release notes, too.

* subversion/svn/file-merge.c

(svn_cl__merge_file): Leave the file in conflict if installing the merged

result fails and extend the corresponding error message accordingly.

Provide additional notifications at the beginning and end of a file merge.

* subversion/svn/cl.h

(svn_cl__merge_file): Declare path_prefix parameter.

* subversion/svn/conflict-callbacks.c

(svn_cl__conflict_handler): Pass path_prefix to the file merge tool.

* subversion/svn/file-merge.c

(svn_cl__merge_file): New path_prefix parameter. Display the file's name

at the start of the merge, and add a nofication at the end of the merge

indicating whether the file remains in conflict.

* publish/docs/release-notes/1.8.html

(file-merge-tool): Show current version of file merge prompt text.

* subversion/svn/file-merge.c

(merge_chunks): Slight wording tweak in file merge menu prompt.

Merge r1368128 from trunk:

* r1368128

Segfault in handling deleted wc items.

Justification:

Unknown circumstances can lead to the situation that neither

the relpath for BASE nor the one for WORK are available.

The patch makes the implicit assumption of the latter being

non-NULL if the first isn't explicit. Even if the root cause

was random wc corruption, this patch will at least make our

code more robust.

This issue is also the 3rd-most common cause of SVN lib related

crashes reported in TSVN.

Votes:

+1: stefan2, steveking, philip

Merge r1368065 from trunk:

* r1368065

Incomplete copy information leading to segfault.

Justification:

Although this doesn't address nor identify the root cause of

the problem, it is still better to return an svn_error_t*

instead of simply segfaulting.

This issue is also the most common cause of SVN lib related

crashes reported in TSVN.

Votes:

+1: stefan2, steveking, philip

Merge the r1368197 group from trunk:

* r1368197, r1368198

Fix issue #4216 ("Error updating relocated working copy with

server-relative externals defined").

Justification:

Fixes user-reported problem.

Notes:

r1368197: This contains the actual fix.

r1368198: This contains some follow-up comment tweaks that help

explain the relevant code region more thoroughly.

Votes:

+1: cmpilato, brane, steveking

Adjust SVN_DBG to print into a stack buffer instead of an APR pool, to avoid

concerns about the size of the pool growing indefinitely. A follow-up to

r1369183.

Suggested by: gstein

* subversion/libsvn_subr/debug.c

(debug_pool): Remove.

(svn_dbg__preamble): Remove the creation of the pool.

(debug_vprintf): Use stack buffers.

Tweak the SVN_DBG_PROPS macro to print the caller's file and line info

on every line, rather than printing the caller's info on the header line and

this function's file and line info on the subsequent lines.

* subversion/libsvn_subr/debug.c

(svn_dbg__print_props): Use svn_dbg__printf() instead of SVN_DBG().

Make the SVN_DBG macro print the prefix before every line of output if the

formatted string contains embedded newline characters. Also make a final

newline character optional so that the developer can write SVN_DBG(("..."))

instead of SVN_DBG(("...\n")).

* subversion/libsvn_subr/debug.c

(debug_pool, debug_file, debug_line): New variables.

(svn_dbg__preamble): Create a pool, the first time we're called. Just

store the prefix information instead of printing it. (Note: this isn't

thread-safe; it already wasn't.)

(print_line): Rename to debug_vprintf. Prefix each line of output.

(svn_dbg__printf, svn_dbg__print_props): Track the rename.

On the 'master-passphrase' branch: Add the framework for supporting

the obvious additional platform-specific master passphrase providers.

* subversion/include/private/svn_auth_private.h

(SVN_AUTH__DEFAULT_PROVIDER_LIST): New #define.

* subversion/include/svn_auth.h

(svn_auth_master_passphrase_provider_func_t): New function type.

(svn_auth_get_platform_specific_master_passphrase_providers): New function.

* subversion/libsvn_subr/auth.c

(SVN__DEFAULT_AUTH_PROVIDER_LIST): Remove.

(svn_auth_get_platform_specific_client_providers): Use

SVN_AUTH__DEFAULT_PROVIDER_LIST instead of SVN__DEFAULT_AUTH_PROVIDER_LIST.

* subversion/libsvn_subr/cmdline.c

(open_auth_store): Add 'cfg' parameter, and now call

svn_auth_get_platform_specific_master_passphrase_providers() instead

of explicitly referencing the gpg-agent master passphrase provider.

(svn_cmdline_create_auth_baton): Update call to open_auth_store().

* subversion/libsvn_subr/masterpass_providers.c

(get_provider, svn_auth_get_platform_specific_master_passphrase_providers):

New functions.

* STATUS: Vote/approve r1368065 and r1368128.
Remove the mistake "the the" from various files.

* subversion/libsvn_repos/repos.c

(create_conf): Tweak svnserve.conf text.

* subversion/include/svn_dav.h

(SVN_DAV_VTXN_NAME_HEADER): Tweak comment.

* subversion/include/svn_mergeinfo.h

(svn_rangelist_intersect): Tweak comment.

* subversion/include/svn_wc.h

(svn_wc_conflict_version_create2, svn_wc_add4): Tweak comment.

* subversion/libsvn_fs_base/dag.c

(svn_fs_base__things_different): Tweak comment.

* subversion/libsvn_fs_base/uuid.h

(svn_fs_base__populate_uuid): Tweak comment.

* subversion/libsvn_fs_fs/fs_fs.c

(get_revprop_packname, hotcopy_io_dir_file_copy): Tweak comment.

* subversion/libsvn_subr/base64.c

(BASE64_LINELEN): Tweak comment.

* subversion/libsvn_subr/cache-membuffer.c: Tweak comment.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_global_commit): Tweak comment.

* contrib/client-side/emacs/psvn.el

(svn-status-goto-file-name): Tweak comment.

* contrib/hook-scripts/enforcer/enforcer: Tweak comment.

* notes/merge-tracking/func-spec.html: Tweak text.

Take out a lock when reading as well as writing the third-party

dynamic FS module list while still allowing the known Subversion

modules to continue to be accessible without locking.

* subversion/libsvn_fs/fs-loader.c

(get_or_allocate_third): Start loop at point determined by caller,

return early if the module is found.

(get_library_vtable): Check the known Subversion modules outside

the lock, move the rest of the loop inside the lock.

When running svn status for checking whether a tree is clean, skip lines

starting with "X" in the output; they just indicate externals. Those

lines were not present in the output before 1.7 but now cause svnmerge.py

to refuse working (on trees with externals) without this change.

(This script is somewhat orphaned by now, but the change was

acknowledged by Giovanni Bajo.)

* contrib/client-side/svnmerge/svnmerge.py

(check_dir_clean): Skip lines starting with "X".

Run svn diff with -x -p by default (because that is what is useful for

source code), and allow the user to customise these options.

* contrib/client-side/emacs/dsvn.el

(svn-diff-args): New defcustom.

(svn-diff, svn-log-diff, svn-diff-file): Use svn-diff-args.

* STATUS: Cast votes