Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Git/SCM作为应用程序持久层_Android_Database_Git_Synchronization_Persistence - Fatal编程技术网

Android 使用Git/SCM作为应用程序持久层

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)

我只是看书。虽然它为使用SQLite作为单用户、单设备类型应用程序的持久层提供了很好的理由;对于需要频繁同步的多设备、多用户和多设备应用程序,它似乎不太适合

我一直在寻找满足以下要求的SQL或NoSQL持久层:

  • GPL兼容许可
  • c/c++API
  • 本机同步/复制功能
  • 至少能够在GNU/Linux x86_64和Android ARMv7、MIPS、Windows、OSX和iOS上运行(可选)
到目前为止,我发现的唯一选择是Couchbase,我一直在使用它。这让我怀疑使用Git(或其他SCM)和JSON文件作为持久层是否合理。这样可以防止重写同步控制盘


虽然这显然是可能的,因为git本质上是一个分布式文件系统,但我不清楚它作为一个解决方案的实用性以及潜在的陷阱。有没有人对使用git作为持久层有什么特别的经验?

你真的需要git的历史保存部分?你打算如何解决冲突?@njzk2谢谢你。我很确定,在“服务器”端,不会有一个provlem保存所有历史记录。在客户方面,可能需要的只是当前的负责人;其他所有内容都可以删除。而且,就冲突而言,可能只需要一个简单的最后版本就可以获胜。不过,我们需要更多地发挥这一点。我很欣赏insight.git通常在每个存储库中保存完整的历史记录(根据其分散的性质)。我认为有可能根据提交日期自动化合并,可能只需编写一点脚本。您可能希望了解基于rsync或webdav的同步系统systems@njzk2我在让webdav仅作为服务器和客户端在GNU/Linux上工作时遇到了一些糟糕的问题。不太可能再想惹麻烦了。rsync可能会很有趣,尽管我认为会有一个时钟同步问题。