2011-08-15 23 views
1

我有一個名爲「y」的文件夾,它不保存在版本控制中。我有一個在版本控制下的文件夾「x」。我想y複製到x,因爲這樣我可以用TortoisesvnCheck for Modifications命令對文件夾x如何刪除基於顛覆的文件?

那麼我可以假設,每一個文件/文件夾,上面寫着Non-versionedIgnored可以安全地刪除。因爲我的WC在沒有他們的情況下一直工作正常。

如何添加Subversion標記爲創建批處理腳本的文件列表?

更新。

我已經走得很遠了,我想我只需要一種方法來實現這一點。

我將y複製到x中。我跑了檢查修改。我可以右鍵單擊對話框並將路徑複製到剪貼板。我只選擇Unversioned或忽略的文件。

我將路徑粘貼到批處理文件中。我使用一些查找和替換魔法來創建這個。

XCOPY www.root\* www.root.backup /I /Q /R /S /E 
CD www.root 
DEL "Appraisals\*.*" /q /s 
DEL "jobs\Backup\*.*" /q /s 
DEL "New\Portability\BACKUP\*.*" /q /s 
DEL "Footer\Codes\*.*" /q /s 
DEL "QL\Commercial\*.*" /q /s 
DEL "images\Discard\*.*" /q /s 
DEL "Dup SH Pages\*.*" /q /s 
DEL "ExtensionRequest\*.*" /q /s 
DEL "ExtFile\*.*" /q /s 
DEL "Ad\Include\*.*" /q /s 
DEL "Bio\Include\*.*" /q /s 
DEL "Contact\Include\*.*" /q /s 

更新#2

我更好地類比和例子工作,所以這裏的情形和我想要的結果是什麼。

請想象我的回購中有一個非常簡單的樹幹。它只有一個文件code.txt我對該文件進行了更改,將它們提交回購。在對repo進行更改後,我只將該文件從repo導出到Production。

現在想象其他一些開發者出現,不要跟我說話。他們直接複製到生產服務器的各種文件。

copy of code.txt
bob's copy of code.txt_backup
copy of copy of copy of bob's copy of code.txt_backup.backup

現在想象一下,我意識到這一點,並決定保護自己的代碼subverion。我將它添加到我的回購和承諾。現在,隨着時間的推移,我意識到copy of copy of copy of bob's copy of code.txt_backup.backup實際上是生產的一部分,其他兩個文件都是垃圾。

我從我的WC中刪除文件copy of code.txt,bob's copy of code.txt_backup並提交。我也對code.txt進行了微小更改。我承諾。

現在,當我比較以前的修訂版本,並做出口烏龜將導出更改後的文件。

所以現在我有兩個文件在生產中成爲孤兒。我想要一個腳本從生產中刪除它們,因爲它們不在Subversion的頭部。

現在想象一下如果你有5300個文件和文件夾。 ....噢。

+0

我剛更新了我的答案並提供了一個新建議。 – JVerstry

回答

1

如果我正確理解你的問題,你只需要將y的內容複製到簽出x中。

然後,用Windows資源管理器打開x。由於您的PC上安裝了烏龜svn,所以不在版本下的文件將被標記爲藍色圖標,這些圖標用紅色圖標修改,未修改的圖標用綠色圖標標記。

這是你在找什麼?

編輯

我只是另一個想法:

  1. 在Y.
  2. 通過創建的所有文件Y.
  3. 循環副本˚FX.
  4. 的刪除所有的F

最後Y會包含不在X中的文件,這就是你想要的,不是嗎?然後,可以在將Y添加到X後將它們從X中刪除。

+0

這是第一部分。現在,我想生成一個腳本,它是所有藍色圖標的列表,以便應用於y「立即刪除這些文件!」 –

+0

@Doug不幸的是,我不確定這是可能的,除非你分析在X中創建的.svn文件。我認爲這是一個手動的工作。可能是別人有更好的建議。 – JVerstry