在 svn 1.7 中实现 WC-NG 之前,我可以简单地将一个子文件夹拖出其父文件夹并将其视为一个完全独立的 wc。在 1.7 之后,我很难找到一种简单的方法来执行此操作。我也找不到其他人似乎像我一样关心它。
inb4 '只需检查一个新的厕所'。
在 svn 1.7 中实现 WC-NG 之前,我可以简单地将一个子文件夹拖出其父文件夹并将其视为一个完全独立的 wc。在 1.7 之后,我很难找到一种简单的方法来执行此操作。我也找不到其他人似乎像我一样关心它。
inb4 '只需检查一个新的厕所'。
发生这种情况是因为每个版本化文件夹内部都有一个 .svn 隐藏文件夹。此功能在 TortoiseSVN 1.7 中被删除,只有工作副本的根目录有 .svn 文件夹。这会使您拖出的子文件夹被 TortoiseSVN 视为未版本化。
顺便说一句,将子文件夹拖出父文件夹可能被认为是一种不好的做法,因为您可能会在此过程中危及工作副本的完整性。
Export a subfolder to an outside location. It will make a copy of all versioned files. Then do a checkout from svn source to that folder. Torotoisesvn will version all existing files and add/remove new ones. And the last step. It may happen that someone make changes to a code inside that svn subtree in the period of time between original wc revision and new sub-wc revision. In such case tortoisvn will show as you have modified files back to original wc revision. You just need to revert all these changes.
It's the only way of doing such sub-wc I know of. For a large code base it saves a lot of network traffic and time.