On 4/8/11 6:25 AM, Maarten Koopmans wrote:
I'll just write a copyfile function in LC then. That should be near-C
speed, assuming open/read/write are implemented close to the os.

Thanks, Maarten
I would second Mark's option to use shell, I have a complete in-house version control system for InDesign files that runs pretty much entirely using cp and mv .

These all run about as fast as the network and disk I/0 can handle...

e.g.

command Checkout pFileName

   CheckServerIsMounted

   if the uServerMounted of this stack <> "true" then
answer "Sorry, Server is not mounted, you cannot check out files." with "OK"
      exit to top
   end if
   # Make a copy in Versions Archive
put (the uServerProjectPath of this stack) &"/"& pFileName into tCurrentLocationPath
   put tCurrentLocationPath into tArchivePath
   set the itemDelimiter to "/"
   put "/Versions Archive" after item 5 of tArchivePath
put ("cp " & quote & tCurrentLocationPath & quote &" "& quote & tArchivePath & quote) into tShell
   get shell (tShell)

   # update Control string and rename the top level file

   put the uUserInitials of this stack into char -7 to -6 of pFileName
   replace "-ci-" with "-co-" in pFileName
put (the uServerProjectPath of this stack) &"/"& pFileName into tNewNamePath put ("mv " & quote & tCurrentLocationPath & quote &" "& quote & tNewNamePath & quote) into tShell
   get shell (tShell)

        # Copy to local folder
     put gLocalProjectPath &"/"& pFileName into tNewLocalPath
put ("cp " & quote & tNewNamePath & quote &" "& quote & tNewLocalPath & quote) into tShell
   get shell (tShell)

      # update GUI now

   LoadVersionFiles gCurrentProject

   # boot InDesign and edit

launch (tNewLocalPath) with (the uInDesignPath of this stack) # expand to handle other file types


end Checkout

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to