Brian Denny <brian@briandenny.net>


Patch
r845404, r843523, r843421, r843385

r843385 | brane | 2002-10-06 15:18:18 +0000 (Sun, 06 Oct 2002)

Addresses issue 870: on import (and add), sets the svn:executable property
of files according to whether the file is actually executable by the
current user, on platforms where it makes sense.  Includes changes to
the client tests.

Patch by: Brian Denny <brian@briandenny.net>

Thanks to the many people who contributed suggestions for this patch.

* subversion/include/svn_io.h
  : add header for new function
* subversion/libsvn_subr/io.c
  : add function 'svn_io_is_file_executable'
* subversion/libsvn_client/commit.c
  (import_file) : Check if file to be imported is executable;
                  if so, set svn:executable property.
* subversion/libsvn_wc/adm_ops.c
  (svn_wc_add) : Check if file to be added is executable;
                 if so, set svn:executable property.
                 Jeff Bellegarde suggested checking on add.
* subversion/tests/client/cmdline/svntest/main.py
  : added file "kappa" to greek_state for testing operations
    on executable files
* subversion/tests/client/cmdline/svntest/actions.py
  (guarantee_greek_repository) : set executable bits
  (get_virginal_state) : tweak status of executable file
  : add function 'get_virginal_disk'
    (abstraction of 'greek_state.copy' plus tweak executable property)
* subversion/tests/client/cmdline/schedule_tests.py
  : add test 'add_executable' (Thanks to Jeff Bellegarde)
  : add test 'revert_add_executable'
  : add test 'commit_add_executable'
  (the latter two are not strictly necessary but are included
   in keeping with the triplet paradigm)
* subversion/tests/client/cmdline/basic_tests.py
  : add test 'basic_executable_file'
  : replace calls to 'main.greek_state.copy'
    with calls to 'actions.get_virginal_disk'
* subversion/tests/client/cmdline/prop_tests.py,
  subversion/tests/client/cmdline/switch_tests.py,
  subversion/tests/client/cmdline/update_tests.py,
  subversion/tests/client/cmdline/copy_tests.py,
  subversion/tests/client/cmdline/trans_tests.py,
  subversion/tests/client/cmdline/commit_tests.py,
  subversion/tests/client/cmdline/merge_tests.py
  : replace calls to 'main.greek_state.copy'
    with calls to 'actions.get_virginal_disk'


r843421 | brane | 2002-10-10 21:27:31 +0000 (Thu, 10 Oct 2002)

Remove 'kappa' from the python greek tree.  Revert all
'kappa'-related changes from revision 3311.  Replace test
basic_executable, which used kappa, with basic_import.

Patch by: Brian Denny <brian@briandenny.net>

* subversion/tests/clients/cmdline/svntest/actions.py
  - guarantee_greek_repository, get_virginal_state : revert tweaks
  - remove function 'get_virginal_disk'

* subversion/tests/clients/cmdline/svntest/main.py
  - remove 'kappa' from greek_state

* subversion/tests/client/cmdline/basic_tests.py
  - remove test 'basic_executable'
  - add test 'basic_import'
  - undo 'get_virginal_disk' refactoring

* subversion/tests/clients/cmdline/copy_tests.py,
  subversion/tests/clients/cmdline/prop_tests.py,
  subversion/tests/clients/cmdline/update_tests.py,
  subversion/tests/clients/cmdline/trans_tests.py,
  subversion/tests/clients/cmdline/commit_tests.py,
  subversion/tests/clients/cmdline/merge_tests.py,
  subversion/tests/clients/cmdline/switch_tests.py
  - undo 'get_virginal_disk' refactoring


r843523 | brane | 2002-10-23 04:25:47 +0000 (Wed, 23 Oct 2002)

Split test "basic_import" into two tests: "basic_import", which
is run on all platforms, and "basic_import_executable", which
is SKIPped on non-posix platforms.

Patch by: Brian Denny <brian@briandenny.net>

* subversion/tests/clients/cmdline/basic_tests.py
  - added test 'basic_import_executable'
  - pared down 'basic_import' to simpler, platform-neutral functionality


r845404 | sussman | 2003-03-14 16:10:45 +0000 (Fri, 14 Mar 2003)

Resolve issue #785.

Patch by: Brian Denny <brian@briandenny.net>

* merge-cmd.c (svn_cl__merge): If no target path was specified, try to
  infer it from the source path(s).

* main.c (svn_cl__cmd_table): Document the new use case in the output
  of 'svn help merge'.  Also, refer to arguments as two "sources" and
  a wc "target".  [rewritten by sussman]

* merge_tests.py (merge_with_implicit_target): New test function.
  Merges a file, specifying a revision range and source file/URL but
  no target path.  [docstring tweaked by sussman;  also move #1176
  docstring into issue comment, so docstring fits on one line during run.]

* ch04.xml: Explain the conditions under which 'svn merge' can infer a
  target path. [tweaked by sussman]
    
* ch08.xml: Document the new use case in the reference section for
  'svn merge', copying from 'svn help merge' text.  Add an example.
  [tweaked by sussman]