views:

536

answers:

2

I have tried several things so far but haven't had much luck yet, what I'm attempting to do is to have a command line or powershell script that I can run once a day to make sure my numerous checked out projects are up to date. I know I would be looping through the directory folders inside my workspace, but when setting the variables I haven't had any luck as it will error out. I am using tortise-SVN, and Vista. Here is what I have so far

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
+7  A: 

Just use the SVN command line itself.

pushd "%SOURCE%"
svn update
popd

You can get the subversion tools for windows at http://subversion.tigris.org/getting.html#windows. Install them side by side with Tortoise.

Paul Alexander
Unless installed separately, tortoise doesn't come with the command line interface.
hometoast
Actually, there is a command line tool that comes with Tortoise (SubWcRev.exe).
Groo
No, sorry, we use it to update out source files with a rev. number, it cannot be used to update/commit.
Groo
+2  A: 

It might be easier in PowerShell:

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

Or if you want to specify certain project directories:

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

PowerShell scripts have a ps1 extension. You might also have to update the execution policy to allow scripts to run:

Set-ExecutionPolicy RemoteSigned
dahlbyk
how would it a list of folders to loop over and what is the extension of PowerShell scripts, I really like it, its a lot simpler than the older script I had going on
Josh Knutson
Does that help?
dahlbyk
Yes it does thank you
Josh Knutson