如何将导出/清理目录重新置于SVN控制之下?

如何将导出/清理目录重新置于SVN控制之下?,svn,version-control,Svn,Version Control,假设我导出了一个版本化的目录,从而在没有所有.svn文件夹的情况下创建了一个干净的副本。现在我想把这个版本放回版本控制 在根目录上执行“签出”以将其链接回SVN存储库似乎不起作用 我知道这是一种不应该发生的情况,但出于理解的目的,我对解决方案很感兴趣。我建议使用svn import将代码重新置于版本控制之下 我假设您试图保留的源代码树中有更改——否则,没有理由尝试将版本控制元数据重新添加回源代码,您只需执行一次全新的svn签出 因此,一旦您执行了svn import将源代码重新置于版本控制之下,

假设我导出了一个版本化的目录,从而在没有所有.svn文件夹的情况下创建了一个干净的副本。现在我想把这个版本放回版本控制

在根目录上执行“签出”以将其链接回SVN存储库似乎不起作用


我知道这是一种不应该发生的情况,但出于理解的目的,我对解决方案很感兴趣。

我建议使用
svn import
将代码重新置于版本控制之下

我假设您试图保留的源代码树中有更改——否则,没有理由尝试将版本控制元数据重新添加回源代码,您只需执行一次全新的
svn签出


因此,一旦您执行了
svn import
将源代码重新置于版本控制之下,那么您就可以使用
svn merge
将源代码树区分到另一个分支。然后,提交更改,您就可以有效地将更改恢复到版本控制下。

只需重新签出导出时的准确版本(您必须知道版本号!)。然后删除除.svn文件夹以外的所有文件夹(使用bash/etc),然后将目录复制到其上。

我假定您已对导出的代码进行了更改。否则,就不会有任何真正的问题,因为您的所有代码都在存储库中,因此导出的文件夹是一次性的

如果您没有重命名或删除任何内容,只需签出新的工作副本(即没有未保存本地更改的副本),然后将导出的文件夹放在顶部。当提示时覆盖现有文件,您就快完成了。审查更改并提交


如果存在删除等操作,您可以使用文件比较实用程序将导出的文件复制到工作副本,并删除不再存在的文件,但需要进一步调整。

这涉及到对存储库进行更改。我只想把一个目录置于SVN控制之下,而不是提交它的更改-至少在一开始是这样。这在实际环境中是可行的,但是在我的情况下,我想“就地”执行,也就是说,将原始目录置于SVN控制下,无需从中删除单个文件。然后将工作副本放在导出的顶部,并在提示覆盖时回答否。(您是否定期编辑导出?)您甚至可以通过在签出后删除原始文件,然后复制导出的树来跟踪删除情况。@Zak-酷提示。较新的single.svn目录工作拷贝格式可以很好地实现这一点。