Mercurial: Windows script to add subrepository automatically
Asked Answered
D

1

6

RyanWilcox had posted a script at here, that can use the following command to add subrepository automatically:

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

How to translate it into Windows batch or powershell script?

Drying answered 10/5, 2011 at 2:26 Comment(0)
S
2

Here is a quick and dirty translation. Haven't tested as I got no Mercury around. The initial script seems to be easy enough to translate into 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"
}
Sorority answered 10/5, 2011 at 5:48 Comment(1)
Thanks for the code! I get an error though. I need to replace if(test-path ".hg" -eq $false ) to if((test-path ".hg") -eq $false ).Drying

© 2022 - 2024 — McMap. All rights reserved.