汞拉/克隆

时间:2012-11-06 11:25:47

标签: mercurial

我有一种情况,我正在编写一个处理大量存储库,配置,构建和运行东西的系统。有一个任务可能被称为sync-repository,用户应该能够调用该任务以确保最新版本的存储库到达客户端。

回购已经存在,在这种情况下,我想做一个hg update。回购也可能不存在,在这种情况下我想做一个hg clone。用户不必关心是哪种情况。哦,存储库很大,所以只需擦除目录并且每次clone都不是一个选项。

hg是否提供cloneupdate引导下的单个命令,具体取决于哪个?或者我将不得不用bash做到这一点?

1 个答案:

答案 0 :(得分:1)

  

用户不必关心是哪种情况。

是的,但是你必须关心并且知道,你有克隆还是没有。你想怎么管理它?

如果你有表格中的someconfig文件,那么f.e

Reponame = / full / path / to / clone

如果克隆存在与否,您可以检测并使用if-then-else逻辑。如果您没有信息,则无法做出决定

添加-上

不,Mercurial核心中没有这样的“组合”命令(我希望,它们永远不会出现在它中),因为Mercurial没有git-way“一个命令用于不同的无关任务”并且遵循Unix方式( “记住你自己的事业!”更严格地说

但是,从另一方面来说,它可以让你自由地做你想做的事情 - 你可以定义自己的Mercurial命令(如果你问过这个),这可能是一个不相关的原始命令的大杂烩(见Aliases extension(维基页面)稍微过时了)和.hgrc中的[alias] section - 最新的)甚至在Mercurial别名中使用shell命令