![印刷设计师和编辑的版本控制](https://linux22.com/image/523404/%E5%8D%B0%E5%88%B7%E8%AE%BE%E8%AE%A1%E5%B8%88%E5%92%8C%E7%BC%96%E8%BE%91%E7%9A%84%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6.png)
我仔细查看了其他类似的帖子,但仍然找不到任何人对 InDesign 中的跨平台(OSX、Windows)团队工作流程提出好的推荐,这种工作流程简单且不需要用户直接从网络共享工作。
是否有人有支持 InDesign 签入/签出系统的实际经验,例如:
- 设计师从网络共享或版本控制系统获取最新的项目文件到OSX
- 设计师在本地处理文件
- 设计师将工作提交回网络共享或版本控制系统
- 编辑器从网络共享或版本控制系统获取最新的项目文件到 Windows
- 编辑器在本地处理文件
- 编辑将工作提交回网络共享或版本控制系统
我正在考虑使用 Subversion,因为两个平台上都有多个客户端。我为我们的应用开发团队使用 SVN,并且非常喜欢它。但是,如果一直提交大型二进制文件,存储库会变得臃肿吗?我可以禁用版本控制并让它保留最后一个版本吗(不会比网络共享更糟糕)?
重点是要有一个系统,让人们可以在本地工作,而不必担心覆盖彼此的工作,并轻松获取和提交更改。
答案1
不,SVN 无法存储“唯一的最后一个版本”,我认为(在我使用过的所有 SCM 中)Visual Source Safe 是唯一具有此功能的。
SVN 可以很好地处理二进制文件,提交它们只会将差异添加到存储库,因此它不会很快膨胀。不过与文本文件相比,它仍然会膨胀(我的经验:在其中放入 1MB 的 dll 根本不会膨胀太多)。
您可以通过导出整个存储库,然后删除它,再添加导出的文件来偶尔消除膨胀。您会丢失历史记录(显然),但之后您将只拥有文件的最新版本和一个很小的、精简的存储库。如果您不关心历史记录,这将有效。只是不要将同一个存储库与您关心其历史记录的文件一起使用 - 或者转储/过滤/加载这些文件以保留它。
SVN 可以很好地处理大型 repo 大小,我有一个包含 300,000 个修订版和 12Gb 大小的 repo。
您将遇到锁定问题,因为您无法将两个二进制文件的更改合并为一个。因此,您的设计师必须采用锁定-修改-提交模型。
此外,如果您有正确的设置,您可以在 webdav 共享上使用 SVN - 因此存储库对设计人员来说就像网络共享一样。他们将共享复制到本地,编辑文件,然后将其复制回来,并在后台执行提交。但是,这不会锁定文件,因此会发生覆盖。您的团队可能会对这种限制感到满意,因为这意味着他们永远不必担心更新他们的工作副本,并且仍然可以享受历史记录的好处。
编辑:仅供参考,您可以通过直接查看 SVN 存储库来查看增量有多大。SVN 将每个修订版本作为文件存储在名为 db/revs 的目录中。对于最新版本,每 1000 个修订版本将有一个目录,以数字命名。因此,假设您的修订版本少于一千个,则将有一个名为“0”的目录,每个修订版本将有 1 个文件。签入某些内容,然后查看该文件的大小。这就是增量大小(对于整个修订版本,您可以获取其中每个单独文件的大小,但这需要查看文件的内容 - 更容易的是只提交该修订版本中的 1 个文件来查看)。
答案2
听起来 Subversion 是最有可能的答案,但是您无法合并二进制文件中的更改。我相信 Git 和 Mercurial 也会遇到同样的问题。
答案3
我可能错了,但 SVN 的主要承诺之一不就是它实际上可以处理二进制文件中的增量变化吗?
无论如何,对于设计师,我建议使用 Subversion 和如下客户端: