簡體   English   中英

如何從SVN獲得HEAD之前的修訂版?

[英]How to get from SVN the previous revision before the HEAD?

我已將最新版本檢出到我的工作副本,但它已損壞 - 無法編譯。

如何獲得頭部之前的修訂? 如果它也被打破了 - 之前的前一個?

svn update -r PREV

這是關於修訂關鍵字的文檔的鏈接。

如果沒有任何關鍵字(HEAD,BASE,COMMITTED或PREV)正是您想要的,那么只需查看日志並找到要更新的顯式修訂號。

svn info http://[server]:[host]/myrepo將為您提供存儲庫的修訂版。

然后使用svn update -r [revision-1] http://[server]:[host]/myrepo更新本地副本svn update -r [revision-1] http://[server]:[host]/myrepo

如果你知道一個好構建的修訂版號,那么你可以使用“ 分而治之 ”來找到問題,而不是退一步 - 從頭部開始直到找到破壞構建的修訂版。 如果您從上次知道的商品中獲得了多次修改,這將節省您的時間。

偽代碼:

known_good=whatever
known_bad=head_revision
start:
    candidate=(known_good + known_bad) / 2

    build candidate

    if success
        known_good=candidate
    else
        known_bad=candidate

    if (known_good + 1) == known_bad
        goto end

    go to start:
end:

對奇數修訂版進行着色有點......

您必須獲取當前修訂版號,將其減少一個並svn update到該修訂版,直到找到有效的版本。 我不認為Subversion可以在這里為您提供很多自動化幫助,因為它無法知道將編譯哪個版本。

有關如何獲取當前版本號的信息,請參閱以下問題:

對於TortoiseSVN使用上下文菜單: svn->Update to revision

用於命令行

svn update --revision svn://repo

如果你真的想要它,你可以制作一個腳本,你給它當前的HEAD修訂版號,並從那里下去修改,直到make (或其他)不返回錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM