2016-03-21 67 views
1

目標:沒有這把不必要的文件創建一個新的存儲庫1.27 GB清理的HG回購

解決辦法:使用汞轉化和排除的文件

問題:文件沒有得到排除

Filemap.txt內容:

exclude "feturehub/wp-content/uploads/backupbuddy_backups" 
exclude "feturehub/wp-content/uploads/edd/2015" 

命令

hg convert --filemap filemap.txt featurehub featurehubclean 

正從featurehub(SRC)的父文件夾運行,SRC還包含filemap.txt

我得到的是隻有一個文件夾。 hg文件夾,並在其中我試圖排除edd文件夾(這是相同的,如果edd或其'2015子文件被排除在外,2015年是唯一的edd文件夾)。

編輯:刪除filemap.txt中的第三行,因爲它不影響結果,但它確實會造成混淆。

EDIT2:

// fe is my source root, no there's no hg repo here, and each folder IS 
// a project with an hg repo, featurehub is one such project/repo 

AndrijaMBA:fe ajambrovic$ ls | grep file 
filemap.txt 

AndrijaMBA:fe ajambrovic$ hg convert --filemap filemap.txt featurehub featurehubclean 

initializing destination featurehubclean repository 
scanning source... 
sorting... 
converting... 
..... 

運行該命令後,新的回購,featurehubclean,包含EDD文件夾(及其子文件夾)。

+1

從我記得關於使用hg convert - 一個沒有指定.hg文件夾(在filemap中)的文件。此外,除.hg文件夾外的空文件夾也是需要的 - 需要執行「hg update」來更新工作目錄。 – Tom

+1

添加到湯姆的評論:.hg文件夾內的任何內容是*實際*存儲庫,但沒有任何內部存在或可以跟蹤。轉換運行的結果存儲庫是* bare *存儲庫(因此只有.hg文件夾),沒有修訂*檢出* ...只需檢出修訂即可,如果您願意的話。通過理解工作目錄狀態和存儲庫之間的區別來解決你自己的問題 – planetmaker

+0

@Tom - 可能是,但是我有一個文件夾路徑,問題是新的repo仍然包含該文件夾,我添加了一個路徑到裏面.hg只是爲了看看它是否有幫助 - 事實並非如此。新目錄是空的這一事實不是問題,新的回購有我想要排除的文件夾的事實。 – Andrija

回答

0

好的,問題是微不足道的 - 路徑。相反的:

exclude "feturehub/wp-content/uploads/backupbuddy_backups" 
exclude "feturehub/wp-content/uploads/edd/2015" 

我應該用

exclude "wp-content/uploads/backupbuddy_backups" 
exclude "wp-content/uploads/edd/2015" 

這裏的例子:

:使用(在這種情況下) 「featurehub」,即使擴展文檔狀態https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html節目所有路徑應指定爲相對路徑,該路徑根源於 轉換後的目錄。應使用Unix路徑語法,而不管 操作系統。