Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
subversion:摆脱版本化的;。svn";目录_Svn - Fatal编程技术网

subversion:摆脱版本化的;。svn";目录

subversion:摆脱版本化的;。svn";目录,svn,Svn,我不知道到底是怎么发生的,但我有一个版本控制的“.svn”目录 在我的存储库中。别问我它是怎么到那里的。 如果我告诉svn删除它,它不想删除,因为.svn是一个保留参数 武力不起作用 有什么想法吗 编辑: 好的,我通过svn rm调用父目录并将其添加回解决了这个问题 不过,如果有人知道这个问题的干净解决方案,我们将不胜感激 澄清: svn delete <repo url>/foo/.svn svn删除/foo/.svn 不起作用。我想我尝试了命令和参数的每一个简单组合。 我敢肯

我不知道到底是怎么发生的,但我有一个版本控制的“.svn”目录
在我的存储库中。别问我它是怎么到那里的。 如果我告诉svn删除它,它不想删除,因为.svn是一个保留参数

武力不起作用

有什么想法吗

编辑: 好的,我通过
svn rm
调用父目录并将其添加回解决了这个问题

不过,如果有人知道这个问题的干净解决方案,我们将不胜感激

澄清:

svn delete <repo url>/foo/.svn
svn删除/foo/.svn
不起作用。我想我尝试了命令和参数的每一个简单组合。 我敢肯定,如果这是可行的,那就是一个黑客。 我知道这个方法:转储->使用工具修改转储->重新导入 但这是可怕的地狱。这不是git,如果你打了svn回购,
您/它一直处于崩溃状态。

只需
svn直接从存储库中删除它,例如

svn rm-m“删除签入的.svn”http://myserver/svn/repo/trunk/dir/.svn

然后删除您的本地副本并
svn update
以检索更正的版本。

带有URL的“svn rm”似乎工作正常,我刚刚尝试过(使用svn 1.6.5,Mac OS X):

您也可以使用“svn mv”,无需删除任何内容:

$ svn ls -R file:///xxx/testrepo
foo/
foo/.svn/
foo/.svn/baz
foo/bar/
foo/bar/baz

$ svn mv -m 'Rename works too.' file:///xxx/testrepo/foo/.svn \
    file:///xxx/testrepo/foo/dotsvn
Committed revision 8.

$ svn ls -R file:///xxx/testrepo
foo/
foo/bar/
foo/bar/baz
foo/dotsvn/
foo/dotsvn/baz

另外,在svn存储库中创建“.svn”目录很简单:只需将svn cp或svn mv与URL一起使用。

“不要问我它是如何到达那里的。”嗯,
svn log
会告诉你。这是一个好主意。”svnlog-v'告诉我它已被添加。没有更多的东西可以从中收集。必须在其父目录上执行“svn添加”。但这仍然很奇怪,因为svn add通常会破坏或抱怨现有的.svn目录。在这里,
svn log
还指出是谁添加了它,何时添加,以及在同一提交中还做了什么。这通常足以理解谁做了什么<代码>:)
这不起作用,因为svn delete也不接受.svn作为参数。这就是我在问题文本中所说的“如果我告诉svn删除它…”的意思。
$ svn ls -R file:///xxx/testrepo
foo/
foo/.svn/
foo/.svn/baz
foo/bar/
foo/bar/baz

$ svn mv -m 'Rename works too.' file:///xxx/testrepo/foo/.svn \
    file:///xxx/testrepo/foo/dotsvn
Committed revision 8.

$ svn ls -R file:///xxx/testrepo
foo/
foo/bar/
foo/bar/baz
foo/dotsvn/
foo/dotsvn/baz