我们使用shell脚本通过不同的服务器(DTAP)部署应用程序。唯一的问题是,当caps被改变时,这些是不同步的。
例如:aboutcontroller.php>aboutcontroller.php
我们正在使用下面的rync命令。
rsync -avz git/folder/ public_html/folder/
有人知道如何解决这个问题吗?
问题不可能是rsync
本身,而是源文件系统或目标文件系统(或两者)的大小写不敏感。当rsync
说"给我文件foo
的内容"时,文件系统却用FOO
的内容来响应,因为不管出于什么原因,它认为大小写不敏感是一件"好事",rsync
不能做太多来完成"正确的事情"。在Windows和Mac平台使用的通用文件系统上,这将是一个问题,但在Unix/Linux上则不会如此严重(除非它们也支持Windows/Mac文件系统)。
Linux考虑到了这一点。然而,如果你今天输入Foo.h,但你的不区分大小写的文件系统明天发送它Foo.h(内容不同),你最终会在Linux上得到两个文件(Foo.h和Foo.h),你会让每个人都感到困惑。