subversion

Checkout Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 865010 is being indexed.

Followup to r24861: replace a docstring with a brief comment.

* subversion/libsvn_repos/repos.c

* subversion/libsvn_subr/config_file.c

* subversion/tests/libsvn_diff/diff-diff3-test.c

* subversion/tests/libsvn_repos/repos-test.c

(NL) Replace docstring with a brief comment.

Patch by: Peter Samuelson <peter@p12n.org>

Provide apr_array_header_t *wcprop_changes typemap, for

svn_wc_queue_committed and svn_wc_process_committed* . Thanks to

David James for fixing the typemap to work with attribute setters.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

(svn_swig_py_proparray_from_dict): New function to convert a Python

dictionary mapping strings to strings into an 'apr_array_header_t *' of

svn_prop_t * .

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h

(svn_swig_py_proparray_from_dict): Declare.

* subversion/bindings/swig/svn_wc.i

(%typemap(in) apr_array_header_t *wcprop_changes): New typemap, using

svn_swig_py_proparray_from_dict .

* csvn/core/__init__.py

(Array.elts): Update to reflect a change in ctypesgen. ctypesgen now wraps

all "char *" objects as Strings, so we need to access the underlying pointer.

* trunkify.py: Remove a done TODO.
Update csvn to reflect a change in ctypesgen. ctypesgen now uses

'String' wrapper objects for low-level C strings instead of copying

the data to a Python string. It is now possible for us to access the

underlying memory behind a C string, and to implement custom functions

for converting strings which handle embedded NULLs correctly.

This change in ctypesgen exposed several pool-lifetime issues

in the csvn library, which are fixed in this commit.

* csvn/client.py

(ClientURI.join, ClientURI.dirname, ClientURI.longest_ancestor):

Move pool to a local variable so that it won't be garbage collected

before the function returns.

(ClientURI.__init__, ClientURI.relative_path):

Convert the return values to regular Python strings, so that their

lifetime isn't dependent on the lifetime of the pool.

Implement ClientSession.cat, so that users can read files from the

repository using the higher-level interface.

* csvn/core/__init__.py

(Stream): New object.

(_stream_read, _stream_write, _stream_close): Helper functions.

* csvn/client.py

(ClientSession.cat): New method.

Implement ClientSession.list, and update trunkify.py to use it.

* csvn/client.py

(ClientSession.list): New function.

* trunkify.py

Use ClientSession.list.

* csvn/core/__init__.py

(SVN_DIRENT_ALL, SVN_INVALID_REVNUM, SVN_IGNORED_REVNUM,

SVN_INVALID_FILESIZE, SVN_RA_SVN_UNSPECIFIED_NUMBER): Define some constants

which aren't picked up by ctypesgen, because their definitions contain

casts, which ctypesgen doesn't understand in this context.

Cleanup pool usage. We aren't performing any iterations here, so we don't

need a subpool. Also, the pool wasn't getting destroyed, anyway.

* subversion/svn/mkdir-cmd.c

(svn_cl__mkdir): Remove improper use of a subpool.

Documentation fixes.

* subversion/include/svn_ra.h:

(svn_ra_do_update2, svn_ra_do_switch2, svn_ra_do_status2, svn_ra_do_diff3):

Document depth behavior more accurately.

(svn_ra_do_update): Remove obsolete "### TODO" comment, and fix formatting.

(svn_ra_do_switch, svn_ra_do_status, svn_ra_do_diff2): Fix formatting.

Add test for issue #2698: after committing a merged-in replaced file, its

text-base still has the content of the original file.

* subversion/tests/cmdline/revert_tests.py

(revert_replaced_with_history_file): add new test

(test_list): run the new test, mark XFailing.

* www/merge-tracking/design.html

(merge-history): Fix broken link to the notes file, and tweak

surrounding text.

Suggested by: Guido Haarmans <ghaarmans@collab.net>

* www/merge-tracking/func-spec.html

Remove ugly UNDER CONSTRUCTION warning, replacing it with a note

that this is a living spec.

Suggested by: Guido Haarmans <ghaarmans@collab.net>

Add some entries to the links page, and fix some alphabetization issues.

* www/links.html

(clients): Add "Subversive" entry.

(converters): Add "SVN Importer" entry.

(high-level-tools): Add "FastTrack" entry.

(browsers): Add "WebClient for SVN" entry.

Patch by: Michal Dobisek <michal.dobisek@polarion.com>

(I edited the new entries, and fixed existing alphabetization problems.)

Follow-up to r24903, tweak merge tests to specifically exercise that code.

* subversion/tests/cmdline/merge_tests.py

(merge_to_path_with_switched_children): Perform a merge to a target which

has immediate children that are switched and have otherwise elidable

mergeinfo. Also improve comments a bit.

Formatting follow-up to r24904.

* subversion/libsvn_client/merge.c

(elide_children): Break long line.

* www/links.html: followup to r24918, fixing some incorrect links.

* csvn/core/__init__.py

(Array): Fix typo in docstring.

* www/links.html

Update "Practical Subversion" book link to reference the 2nd Edition.

* www/links.html

General housecleaning: update redirects, remove 404s, and so on.

Mostly prompted by r24916 and the W3C Link Checker.

* www/links.html: Remove dead link to SVNService. Besides, running svnserve

as a service on Windows was included in svn 1.4

Remove branch 1.4.x-r21537. Changes have been merged to 1.4.x in r23558.
* trunkify.py: Move the copy after the delete, so that we don't step on our

own toes and attempt to delete our own copy if the directory we're

trunkifying has a subdirectory named 'trunk'.

Add a friendly wrapper for apr_hash_t to csvn/core/__init__.py. Update

trunkify.py to use this wrapper.

* csvn/core/__init__.py

(Hash): New class, which wraps apr_hash_t.

* trunkify.py

(dict_from_apr_hash): Remove this function, and instead use the

Hash class.

Update svn:ignore in ctypes-python-bindings:

* .: Ignore ctypesgen.

* csvn, csvn/ext, csvn/core: Ignore *.pyc.

* csvn/core: Ignore (generated) functions.py.

Add another demo script for csvn: this script copies an URL into a new

subdirectory of itself and deletes all of its former children; for

example, it can be used to add a top-level "trunk" directory to a

repository that is missing it.

* trunkify.py: New script.

    • ?
    /branches/ctypes-python-bindings/trunkify.py
* csvn/txn.py:

(_txn_operation.replay): Allow copyfrom_path to be the repos root.

* csvn/core/__init__.py

(TRUE, FALSE): Define these, because the ctypes generator won't

define them on platforms (eg, Mac OS X) where they are defined by

the OS instead of svn.

Update csvn/core to wrap apr_array_header_t as Array. Also fix a few

bugs in the apr_pool_t wrapper.

* csvn/core/__init__.py:

Add wrapper for apr_array_t. Also define application_pool, and

_mark_weakpool_invalid. Update pool._svn_pool_destroy to link

directly to apr_pool_destroy, so that we can guarantee it will

still be around when the pool is destroyed.

* csvn/ext/listmixin.py:

New helper class, which helps in our apr_array_t wrapper.

    • ?
    /branches/ctypes-python-bindings/csvn/ext/listmixin.py
    • ?
    /branches/ctypes-python-bindings/csvn/ext/__init__.py
  1. /branches/ctypes-python-bindings/csvn/ext
* csvn/txn.py

(Txn.copy): use correct variable in error message.