借记卡是什么卡| 里字五行属什么| 牙周炎有什么症状| 凌志和雷克萨斯有什么区别| 96年出生的属什么| 浪凡算是什么档次的| 胃功能三项检查是什么| 喝羊奶有什么好处| 被交警开罚单不交有什么后果| 65年出生属什么| 荔枝与什么不能同吃| 干水是什么| 梅干菜是什么菜做的| 舌尖痛吃什么药| 颜控什么意思| 东北大拉皮是什么做的| 肚子拉稀是什么原因| 梦到牙齿掉了是什么意思| 依山傍水是什么意思| 什么是提供情绪价值| 物欲横流什么意思| 医保断了一个月有什么影响| 菊花茶喝多了有什么坏处| 脚底有痣代表什么| 省人大代表是什么级别| 梦见做手术是什么意思| 加湿器加什么水最好| 肺部有问题一般会出现什么症状| 月亮是什么生肖| 扶摇是什么意思| 377是什么意思| 导弹是什么意思| 广州有什么特产| 什么狗不如| 黑白颠倒是什么意思| 什么时间最容易怀孕| 心脏支架是什么病| 逍遥丸的功效和作用是什么| 5d电影是什么| 吃了羊肉不能吃什么| 十月份是什么星座的| 黛是什么颜色| 属兔五行属什么| 艾灸后痒是什么原因| 深覆合是什么样子的| 兰姓是什么民族| 岍是什么意思| 慧根是什么意思| 舌息心念什么| 血压偏高是什么原因| 安痛定又叫什么名字| 白内障是什么| 什么品牌的床好| 肾阴虚有什么症状| 陌上人如玉是什么意思| 两边白头发多是什么原因造成的| 家庭出身填什么| 猫便秘吃什么最快排便| 花五行属什么| dq是什么| 打醮是什么意思| 肌腱炎吃什么药| 味精的主要成分是什么| 霸王别姬是什么菜| 有什么故事| 什么是毒品| 为什么手机打不出去电话| 枸杞什么季节成熟| 甲流吃什么药效果最好| 想一出是一出什么意思| 什么是小暑| 冷暴力是什么| 市斤是什么意思| 红豆和什么搭配最好| 脾虚要吃什么东西调理| 维生素c高是什么原因| 去香港澳门旅游需要准备什么| 心猿意马是什么意思| 螨虫是什么样子的| 渡船是什么意思| 科长是什么级别| 哺乳期感冒可以吃什么药| 狗狗睡姿代表什么图解| 16岁可以做什么工作| 喝什么补气血| 吴优为什么叫大胸姐| 刘亦菲为什么不结婚| 绿油油的什么| 皇协军是什么意思| 青稞是什么东西| 国际章是什么意思| 蓝色的猫是什么品种| choker是什么意思| 含字五行属什么| 嫑怹是什么意思| oa是什么意思| 淋巴细胞偏高是什么原因| 性格内敛是什么意思| 例假期间适合吃什么水果| 溶栓治疗是什么意思| 检查骨密度挂什么科| bally什么档次| 看舌头挂什么科| 梦见打别人是什么意思| vte是什么| 赟读什么| 关羽姓什么| 念珠菌感染用什么药效果好| 德艺双馨什么意思| 小肠气有什么症状| aa是什么| 孕激素六项检查什么时候做| 便秘屁多是什么原因| 护发素什么牌子好| 出类拔萃什么意思| 更年期是什么时候| 喝茶对人体有什么好处| 冲虎煞南是什么意思| 喝罗汉果水有什么功效| 石龙子吃什么| 希字五行属什么| 邮政编码有什么用| 脱发严重是什么原因| 草莓是什么意思| 太阳花什么时候开花| 黄埔军校现在是什么学校| 雌激素低有什么症状| 心心念念是什么意思| 鹰击长空是什么意思| 拔完智齿后需要注意什么| 过敏是什么原因引起的| 绝眼是什么原因引起的| 乌龟为什么会叫| 什么是附件炎| 什么人容易得小脑萎缩| 什么是恶露| 嘴贱什么意思| 梦见捡了好多钱是什么预兆| 口大是什么字| 775是什么意思| 偏头痛是什么原因| sdh是什么意思| 绝技是什么意思| 产后大出血一般发生在什么时候| 封印是什么意思| 2月18是什么星座| 雪燕有什么功效| 骨盐量偏高代表什么| launch什么意思| 名号是什么意思| 左侧卵巢囊性包块是什么意思| 晟这个字念什么| 阑尾疼吃什么药| 深情什么意思| 231是什么意思| 久坐睾丸疼是什么原因| 吃什么补肾精| 美莎片是什么药| 化胡为佛是什么意思| 东星斑为什么这么贵| 养肝护肝吃什么好| 腰上有痣代表什么| 车间管理人员工资计入什么科目| 睡眠不好吃什么药| 为什么出汗特别多| 知秋是什么意思| 吃完龙虾不能吃什么| 肝有问题会出现什么症状| 肺部有问题一般会出现什么症状| 眉毛白是什么原因引起的| save是什么意思| pwp是什么意思| 白居易号什么居士| 大便黑色的是什么原因| 情不自禁的意思是什么| 升结肠管状腺瘤是什么意思| 美妙绝伦是什么意思| 气血亏吃什么补的快| 夏枯草有什么作用| 芡实不能和什么一起吃| 消防队属于什么编制| 蜂王浆有什么好处| 阴虚内热是什么意思| 乡愁是什么| 暗渡陈仓是什么生肖| 肾精是什么| 什么是sp| 雍正叫什么名字| 姓林的女孩取什么名字好| 七月二十八什么星座| 员外是什么生肖| 肠炎吃什么| 手信是什么东西| 什么叫幽门螺旋杆菌| 党参不能和什么一起吃| 6月16日是什么星座| 依巴斯汀片是什么药| 四氯化碳什么颜色| 好运连绵是什么意思| 铮字五行属什么| 蒙古国什么时候独立的| 日加立念什么字| 安吉白茶属于什么茶| 调兵遣将是什么生肖| 女人梦见狗是什么预兆| 经方是什么意思| 虎斑猫是什么品种| 请人原谅说什么| 儿童抽动症挂什么科| 吃什么增强抵抗力| 什么泡水喝降甘油三酯| 条件致病菌是什么意思| 榴莲和什么不能一起吃| 扁桃体发炎发烧吃什么药| 打冷是什么意思| 为什么上小厕会有刺痛感| 口腔溃疡挂什么科| 什么首阔步| 凌晨五点是什么时辰| 茄子炒什么好吃又简单| 引狼入室是什么意思| 梦到捡菌子是什么意思| 能说会道是什么生肖| 白带发黄什么原因| 庚辰五行属什么| 什么是精液| 尾巴骨疼是什么原因| 胆囊是什么| 铅超标吃什么排铅| 为什么光放屁| 仙草是什么草| 惶恐是什么意思| 7月14号是什么节日| 骨折什么症状| 云南白药里的保险子有什么作用| 头爱出汗是什么原因| 裙带菜不能和什么一起吃| 啤酒加什么好喝| 痛风什么药止痛最快| 胸闷气短看什么科| 日本浪人是什么意思| 什么息| ti是什么元素| 发offer是什么意思| 承蒙不弃什么意思| 失眠为什么开奥氮平片| 廉租房和公租房有什么区别| 属牛的五行属性是什么| 胃糜烂是什么症状| 露从今夜白下一句是什么| 老当益壮是什么意思| 白羊座跟什么星座最配| 墨迹什么意思| 咳嗽打什么点滴效果好| tpp是什么意思| 什么家常菜好吃| 清关中是什么意思| 闺蜜是什么样的关系| 九月初九是什么节日| 轻微手足口病吃什么药| 小孩经常口腔溃疡是什么原因| 血压偏高是什么原因| 走马观花是什么意思| 长大做什么| 百度

