<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Visual SourceSafe </title><link>http://blogs.wankuma.com/ch3cooh/category/1142.aspx</link><description>Visual SourceSafe(VSS)はソースコードの管理ツールです。</description><managingEditor>CH3COOH</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>CH3COOH</dc:creator><title>[VSS][C#]C#を使ってVisual SourceSafeを操作しよう その2</title><link>http://blogs.wankuma.com/ch3cooh/archive/2007/03/29/69494.aspx</link><pubDate>Thu, 29 Mar 2007 22:47:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2007/03/29/69494.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/69494.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2007/03/29/69494.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/69494.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/69494.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://blogs.wankuma.com/ch3cooh/archive/2007/03/28/69243.aspx"&gt;http://blogs.wankuma.com/ch3cooh/archive/2007/03/28/69243.aspx&lt;/A&gt; のつづきです。&lt;/P&gt;
&lt;P&gt;C#からVSSを操作する手段は、ぱっと思いつく限りで3通りあります。&lt;BR&gt;(1)VSSをコマンドラインで呼び出し、別プロセスで動かす&lt;BR&gt;(2)バッチファイルを作成して、コマンドプロンプトを別プロセスで動かす&lt;BR&gt;(3)COMを利用してVSSを操作する&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;今回はお手軽に出来る(1)の方法を試してみました。&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;private void&lt;/FONT&gt; GetLatestProject()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Process myProcess = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; Process();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 環境変数を設定する&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProcess.StartInfo.EnvironmentVariables.Add(&lt;FONT color=#ff0000&gt;"SSDIR"&lt;/FONT&gt;, &lt;FONT color=#ff0000&gt;"&lt;/FONT&gt;&lt;A&gt;&lt;FONT color=#ff0000&gt;\\\\server\\$hoge&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#ff0000&gt;"&lt;/FONT&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProcess.StartInfo.EnvironmentVariables.Add(&lt;FONT color=#ff0000&gt;"SSUSER"&lt;/FONT&gt;, &lt;FONT color=#ff0000&gt;"user_id"&lt;/FONT&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProcess.StartInfo.EnvironmentVariables.Add(&lt;FONT color=#ff0000&gt;"SSPWD"&lt;/FONT&gt;, &lt;FONT color=#ff0000&gt;"password"&lt;/FONT&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProcess.StartInfo.FileName = &lt;FONT color=#ff0000&gt;"ss"&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProcess.StartInfo.Arguments = &lt;FONT color=#ff0000&gt;"get \"$/Wankuma\" -R -I-Y -GL\"C:\\develop\\testvss\""&lt;/FONT&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 環境変数を使うのでfalseを設定する&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProcess.StartInfo.UseShellExecute = &lt;FONT color=#0000ff&gt;false&lt;/FONT&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // プロセスを開始して終了するまで待つ&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProcess.Start();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProcess.WaitForExit();&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;これでVSSの任意のプロジェクトから最新のソースコードを落としてこれるはずです。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/69494.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[VSS][C#]C#を使ってVisual SourceSafeを操作しよう その1</title><link>http://blogs.wankuma.com/ch3cooh/archive/2007/03/28/69243.aspx</link><pubDate>Wed, 28 Mar 2007 01:06:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2007/03/28/69243.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/69243.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2007/03/28/69243.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/69243.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/69243.aspx</trackback:ping><description>今、ソースの管理にはVisual SourceSafe6.0(以下VSS)を使っています。&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;Perlで作ったスクリプトを使って、毎日夜間にバッチで&lt;BR&gt;VSSから最新のソースを取得～ビルド～中間ファイルごとソースを圧縮をしています。&lt;BR&gt;&lt;BR&gt;フルビルドでざっと1時間半は掛かるので、かなり生産性は上がっています。&lt;BR&gt;デイリービルドの利点はそれだけじゃないんですが、本記事では扱いません。&lt;BR&gt;詳しくは&lt;A href="http://japanese.joelonsoftware.com/Articles/DailyBuildsAreYourFriend.html"&gt;http://japanese.joelonsoftware.com/Articles/DailyBuildsAreYourFriend.html&lt;/A&gt;をご覧ください。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ここからが本題です。&lt;/P&gt;
&lt;P&gt;Perlで作ったスクリプトを使っているので、Perlの判る人にしかメンテが出来ません。&lt;BR&gt;細かい要望に答えていくのも面倒くさいなぁということで、&lt;BR&gt;C#の勉強を兼ねてGUIを作ってしまおうと考えています。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;知っている人には「何を今更&amp;#8230;&amp;#8230;」を言われてしまうかもしれませんが、&lt;BR&gt;コマンドプロンプトからVSSを使って、最新のソースコードを取得する方法です。&lt;/P&gt;
&lt;P&gt;ここでは説明のため、次のような名前を使います。&lt;/P&gt;
&lt;P&gt;プロジェクト名は「&lt;FONT color=#ff0000&gt;Wankuma&lt;/FONT&gt;」、&lt;BR&gt;Srcsafe.iniのある場所を「&lt;A href="file://server/$hoge"&gt;&lt;FONT color=#ff0000&gt;\\server\$hoge&lt;/FONT&gt;&lt;/A&gt;」、&lt;BR&gt;ソースを保存するフォルダを「&lt;FONT color=#ff0000&gt;"C:\local_dir"&lt;/FONT&gt;」、&lt;BR&gt;ユーザーIDは「&lt;FONT color=#ff0000&gt;user_id&lt;/FONT&gt;」、&lt;BR&gt;パスワードを「&lt;FONT color=#ff0000&gt;password&lt;/FONT&gt;」とします。&lt;BR&gt;なお、「&lt;FONT color=#ff0000&gt;ss.exe&lt;/FONT&gt;」にはあらかじめPathを通していることにします。&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;下記のようなコマンドで取得することが出来ます。&lt;BR&gt;デイリービルドのバッチはこのコマンドで動かしています。&lt;/P&gt;
&lt;P&gt;c:\&amp;gt; SET SSDIR=&lt;FONT color=#ff0000&gt;"&lt;/FONT&gt;&lt;A href="file://server/$hoge"&gt;&lt;FONT color=#ff0000&gt;\\server\$hoge&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#ff0000&gt;"&lt;/FONT&gt;&lt;BR&gt;c:\&amp;gt; ss get &lt;FONT color=#ff0000&gt;"$/Wankuma"&lt;/FONT&gt; -R -I-Y -Y&lt;FONT color=#ff0000&gt;user_id&lt;/FONT&gt;,&lt;FONT color=#ff0000&gt;password&lt;/FONT&gt;&amp;nbsp;-GL&lt;FONT color=#ff0000&gt;"C:\local_dir"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;簡単に説明します。&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;環境変数「SSDIR」で設定されたデータベースの&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;「&lt;FONT color=#ff0000&gt;Wankuma&lt;/FONT&gt;」プロジェクトのソースを「get "Wankuma"」にて取得します。&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#000000&gt;
&lt;P&gt;「-R」は、指定したプロジェクト「&lt;FONT color=#ff0000&gt;Wankuma&lt;/FONT&gt;」のサブプロジェクトを再帰的に指定します。&lt;BR&gt;「-I-Y」は、聞かれた事に全てYesを返します。&lt;BR&gt;「-Y」は、ユーザーIDとパスワードを指定します。&lt;BR&gt;「-GL」は、ソースを落としてくる場所を指定します。&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;当初、環境変数を使わずに最新のソースを取得する方法を模索したのですが、&lt;BR&gt;どうしても環境変数「SSDIR」があるため、コマンドライン1行にまとまってくれませんでした。&lt;BR&gt;(ss.iniを触る方法以外にご存知の方いらっしゃいましたら教えてください)&lt;/P&gt;
&lt;P&gt;次回はこのコマンドを使って、C# からVSSを操作してみたいと思います。&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;# それにしてもCSSの設定が難しい。&lt;BR&gt;# 記事を書くより特定の書式を触るのに時間が掛かってしまった。&lt;BR&gt;# 簡単にシンタックスハイライトに対応出来ないかな&amp;#8230;&amp;#8230;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/69243.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>