我安装了Tortoise SVN,并在Windows资源管理器中使用它。一位同事更新了我假设的一些文件,因为我在某些文件夹上有一个惊叹号。我做了更新以获得最新版本,但我仍然看到一个红色感叹号。
答案 0 :(得分:16)
红色感叹号告诉您已在工作副本中修改了这些文件,因此要删除感叹号,您必须提交文件(使用修改后的版本更新存储库中的版本)或还原他们(丢掉你的改变)。
答案 1 :(得分:3)
@Frank在陈旧性指标上非常正确,但是 - 根据你在答案中的后续评论 - 听起来你的关注是处理其他人的编辑而不是你自己的编辑。正如您所暗示的那样,许多开发人员会定期进行更新以使用其他人的提交来刷新工作副本,即规范的“pull”模型(与“push”模型相比)。
让我离题一刻,转移观点,以更清楚地证明我的下一点。考虑使用 pull 模型的典型错误跟踪系统:当其他人提交或更新错误时,你需要访问网站(或客户端)并搜索和过滤并检查在你感兴趣的问题上可能会有什么变化。有些系统只支持它。但更好的还支持推送模式:您可以订阅项目或特定问题,以便在发布新内容时自动接收电子邮件。 (没有此功能我无法正常工作!)
这种情况在颠覆领域是类似的。是的,我经常进行svn更新以吸收所有更改,但我发现当我感兴趣的内容被其他人更改时,通知会很有帮助。这样做很简单:下载Stefan Kung的CommitMonitor,将推送技术添加到Subversion。此工具位于Windows系统上的系统托盘中,允许您在根目录或任何子目录中指定任意数量的存储库,因此您可以根据需要调整分辨率。并不意味着听起来像广告 - 我与产品或作者没有关系 - 但我刚刚发现这一点,我发现它使用简单,不引人注目,干净 - 它只是有效。
答案 2 :(得分:3)
我最近看到红色感叹号在SVN清理和更新后仍然存在,因为多个文件具有相同的名称,但在同一个存储库文件夹中有不同的大小写。 Tortoise SVN允许多个文件存在于同一位置,并且具有混合外壳的相同名称,但Windows不存在。
例如,在存储库中的一个位置,存在2个文件: f ile.txt和 F ile.txt。当我去SVN更新工作副本时,文件资源管理器只允许其中一个文件存在,因此在SVN更新后,我的工作副本中只会包含一个文件。
当我在工作副本上运行“检查修改”时,Tortoise SVN报告无法检出的文件丢失,因为不允许将其签出到我的工作副本文件夹中。 为了解决这个问题,我从SVN存储库中删除了一个重复文件,并在我的工作副本上运行了更新。