包含版本的文件格式

问题描述:

我喜欢使用压缩文件夹作为文件格式容器的想法。它们用于LibreOffice或Dia。所以如果我想定义一个特殊用途的文件格式,我可以定义一个文件夹和文件结构,只需压缩根文件夹,并将单个文件的所有数据都包含在一个文件中。导入的文件只是作为原件在压缩文件中存在。使用此功能从零定义二进制文件格式将是很多工作。包含版本的文件格式

现在我的问题:是否有应用程序使用压缩文件夹作为文件格式并在文件夹内进行版本控制?好处很大。您可以将项目中的某个状态提交到您的文件中,并且版本只是使用您自己的应用程序中的函数进行装饰。也可以用你自己的方式呈现差异。

可用于处理压缩文件和版本的库。所使用的版本控制系统应该是一个分布式系统,其中存储库位于工作文件夹内,而不是像其客户端 - 服务器模型那样与其颠覆。

您认为如何?我确信使用这种方法有应用程序,但我找不到。或者这种方法有什么主要缺点?

听起来像一个有趣的想法。 我知道许多应用程序声称他们有“无限制”撤消和重做,但是这只能回到我最近打开此文件的时间。 在您的系统中,即使在我看到最近一次打开此文件的版本之前,应用程序仍可以“撤消”该文件的先前版本,即 - 这可能是一个漂亮的功能。您是否看过TortoiseHg? TortoiseHg使用Mercurial,这是 “分布式系统,其中存储库位于工作文件夹内”。

您可以使用Mercurial文件格式并借用TortoiseHg和Mercurial源代码来使用它,而不是定义新的压缩版本化文件格式和所有软件以从头开始使用它。

如果我正在使用两个不同的应用程序, ,并且每个应用程序都希望以其自己稍微不同的压缩版本文件格式存储整个项目,会发生什么情况?

我现在发现的是,OpenOffice又名LibreOffice里面有一种版本控制。 LibreOffice文件是一个带有结构化内容(XML,direcories,...)的zip文件。您可以将当前内容标记为一个版本。这导致创建一个包含所有版本信息的VersionList.xml。版本目录已添加,其中包含版本1,版本2等文件。这些文件是该州的实际文件。