Mercurial:自动添加子存储库的Windows脚本

时间:2011-05-10 02:26:25

标签: powershell mercurial batch-file subrepos mercurial-subrepos

RyanWilcoxhere发布了一个脚本,可以使用以下命令自动添加子库:

$ cd $TOP_OF_HG_PROJECT
$ addsubrepo.sh $URL_TO_HG_PROJECT relative_path/you/want_to/put_the_subrepo

如何将其翻译成Windows批处理或PowerShell脚本?

1 个答案:

答案 0 :(得分:2)

这是一个快速而肮脏的翻译。没有测试,因为我没有得到水星。最初的脚本似乎很容易转换为Powershell。

# Project and relative paths as script parameters
param([string]$project, [string]$relPath)

# Let's see if there is an item .hg. If not, report error and quit
if((test-path ".hg") -eq $false ) {
   "You MUST run this at the top of your directory structure and use relative paths"
    return
}

# Call Mercury
& hg clone $project $relPath

# Add data to .hgsub using composite formatting string
add-content -path ".hgsub" -value $("{0} = {1}" -f $relPath, $project)

# Check that .hgsub exists and issue Mercury commands if it does
if(test-path ".hgsub") {
    hg add .hgsub
    hg commit
} else {
    "failure, see error messages above"
}