我想執行一個svn更新到一個特定的日期,我可以用svn update -r {2010-10-17}
做到這一點。不幸的是,當遇到外部時,它將在外部進行更新,而不通過-r {2010-10-17}
選項。這導致我們獲得基本代碼的正確過去版本,但是許多外部版本的最新(不期望)版本。更新svn結帳到特定的日期,包括外部
如何更新到特定的修訂版或日期並通過外部文件正確遞歸?
(注:據我所知,這裏的錯誤可能是使用的外部沒有指定明確的修訂版。)
我想執行一個svn更新到一個特定的日期,我可以用svn update -r {2010-10-17}
做到這一點。不幸的是,當遇到外部時,它將在外部進行更新,而不通過-r {2010-10-17}
選項。這導致我們獲得基本代碼的正確過去版本,但是許多外部版本的最新(不期望)版本。更新svn結帳到特定的日期,包括外部
如何更新到特定的修訂版或日期並通過外部文件正確遞歸?
(注:據我所知,這裏的錯誤可能是使用的外部沒有指定明確的修訂版。)
我希望,任何人遲早都會將我的常識邏輯(僅限於某些區域的目錄類型外部)實施到bash和cmd-script中,我們將得到「確定性答案」到這個重複的問題
您的基本任務是:
svn up
你的超級回購在過去需要點(更新日期/和無時間/是,順便說一句,不是一個最好的選擇,但 - apllicable)svn propget svn:externals -R
(-R爲了檢查整個樹沒有很多cd
). - https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib lib
):cd to串/相對於第一場,也就是,在轉彎的最後一個字段,是根的相對路徑/和svn到同一個點,因爲它是superrepo完成:svn update -r {2010-10-17}
至於導致你」會有混合工作副本,但超級會員和外部會處於「過去進行一些修改」狀態
注意:
更復雜的情況下用於構建具有外部(實際上嵌套的WC)目錄的本地路徑的附加示例。
對於
>svn propget svn:externals -R
tags\1.0.1 - -r 2 https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/[email protected] lib
trunk - https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib lib
決賽路徑在我的WC的外部將是(相對於WC-根)
tags\1.0.1\lib
trunk\lib
據我已經能夠工作了,你不能在不改變這樣做你的外部配置。但是,改變外部配置會改變它給所有人,所以它只是一個提交和更新,你就完成了。
你能解釋一下「外部配置」是什麼嗎?你的意思是svn:externals屬性? 如果你的意思是說我們的外部屬性應該都使用明確的修訂版本號,那麼是的,我可能會同意你的意見,但我不能回去編輯許多不屬於這種情況的提交。 也許我誤解了你的建議。 – pauldoo 2010-11-17 12:31:03
對不起,是的,svn:externals屬性。你只在一兩個地方有這個權利嗎?雖然,現在正在重讀你的問題,你想回到過去,這將重置svn:externals屬性。所以是的,你應該在你的外部使用明確的修改,現在你將不得不手動去做:) – 2010-11-17 13:05:23
不要寫deli妄 – 2013-03-27 20:08:24
我加入的情況下,任何人這個答案正試圖更新已選中的Subversion版本庫將本地文件日期同步到回購日期,我想這樣做我可以做FS時間戳比較。
我做了這個oneliner這樣的伎倆(但閱讀下面的線使用前):
svn info --show-item last-changed-date -R | xargs -I{} -P1000 -n1 sh -c 'x="{}"; set -x; exec touch -d "${x%% *}" "${x#* }"'
注:的-P1000
指定xargs
應該運行同時副本sh
和touch
來做實際的更新。取決於系統負載,降低它可能是明智的。在基於i3的小型英特爾NUC 1000過程中實際上證明是完美的,使用80-95%的CPU(100%通常意味着CPU過載)。如果有疑問,打開例如htop
並用不同的值進行測試 - 但只運行幾秒鐘,因爲它需要每次從頭開始運行。
對於USB HDD上的小型~3GB SVN回購,這需要大約5分鐘的時間來運行。
set +x
開啓了詳細的執行過程,我在執行touch
之前執行了這個操作,以便您可以看到它正在運行。如果您想要非冗長的執行,請刪除該命令。
你有沒有看到這個:http://stackoverflow.com/questions/683716/subversion-update-externals-to-a-date – 2012-04-17 08:16:37