2010-06-11 73 views
6

我知道是否有一些文件被检出(修改),然后我可以右键单击包含文件夹,然后选择“创建补丁”。之后我会看到所有签出文件的列表。所以我可以将它们包含在补丁中。 但是当没有检出文件时,又一切都提交了,创建补丁窗口是空的。所以问题是如何从签入文件创建补丁?我想将这个补丁发送给同事,以便他们可以将它们应用到公司的svn服务器上。如何在没有检出文件的情况下在TortoiseSVN中创建补丁?

感谢,

+0

补丁意味着两个版本之间的差异。在你描述的情况下,在SVN基础上进行了本地修改。 哪一个是你想要减少的两个版本? – 2010-06-11 15:08:45

+0

公司里有一个svn服务器,我没有从家里访问它。每周一次,我通过DVD /闪存/等复制公司的回购到家用电脑。在本周内,我的家庭信息源发生了变化,并希望通过向同事发送电子邮件将其发送到公司的回购站。我知道git可能是更好的选择,但我只能使用SVN。 – 2010-06-11 16:05:49

回答

12

统一差异是一个补丁文件。

  1. 使用TortoiseSVN,你的工作文件夹右键单击并选择“显示日志”
  2. 选择的两个版本(按住Ctrl键单击)在任一突出的修订
  3. 右键单击并选择“以统一差异显示差异“

用文件夹结构保存已更改的文件。

  1. 使用TortoiseSVN,你的工作文件夹右键单击并选择“显示日志”
  2. 选择的两个版本(按住Ctrl键单击)
  3. 选择“比较版本”。这将在对话框中列出修订之间的修改文件
  4. 选择出现的对话框中的所有文件。右键单击所选文件并选择“将选择导出到...”

这应该导出带有文件夹结构的已修改文件。

+0

这似乎很好。但是有两个问题:1.如果我在文件夹树中更改了多个项目,我不得不在每个文件上手动执行此操作。 2.有没有办法得到文件夹结构的差异?例如目录更改? – 2010-06-11 16:10:57

+0

@afsharm我已经更新了答案。 – Shaji 2010-06-11 16:24:30

+0

其实3个问题......统一差异显示似乎不支持ShiftJIS,所以日文文本变成了mojibake。 – iforce2d 2012-10-13 13:21:17

1

如果你只是想同事获得最先进的最新文件,则需要使用SVN结帐从SVN服务器得到它。如果由于某些原因他们无法访问您的svn服务器,您也可以右键单击并选择svn-export;这会为您提供一组包含文件夹中的所有文件,而不包含任何隐藏的.svn目录。

+0

请注意我对这个问题的评论。另外出口对我来说不是一个好选择。因为我想发送刚更改过的文件。 – 2010-06-11 16:07:11

2

你所描述的是两个颠覆之间的diff修订。查看svn diff上的SVN Book部分,了解如何操作。

相关问题