
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

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More