Finish issue #4299 ("Remote version of 'svnlook youngest'") by
introducing 'svn youngest'.

* subversion/svn/cl.h
  (svn_cl__opt_state_t): Add no_newline member.
  (): Add svn_cl__youngest to the command procedure list.
     
* subversion/svn/svn.c
  (svn_cl__options): Add --new-line option.
  (svn_cl__longopt_t): Add opt_no_newline to svn_cl__longopt_t.
  (svn_cl__cmd_table): Add 'youngest' entry.
  (sub_main): Add handler for opt_no_newline.

* subversion/svn/youngest-cmd.c
  (svn_cl__youngest): implement the 'youngest' sub command handler.

* subversion/tests/cmdline/basic_tests.py
  (basic_youngest): New test.
  (test_list): Add reference to new test.

Patch by: Masaru Tsuchiyama <m.tmatma{_AT_}gmail.com>
          (Tweaked be me.)


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1505714 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/cmdline/getopt_tests_data/svn--help_stdout:
* subversion/tests/cmdline/getopt_tests_data/svn_help_stdout:
  Add 'youngest' command to expected help text.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1505722 13f79535-47bb-0310-9956-ffa450edef68
On the fsfs-improvements branch:  Rename a debug function.

* subversion/libsvn_fs_fs/cached_data.c
  (dgb__log_access): rename to ...
  (dbg_log_access): ... this one
  (svn_fs_fs__get_node_revision,
   create_rep_state_body,
   read_delta_window,
   svn_fs_fs__get_changes): update callers

Found by: philip

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-improvements@1505729 13f79535-47bb-0310-9956-ffa450edef68
When running the ruby tests from the Windows test runner, ignore error leaks.

