diff --git a/babel.nim b/babel.nim index 6d49432..6d66025 100644 --- a/babel.nim +++ b/babel.nim @@ -199,10 +199,15 @@ proc install(packages: seq[String]) = case pkg.downloadMethod of "git": echo("Executing git...") - removeDir(downloadDir) - doCmd("git clone --depth 1 " & pkg.url & " " & downloadDir) + if existsDir(downloadDir / ".git"): + doCmd("cd "& downloadDir &" && git pull") + else: + removeDir(downloadDir) + doCmd("git clone --depth 1 " & pkg.url & " " & downloadDir) + if dvcsTag != "": doCmd("cd \"" & downloadDir & "\" && git checkout " & dvcsTag) + else: quit("Unknown download method: " & pkg.downloadMethod, QuitFailure) installFromDir(downloadDir, dvcsTag == "")