subversion

Checkout Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1860551 is being indexed.

Update Sqlite query parsing code in wc-queries-test to handle some new

intermediate explanation lines without warnings.

* subversion/tests/libsvn_wc/wc-queries-test.c

(explanation_item): Add some booleans.

(parse_explanation_item): Allow a few more constructs that caused

unneeded warnings.

Merge r1857391 from trunk:

* r1857391

Fix build with APR 1.7.0.

Justification:

Bogus configure script check relies on APR internals.

See https://svn.haxx.se/users/archive-2019-04/0041.shtml

and https://svn.haxx.se/dev/archive-2019-04/0020.shtml

Votes:

+1: stsp, rhuijben (bindings change so 2+1's is enough)

    • ?
    /branches/1.12.x/build/ac-macros/swig.m4
* STATUS: Expand revision range to allow backport script to handle this patch.
* STATUS: Cast some votes.
* STATUS: Nominate patch
* build/generator/gen_vcnet_vcproj.py

(quote_value): Fix yet another stupid bug introduced by remote testing :(.

* build/generator/gen_win.py

(quote_define): Fix another stupid typo.

Following up on r1860175, fix typo in python code.

* build/generator/gen_vcnet_vcproj.py

(quote_define): Add missing ':'.

Fix compiling Subversion with Visual Studio 2005 and 2008 by properly escaping

the e-mail address we use for the Win32 crash handler.

* build/generator/gen_vcnet_vcproj.py

(quote_define): New function

* build/generator/gen_win.py

(get_win_defines): Quote e-mail address in defines.

(quote_define): Add function (stub).

* subversion/libsvn_subr/io.c

(io_win_check_path): Tweak comment, no functional changes.

io: Implement the functions that check for node existence using the native

Win32 APIs on Windows:

svn_io_check_path()

svn_io_check_resolved_path()

svn_io_check_special_path()

This changeset aims for two distinct things:

1) First of all, starting from r1833621, these functions were patched to stop

checking symlinks on Windows. The root cause for this change has been an

incorrect implementation of stat in APR that didn't properly distinguish

between various types of reparse points, some of which are not symlinks.

Providing the custom implementation allows us to remove the hack and

properly handle such reparse points irrespectively of the APR version

in use.

Additional details on the core of the issue can be found here:

- https://github.com/golang/go/issues/23684

- https://github.com/dotnet/corefx/issues/24250

2) These APIs are used in various performance-critical code paths such as

in the core part of `svn st`.

On Win32 the necessary answers for these particular functions can be

obtained with a single call to GetFileAttributes(), which is much faster

than using the generic stat implementations from APR 1.6.x and 1.7.x

(I believe that it would be even slower in the latter case).

A couple of quick tests show about 20%-25% improvement in the speed of

`svn st` for a large working copy. The improvement may be more significant

with indexers or virus scanners, as just asking for file attributes may

completely avoid opening a file (by retrieving the result through the

fast I/O QueryOpen).

* subversion/libsvn_subr/io.c

(FILE_ATTRIBUTE_TAG_INFO, FileAttributeTagInfo): Add these definitions

for old versions of Windows SDK.

(typedef GetFileInformationByHandleEx_t,

get_file_information_by_handle_ex_proc): New.

(win_init_dynamic_imports): Import `GetFileInformationByHandleEx()`.

(win32_get_file_information_by_handle): New helper function.

(io_win_check_path): New helper with the Win32 implementation required

for the "check path" functions.

(svn_io_check_path,

svn_io_check_resolved_path,

svn_io_check_special_path): Invoke the new helper.

(io_check_path): Undo the workaround from r1833621 that stopped passing

APR_FINFO_LINK when performing a stat.

Always use HTTPS URLs when fetching build dependencies.
Always use HTTPS URLs when fetching build dependencies.

* /home/julianfoad/src/subversion-c/tools/dev/build-svn-deps-win.pl

Change all package download URLs to https, even though most are obsolete.

* /home/julianfoad/src/subversion-c/tools/dist/nightly.sh

Use https://svn.apache.org.

Remove some packages that CollabNet is no longer officially

supporting.

* site/staging/packages.html

(Solaris, openSUSE): Remove links to CollabNet's builds.

Remove some packages that CollabNet is no longer officially

supporting.

* site/staging/packages.html

(Solaris, openSUSE): Remove links to CollabNet's builds.

Add 1.12 API docs.
    • ?
    /site/publish/docs/api/1.12/group__clnt__revisions.html
    • ?
    /site/publish/docs/api/1.12/search/all_2.js
    • ?
    /site/publish/docs/api/1.12/search/all_13.js
    • ?
    /site/publish/docs/api/1.12/search/searchdata.js
    • ?
    /site/publish/docs/api/1.12/functions_func.html
    • ?
    /site/publish/docs/api/1.12/globals_eval_w.html
    • ?
    /site/publish/docs/api/1.12/search/files_8.js
    • ?
    /site/publish/docs/api/1.12/search/search.js
  1. … 1045 more files in changeset.
* publish/docs/index.html: Link to 1.12 API docs.
* publish/docs/release-notes/index.html: Update release numbers.
* tools/dist/release.py: Update release numbers.
* publish/download.html (supported-releases): Clarify.
* publish/docs/release-notes/1.12.html: Remove WIP notice, now 1.12 is released.

Thanks to Paul Cameron for pointing it out.

Announce Subversion 1.12.0
Report a revision's size on disk.

This adds an 'svnadmin rev-size' CLI and a libsvn_fs ioctl API to report

the total size in bytes of the representation on disk of a revision,

including rev-props, excluding FSFS indexes.

$ svnadmin rev-size /path/to/repo -r1

1337 bytes in revision 1

* subversion/svnadmin/svnadmin.c

(cmd_table): Add and document the 'rev-size' command.

(revision_size,

subcommand_rev_size): New.

* subversion/include/private/svn_fs_fs_private.h

(svn_fs_fs__ioctl_revision_size_input_t,

svn_fs_fs__ioctl_revision_size_output_t,

SVN_FS_FS__IOCTL_REVISION_SIZE): New.

* subversion/libsvn_fs_fs/fs.c

(fs_ioctl): Handle SVN_FS_FS__IOCTL_REVISION_SIZE.

* subversion/libsvn_fs_fs/fs_fs.h

* subversion/libsvn_fs_fs/stats.c

(svn_fs_fs__revision_size,

rev_size_index_entry_cb,

rev_size_baton_t): New.

* subversion/libsvn_fs_fs/revprops.h

* subversion/libsvn_fs_fs/revprops.c

(svn_fs_fs__get_revision_props_size): New.

* tools/client-side/bash_completion

(_svnadmin): Add 'rev-size'.

* STATUS: As far as I know, Subversion 1.8.x is end of life.

* STATUS: Nominate r1857391
* STATUS: Nominate r1857391
* STATUS: Nominate r1857391.

* STATUS: Nominate r1857391.

Fix Doxygen mark-up, following r1857435.
* publish/download.html

(#pre-releases): Fix broken markup that was causing comments to

be rendered on the page.