命令行更新SVN文件夹(Command line to update SVN folders)

2019-09-16 18:47发布

我已经试过几件事情,到目前为止,但我还没有多少运气呢。 我试图有一个命令行或PowerShell脚本,我可以运行一天一次,以确保我的无数签出的项目是最新的。

我知道我会通过我的工作区中的目录文件夹进行循环,但设置变量时,我已经没有任何运气,因为它会报错了。 我使用TortoiseSVN的 ,和Windows Vista中 。

这是我到目前为止有:

echo == Initiating system instance variables...
echo. -- Setting the variables...

:: Here you need to make some changes to suit your system.
set SOURCE=C:\workspace\Project
set SVN=C:\Program Files\TortoiseSVN\bin
:: Unless you want to modify the script, this is enough.

echo. %SOURCE%
echo. %SVN%
echo. ++ Done setting variables.
echo.
echo == Updating source from SVN
echo. -- Running update...
"%SVN%\TortoiseProc.exe" /command:update /path:"%SOURCE%" /closeonend:2
echo. ++ Done.

echo. -- Cleaning up...
set SOURCE=
set SVN=
echo. ++ Done.

@echo off

Answer 1:

它可能在PowerShell中更容易:

Set-Alias tsvn 'C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe'
dir C:\workspace | %{ tsvn /command:update /path:"$($_.FullName)" /closeonend:2 }

或者,如果要指定某些项目目录:

cd C:\workspace
$projects = 'Proj 1','Proj 2','Proj 3'
$projects | %{ tsvn /command:update /path:"$_" /closeonend:2 }

PowerShell脚本有PS1扩展。 您可能还需要更新执行政策,允许脚本运行:

Set-ExecutionPolicy RemoteSigned


Answer 2:

只需使用SVN命令行本身:

pushd "%SOURCE%"
svn update
popd

您可以在获得Windows Subversion的工具http://subversion.tigris.org/getting.html#windows 。 在TortoiseSVN安装它们并排。



文章来源: Command line to update SVN folders