从 SVN 中的现有工作副本的一部分制作工作副本

Make a working copy from part of an existing working copy in SVN

我有一个 SVN 存储库的工作副本。 C:\myrepo 在我的电脑上指向 https://example.com/svn。它有一个子文件夹,/foo/bar。这个文件夹很大,而且是远程仓库,再次查看需要很长时间。我想给我的同事一个 /foo/bar 的工作副本,而不是整个存储库(因为整个存储库更大,包含一堆会让他们感到困惑的东西)。

我可以复制我的工作副本,C:\myrepo-bar 然后使用 svn switch https://example.com/svn/foo/bar 但它说没有共同的祖先(这是真的)所以(如果我强制它)它会检查再次取出整个文件夹。

鉴于我已经有了 https://example.com/svn 的工作副本,是否有任何方法可以解决这个问题并获得 https://example.com/svn/foo/bar 的工作副本?我正在使用 tortoiseSVN,但我对在命令行上使用 SVN 感到很舒服。

这取决于。一般来说:没有。 SVN 工作副本不像 Git 或 Mercurial 存储库;它们不包含存储库中包含的任何历史记录或其他信息,仅包含选定版本文件的副本。

但是,如果您使用的是旧版本的 SVN 客户端,该版本足够旧,可以在项目的每个子目录中放置一个“.svn”目录,那么您可以只复制子目录 (包括里面的 .svn 目录)。我不确定这是否会对用户名或其他任何内容产生影响,我只是为了自己使用而这样做。而且,最近版本的客户端已经从除工作副本根目录之外的所有目录中删除了 .svn 目录,所以这不是最近客户端的选项。