【问题标题】:SVN Ignore PowerPoint file changesSVN 忽略 PowerPoint 文件更改
【发布时间】:2022-01-02 15:50:55
【问题描述】:

我一定错过了什么。我在 PowerPoint 文件上使用 SVN。

[编辑以下内容以更好地描述步骤]

第 1 步:创建一个新的存储库。

第 2 步:使用 PowerPoint 创建一个 ppt(称为 signal.ppt)。

第 3 步:将 signal.ppt 添加到 svn 中。

第 4 步: 将 signal.ppt 提交到 svn。

第 5 步:复制 signal.ppt 并将其命名为 good.ppt。

第 6 步: 在 PowerPoint 中打开 signal.ppt 并立即将其关闭。我不做任何更改,也不做文件 --> 保存。

第7步:我做'svn status signal.ppt',svn会说没有变化。

第 8 步:我比较了 signal.ppt 和 good.ppt 之间的每个字节,其中 1051 个字节(在 6,561,792 个字节中)是不同的。

那么问题来了:'svn status'怎么会错过变化呢?

另外请注意,我已尝试删除 test.ppt 中的一些幻灯片。一旦我这样做了,问题就消失了(即“svn status”正确地报告了变化)。

我真的不知道这里发生了什么。

我想也许我是唯一有这个问题的人。

【问题讨论】:

  • 请提供有关您的案例的更多详细信息。您可以使用 svn copy 命令在工作副本或存储库中复制文件。
  • 但我的问题不是关于“svn copy”或复制文件。基本上文件被 PowerPoint 修改了(一些字节被改变了)但不知何故 svn 说文件没有变化。
  • 你需要展示一个实际的例子。现在还不清楚会发生什么。
  • 可能 SVN 正在智能地行动,并忽略了当您打开文件并关闭它而不进行任何更改时 PPT 更改的几个字节,例如执行此操作时存储的上次访问时间/日期。
  • 嗨史蒂夫,我希望 SVN 不会那样做。为了排除这种可能性,一旦我打开并关闭了 ppt 文件(让我们将此文件称为“test.ppt”)。我将此 ppt 文件的副本保存到另一个文件名 (bad.ppt)。现在svn会说test.ppt没有变化。然后我删除test.ppt并将bad.ppt重命名为test.ppt。现在 svn 说 test.ppt 改变了。我知道这很奇怪。我无法解释我所看到的。

标签: svn powerpoint


【解决方案1】:

我刚刚和我的同事谈过这个问题,他提出了一个理论。我认为他是正确的(但我无法 100% 确认)。

他的理论是 svn 依赖于 Windows 通知。我相信 Windows 有一种机制来跟踪正在修改的文件。在这种情况下,由于微软同时拥有windows和powerpoint,理论上windows可以报告signal.ppt没有改变(因为我只是打开和关闭它,所以我没有做任何改变)在我们看来,'svn st' 使用这种机制。

我们也尝试使用 git 并且 'git status' 没有与 'svn status' 相同的问题。

总之,毕竟,人们可以争辩说这不是一个真正的问题。即使修改了signal.ppt文件内容,也没有真正的变化,所以我不需要将更改提交到svn中。

强制更改的一种方法是使用“触摸”:

>> 复制 /b signal.ppt +,, signal.ppt

另一个可能的解决方案是使用 pptx 文件(而不是 ppt 文件)。我在 signal.ppt 上尝试了这个(在 powerpoint 中使用另存为 signal.pptx),它似乎工作(在这种情况下,打开和关闭 pptx 文件不会更改文件内容(甚至不是一个字节))。

【讨论】:

    猜你喜欢
    • 2012-06-04
    • 2012-03-15
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多