“不可能只签出一个文件。你能做的最好的签出级别是在目录级别。”

在使用Subversion时,我如何解决这个问题?

我们在Subversion中有这个文件夹,用来保存所有的图像。我只是想从其中找出一个文件(图像)。这个文件夹真的很大,里面有很多我现在不需要的东西。


当前回答

我想将单个文件签出到一个目录,而该目录不是工作副本的一部分。

让我们通过以下URL获取该文件:http://subversion.repository.server/repository/module/directory/myfile

svn co  http://subversion.repository.server/repository/module/directory/myfile /**directoryb**

因此,我签出了包含目标文件的给定目录,我想要获得一个虚拟目录,(以/etc结尾的URL为etcb)。

然后,我从目标目录中我不需要的所有文件中清空文件.svn/entries,只留下我想要的文件。在这个.svn/entries文件中,每个文件都有一个带有其属性的记录,因此只保留关于您想要获取和保存的文件的记录。

现在你只需要复制。”到目录,这将是一个新的“工作副本”。然后你只需要:

cp .svn /directory
cd /directory
svn update myfile

现在目录目录处于版本控制之下。不要忘记删除目录directoryb,它只是一个“临时工作副本”。

其他回答

转到回收浏览器右键单击文件并使用“另存为”,我使用的是TortoiseSVN。

如果你只是想要一个没有修订信息的文件使用

svn export <URL>

我想将单个文件签出到一个目录,而该目录不是工作副本的一部分。

让我们通过以下URL获取该文件:http://subversion.repository.server/repository/module/directory/myfile

svn co  http://subversion.repository.server/repository/module/directory/myfile /**directoryb**

因此,我签出了包含目标文件的给定目录,我想要获得一个虚拟目录,(以/etc结尾的URL为etcb)。

然后,我从目标目录中我不需要的所有文件中清空文件.svn/entries,只留下我想要的文件。在这个.svn/entries文件中,每个文件都有一个带有其属性的记录,因此只保留关于您想要获取和保存的文件的记录。

现在你只需要复制。”到目录,这将是一个新的“工作副本”。然后你只需要:

cp .svn /directory
cd /directory
svn update myfile

现在目录目录处于版本控制之下。不要忘记删除目录directoryb,它只是一个“临时工作副本”。

如果您只是想导出文件,并且以后不需要更新它,您可以在不使用SVN命令的情况下完成此操作。

使用TortoiseSVN存储库浏览器,选择文件,右键单击,然后选择“复制URL到剪贴板”。将该URL粘贴到您的浏览器,登录后应该会提示您下载文件。

这样,您还可以选择所需的修订版本并下载文件的旧版本。

注意,如果您的SVN服务器有web界面,这是有效的。

你可以分两步完成:

只使用元信息检出一个空的SVN存储库: $ CD /tmp $ SVN co——depth empty http://svn.your.company.ca/training/trunk/sql 执行svn up命令更新指定文件: $ svn up http://svn.your.company.ca/training/trunk/sql/showSID.sql