我有一个在 Windows 上运行的 fabfile。我正在使用 put(...) 命令移动目标操作系统为 Linux 的文件...
put('*', '/home/somedir/')
结果是我进入了目标 Linux 系统......
/home/somedir/directoryFromWindows\\file
所以fabric似乎没有意识到客户端是windows,但目标是Linux,并且目录分隔符没有从那个DOS \ 转换为Linux /
有没有我可以用来让它工作的技术?在我工作的地方,有些人在 Mac (unix) 上,但其他人在 Windows 上。fabfile put(或 course)可以找到 Mac -> Linux,但是从 Windows -> Linux 放置的 fabfile 存在上述问题。
有什么建议么?
更新:
好的,问题似乎在于 Windows 上的目录树是通过 svn checkout 创建的,所以到处都是 .svn 目录。Fabric 似乎正在逃逸。例如,如果我做一个
put('*' , /targetDir)
织物正在构建一条路径
somepath\\.svn
当它在树中的任何地方遇到 .svn 目录时。我一直在尝试使用 globbing 来否定所有具有 .svn 的文件和目录
put( !(.svn), /targetDir)
有谁知道如何正确使用 globbing 以便排除树中的所有 .svn 目录?我认为这将解决问题