SVN no longer writes .svn in all sub-folders?

六月ゝ 毕业季﹏ 提交于 2019-12-05 12:38:40

问题


I recently upgraded my SVN client from 1.6.9 to 1.7.2 and after converting to the new format, I noticed that there is no longer a .svn every sub-folders. For my particular configuration this is not very convenient.

Is there a way to undo this or revert to the old behavior where each subfolder from a CO would have a .svn ?


回答1:


Subversion 1.7 features a complete re-write of the working copy metadata management system of Subversion, code named WC-NG. The old system was one of the first parts of Subversion written, and over time had grown difficult to maintain and extend. WC-NG is intended to provide an immediate performance improvement, while also enabling many future feature enhancements.

A key feature of the changes introduced in Subversion 1.7 is the centralization of working copy metadata storage into a single location. Instead of a .svn directory in every directory in the working copy, Subversion 1.7 working copies have just one .svn directory—in the root of the working copy. This directory includes (among other things) an SQLite-backed database which contains all of the metadata Subversion needs for that working copy.

Even though the data is stored in a structured format, the relationships between the data are complex. We highly discourage external tools from modifying the data held in this database, as such modification is likely to result in working copy corruption.

Read more here.




回答2:


The most straightforward way to get subversion to write out .svn directories in every directory is to downgrade your subversion to a version before the 1.7 series. Subversion 1.6.23 was the last version to have the behavior you want.

Another way to accomplish this that will work with Subversion 1.7 and later is to individually check out each subdirectory of your project. For example, if you had a project with a directory structure like:

project
`- bin
`- etc

You could check it out by doing something like:

mkdir project
cd project
svn co svn+ssh://foo@bar.org/src/project/bin
svn co svn+ssh://foo@bar.org/src/project/etc

This is only tolerable if you have few directories and their organization is shallow.

Otherwise, downgrading to an older subversion is your best bet.



来源:https://stackoverflow.com/questions/9070190/svn-no-longer-writes-svn-in-all-sub-folders

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!