1

Windows で実行する fabfile があります。put(...) コマンドを使用して、ターゲット OS が Linux であるファイルを移動しています...

put('*', '/home/somedir/')

その結果、ターゲットの Linux システムにアクセスできます...

/home/somedir/directoryFromWindows\\file

そのため、ファブリックはクライアントが Windows であることを認識していないようですが、ターゲットは Linux であり、ディレクトリ セパレーターはその DOS \ から Linux / に変換されていません。

これを機能させるために使用できるテクニックはありますか? 私が働いている場所では、Mac (unix) を使用している人もいれば、Windows を使用している人もいます。fabfile put (またはコース) は Mac -> Linux で機能しますが、Windows -> Linux からの fabfile put には上記の問題があります。

助言がありますか?

アップデート:

OK、問題は、Windows のディレクトリ ツリーが svn チェックアウトを介して作成されたため、.svn ディレクトリがいたるところにあることです。ファブリックが をエスケープしているようです。たとえば、私が

put('*' , /targetDir) 

ファブリックは次のようなパスを構築しています

somepath\\.svn

ツリー内の任意の場所で .svn ディレクトリに遭遇したとき。グロビングを使用して、.svn を持つすべてのファイルとディレクトリを無効にしようとしています

put( !(.svn), /targetDir)

ツリー内のすべての .svn ディレクトリが除外されるように、グロビングを正しく使用する方法を知っている人はいますか? これで問題は解決すると思います

4

0 に答える 0