【体育课】金球奖今年终于重获自由做回自己啦

What's New in Apache Subversion 1.10

百度 中国监督管理委员会党委班子宣布成立郭树清任党委书记近日,中国银行保险监督管理委员会召开干部大会。

Apache Subversion 1.10 is a superset of all previous Subversion releases, and is as of the time of its release considered the current "best" release. Any feature or bugfix in 1.0.x through 1.9.x is also in 1.10, but 1.10 contains features and bugfixes not present in any earlier release. The new features will eventually be documented in a 1.10 version of the free Subversion book (svnbook.red-bean.com).

This page describes only major changes. For a complete list of changes, see the 1.10 section of the CHANGES file.

Compatibility Concerns

Older clients and servers interoperate transparently with 1.10 servers and clients. However, some of the new 1.10 features may not be available unless both client and server are the latest version. There are also cases where a new feature will work but will run less efficiently if the client is new and the server old.

There is no need to dump and reload your repositories. Subversion 1.10 servers can read and write to repositories created by earlier versions. To upgrade an existing server installation, just install the newest libraries and binaries on top of the older ones.

Subversion 1.10 maintains API/ABI compatibility with earlier releases, by only adding new functions, never removing old ones. A program written to any previous 1.x API can both compile and run using 1.10 libraries. However, a program written for 1.10 cannot necessarily compile or run against older libraries.

There may be limited cases where the behavior of old APIs has been slightly modified from previous releases. These are cases where edge cases of the functionality has been deemed buggy, and therefore improved or removed. Please consult the API errata for more detailed information on what these APIs are and what impact these changes may have.

New Feature Compatibility Table

New Feature Minimum Client1 Minimum Server Minimum Repository Notes
Improved path-based authorization any 1.10 any Existing authz configurations may need to be adjusted.
New interactive conflict resolver 1.10 any any Use SVN 1.8 and above clients only for best results.
LZ4 compression over the wire in http:// and svn:// connections 1.10 1.10 any
LZ4 compression in the backend storage any 1.10 1.10 FSFS only
1Reminder: when using the file:// repository access method, the Subversion program is both the client and the server.

Upgrading the Working Copy

Subversion 1.10 uses the same working copy format as Subversion 1.8 and 1.9.

Before using Subversion 1.10 with an existing Subversion 1.7 or older working copy, users will be required to run the svn upgrade command to upgrade working copy metadata to the new format. This command may take a while in some cases, and for some users, it may be more practical to simply checkout a new working copy.

Note: Subversion 1.10 cannot upgrade working copies that a 1.6 client would have refused to operate upon before an svn cleanup was run (with a 1.6 client). In other words, before upgrading to 1.8 or newer, a 1.6 or older client must be used to run svn cleanup on all 1.6 or older working copies that require cleanup. Likewise, Subversion 1.10 cannot upgrade corrupt working copies. Unfixable problems can arise from missing or corrupt meta-data inside .svn directories. Such damage to the working copy is permanent, and cannot be fixed even if svn cleanup is run prior to the upgrade.

If your working copy does not upgrade cleanly, please check out a new one.

Miscellaneous Compatibility Notes

There are some additional specific areas where changes made in this release might necessitate further adjustment by administrators or users. We'll cover those in this section.

This release is numbered 1.10

Since "1.10.0" is smaller than "1.9.0" when considered as ASCII strings, scripts that compare Subversion versions as strings may fail to correctly determine which of "1.10.0" and "1.9.0" is the more recent one. Such scripts should be changed to compare Subversion version numbers correctly: as tuples of integers, with an optional suffix for development or pre-release versions. See the Subversion release numbering documentation for details. (Programs written against the C API or the various bindings should refer to the svn_version_* interfaces.)

New path-based authorization compatibility

The improved path-based authorization changes the behaviour of some existing authz files.

