2014-01-23 34 views
1

我在命令行中使用了mercurial Hg。創建補丁後,由於稍後發生一些錯誤,我需要恢復到另一個更改集。現在需要刷新修補程序文件。它在執行Hg qref時表示,abort: working directory revision is not qtip。另外,hg parent是一個提示。Hg工作目錄修訂不是qtip

+0

'hg tags'的輸出是什麼?它是否包含標籤'qtip'? 「hg qseries」的輸出是什麼? – icabod

回答

0

這是由於將當前頭部彈出隊列而發生的。爲了刷新,該補丁應該已被qpush帶入隊列頭部。

1

我會添加一個答案來幫助其他人在未來可能遇到相同的錯誤消息。我不確定我們的問題是相同的,但絕對相關。

當我嘗試將補丁應用到我的工作目錄時,出現「abort:working directory revision is not qtip」。 事實證明,我在修補程序隊列中產生了較早的修補程序,這導致了問題,並且在刪除這些修補程序後再次嘗試使用它!

這裏就是我所做的: 打開控制檯窗口並導航到工作目錄,我輸入命令:

汞柱qseries

此列出的補丁隊列。然後刪除我進入舊的修補程序:

汞qdelete [補丁名稱(這是剛上市)

在我的情況的反應是「中止:無法刪除應用補丁...」而解決這個我進入:

汞柱qpop

這未應用補丁,然後我可以使用「汞qdelete」命令再次WHI現在工作。重複此操作,直到所有舊修補程序都消失並嘗試再次應用新修補程序。

在Bryan O'Sullivan編寫的第12.7.1節「Mercurial:權威指南」中找到了解決方案。 http://tortoisehg.bitbucket.io/hgbook/1.4/managing-change-with-mercurial-queues.html#id2858507

希望有人認爲這有用!