将Subversion集成到具有简单文件存档的应用程序中是否过度?

时间:2009-02-26 13:16:36

标签: svn version-control

由于我们即将开始规划一个处理媒体文件(mp3,flv,pdf,图像)的应用程序,我正在考虑如何处理文件存储。文件将发生变化,版本应该在一定程度上被跟踪,因此可以想到在应用程序中集成SVN。

现在我想知道,这太过分了吗?我很确定我们只会使用SVN带来的一小部分功率,所以也许只是使用数据库指向文件系统也一样好。

另一方面,这些自定义存档解决方案总是非常特别,这次我想要一个可靠的解决方案。麻烦太多了?你觉得怎么样?

4 个答案:

答案 0 :(得分:2)

我能用SVN思考的问题是它会随着大型二进制媒体(非常少,如果有的话,“差异”使用)而稳定增长,并且很难用SVN清除历史记录。只要你知道自己在做什么,就应该没问题......

答案 1 :(得分:2)

Subversion非常简单,特别是在使用TortoiseSVN的Windows平台上。在一个简单的场景中使用它来存档您的媒体文件乍一看可能并不是一个坏主意。

您可能遇到问题的地方是所有这些文件类型都是二进制文件,因此无法区分它们。因此,您的存储库将变得非常大,并且您将无法轻松地比较两个版本之间的更改。

我认为在一个简单的场景中,无论如何这对你来说无关紧要,所以要把自己打倒!

答案 2 :(得分:2)

有几件事需要考虑。

存储mp3,flv和pdf文件时,颠覆可能不是最佳解决方案。 Subversion的更改跟踪最适用于文本文件,仅存储文件中的更改。支持二进制文件,但是subversion不像普通文件那样有效。例如,冲突解决并不起作用。

您是否在数据库中存储了其他信息?如果将有关文件的信息存储在数据库中,则可能会在子版本中的事务回滚或数据库中的事务回滚时遇到麻烦。保持数据库和颠覆同步可能会带来麻烦。我会尝试拍摄一个解决方案,我的所有数据都存储在一个地方。如果您可以将所有内容存储在subversion中,那么如果您必须使用其他数据库,则最简单的方法是使用数据库来存储文件版本。

答案 3 :(得分:1)

即使您无法对文件进行区分,但仍然可以在发生错误的情况下相对轻松地恢复到以前的状态。