2017-02-21 32 views
0

我們正在嘗試捆綁存儲庫的一部分。hg bundle revset - 未找到更改

以下命令:hg bundle -r 1:11 bundle.hg產生輸出「正在搜索更改,未找到更改」。

如果我們將其他命令重複使用相同的revset,hg log -r 1:11將顯示預期的變更集列表。

使用hg bundle -a bundle.hg工作正常。

在Windows 7

回答

0

使用HG 3.8.4在hg bundle's documentation,有以下段落:

要創建一個包含所有的變更束,使用-a/- 所有(或 - -base null)。否則,hg假定目標將具有您用--base參數指定的所有節點。否則,hg將假定存儲庫具有目標中的所有節點,如果未指定目標,則默認爲推送/默認。

它讀起來有點像一個嵌套的if語句,所以讓我來解釋它。

  • 如果指定(自有或--base null-a--all,你會捆綁所有的變更

  • 如果沒有指定-a--all,您可以指定哪些節點存在在使用--base

  • 如果你做了沒有上述的目的,水銀假定出現在指定目標的變更,如果有的話,或默認推/默認

你嘗試,hg bundle -r 1:11 bundle.hg,是在最後一類,我懷疑的是,在revset所有節點都出現在默認情況下,推/默認。

嘗試修改您的命令到hg bundle -r 1:11 --base null bundle.hg

+0

感謝您的回覆。執行'hg bundle --base null -r 1:50 bundle_1.hg'運行時沒有錯誤,併產生比使用--all開關更小的文件。但是,運行hg bundle --base null -r 40:50 bundle_2.hg會生成一個二進制等於bundle_1.hg的文件。我猜測使用--base null導致了這個問題。這讓我認爲混合--base和--rev可能會導致衝突,也許這不是一個好主意。 – Lars

+0

或者,'--base null'表示在目的地沒有任何東西,所以似乎要捆綁所有的遊標。你可以嘗試' - 基地祖先(40:50)-r 40:50'而不是? –

+0

然後我在shell中找到'沒有找到變化'的消息。使用祖先(40:50)嘗試並且生成的'10變更集發現' – Lars

相關問題