SVN (Subversion) Update
RGerkin
Function SVNUpdate()
DoAlert 1,"Close all procedure files, update, and reload them? Unsaved changes to procedure files will be lost."
Variable i
if(V_flag==1)
String cmdList=CloseAllProcs(exec=0); // Generate a list of procedure closing commands. For some reason directly executing CloseAllProcs(exec=1) in the execute queue doesn't work correctly.
for(i=0;i<ItemsInList(cmdList);i+=1)
String cmd=StringFromList(i,cmdList)
Execute /Q/P cmd // Execute each procedure closing.
endfor
cmd="TortoiseProc /command:update /path:"
String codePath="C:Documents and Settings:rick:Application Data:Wavemetrics:Igor Pro 6:Packages:Code"
NewPath /O/Q CodePath, codePath
Execute /Q/P "ExecuteScriptText /B/Z \""+cmd+"\\\""+codePath+"\\\"\"" // Run the SVN update. Extra slashes needed to escape the quotes in the command.
Execute /Q/P "OpenProc /P=CodePath /V=1 \"Master.ipf\"" // Assume that master.ipf will #include the other procedure files.
Execute /Q/P "Silent 101" // Recompile.
endif
End
Function /S CloseAllProcs([except,exec])
String except
Variable exec
if(ParamIsDefault(except))
except=""
endif
exec=ParamIsDefault(exec) ? 1 : exec
Execute /Q "SetIgorOption IndependentModuleDev=1"
String currProcs=WinList("*",";","WIN:128,INDEPENDENTMODULE:1")
Variable i=0
String cmdList=""
for(i=0;i<ItemsInList(currProcs);i+=1)
String procName=StringFromList(i,currProcs)
Variable pos=strsearch(procName,"[",0)
if(pos>=0) // If this has an independent module name.
procName=procName[0,pos-2]// Truncate it to be compatible with CloseProc.
endif
if(WhichListItem(except,procName)>=0)
continue // Do not close procedures on the except list.
endif
if(StringMatch(procName,"Procedure"))
continue // Do not close experiment procedure file.
endif
String cmd
sprintf cmd, "CloseProc /NAME=\"%s\"",procName
if(exec)
Execute /Q/P cmd
endif
cmdList+=cmd+";"
endfor
Execute /Q "SetIgorOption independentModuleDev=0"
if(exec)
Execute /Q/P "Silent 101"
endif
return cmdList
End
DoAlert 1,"Close all procedure files, update, and reload them? Unsaved changes to procedure files will be lost."
Variable i
if(V_flag==1)
String cmdList=CloseAllProcs(exec=0); // Generate a list of procedure closing commands. For some reason directly executing CloseAllProcs(exec=1) in the execute queue doesn't work correctly.
for(i=0;i<ItemsInList(cmdList);i+=1)
String cmd=StringFromList(i,cmdList)
Execute /Q/P cmd // Execute each procedure closing.
endfor
cmd="TortoiseProc /command:update /path:"
String codePath="C:Documents and Settings:rick:Application Data:Wavemetrics:Igor Pro 6:Packages:Code"
NewPath /O/Q CodePath, codePath
Execute /Q/P "ExecuteScriptText /B/Z \""+cmd+"\\\""+codePath+"\\\"\"" // Run the SVN update. Extra slashes needed to escape the quotes in the command.
Execute /Q/P "OpenProc /P=CodePath /V=1 \"Master.ipf\"" // Assume that master.ipf will #include the other procedure files.
Execute /Q/P "Silent 101" // Recompile.
endif
End
Function /S CloseAllProcs([except,exec])
String except
Variable exec
if(ParamIsDefault(except))
except=""
endif
exec=ParamIsDefault(exec) ? 1 : exec
Execute /Q "SetIgorOption IndependentModuleDev=1"
String currProcs=WinList("*",";","WIN:128,INDEPENDENTMODULE:1")
Variable i=0
String cmdList=""
for(i=0;i<ItemsInList(currProcs);i+=1)
String procName=StringFromList(i,currProcs)
Variable pos=strsearch(procName,"[",0)
if(pos>=0) // If this has an independent module name.
procName=procName[0,pos-2]// Truncate it to be compatible with CloseProc.
endif
if(WhichListItem(except,procName)>=0)
continue // Do not close procedures on the except list.
endif
if(StringMatch(procName,"Procedure"))
continue // Do not close experiment procedure file.
endif
String cmd
sprintf cmd, "CloseProc /NAME=\"%s\"",procName
if(exec)
Execute /Q/P cmd
endif
cmdList+=cmd+";"
endfor
Execute /Q "SetIgorOption independentModuleDev=0"
if(exec)
Execute /Q/P "Silent 101"
endif
return cmdList
End
Forum
Support
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More