0

如果一个文件多次提交并进行了各种更改,我如何一次获取一个更改,即一次一个更改集?

我用的是eclipse、subversion、subclipse,前两者暂时改不了(或者MS平台..)。

在 Eclipse 中的团队/同步视图(使用 subclipse)中,选择变更集模型,即使列出了所有变更集,文件似乎也仅列在最新的相关变更集中。因此,较早的变更集不一定显示原始提交中的完整文件集,也不一定显示提交中文件的原始差异。

更新:我正在考虑使用变更集来简化代码审查,因此我希望对一个变更集中提交的所有文件进行部分更新。在 eclipse 中很容易获得特定文件的差异和特定修订,但我想以一种实用的方式逐步完成一个特定提交/变更集中的所有更改。

4

2 回答 2

0

我相信你知道,svn up默认情况下会获取文件的最新版本。

但是,您可以使用该-r参数来svn up获取文件的特定版本。因此,如果您知道在修订版 5、7 和 9 中提交了文件,您可以这样做:

svn up -r5 myfile
svn up -r7 myfile
svn up -r9 myfile

我相信(但我面前没有安装它)Subclipse 有一个类似的选项,标记为“更新到修订版......”

于 2010-04-06T13:44:17.450 回答
0

Subversion 不支持原子变更集。

(注意:如果有人能证明我错了,我会很乐意切换接受的答案。)

我使用 TortoiseGit 和 TortoiseSVN 比较了 Git 和 Subversion(并查看了命令行上的可能性)。

使用 Svn 和 Git,我可以更新到某个版本,或者一次只能查看和更新​​到一个文件的不同版本。

通过两个 Tortoise 客户端,我可以从存储库中查看单个提交(修订),并查看修订与先前修订之间的更改。(请注意,我似乎无法在 Eclipse 中执行此操作,请参考问题。)

然而,只有使用 Git,我才能更新或挑选一个孤立的提交。我在 Subversion 中看到的最接近此功能的是更新到 head,然后使用“减法合并”恢复某个版本......

测试设置:创建一个项目,签出或克隆项目,从其他地方向存储库进行 2 次单独的提交,包括在两次提交中修改的至少一个文件。然后,使用 Git:获取远程更改。然后,同时使用 Git 和 Subversion:查看日志。

于 2011-03-01T10:04:35.710 回答