Compression 包含版本控制的文件格式

Compression 包含版本控制的文件格式,compression,versioning,file-format,Compression,Versioning,File Format,我喜欢使用压缩文件夹作为文件格式容器的想法。它们用于图书馆或Dia。因此,如果我想定义一种特殊用途的文件格式,我可以定义一个文件夹和文件结构,只需压缩根文件夹,并在一个文件中包含所有数据。导入的文件在压缩文件中仅作为原始文件存在。使用此功能从零开始定义二进制文件格式需要大量工作 现在我的问题是:是否有应用程序使用压缩文件夹作为文件格式,并在文件夹内进行版本控制?好处将是巨大的。您可以将项目中的一个状态提交到文件中,版本控制只是用您自己的应用程序中的函数进行修饰。也可以用自己的方式呈现差异 可以使

我喜欢使用压缩文件夹作为文件格式容器的想法。它们用于图书馆或Dia。因此,如果我想定义一种特殊用途的文件格式,我可以定义一个文件夹和文件结构,只需压缩根文件夹,并在一个文件中包含所有数据。导入的文件在压缩文件中仅作为原始文件存在。使用此功能从零开始定义二进制文件格式需要大量工作

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

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


你觉得怎么样?我肯定有一些应用程序使用这种方法,但我找不到。还是说这种方法有一个主要缺点?

听起来是个有趣的想法。 我知道很多应用程序声称他们有“无限”撤销和重做, 但这只是回到我最近打开这个文件的时候。 使用您的系统,您的应用程序可以“撤消”到文件的早期版本, 甚至在我最近打开这个文件时看到的版本之前——这可能是一个很好的特性

你看过吗? 乌龟使用 “分布式系统,其中存储库位于您的工作文件夹中”

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

如果我在使用两种不同的应用程序进行项目,会发生什么,
而且每个应用程序都希望以自己略有不同的压缩版本文件格式存储整个项目?

听起来是个有趣的想法。 我知道很多应用程序声称他们有“无限”撤销和重做, 但这只是回到我最近打开这个文件的时候。 使用您的系统,您的应用程序可以“撤消”到文件的早期版本, 甚至在我最近打开这个文件时看到的版本之前——这可能是一个很好的特性

你看过吗? 乌龟使用 “分布式系统,其中存储库位于您的工作文件夹中”

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

如果我在使用两种不同的应用程序进行项目,会发生什么,
而且每个应用程序都希望以自己略有不同的压缩版本文件格式存储整个项目?

我现在发现OpenOffice(又称LibreOffice)内部有某种版本控制。LibreOffice文件是一个包含结构化内容(XMLs、direcories等)的zip文件。您可以将当前内容标记为版本。这将导致创建一个VersionList.xml,其中包含有关所有版本的信息。添加了一个Versions目录,其中包含Version1、Version2等文件。这些文件是该状态下的实际文档。

我现在发现OpenOffice(又称LibreOffice)内部有某种版本控制。LibreOffice文件是一个包含结构化内容(XMLs、direcories等)的zip文件。您可以将当前内容标记为版本。这将导致创建一个VersionList.xml,其中包含有关所有版本的信息。添加了一个Versions目录,其中包含Version1、Version2等文件。这些文件是该状态下的实际文档