我正在开发一个小型应用程序,以允许我在每次更改之前修改文件和版本每个文件。我希望该应用程序做的是对每个文件进行唯一标记,以便每当打开同一个文件时,都可以拉回该特定文件的历史记录。我没有为此使用任何大版本控制工具。请问我如何在语法上执行此程序?
1 回答
简单的解决方案。使用已经存在的版本控制(例如 Git),但如果你真的想这样做,那么试试这个。
每次创建新版本时,将文件的先前版本复制到单独的隐藏目录中,并在该目录中有一个配置文件,其中包含该文件的校验和。校验和“很可能”是唯一的,因为它是文件的哈希值(每次文件更改时,校验和都会不同 - 您需要自己计算校验和。)
当您打开文件时,只需检查目录中是否存在该配置文件,并将校验和与已打开的校验和进行比较。如果它们相同,那么您在同一个文件中。这就是它的工作原理。
您可以使用校验和来优化它。因此,如果用户进入文件更改内容,则更改回原来的方式并保存。校验和应该返回相同的东西(除非您包括修改的日期和时间等)
每个文件夹都应该有一个遵循模式的名称(filenameVn.n 例如 someTextFile.txt.v1.0),然后您将能够弄清楚您在历史记录中导航到的目录应该说什么。
另一种方法是简单地复制文件并在其末尾附加一些标签(可能是校验和?版本号?),这样你就不需要额外的文件夹了。
另一种方法是调用文件,无论记录的校验和是什么,并将版本的历史记录(连同相应的校验和)存储在一个单独的配置文件中,然后在您想弄清楚您想要访问的文件时引用它是叫。所以每个版本都将根据自己的校验和来引用(就像在 Git 中一样。)
因此,总而言之,每个文件版本都将存储在某处,您将能够验证它们是否相同(因此您可以通过避免存储多个文件而没有更改并浪费空间来进行优化)并且您将能够动态确定每个版本在哪里并可以访问它。
希望它能让您对如何开始有更多的了解。