从Mercurial存储库中删除目录

时间:2011-04-15 19:58:36

标签: ubuntu mercurial google-code

我刚刚第一次进入Mercurial存储库,现在我正在尝试查看是否可以从存储库中删除目录。我从本地文件系统中删除了该目录,并从Ubuntu尝试了这个命令:

sudo hg push https://alex.genadinik:mypassword@udfr.googlecode.com/hg/ "some comment"

我得到的错误是:

hg push: invalid arguments

但那是我以前用来推动的命令。我在这做错了什么?

以下是我尝试的内容:

$ sudo hg commit -m "removing file"
$ sudo hg push
abort: repository default-push not found!

为什么会这样?

3 个答案:

答案 0 :(得分:4)

您应该遵循的流程是:

  1. hg remove or hg forget the files。 Mercurial不跟踪目录,因此如果从特定目录中删除所有文件,则目录本身将从Mercurial的角度来看不再存在。

    最后,一旦跟踪了文件,就无法使用标准rmdel命令将其删除,也无法从文件浏览器中删除它。这样做会导致Mercurial将文件标记为“缺失”,这意味着它仍在被跟踪。

    完成此操作后,您可以运行hg status,它应显示您刚删除的所有文件,并带有R前缀。

  2. 提交删除。与任何其他修改一样,hg remove / forget是一个需要在推送之前提交的更改。

  3. 推送新的变更集

答案 1 :(得分:0)

您需要指定存储库吗?你不能只使用'hg push'吗?除非这不是您最初克隆的存储库?通常你也想在提交中做出你的评论,但不是肯定的,但我认为你无法推动。 'hg commit -m“我的评论”'

另外,请确保在推送之前提交了更改。

因此,在您的情况下,我会将此视为克隆初始存储库后应该执行的操作。

rm directory
hg commit -m "my commit message"
hg push

它会提示您提供凭证。

答案 2 :(得分:0)

push命令不带注释参数。你错误地记得你做了什么。您可能进行了提交(可以使用-m进行注释)然后按下,这会获取URL而不是注释。该错误告诉您要删除该评论。