Here is the code for WikiSvn
#cs -----------------------------------------------------------------
/*
*
* Copyright (C) 2007 Sabu Francis webmaster_atTheVeryLeast_sabufrancis.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
AutoIt Version: 3.2.2.0
Author:Sabu Francis
Date: July 4, 2007
Script Function: sv protocol See the readmewikisvn.txt file
To run this, you need to set some registry settings
http://www.devx.com/webdev/Article/17120
[HKEY_CLASSES_ROOT\sv]
@="\"URL: sv Protocol\""
"URL Protocol"=""
[HKEY_CLASSES_ROOT\sv\shell]
[HKEY_CLASSES_ROOT\sv\shell\open]a
[HKEY_CLASSES_ROOT\sv\shell\open\command]
@="wikisvn.exe \"%1\""
#ce -----------------------------------------------------------------
;;; No tray!
#NoTrayIcon
opt("ExpandVarStrings",1)
$tortoiseProc = RegRead("HKEY_CLASSES_ROOT\svn\shell\open\command","")
if $tortoiseProc = "" then
MsgBox(4096, "Problemo", "TortoiseSVN MUST be installed for this to work")
Exit
EndIf
$tortoiseProc = StringRegExpReplace($tortoiseProc,'(.*?) /command:repobrowser /path:"\%1"',"\1")
;note that we started a quotation mark for the path
$fnm =@MyDocumentsDir
$fnm = "$fnm$\wikisvn.ini"
$pRoot = IniRead( $fnm,"Working","Dir","d:\data")
$pathRoot = '/path:"$pRoot$';
$explorer = IniRead( $fnm,"Working","Expl","explorer")
$pathRoot = StringReplace($pathRoot,"\","/")
if $CmdLine[0] > 0 then
$c1 = $cmdLine[1]
$cmd = StringRight($CmdLine[1],StringLen($CmdLine[1]) - 5); strip off sv://
$cmd = StringReplace($cmd,"%20"," ")
$arr = StringSplit($cmd," ",1)
$invoked = $arr[1]
;MsgBox(4096, "Cmd", "$invoked$")
if StringRight($invoked,1) == "/" Then
$invoked = StringLeft($invoked , Stringlen($invoked)-1)
EndIf
if $invoked <> "explore" then
if StringRight($cmd,1) == "/" Then
$cmd = StringLeft($cmd, Stringlen($Cmd)-1)
; //browsers typically add a slash at the end, if one is not given. Strip that off
EndIf
$cmdOld = $cmd
$cmd = StringRegExpReplace($cmd, "/path:(.*?)", '$pathRoot$/\1"')
if ($cmd == "$cmdOld$/") OR ($cmd == "$cmdOld$") Then
$cmd = '$cmdOld$ $pathRoot$"'
EndIf
;note that the path is now given within quotation marks
$cmd = "$cmd$ /notempfile"
;;;the notempfile parameter is VERY important
;;;else you will get an access denied error.. ugggh!
ShellExecute("$tortoiseProc$"," /command:$cmd$")
Else
if $arr[0] > 1 then
$subdir = $arr[2]
Else
$subdir = ""
EndIf
$parm = "$pRoot$/$subdir$"
$parm = StringReplace($parm,"/","\")
;MsgBox(4096, "Explore", $parm)
ShellExecute("$explorer$",$parm)
EndIf
EndIf