The 1.9 and earlier implementations allowed multiple rules for the same path:

  [/some/path]
  userA = r
  [/some/path]
  userB = rw

In 1.9 this would define access for both userA and userB, in 1.10 this raises an error and no access is possible.

The 1.9 and earlier implementations allowed multiple entries matching the same name, alias or group and the last match applied:

  [/some/path]
  user = rw
  user = r
  &alias = rw
  &alias = r
  @group = rw
  @group = r

In 1.9 the final, read-only, match for user, &alias and @group would be selected while 1.10 combines all the lines to give read-write access. The 1.10 implementation may change in future releases, perhaps to make this case an error.

A fix for Issue #4762 may change the way path-based authorization rules are applied in some circumstances. See r1882326.

Background: Subversion 1.10 introduced a new implementation of path-based authorization (authz) to deliver wildcard support and improved performance over that of Subversion 1.9 and earlier. From Subversion 1.10 through 1.14.0, the new implementation did not correctly combine global rules with repository rules: if a global rule and a per-repository rule were both present for a path, the global rule would be ignored and the per-repository rule would apply by itself. As a result, from Subversion 1.10 through 1.14.0, it was not possible to override per-path access rules for specific users (or groups) at the global level. Administrators whose authz rules rely on this incorrect behavior may need to adjust their rules accordingly.

This issue is fixed in 1.14.1, making it possible once again to override per-path access rules for specific users (and groups) at the global level. Such global rules are overridden by repository-specific rules only if both the user and the path match the repository-specific rule.

As an example, consider the following rule set:

[groups]
company = developer1, developer2, developer3
customer = customer1, customer2

# company can read-write on everything
[/]
@company = rw

[project1:/]
@customer = r

Does developer1 have rw access to "/trunk" in project1?

Subversion servers running 1.10.0 up to 1.10.6 or 1.14.0, without the fix for issue #4762, will only apply the repository-specific part of the rule set:

[project1:/]
@customer = r

The answer in this case is that developer1 has no access at all because the global rule which grants rw access to the @company group is ignored.

Subversion servers running 1.14.1 or later match the behaviour of Subversion 1.9, meaning they will apply both the global and the repository-specific part of the rule set:

# company can read-write on everything
[/]
@company = rw

[project1:/]
@customer = r

The answer in this case is that developer1 has rw access to any path in project1. Global rules are overridden by repository-specific rules only if both the user (developer1) and the path ("/", including child paths for which no specific rules exist) match the repository-specific rule. While the repository-specific rule matches "/trunk" it does not match developer1, and hence the global rule will be used.

svnadmin subcommands print locked paths differently

The svnadmin lock, svnadmin unlock, and svnadmin rmlocks subcommands print the locked path differently.