The Ruby bindings currently leak errors in every other test :(

* win-tests.py
  Set SVN_DBG_NO_ABORT_ON_ERROR_LEAK


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1505948 13f79535-47bb-0310-9956-ffa450edef68
Windows Builbots: Use win-tests.py --swig= for running the swig tests

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1505969 13f79535-47bb-0310-9956-ffa450edef68
Remove an incorrect check for whether a file may be under version control.
The check made the file useless with modern working copy formats.

* contrib/client-side/emacs/dsvn.el
  (vc-svn-registered): Don't look for ".svn/entries".

Suggested by: Karl Berry


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1505981 13f79535-47bb-0310-9956-ffa450edef68
On the fsfs-improvement branch: make rev / pack file open code less
dependent on the FSFS ID API.

* subversion/libsvn_fs_fs/cached_data.c
  (open_and_seek_transaction): Remove the redudant txn_id parameter
  (open_and_seek_representation): update caller

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-improvements@1506011 13f79535-47bb-0310-9956-ffa450edef68
On the fsfs-improvements branch:  Introduce svn_fs_fs__id_txn_unparse that,
for the caller, is *syntactically* similar to the future FSFS ID API
function of the same name.  Use it in a few places in the TXN code.

* subversion/libsvn_fs_fs/id.h
  (svn_fs_fs__id_txn_unparse): declare with odd temporary signature

* subversion/libsvn_fs_fs/id.c
  (svn_fs_fs__id_txn_unparse): implement it

* subversion/libsvn_fs_fs/transaction.c
  (unlock_proto_rev_body,
   get_writable_proto_rev_body,
   write_final_rev): use the API the same way that the final code will

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-improvements@1506018 13f79535-47bb-0310-9956-ffa450edef68
Make the Windows test runner use the project model that it already loads to
locate the modules to copy to the test location. Use this knowledge to
cleanly setup a swig-perl environment for testing.

* win-tests.py
  (imports): Import gen_base.
  (argument parser): Remove warning for perl and python.
  (copy_changed_file): Update arguments to be strict about dir and file
    targets. Keep track of files to remove later.

  (copy_execs): Remove function.
  (locate_libs): Update caller. Fixes that insane problem where sometimes the
    test directory became a file that bothered me for years.

  (if create_dirs): Copy project output instead of walking everything to
    locate *.exe in +- the entire tree.

  (if test_swig == 'perl'):
    Implement perl test runner.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1506025 13f79535-47bb-0310-9956-ffa450edef68
* win-tests.py
  Ensure that test-run directory exists before copying the first file to it.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1506029 13f79535-47bb-0310-9956-ffa450edef68
On the fsfs-improvements branch:  Make two more path construction
utilities part of our internal FSFS API.

* subversion/libsvn_fs_fs/util.h
  (svn_fs_fs__path_txn_proto_rev_lock,
   svn_fs_fs__path_node_origin): declare as private API

* subversion/libsvn_fs_fs/util.c
  (svn_fs_fs__path_txn_proto_rev_lock): implementation taken from transaction.c
  (svn_fs_fs__path_node_origin): implementation taken from fs_fs.c

* subversion/libsvn_fs_fs/fs_fs.c
  (path_node_origin): code moved to utils.c
  (svn_fs_fs__get_node_origin,
   svn_fs_fs__set_node_origin): update caller

* subversion/libsvn_fs_fs/transaction.c
  (path_txn_proto_rev_lock): code moved to transaction.c
  (get_writable_proto_rev_body,
   svn_fs_fs__create_txn,
   svn_fs_fs__purge_txn): update callers

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-improvements@1506036 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/cmdline/stat_tests.py
  (status_path_handling): New XFAIL test for issue 4398.
  (test_list): Add new test.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1506040 13f79535-47bb-0310-9956-ffa450edef68
Fix issue 4398, relative path handling in status.

* subversion/svn/cl.h
  (svn_cl__print_status, svn_cl__print_status_xml): Replace cwd parameter
   with two target parameters.

* subversion/svn/status-cmd.c
  (struct status_baton): Replace cwd member with two target members.
  (struct status_cache): Add two target members.
  (print_status_normal_or_xml): Pass new parameters.
  (print_status): Cache target parameters.
  (svn_cl__status): Store target rather than cwd, use cached target
   parameters.

* subversion/svn/status.c
  (make_relpath): Replace relative parameter with two target parameters.
  (print_status): Pass new parameters.
  (svn_cl__print_status, svn_cl__print_status_xml): Replace cwd parameter
   with two target parameters.

* subversion/tests/cmdline/stat_tests.py
  (status_path_handling): Remove XFAIL.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1506041 13f79535-47bb-0310-9956-ffa450edef68
* build.conf
  (__SWIG_PERL__, __SWIG_RUBY__): Add missing dependencies to swig_diff.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1506047 13f79535-47bb-0310-9956-ffa450edef68
Remove all non-trivial throw declarations from C++HL, as they don't make much
sense in C++.

* subversion/bindings/cxxhl/src/aprwrap/array.hpp,
  subversion/bindings/cxxhl/src/aprwrap/pool.hpp,
  subversion/bindings/cxxhl/src/aprwrap/impl.cpp: Remove all throw declarations
   that name exceptions and leave only the nothrow ones.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1506049 13f79535-47bb-0310-9956-ffa450edef68
On the fsfs-improvements branch:  Formatting changes that will help us to
nicely isolate ID API related changes later on.  No functional changes.

* subversion/libsvn_fs_fs/hotcopy.c
  (hotcopy_update_current): formatting change

* subversion/libsvn_fs_fs/recovery.c
  (recover_find_max_ids,
   svn_fs_fs__find_max_ids): reformat signature 

* subversion/libsvn_fs_fs/transaction.c
  (path_txn_sha,
   path_txn_changes,
   path_txn_props,
   path_txn_next_ids,
   get_shared_txn,
   unlock_proto_rev,
   unlock_proto_rev_list_locked,
   get_writable_proto_rev,
   purge_shared_txn,
   create_txn_dir,
   create_txn_dir_pre_1_5): ditto
  (svn_fs_fs__set_proplist,
   write_final_rev): code re-formatting
  (svn_fs_fs__get_txn_ids): rename parameter

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-improvements@1506056 13f79535-47bb-0310-9956-ffa450edef68
Make status convert paths to local style just before printing
rather than earlier.

* subversion/svn/status.c
  (make_relpath): Don't special case ".".
  (print_status): Convert to local style.
  (svn_cl__print_status): Don't convert to local style.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1506058 13f79535-47bb-0310-9956-ffa450edef68
On the fsfs-improvements branch:  Store the TXN_IDs in FSFS's
svn_fs_txn_t and svn_fs_root_t structs.  Access these though
private API.  That way, they can easily be adapted to later
ID type changes.

* subversion/libsvn_fs_fs/transaction.h
  (svn_fs_fs__txn_get_id): declare new private API

* subversion/libsvn_fs_fs/transaction.c
  (fs_txn_data_t): new FSFS-private data struct
  (svn_fs_fs__txn_get_id): implement access to txn ID
  (create_txn_dir,
   create_txn_dir_pre_1_5): return an additional copy of the TXN ID,
                            later to be changed to a different type
  (svn_fs_fs__create_txn): initialize & use the new TXN ID member
  (svn_fs_fs__change_txn_props,
   commit_body,
   svn_fs_fs__txn_proplist): use the new TXN ID member 
  (svn_fs_fs__open_txn): initialize the new TXN ID member

* subversion/libsvn_fs_fs/tree.c
  (svn_fs_fs__txn_root): access the txn ID through the new private API
  (root_txn_id): new root -> txn ID access utility
  (root_node,
   mutable_root_node,
   make_path_mutable
   fs_change_node_prop,
   merge_changes,
   fs_make_dir,
   fs_delete_node,
   copy_helper,
   fs_make_file,
   apply_textdelta,
   apply_text,
   fs_paths_changed): use it
  (make_txn_root): initialize & use svn_fs_root_t's txn_id member

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-improvements@1506082 13f79535-47bb-0310-9956-ffa450edef68
Following up on r1506025, add a swig python test runner to win-tests.py

* win-tests.py
  (if test_swig == 'perl'): Set proper default.
  (if test_swig == 'python'): Implement copying and runner.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1506087 13f79535-47bb-0310-9956-ffa450edef68
On the fsfs-improvements branch:  Simplify the open_path function
thereby reducing the dependency on the ID API.

* subversion/libsvn_fs_fs/tree.c
  (get_copy_inheritance): drop the unused TXN_ID parameter
  (open_path): replace TXN_ID parameter by a IS_TXN_PATH flag
  (get_dag,
   fs_change_node_prop,
   fs_make_dir,
   fs_delete_node,
   copy_helper,
   fs_make_file,
   apply_textdelta,
   apply_text,
   fs_closest_copy,
   history_prev,
   get_mergeinfo_for_path_internal): update callers

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fsfs-improvements@1506099 13f79535-47bb-0310-9956-ffa450edef68