What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Tortoise SVN users, or anyone that knows how to write a .BAT file for Tortoise SVN

zeldrak

Well-Known Member
Joined
Oct 25, 2010
Messages
3,516
Reaction score
25
I've got three root folders that all contain sub folders with SVN files in them. I would like to know if someone could write a quick .BAT file, or tell me how to make one in Notepad so that I can update all my SVN files at once, instead of opening each subfolder in each root folder, and updating them one at a time.

I know how to write a .bat file that will allow me to update them all at once, but individually. That takes a very long time to create as I have to get the directory address for each SVN file. I noticed that I can update them all at one time by Ctrl+A > Right-Click > SVN Update, and Tortoise will skip anything that's not an SVN. It makes it faster, but I still have to do that for 14 subfolders. Isn't there a way I can do this quickly with a .bat file that doesn't require me to find the directory address of every single SVN file that I want to update?

Also, as many have done before me, if this is in the wrong forum area I apologize for the placement. Mods, feel free to move this thread to the "proper" location as I wasn't sure where to place it.
 
@echo off
FOR %%A IN (
"path to your svn folder"
"path to your svn folder"
) DO START TortoiseProc.exe /command:update /path:%%A /closeonend:0

found it somewhere here in the forum :P and it works :P

edit: and btw if you "/closeonend:1" it also closes all update windows :P
 
Last edited:
Nope. It didn't work like I was expecting it to work. All that did was try to SVN the main folder all my SVN files were in. It didn't actually do any SVN updates on the sub folders that contained my SVN files.

I have over 100 different SVN folders to update if you count them all individually (all bot bases, plugins, routines, and profile packs) which makes updating them them a bit daunting. I used to have a .bat file that actually did update them, but as things got moved around, deleted, and updated all the directory addresses changed somehow, which makes updating that bat file a constant thing.

Using the method you gave me it only attempted to update the *main* folder containing the SVN files, and did not try to update any of my SVN directories, so it was kind of pointless.

I guess, without being able to see my folder structure and without me being able to explain clearly what I'm looking for, it's a moot point to try and get something that will update my SVN files a little faster and with a little less tediousness.

Ah well, thanks for trying.

Edit: The way I currently update my SVN files is by going into each sub folder, doing a Ctrl + A (Select All) > Right Click > SVN Update. What that does is updates every SVN folder in my sub folder at one time, instead of right clicking each one individually. The issue with that is that I have three main folders (Revemoed HB items, HB Beta, HB Release) that contain sub folders (removed crs, removed plugins, removed profiles, removed bots, and then all the folders in the HB directories) housing all those SVN folders that need to be updated daily. I just wanted a .bat file that would do in a double click what usually takes me five minutes to do manually, lol.
 
Last edited:
i forget the post that i retrieved this from, edit the details as appropriate ...

i will edit this later with the link to the original post.
edit: http://www.thebuddyforum.com/honorbuddy-forum/110733-clearing-your-hb-wow-cache-dummies.html

My Notes:
==========================================
remove any lines that don't seem appropriate to your requirements, this updates a whole bunch of SVN's, just before i use the WoW launcher. it does not copy profile QB's into the folder automatically or anything like that. for those,

i prefer to keep the "SVN" url's linked directly to each plugin, if a profile has their own version of plugins.
use the Repo browser, find the particular Plugin or folder you want, copy the URL, create a new folder, use SVN checkout, paste the new URL onto the Plugin's folder, check the folder works. you may need to move the sub-folder created into the \Plugins Folder Directly. which will work as intended.

if you're curious to see updates and changes, remove the -q from the first or 2nd part, it will display the SVN revision numbers and a summary you can scroll through as it updates.

add more pauses to the script if you want to.

svn update -q doesn't output anything unless there's a problem
svn update --accept tf will overwrite your copy if there's a conflict between your version and the SVN copy (usually a good idea)

check if tortoiseSVN command line utilities are installed -- open up a command prompt (Start key +R, type in cmd, press enter) and type in 'svn' and press enter. it should say
Type 'svn help' for usage.