In 1.9 and earlier, the path would be printed out in exactly the form it was input. In 1.10, the path is printed in "canonical" form: with dot components (foo/./bar) elided and multiple slashes (foo//bar) compressed to one. The path also starts with a slash in the output, regardless of whether a leading slash was present in the input.

Example:

$ svnadmin-1.9 lock r //iota jrandom logmsg opaquelocktoken:42
'//iota' locked by user 'jrandom'.
$ svnadmin-1.9 unlock r //iota jrandom opaquelocktoken:42
'//iota' unlocked by user 'jrandom'.


$ svnadmin-1.10 lock r //iota jrandom logmsg opaquelocktoken:42
'/iota' locked by user 'jrandom'.
$ svnadmin-1.10 unlock r //iota jrandom opaquelocktoken:42
'/iota' unlocked by user 'jrandom'.
$

Only the output is changed. The set of valid inputs and the behaviour of svnadmin on them are unchanged. svnadmin continues to accept paths either with or without multiple slashes, dot components, and so on as command-line arguments.

svnserve honours use-sasl = true when built without SASL

The behaviour of svnserve when built without support for Cyrus SASL transport has changed.

In Subversion 1.9 and earlier, svnserve, when built without SASL support, would ignore the svnserve.conf use-sasl setting; In Subversion 1.10, svnserve, when built without SASL support, errors out if use-sasl is set to true.

svnserve's behaviour is otherwise unchanged. In particular, the behaviour of builds with SASL support is unchanged.

An API erratum is available.

New CA keys may be required

Some binary distributions of this new Subversion version may link to a newer OpenSSL version than previous distributions. This may lead to different behavior.

Especially, some distributions may link this Subversion release to OpenSSL 1.1 instead of OpenSSL 1.0. OpenSSL 1.1 does not allow md5 hashes for CA keys anymore. When using client certificates signed by such a CA, the new Subversion client may fail with An error occurred during SSL communication. You can analyze the underlying cause by first converting the client certificate from p12 to pem by

openssl pkcs12 -in path/to/svn/cert.p12 -out cert.pem
and then testing the SSL connection by
openssl s_client -connect example.com:443 -servername example.com -cert cert.pem
If this test connection fails with ca md too weak then creating new CA keys using sha256 instead of md5 and corresponding new client certificates should solve the problem.

See also When performing Subversion operations over SSL, I get the error An error occurred during SSL communication

New Features

Improved path-based authorization

Subversion 1.10 provides a new implementation of path-based authorization with improved performance and wildcard support. There are some compatibility issues.

Existing authz rules come in two flavours, repository-specific and global:

   [repos:/path]
   [/path]
In these rules, /path is always matched literally.

The new authz rule parser supports two new forms for rules which may contain wildcards in the path element:

   [:glob:repos:/path]
   [:glob:/path]

The following wildcard syntax elements are supported in glob rules:

  • * matches a single (exactly one), arbitrary path segment
  • ** matches an arbitrary number of path segments, separated by a forward slash: /
  • Classic wildcard patterns such as *foo*.bar work as expected, including escaping of special characters with a backslash: \

All wildcards apply to full path segments only, i.e. * never matches /, except for the case where /**/ matches zero or more path segments. For example, /*/**/* will match any path which contains at least 2 segments and is equivalent to /**/*/* as well as /*/*/**.

Because a glob rule is not required to contain wildcards in the path, two sections with different names may apply to the same path. For example, the following two rules are identical:

   [/path/without/wildcards]
   [:glob:/path/without/wildcards]
The new authz rule parser detects and rejects such collisions.

The old authz parser, in Subversion 1.9 and earlier, allowed syntactic entries which grant write-only access. For example:

   [/]
   * = w
The new parser flags such entries as invalid. Neither the old nor the new authz implementation support write-only access.

New interactive conflict resolver

Subversion 1.10 provides much better interactive resolution of tree conflicts than previous releases. Interactive conflict resolution has been completely redesigned and rewritten. This new conflict resolver supersedes the first implementation introduced in Subversion 1.5.

The new conflict resolver searches repository history for structural changes (additions, deletions, copies, and moves) which conflict with local changes in the working copy and cause tree conflicts. Tree conflicts are now described in detail, including revision numbers and names of authors of conflicting changes. In previous versions of Subversion, the task of finding such information was left to the user. Automating this task is a huge usability improvement.

The new conflict resolver is able to detect moves and renames in repository history, and take them into account while modifying the local working copy. This makes seamless merging between branches possible even if one or both branches rename files or directories. For best results, all SVN clients committing to the repository should be at version 1.8 or higher.

The new conflict resolver will avoid asking users about resolution options whenever there is a only one reasonable course of action. For example, if a file was moved to another location in the repository, the conflict resolver will attempt to resolve the tree conflict on behalf of the user by performing the same move locally if necessary. This allows users to focus their attention on conflicts which cannot be resolved automatically.

Because detection of moves and renames involves heuristics, detection is not perfect and won't work in all conceivable cases. For a detailed description of how incoming moves and renames are detected, see How Subversion's conflict resolver handles incoming moves.

The conflict resolver user interface remains largely unchanged. Like in previous releases, the resolver will be started automatically if an update, merge, or switch operation ends with unresolved conflicts. It can also be started on demand by running the svn resolve command. For more information, run svn help resolve after installing Subversion 1.10.

In some situations, resolving one tree conflict will cause new other tree conflicts to appear. The svn resolve command will keep iterating over such conflicts until none are left, or until the user decides to quit the operation.

The new conflict resolver can be driven interactively with svn resolve, from Subversion's client API (in C and other language bindings), or with the non-interactive svnconflict tool which is intended for use in shell scripts.

The new conflict resolver offers a variety of automated tree conflict resolution options which users can choose from. Not all kinds of tree conflicts can yet be described and resolved. The options available in Subversion 1.10.0 are listed in the table below. In this table, the items on the incoming and local side are either both files or both directories. Most cases where files clash with directories are not handled yet.

Future releases of Subversion will continue to provide enhancements for the new conflict resolver. We expect to add coverage of additional conflict cases and add additional resolution options even in patch releases (i.e. in 1.10.1, 1.10.2, etc.).

local change incoming change operation resolution options
  • edit file
  • any change inside a directory
  • delete file / directory
update, switch, merge
  • ignore deletion
  • accept deletion
  • move file / directory
update, switch, merge
  • move and merge
    (applies the same move locally and merges items)
  • add item
  • add item
update, switch
  • ignore incoming addition
    (discards the incoming change)
  • merge incoming and local item
merge
  • ignore incoming addition
    (discards the incoming change)
  • merge incoming and local item
    (item's log history will trace back on local branch)
  • replace local item with incoming item, then merge them
    (item's log history will trace back to other branch)
  • move item
  • edit file
  • any change inside directory
update, switch
  • apply change to move destination
  • break move and update any moved away children
    (updates items moved outside of the moved directory)
merge
  • apply change to move destination
  • delete item
  • edit file
  • any change inside directory
update, switch, merge
  • keep working copy state (deleted file / directory),
    discarding incoming changes

LZ4 compression

Subversion 1.10 adds support for LZ4 compression as an alternative to the zlib compression that has been used in the previous versions. LZ4 offers fast compression and decompression while still maintaining a decent compression ratio. Using LZ4 compression can significantly improve performance of most of the Subversion read and write operations, especially for repositories containing large files.

LZ4 compression is now used by default for the on-disk data in repositories with filesystem format 8. Also, Subversion 1.10 adds support for automatic negotiation and use of LZ4 compression over the wire for http:// and svn:// connections when it is supported by both endpoints.

Filesystem format bump

The default filesystem format is now version 8, introduced in 1.10. The format bump is required to allow using LZ4 compression for the data that is stored on the disk. (The svnadmin info command displays the filesystem format number of a repository.)

Existing repositories can be upgraded to the new format with the svnadmin upgrade command.

Configuring the repository to use LZ4 compression

Repositories created with Subversion 1.10 and existing repositories upgraded to format 8 will by default compress new data using LZ4. The compression algorithm can also be configured explicitly by setting the compression = none | lz4 | zlib | zlib-1 ... zlib-9 option in the fsfs.conf repository configuration file.

Existing repositories with the configured compression-level option in the fsfs.conf file will continue to use zlib compression. In order to start using LZ4 compression for such repositories, consider setting the compression = lz4 option in the fsfs.conf file.

In order to speed up read and write operations for existing repositories, consider recompressing the data stored in them with LZ4. This can be achieved by performing a full dump/load cycle into a new format 8 repository created with Subversion 1.10.

LZ4 compression over the wire in http:// and svn:// connections

Deltas transferred between Subversion 1.10 clients and servers may be compressed with LZ4. The actual choice of the compression algorithm depends on the used protocol, environment and its configuration — see below.

For the http:// protocol, use of LZ4 compression depends on the values of the server-side SVNCompressionLevel directive, client-side http-compression configuration option and on the network capabilities. LZ4 compression generally offers much faster compression and decompression speeds, but slightly worse compression ratio than zlib. By default, it is only preferred for low latency networks where the overhead associated with transferring the additional amount of data is assumed to be negligible.

  • On the server-side, SVNCompressionLevel 0 can be used to disable compression altogether. The special value of SVNCompressionLevel 1 forces the use of LZ4 compression for clients that support it. All other values result in preferring zlib compression with the respective compression level. Note that the negotiated algorithm is still subject to the client's configuration. For example, even if the server is configured to prefer zlib compression over LZ4, a client may still negotiate the use of LZ4 compression when its http-compression option is set to auto.

  • On the client-side, setting http-compression to either yes or no will enable or disable compression that is then negotiated based on the server's configuration. The default value of auto will result in preferring LZ4 compression for low latency networks and zlib compression otherwise.

Below is the table explaining the used compression algorithm in each combination of the client- and server-side configuration options:

1.10 Server
with SVNCompressionLevel:
1.9 and older Server
with SVNCompressionLevel:
Subversion Client 0 1 2-9 (default: 5)* 0 1-9 (default: 5)*
1.10, http-compression: auto*, low latency None LZ4 LZ4 None zlib
1.10, http-compression: auto*, high latency None LZ4 zlib None zlib
1.10, http-compression: yes None LZ4 zlib None zlib
1.10, http-compression: no None None None None None
1.9 and older, http-compression: yes* None zlib zlib None zlib
1.9 and older, http-compression: no None None None None None

* Default configurations

For the svn:// protocol, use of LZ4 compression depends on the value of the server-side -c/--compression option. A value of 0 disables compression entirely; any other value causes lz4 or zlib compression to be used. At this time, lz4 is always used in preference to zlib when both are supported by the remote end.

Shelving (experimental)

Shelving (issue #3625) is the ability to put aside an uncommitted change in the WC, as if putting it on a shelf, in order to work on something else, and later bring the change back in to the WC. It is very similar to saving a patch file created by svn diff and later applying it with svn patch.

The following svn commands are new; see their help for details.

  • svn shelve [--keep-local] NAME [PATH...]
  • svn unshelve [--keep-shelved] [NAME]
  • svn shelve --delete NAME
  • svn shelves (or svn shelve --list)

WARNING: The shelving feature is designated "EXPERIMENTAL" in 1.10. It is being released in an early form while development continues. It is expected to change significantly during and after the 1.10.x series. There is no promise of backward compatibility while it remains experimental.

Enhancements and Bugfixes

Command-line client improvements (client)

svnbench improvements

svnbench now displays its wall-clock run time and the total number of bytes transferred across the network. The --with-no-revprops option which did not actually work in Subversion 1.9 has been fixed.

Server-side improvements

Revprop caching enabled

Revprop caching was an optional FSFS feature in previous releases but is now always enabled. In previous releases revprop caching could be enabled for mod_dav_svn via the SVNCacheRevprops directive, and for svnserve by the --cache-revprops command line option. That directive and command line option are now silently ignored and revprop caching is enabled for all FSFS access.

New --no-flush-to-disk option for svnadmin load

A new --no-flush-to-disk option has been added to the svnadmin load command. This option can be used to dramatically speed up the load process when there is no need to ensure that the resulting data survives a system crash or power loss, e.g. when loading a dump file into a fresh repository.

New --normalize-props option for svnadmin load

A new --normalize-props option has been added to the svnadmin load command. This option can be used to automatically repair non-LF line endings in properties such as svn:log or svn:ignore. Such invalid line endings were accepted by older servers and can be found in repository dumps of older repositories, but are rejected by Subversion 1.6 and later.

Calling svnadmin load with --normalize-props will automatically repair all invalid property line endings found in the dumpstream, thus ensuring that the appropriate values are loaded into the repository.

New svnadmin dump-revprops and svnadmin load-revprops subcommands

svnadmin can now dump and load revision properties independently of other changes made to the repository. This is useful because revision properties are not versioned but their values may change if the administrator has configured the repository's pre-revprop-change hook.

svnadmin dump-revprops will save the current values of all revision properties to a dump file. svnadmin load-revprops can be used to set revision properties in a repository to the values saved in a dump file.

svnadmin dump can now include or exclude paths (issue #4729)

New --include and --exclude options have been added to the svnadmin dump command. Using --exclude or --include gives results equivalent to authz-based path exclusions. In particular, when the source of a copy is excluded, the copy is transformed into an add (unlike in 'svndumpfilter').

A --pattern option allows the include or exclude rules to contain wildcards (the same as in 'svndumpfilter').

Client- and server-side improvements

RA-serf now compresses deltas when possible

RA-serf now sends deltas compressed when possible, unless compression is disabled by the 'http-compression = no' client configuration option. This is enabled for servers that advertise support for this specific (new) capability.

mod_dav_svn servers now advertise this specific (new) capability.

Ref. r1704317, r1704891, r1791290.

Known issues in the release

There are some known issues in the Subversion 1.10 releases. These may be fixed in later 1.10.x releases. Selected issues are listed here; see the issue tracker for details and for other issues.

SVN-4741: authz group cannot refer to multiple groups

Broken in 1.10.0. Fixed in 1.10.1.

SVN-4762: authz doesn't combine global and repository rules

Broken in 1.10.0 and 1.10.1. See also path-based authorization compatibility.

Subversion 1.9.x is now the old stable version

The Subversion 1.9.x line is now the old stable version. This means that 1.9.x will still receive security relevant fixes as well as bugfixes. While we will evaluate any bugreport with regards to its severity, there might be issues with a lower severity which will only get fixed in 1.10.x, particularly if the patches would be invasive, destabilizing, and/or require a significant investment to get backported to the old stable version.

Therefore, if you are running into an issue with the old stable version which has already been fixed in the latest version, we might ask you to upgrade to that version to resolve the issue.

Subversion 1.8.x is end of life

The Subversion 1.8.x line is end of life (EOL). This doesn't mean that your 1.8 installation is doomed; if it works well and is all you need, that's fine. "End of life" just means we've stopped accepting bug reports against 1.8.x versions, and will not make any more 1.8.x releases.

甲亢和甲状腺有什么区别 直是什么意思 吃芒果有什么好处 海蓝宝五行属什么 漠漠什么意思
鸡蛋液是什么 吃葡萄干对身体有什么好处 高筋小麦粉适合做什么 迪丽热巴的全名叫什么 张衡发明了什么东西
曾孙是什么意思 睾丸积液是什么原因造成的 挑什么 急性上呼吸道感染是什么引起的 老学究什么意思
万能输血者是什么血型 三年级用什么笔 什么狗不如 对戒是什么意思 举措前面搭配什么
什么节气aiwuzhiyu.com 女人左眼跳是什么预兆fenrenren.com 拔牙后吃什么食物hcv7jop5ns3r.cn 3月8号是什么星座hcv8jop7ns5r.cn 犹太人割礼是什么意思hcv9jop4ns5r.cn
心源性猝死是什么意思hcv9jop4ns7r.cn 刺梨根泡酒有什么功效hcv9jop8ns0r.cn 低密度脂蛋白偏高吃什么药hcv8jop0ns1r.cn 6月11日是什么星座hcv8jop3ns4r.cn 儒家思想是什么意思hcv7jop9ns7r.cn
过三关 是什么意思hcv8jop9ns6r.cn 水煎服是什么意思hcv8jop3ns8r.cn 什么玉最好有灵性养人bfb118.com 举人是什么意思hcv9jop3ns3r.cn 前列腺是什么症状hcv9jop0ns0r.cn
为什么精子射不出来hcv9jop8ns0r.cn 结婚一年是什么婚inbungee.com 可卡因是什么hcv9jop6ns3r.cn 一什么山泉hcv8jop7ns4r.cn 什么是理想hcv8jop0ns5r.cn
百度