in reply to Win32::OLE to access VSS repo?

I've had good results with the command line interface to VSS, ss.exe, by shelling out from Perl. I've automated things like checking out files and running Perl scripts against them then checking them back in. The available command line options are documented in the help files.

Edit: Your link to the previous node seems to be broken.

Edit: Here are some examples:

sub checkout_sse_file { my ($checkout_path, $filename) = @_; if($checkout_path !~ /[\/\\]$/) { $checkout_path .= '\\'; } my $sspath= 'C:\Program Files (x86)\Microsoft Visual Studio\VSS\wi +n32'; $ENV{SSDIR}="\\\\servername\\dms-sourcesafe"; my $cmd = "\"$sspath\\ss.exe\" Checkout \"\$/DMS MW/SCADA/Substati +on Editor Files/$filename\" -C- -I- -GL\"$checkout_path \""; #print "\n********************\n\$cmd=$cmd\n"; # if the file is already there it doesn't download it again. # BUT, it won't overwrite a file unless the read-only bit is set. system $cmd; return $? >> 8; } sub checkin_sse_file { my ($checkout_path, $filename, $comment) = @_; if($checkout_path !~ /[\/\\]$/) { $checkout_path .= '\\'; } my $sspath= 'C:\Program Files (x86)\Microsoft Visual Studio\VSS\wi +n32'; $ENV{SSDIR}="\\\\servername\\dms-sourcesafe"; my $cmd = "\"$sspath\\ss.exe\" Checkin \"\$/DMS MW/SCADA/Substatio +n Editor Files/$filename\" -C\"$comment\" -I- -GL\"$checkout_path \"" +; system $cmd; return $? >> 8; }

Replies are listed 'Best First'.
Re^2: Win32::OLE to access VSS repo?
by cormanaz (Deacon) on Dec 16, 2016 at 21:14 UTC
    Thanks, I didn't even know about ss.exe. I will check it out.

    I don't know what's wrong with that node link. The URL is http://perlmonks.org/?node_id=202709 and I used id//202709 for the link.

      "I don't know what's wrong with that node link. The URL is http://perlmonks.org/?node_id=202709 and I used id//202709 for the link."

      It's just a typo. You've omitted the colon between id and // so, instead of your intended query string

      ?node_id=202709

      you're getting

      ?node=id%2F%2F202709

      — Ken

      [id://202709]
      ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,