or it will say
'svn' is not recognised etc.if this comes up, check your install of TortoiseSVN has svn.exe in the TortoiseSVN\Bin\ folder.

you probably need to use a different WoW cache delete process, i've never really found it to be a problem, but it may not delete files at all. never needed to correct it.

cleaning HB slows down the login process to 2-3 minutes to compile, reloggers do not like cleaning the compiledassemblies folder.

==========================================

REM Leave the below alone unless you know what your doing
@echo off
set SVN_64="C:\Program Files\TortoiseSVN\bin\svn.exe"
set SVN_86="C:\Program Files (x86)\TortoiseSVN\bin\svn.exe"
set WoW_Dir=D:\World of Warcraft
set WoW_Local=enUS
set HB_Dir=D:\Honorbuddy
set error1=The SVN command line tool doesn't seem to be installed...
Echo WoW directory set to %WoW_Dir%
Echo WoW Local set to %WoW_Local%
Echo HonorBuddy directory set to %HB_Dir%
Echo .
Echo ..
Echo ...
Echo Deleting Cache
If exist "%WoW_Dir%\Errors" del /q "%WoW_Dir%\Errors\*.*" >nul
If exist "%WoW_Dir%\Cache\WDB\%WoW_Local%\creaturecache.wdb" del /q "%WoW_Dir%\Cache\WDB\%WoW_Local%\creaturecache.wdb"
If exist "%HB_Dir%\Cache" del /q "%HB_Dir%\Cache\*.*" >nul
If exist "%HB_Dir%\CompiledAssemblies" del /q "%HB_Dir%\CompiledAssemblies\*.*" >nul
Echo ...
Echo Updating SVN, Please wait... BW and DB first.
If exist %SVN_64% (svn update -q --accept tf "D:\HBrelog") else if exist %SVN_86% svn update -q "D:\HBrelog" else echo %error1%
echo
Echo .TOR Profiles.
If exist %SVN_64% (svn update -q "D:\BuddyWing\Profiles\*.*") else if exist %SVN_86% svn update -q "D:\BuddyWing\Profiles\*.*" else echo %error1%
Echo .DB Profiles.
If exist %SVN_64% (svn update -q "D:\Demonbuddy\Profiles\*.*") else if exist %SVN_86% svn update -q "D:\Demonbuddy\Profiles\*.*" else echo %error1%
echo
echo .WoW Mesh Updates. May take several minutes.
If exist %SVN_64% (svn update -q --accept tf "%HB_Dir%\HBMeshes") else if exist %SVN_86% svn update -q "%HB_Dir%\HBMeshes" else echo %error1%
echo
echo .PROFILES.
If exist %SVN_64% (svn update -q "%HB_Dir%\Profiles\*.*") else if exist %SVN_86% svn update -q "%HB_Dir%\Profiles\*.*" else echo %error1%
If exist %SVN_64% (svn update -q "%HB_Dir%\Profiles\Mists of Pandaria\*.*") else if exist %SVN_86% svn update -q "%HB_Dir%\Profiles\Mists of Pandaria\*.*" else echo %error1%
If exist %SVN_64% (svn update -q "%HB_Dir%\Profiles\PB\*.*") else if exist %SVN_86% svn update -q "%HB_Dir%\Profiles\PB\*.*" else echo %error1%
Echo .Combat Routines.
If exist %SVN_64% (svn update -q "%HB_Dir%\Routines\*.*") else if exist %SVN_86% svn update -q "%HB_Dir%\Routines\*.*" else echo %error1%
Echo .BOTS.
If exist %SVN_64% (svn update -q "%HB_Dir%\Bots\*.*") else if exist %SVN_86% svn update -q "%HB_Dir%\Bots\*.*" else echo %error1%
Echo .PLUGINS.
If exist %SVN_64% (svn update -q "%HB_Dir%\Plugins\*.*") else if exist %SVN_86% svn update -q "%HB_Dir%\Plugins\*.*" else echo %error1%
Echo Errors, Logs, Cache Cleared, and SVN updated...
pause
exit
 
Last edited:
Back
Top