SVN - 仅提交一些更改

时间:2011-05-16 01:28:32

标签: svn

我喜欢GIT的一个原因是你只能在文件中提交一些更改。例如,如果您正在进行两个涉及同一文件的不同更改,则可以将该文件提交为两个具有不同注释的单独提交。

像:

在我意识到前几天的更改未提交之前,我花了一整天的时间处理文件,我可以通过选择要包含在提交中的行来执行以下操作:

Login.php [246]: previous changes
Login.php [247]: new changes

我意识到这种能力是因为GIT中的变更集是DIFF,而SVN只是提交整个文件。是否可以与SVN具有相同的行为?

如果存在SmartSVN特定黑客,那么这将是正常的,因为这是我们使用的。

3 个答案:

答案 0 :(得分:6)

使用git-svn,我不认为SVN有这种支持,或者更确切地说任何SVN客户端除了git-svn或甚至hgsubversion


有些咆哮:

我不认为你要求这个是正确的。这意味着您必须更改创建变更集和提交的方式。我想要这样一个功能的原因是由于以下原因:

假设有一个构建文件。它在构建服务器中有一组特定的任务。对于我的本地方框,我注释掉它生成安装程序的部分,因为我不需要在开发框上执行此操作。现在,如果有时我想在这个构建文件中进行更改,我必须撤消删除安装程序生成并提交其他更改的部分。在这种情况下,我本来希望能够选择其他更改并单独提交。

答案 1 :(得分:2)

我自己没有尝试过,但看起来你现在可以使用Tortoise SVN做到这一点:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-commit.html#tsvn-dug-commit-restore

答案 2 :(得分:0)

VisualSVN 6.1引入了新的快速提交功能。此功能允许您对诸如拼写错误修复或代码注释等更改执行部分提交,而不会忽视主要任务。

您可以使用Visual Studio编辑器中的新提交此块提交选择上下文菜单命令,在文件中部分提交所选更改。

https://www.visualsvn.com/visualsvn/download/获取VisualSVN。

enter image description here