长话短说,我需要构建一个简单的dropbox克隆来与我的服务器同步文件。
我做了家庭作业,做了很多研究,但我找到的解决方案(包括代码和已经烤好的解决方案)似乎都不够好。
我也读过这里关于堆栈溢出的其他文章,唯一的区别是我需要在文件系统事件上触发同步任务。而且,git已经被用于真正的版本控制目的,而我不能将它用于这个同步任务。
这是我的装置:
我在github上有一个git存储库,我使用capistrano进行定期部署。我的问题是:我们有基础设施和数据含义,这使得我们不可能进行真正的本地开发。
我的代码可以在本地存在,我可以在github上对其进行版本化,但是它需要在服务器上运行,就像我进行开发一样。为了避免牛仔的发展,我想出了一个解决方案:
这样,这就是我们的工作流程:
这样,当涉及到git工作流时,每个开发人员的幽灵存储库都是完全不存在的(就git而言,这些幽灵存储库甚至不存在,它们只是开发人员的一个实用工具)。
考虑到这个(长!)前提是,这些是我需要的特性:
在“已经提出”的解决办法中:
只有GoodSync似乎提供了我需要的东西,但我无法使自动更新功能(在文件系统更新上同步)以任何可能的方式工作。
在我自己必须做的菜谱中,我读过关于FSEvents、inotify (linux) + rsync选项的文章,但它们可能有点超出了我的范围(我可以做一些基本的applescripts,可能与FSEvents API或inotify不太一样)。
所以这就是我现在的处境。我对任何类型的建议都持开放态度,并预先感谢你们就这一问题提出的任何意见。
谢谢!
发布于 2012-10-06 17:41:41
发布于 2012-04-26 15:32:53
在我看来,你是在用艰难的方式来做这件事。
我从事的是一个软件项目,它有一个很大的源代码库,最好是构建在服务器上,而不是我的主机器上,我只需将ssh放入服务器并以这种方式编辑源代码。(实际上,我使用NX来使用远程X-windows会话,但这等同于相同的事情。)服务器在加利福尼亚,我在英国,延迟不是问题,所以除非你在一个糟糕的连接上操作,否则我看不出有什么特别的地方。
如果必须使用本地编辑器,请尝试使用sshfs安装远程系统。不太理想,但很管用。不过,我不建议做任何那样扫描很多文件的事情。
否则,如果您必须使用镜像目录,为什么它必须是自动的?当然,开发人员知道他什么时候想要测试更改,只需按一下rsync按钮就可以了?
https://stackoverflow.com/questions/10281024
复制相似问题