Android 使用Git/SCM作为应用程序持久层
我只是看书。虽然它为使用SQLite作为单用户、单设备类型应用程序的持久层提供了很好的理由;对于需要频繁同步的多设备、多用户和多设备应用程序,它似乎不太适合 我一直在寻找满足以下要求的SQL或NoSQL持久层:Android 使用Git/SCM作为应用程序持久层,android,database,git,synchronization,persistence,Android,Database,Git,Synchronization,Persistence,我只是看书。虽然它为使用SQLite作为单用户、单设备类型应用程序的持久层提供了很好的理由;对于需要频繁同步的多设备、多用户和多设备应用程序,它似乎不太适合 我一直在寻找满足以下要求的SQL或NoSQL持久层: GPL兼容许可 c/c++API 本机同步/复制功能 至少能够在GNU/Linux x86_64和Android ARMv7、MIPS、Windows、OSX和iOS上运行(可选) 到目前为止,我发现的唯一选择是Couchbase,我一直在使用它。这让我怀疑使用Git(或其他SCM)
- GPL兼容许可
- c/c++API
- 本机同步/复制功能
- 至少能够在GNU/Linux x86_64和Android ARMv7、MIPS、Windows、OSX和iOS上运行(可选)
虽然这显然是可能的,因为git本质上是一个分布式文件系统,但我不清楚它作为一个解决方案的实用性以及潜在的陷阱。有没有人对使用git作为持久层有什么特别的经验?你真的需要git的历史保存部分?你打算如何解决冲突?@njzk2谢谢你。我很确定,在“服务器”端,不会有一个provlem保存所有历史记录。在客户方面,可能需要的只是当前的负责人;其他所有内容都可以删除。而且,就冲突而言,可能只需要一个简单的最后版本就可以获胜。不过,我们需要更多地发挥这一点。我很欣赏insight.git通常在每个存储库中保存完整的历史记录(根据其分散的性质)。我认为有可能根据提交日期自动化合并,可能只需编写一点脚本。您可能希望了解基于rsync或webdav的同步系统systems@njzk2我在让webdav仅作为服务器和客户端在GNU/Linux上工作时遇到了一些糟糕的问题。不太可能再想惹麻烦了。rsync可能会很有趣,尽管我认为会有一个时钟同步问题。