De Apache Software Foundation heeft enkele dagen geleden de final release van Subversion-versie 1.7.0 uitgebracht. Subversion is een programma voor software- en projectontwikkelaars waarmee beheer en versiecontrole van software en broncode kan worden uitgevoerd. Het programma moet worden gezien als een directe concurrent van CVS. Versie 1.7.0 bevat een groot aantal nieuwe features, verbeteringen en bugfixes. De complete lijst kan hieronder worden gevonden.
User-visible changes:
General:Major new features:
- No longer including contrib/ in the release tarballs (r877798)
Minor new features and improvements:
- Less verbose HTTP-based repository access protocol (issue #1161, #3371)
- Rewritten working copy metadata storage (issue #3357)
- New 'svn patch' subcommand (issue #511)
- Rewritten FSFS in-memory caching for better performance
- New remote repository dump/load client 'svnrdump'
Client-side bugfixes:
- Better handling of HTTP redirects (issue #2779)
- Improved and much more consistent path handling (issue #2028, and others)
- 'svnadmin load' rewrites changed revnums in mergeinfo (issue #3020)
- Error message and help text improvements
- 'svn log' can print unidiff of changes made in a revision (issue #2909)
- 'svn diff' can print git-style unidiff annotations
- svnsync can now steal locks on a mirror repository (issue #3309)
- display the wc root in the output of 'svn info' (issue #3355)
- add 'svnlook filesize' (issue #3509)
- add 'svn upgrade' command for upgrading working copies (r877675)
- add 'svnsync --disable-locking' (issue #3545)
- subtree merges don't unconditionally stop reintegrate merge (issue #3577)
- 'svn relocate' replaces 'svn switch --relocate' (r1026475)
- 'svn relocate' updates relative externals (issue #3597)
- allow svnsync users to specify the source repo (issue #3637)
- remove redundant mergeinfo notifications for 2-URL merges (issue #3671)
- 'svn export' into the current directory (issue #3727)
- added '--parents' to 'svn update' (issue #3748)
- allow configurable connection timeout in ra_serf (r876161)
- add digest authentication in ra_serf (r876405)
- add extensive caching support to servers (r1067669, -75, -72302)
- add configurable caching to svnadmin (r1078357)
- make server-side network data compression rate configurable (r1072288)
- added support for auto-detecting mime-types with libmagic (r1131120)
- 'svn rm url1 url2 url3' uses single txn per repo (issue #1199)
- don't leave unversioned files when reverting copies (issue #3101)
Server-side bugfixes:
- 'svn cp A B; svn mv B C' is equivalent to 'svn cp A C' (issue #756)
- revert fetches missing directories from the server (issue #1040)
- allow subdirs of moved dirs to be moved and committed (issue #1259)
- improved performance of 'svn mv' with whole directories (issue #1284)
- 'svn rm B; svn cp A B' now works (issue #1516)
- 'svn diff URL1 URL2' now reverse of 'svn diff URL2 URL1' (issue #2333)
- error if relocating to an unused URL (issue #2531)
- 'svn blame -rWORKING' is now supported (issue #2544)
- improve correctness of commit on a relocated wc over ra_dav (issue #2578)
- add early error to 'svn add --auto-props' with mixed eols (issue #2713)
- allow 'svn diff' to accept symlinks as targets (issue #2716)
- don't lose props for replaced items (issue #2743)
- handle mergeinfo for subtrees removed outside of svn (issue #2915)
- add ability to force 'svn diff' to use internal diff (issue #3701)
- correctly recover a schedule-for-delete rm'd outside of svn (issue #3106)
- don't create self-referential mergeinfo from own history (issue #3157)
- improve 'svn log -g' handling of bad mergeinfo source paths (issue #3270)
- better conflict stat printing (issue #3342, issue #3594)
- 'svn update' restores excluded files (issue #3544)
- allow reintegrate merges into WCs with missing subtrees (issue #3603)
- more gracefully error when given back cmdline input (issue #3620)
- update exit codes to reflect command failure (issue #3622)
- don't double-update file externals (issue #3665)
- improve output of multi-target update (issue #3693, #3746)
- make 'svn up --set-depth=exclude FILE' work (issue #3736)
- return correct error code for 'svn cat' on nonexisting file (issue #3713)
- support svn:externals on locally added directories (issue #2267)
- use installed GSSAPI lib for Kerberos in ra_serf (r877381)
- allow 'svn info' to run on an excluded item (issue #3792)
- improve 'log -g' output with reverse merges (issue #3176)
- don't print error message if stdout is a pipe and is closed (issue #3014)
- removed special copy-handling during updates added in 1.5.0 (issue #3711)
- fix warning about copies committed with non-infinity depth (issue #3752)
- can now commit multiple wc paths lacking a common parent (issue #2381)
- 'svn export --depth $WC' now works correctly (issue #3800)
- added support for case-only renames on Windows (issue #3702)
- 'svn delete --force' removes tree conflicts (issue #3805)
- don't throw an error when skipping tree conflicts in update (issue #3329)
- don't break commits of wc->wc copies with file externals (issue #3589)
- allow 'svn info' to work on symlinks to working copies (issue #2305)
- allow 'svn st --show-updates' to work across symlinks (issue #3117)
- 'svn revert' shouldn't loop on symlinks (issue #3972)
- fixed: wc-to-wc copy of a switch source (issue #1802)
- fixed: 'svn st' reports symlinks as obstructed items (issue #2284)
- fixed: 'cd e:\; svn up e:\' fails (issue #2556)
- fixed: svn aborts on commiting from root dir on windows (issue #3346)
- fixed: removing a dir scheduled for deletion corrupts wc (issue #2741)
- fixed: 'svn cleanup' fails on obstructed paths (issue #2867)
- fixed: case-only renames resulting from merges don't work (issue #3115)
- fixed: 'svn mergeinfo' ignores peg rev for wc target (issue #3180)
- fixed: unable to merge to wc of deleted branch (issue #3221)
- fixed: move via merge leaves behind versioned move source (issue #3324)
- fixed: ra_serf does not honor http-proxy-exceptions (issue #3428)
- fixed: 'svn mv A B; svn mv B A' loses history (issue #3429)
- fixed: ra_serf doesn't support http-auth-types config (issue #3435)
- fixed: merge sets incorrect mergeinfo on skipped paths (issue #3440)
- fixed: ra_serf inconsistent handling of cached authn creds (issue #3450)
- fixed: ra_serf sefault with using NTLM or Negotiate auth (r876910)
- fixed: excluded subtrees are not detected by svnversion (issue #3461)
- fixed: submitting a changelist while obstructed item exists (issue #3484)
- fixed: crash when changing an external's URL (issue #3530)
- fixed: target moved after branching breaks reintegrate (issue #3640)
- fixed: potential race condition in svnsync (issue #3546)
- fixed: spurious merge conflicts with pre-1.7 mod_dav_svn (issue #3657)
- fixed: repeat merge is not a no-op (issue #3564)
- fixed: inheritance results in self-referential mergeinfo (issue #3668)
- fixed: inheritance results in nonexistent mergeinfo sources (issue #3669)
- fixed: memory leaks in ra_serf (issue #3684)
- fixed: corruption of 'svn pg' output for large properties (issue #3721)
- fixed: 'svnsync copy-revprops' doesn't sync revprop dels (issue #3728)
- fixed: executable flag not correctly set on merge (issue #3686)
- fixed: 'svn rm' fails on multiple URLs with encoded spaces (issue #3839)
- fixed: children of replaced dirs cannot be deleted (issue #3468)
- fixed: executable flag of binary file lost during merge (issue #3686)
- fixed: merging a symlink-turned-regular-file breaks the wc (issue #2530)
- fixed: can't remove file externals (issue #3351)
- fixed: 'svn unlock' attempts to unlock wrong token on DAV (issue #3794)
- fixed: forced DAV 'svn unlock' results in 403, not warning (issue #3801)
- fixed: rm -> ci -> cp = missing directory (issue #2763)
- fixed: 'svn info' returns parent info on missing dirs (issue #3178)
- fixed: spurious prop conflict with 'merge --reintegrate' (issue #3919)
- fixed: 'svn --version' fails with non-existant $HOME (issue #3947)
- fixed: unforced export silently overwites existing file (issue #3799)
- fixed: reverse merge which adds subtree mergeinfo fails (issue #3978)
- fixed: 'svn up -r{R>HEAD}' hangs client over ra_svn (issue #3963)
- fixed: 'svn up' updates file externals in target siblings (issue #3819)
- many other minor bugfixes, optimizations, plugs of memory leaks, etc
Other tool improvements and bugfixes:
- mod_dav_svn is less strict about auto-merging for commits (issue #1704)
- allow SVNListParentPath to be used with authz (issue #2753)
- allow nav to repo list from repo top with SVNListParentPath (issue #3159)
- allow repositories in the root of a drive on windows (issue #3535)
- don't destroy mergeinfo with 'svnadmin load --parent-dir' (issue #3547)
- fixed: 'svnadmin hotcopy' does not duplicate symlinks (issue #2591)
- fixed: post-revprop-change errors cancel commit (issue #2990)
- fixed: mod_dav_svn runs pre-revprop-change hook twice (issue #3085)
- fixed: mod_dav_svn doesn't return stderr to user on failure (issue #3112)
- fixed: hotcopy may corrupt target rep-cache.db (issue #3596)
- fixed: mod_dav_svn can cause spurious merge conflicts (issue #3657)
- fixed: DAV can overwrite directories during copy (issue #3314)
- fixed: 'svn log' returns log of unrelated path (issue #3931)
- match paths against authz rules in case sensitive way (issue #3781)
- svnserve can now force usernames to upper/lower case (issue #3726)
- reduce duplicate log messages in 'log -g' (issue #3650)
- svnserve: don't crash on shutdown with SASL in inetd mode (issue #3664)
- disallow arbitrary HTTP headers from committers (issue #2872)
- limit FSFS memory consumption (issue #3478, #3593)
- many other minor bugfixes too numerous to list here
- svnsync now takes the '--config-option' argument (issue #2027)
- svnsync can translate non-UTF-8 properties to UTF-8 (issue #3817)
- svnadmin now errors on non-UTF-8 revision properties (issue #3755)
- svnadmin verify now errors on non-UTF-8 paths (r1129641)
Developer-visible changes:
General:API changes:
- improved output of 'make check'
- introduce scratch_pool/result_pool parameter paradigm
- improved error tracing (r877208, -736)
- improve building with sqlite on Windows (issue #3364)
- allow mod_dav_svn to compile against Apache 2.4 (issue #3548)
- support running tests against older servers (r876016)
- notification of unversioned obstructions (r877344)
- removed virtually all abort() calls (issue #2780)
- don't include client-specific suggestions in error msgs (issue #3887)
Bindings:
- don't crash svn_client_copy if ctx->log_msg_func is NULL (issue #3234)
- much improved ra_serf error handling (issue #3375)
- provide clients with old and new revision on update (r876515)
- close both files, even on error in svn_stream_copy3() (r887262)
- added 'work-in-progress' XFail test status (r876549)
- notifications sent when mergeinfo changes (r877588)
- add information on text and property mods in log APIs (r877688)
- fixed: svn_ra_local__get_file() leaks file descriptors (issue #3290)
- svn_ra_neon__get_dir() returns correct dir set for URLs (issue #3093)
- swig-py: always set ChangedPath.path (also for deletes) (issue #2630)
- improve conflict resolver API for a specific direction (issue #3049)
- New JavaHL package: org.apache.subversion
- Deprecate the SVNClientSynchronized class in JavaHL (issue #2755)
- fixed setting binary properties in JavaHL (issue #3770)
- fix type mapping of svn_txdelta_window_t in python bindings (issue #3688)
De volgende downloads zijn beschikbaar:subversion-1.7.0.tar.gz
subversion-1.7.0.tar.bz2
subversion-1.7.0.zip
