這裏是問題:如何複製目錄樹但排除.svn目錄?
遍歷所有文件和子文件夾複製所有內容除了.svn到另一個位置。
我能想到的一些漂亮的毛茸茸的方法可以做到這一點,但如果有誰知道真正簡單的函數來拯救我一點時間,我想知道?謝謝。
這裏是問題:如何複製目錄樹但排除.svn目錄?
遍歷所有文件和子文件夾複製所有內容除了.svn到另一個位置。
我能想到的一些漂亮的毛茸茸的方法可以做到這一點,但如果有誰知道真正簡單的函數來拯救我一點時間,我想知道?謝謝。
可以使用svn export
命令。它將使用工作副本的內容(或存儲庫上的修訂版)填充目標文件夾。
只是一個諮詢。 OP想要複製_all contents_,其中可能包含不受版本控制的文件。該文件明確指出'svn export'不會複製_files不受版本控制_。 – MSX 2016-10-11 03:10:54
@msx是的,它可能有,根據字面問題的文字。幸運的是,在單詞和短語下面的實際問題是關於版本控制的內容 – xtofl 2016-10-11 16:25:34
@xtofl顯然。我完全同意你的看法。接受您的答案爲最佳表示OP對解決方案完全滿意。我自己正在尋找一個解決方案來複制一切,但'.svn'文件夾和'svn export'不能解決我的問題。因此,我的評論......希望它能騰出時間讓其他人尋找類似於我的問題的解決方案。 – MSX 2016-10-12 12:13:44
使用rsync和--exclude
開關。
...雖然在這個特定的情況下,更好的選擇是svn export
如果您使用TortoiseSVN,使用導出...
我們有時會使用超越比較(http://beyond-compare.softonic.com/):選擇根源目錄和目標之一,排除.svn並進行同步。如果您需要重新執行此操作,此功能很有用:將設置保存爲項目。
所以用我最近在做這個的快速和骯髒的方法是蟒蛇:
for root, dirs, files in os.walk(inRootDirArg):
for d in dirs:
if d.startswith('.'):#excludes directories that start with '.'
continue
...<logic to move your desired directories>...
該解決方案忽略開頭的任何目錄,但如果我需要的是更具體的就不難「」修改它以省略.svn目錄。
正如其他人所說,SVN出口。
但是,你也可以做到這一點很容易使用的Xcopy和排除開關,在這裏看到:
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true
這裏:http://commandwindows.com/xcopy.htm
第二個環節具有的排除更好的說明開關。
使用Cmd的
Dir/a-d/s/b >>1.txt
,並使用了AutoIt讀取文件,更好地利用_FileReadToArray,並在一個循環中,檢查文件路徑,如果它有一個」 .svn'in它
如果AutoIt的是不需要的,你可以使用XCOPY與排除文件:
xcopy "..\source\" "..\destination\" /E /Y /R /exclude:exclude.txt
exclude.txt應包含以下內容:
\.svn\
出於興趣,並且已經看到了答案。我很愚蠢,但是從顛覆控制中解脫出來的原因是什麼?這是一個真正的愚蠢問題! – brumScouse 2010-10-29 17:57:17
我做了類似的事情在工作中備份庫的本地副本,因爲它是相當大的,每次結賬,節省了大量的時間。這只是一個'學習/打破'的副本,不會被檢查 - 否則我不會推薦這個。 – 2010-10-29 18:02:22
你應該修改的問題更清楚地說明您正在使用的AutoIt,或刪除標記,如果你不需要AutoIt的解決方案。 – 2010-10-29 18:05:02