1

我有一个在 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 目录?我认为这将解决问题

4

0 回答 0