2012-05-16 35 views
0

我有這個螞蟻說要複製cgi-dir到cgi-dest。如何使ANT中的<exec「cp」排除.svn文件?

<exec executable="cp" failonerror="yes"> 
     <arg value="-a" /> 
     <arg value="${cgi-dir}" /> 
     <arg value="${cgi-dest}" /> 
    </exec> 

我在「copy」ant任務中選擇了這種方法,因爲我想保留權限。螞蟻任務顯然不能。

問題是它複製了它看到的所有.svn目錄,我該如何防止它?

+0

是不是'-p'的權限? '-a'表示全部,並找到所有文件/目錄,甚至以'.'開頭。祝你好運。 – shellter

+0

謝謝,但我的意思是權限作爲使用而不是

+0

的原因,我的意思是'-a'選項(至少對於一個典型的linux/unix系統)被設計爲查找類似'.svn *'的文件。你認爲'ant cp'任務的功能是不同的嗎?祝你好運。 – shellter

回答

2

那麼..你可以看看here,herehere

這工作,我想:tar --exclude='.svn' -c -f - /path/to/sourcedir/* | (cd /path/to/destdir ; tar xfp -)

PS:這些現有的答案會自動顯示爲下右側「相關」建議,也當你鍵入符合您的問題(看來你是Stack Exchange的新手)。

儘管如此,祝你好運。

+0

是的,但沒有一個處理

+0

@JD。我現在瞭解你的情況。選項 - 1.使用像'tar --exclude ='這樣的Unix技巧。svn'-c -f -/path/to/sourcedir/* | (cd/path/to/destdir; tar xfp - )'在那裏創建一個沒有特定文件的臨時TAR,然後將它解壓到目標 2.使用低效率的兩步處理,首先使用CP,然後刪除.svn我相信你已經考慮過了) 3.從這裏[link](http://www.linuxquestions.org/questions/linux-software-2/copy-svn-working-dir-without-svn- hidden-dirs-and-files-620586 /)rsync -r --exclude = .svn/home/user/progname//home/user/progname.copy –

+0

另一個:使用'exec'中的'DOS XCOPY' '/ EXCLUDE/O/K' –

相關問題