• ベストアンサー

VSSからSubversionへの乗り換えについて

10名ほどのチームでソフトウェア開発を行っていますが、Microsoft Visual Source Safe(VSS)を10年以上使用しており、メンバー全員がVSSしか知らないような状況です。 進捗管理を強化するためにバグトラッキングシステム(BTS)の導入を検討し、Tracというシステムを見つけました。具体的には「Trac月」をインストールしようと思っています。 ソースコードのバージョン管理機能についてはSubversionを用いるということで、TortoiseSVNを使用すればGUIで利用できることもわかり、有力候補になっています。 Subversionについて調べたところ、VSSと異なる点として排他制御ではない、ということがわかりました。VSSではファイルをチェックアウトすると本人以外は修正できなくなるので、小回りは利かないかもしれませんが単純で分かりやすいと思っています。 Subversionでは排他ロックはせずにチェックイン時に衝突を検出するという仕組みになっているそうですが、これが今までの開発スタイルを一変させてしまうため、チームメンバーから拒否反応が出るのではないかと思っています。 Subversionも本格的に使ったことがないので想像の域を出ていないのですが、運用に際して注意する点などありましたら、教えていただけると助かります。

  • haru44
  • お礼率68% (153/223)

質問者が選んだベストアンサー

  • ベストアンサー
  • suzu_zou
  • ベストアンサー率34% (112/327)
回答No.1

開発でSubVersionを使ってます。 今のところ衝突は全くなく使えています。 管理者がうまいこと管理してくれているからです。 衝突については、運用でカバーする、しかないようですね。 どうしてもというときはロックをかけることが可能のようです。 (使った事がないですが) 私のところはCVSからの移行で、トラブルもほとんどありませんでした。 VSSからだと、勝手が違うので大変そうですね。 どうしてもという場合は慣れてもらうしかないと思います。

haru44
質問者

お礼

早速の回答ありがとうございます。 手元にある小規模なプログラムを登録して試験的に使い始めてみましたが、やはり衝突の解決は(慣れれば問題ないのかもしれませんが)、移行期にはちょっと難しい気がします。 調べてみたところ、ロックをかけることができるようですので、その方向で検討してみたいと思います。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

既に回答ついているとおり、ロックで対処できるかと思います。 http://bagineer.blog59.fc2.com/blog-entry-33.html http://tortoisesvn.net/docs/nightly/TortoiseSVN_ja/tsvn-dug-locking.html Subversionの思想としては、『衝突が発生した場合は当事者間の話し合いで解決する』というもののようです。 # どこかで読んだ気がしますが見つけられなかった。書籍だったかも知れませんが。

haru44
質問者

お礼

早速の回答ありがとうございます。 紹介していただいたページ(上の方)で紹介されている、自動的に needs-lock 属性をつける設定を行ったところ、VSSのロックの動作とかなり似た動きをさせることができました。 これで問題なく運用できそうな気もしますが、もう少し色々試してみたいと思います。

関連するQ&A

  • Subversionについて知りたい

    ドキュメント類のバージョン管理にSubversionを使って見たいと思っています。 当然、テキストデータだけではなく、EXCELやWORDも対象です。 すでに使ったことがある方で、使用に関する留意点や工夫された点など情報をお持ちの方は教えていただけませんか。(Tortoisesvnと一緒に使ってみようと思います)

  • VSSの強制ロック解除

    プロジェクトメンバーがVSS管理下のソースコードを チェックアウトしたまま抜けてしまいました。 ロックを強制的に解除(ロールバック)したいのですが方法はありませんか? Visual SourceSafe 8.0.50727.42 Visual Studio 2008

  • Ubuntuで手軽にSubversionを使いたい

    Ubuntu 11.04で簡単に設定できてGUIでソースのバージョン管理できるツールを教えていただきたいです。 会社の研修で、LinuxでのC言語プログラミングをやっています。 GUIの端末上でviでソースを書いてgccでコンパイル、という原始的なスタイルですが、ソース管理のためにSubversionを入れようとしています。 しかし、検索して見つけたnautilussvnとかtortoisehg-nautilusとかをいくつか試したんですが、うまく動いてくれない上に、OSの動作まで不安定になってしましました。 途中で自分がなにかおかしなことをやったんだろうなとは思いますが、原因を考えることに時間を使いたくないので、環境作成をOSインストール(VMware2.5.5+Ubuntu)からやり直そうと思っています。 昔、Windowsでプログラムを書いていたときにTortoiseSVNというのを使っていたので、できればGUIがいいんですが、プログラム開発自体がかなり原始的なので、CUIでも良いツールがあれば教えていただきたいです。 よろしくお願いします。

  • VSSの大雑把な話

    VSSというソフトがあるそうですね。(VC++に関係ありそう。) どうも、プログラムのソース管理(どこをどのように追加・修正・削除したとかいうことを記録する。)をするそうです。 それに関連する用語としてチェックアウト・チェックインというものがあるようですが、どのようなことでしょうか。 チェックアウトしてソースを修正してチェックインする、 そうすると、その修正等が記録される、 こういう理解でよいのでしょうか。 チェックアウトしないでソースを修正すると、どうなるのでしょうか。 #あれっ? ホテルにチェックインするとかいうことを考えると、 #チェックインして修正してチェックアウトする、 #ということになるのかな? 細かい使い方までご説明いただくとお手数になってしまうので、 (なにせ何もわかってないような状態ですので。) 大雑把な概略的なお話をよろしくお願いいたします。

  • VSSの後継ソフト

    現在、ソース管理・文書履歴管理にマイクロソフト Visual Source Safe 6.0を使用しています。 サーバがWin2003ですので、サポートが切れてしまい、サーバ購入とVSSのかわりになるソフトを探しています。 サーバOSはWin2012Standardを入れる予定です。 ソース管理・文書履歴管理には、マイクロソフトのTeam Foundation Serverが候補の一つですが、高機能すぎることが原因かと思いますが、本体とユーザCALを購入するととても高価なものになってしまいます。安価でよいソフトはないかと探しています。 なお、現在の開発しているものは、基本的にVisual Studio .netがメインです。バージョンはいろいろありますが・・・ ソース管理・文書履歴管理で使用しているソフトで、これは良いよ!!や、御社で使用しているソフト等を教えていただけると幸いです。 また、そのソフトの使い方や、ホームページ等のURLも教えてください。 以上、よろしくお願いします。

  • UNIXとWindowwsでのバージョン管理連携

    毎度お世話になっております。 Subversionを利用したバージョン管理について質問です。 現在、Windows Server2008 R2にSubversionのリポジトリを作成しています。 このリポジトリには、Javaソース(Windowsで動作するもの)やCOBOL、Cなどのソース(UNIXで動作するもの)を管理しています。 チェックアウトを実施する際は、クライアントPC(Windows)上でTortoiseSVNを利用しています。 また、COBOL等のソースも一度、クライアントPCへチェックアウトを行った後、FFFTPを使ってUNIXサーバへ転送しています。 ここで、質問です。 上記操作を実施しないで、COBOL等のソースはUNIXサーバから直接チェックアウトを実施したいと考えています。 この場合、UNIXサーバにもSubversionをインストールしておかないとチェックアウトはできないのでしょうか?? それとも、TortoiseSVN的なSVNクライアント(コマンドベースのものを想定)がUNIXにも存在するのでしょうか? 知識不足で申し訳ありませんが、ご存じの方、どうかご教授お願いいたします。 ちなみに、プロトコルはSVNサービスを利用しています。

  • 参照するDLLを格納したフォルダをVSS管理したい。

    参照するDLLを格納したフォルダをVSS管理したい。 ソリューションに、プロジェクトA、プロジェクトBがあり、それぞれフォルダ1の中にある DLLを参照しています。 これをソリューションごとソース管理に追加したいのですが、他のメンバがVSSから 落とした場合、コンパイルが通らなくなるので、参照しているフォルダごとVSSに あげたいのですが…。 ソリューションにフォルダは追加できないようなので、VisualStudioからプロジェクトA、 プロジェクトBにそれぞれフォルダを作り、その中にそれぞれDLLを追加するしかないので しょうか? しかし、DLLのバージョンがあがった場合、大変手間です。 すべてのプロジェクトが同じDLLを参照し、かつ、そのDLLもソリューションに追加し、 ソース管理したときに一緒にVSSにアップロードされるようにはできないのでしょうか? ※VisualStudioは2005です。

  • subversionでコミットしたらftpなどしなくても即反映したい

    最近subversionを試験的に導入してみているのですが これがあればソースコードの一括管理などが出来き 趣味ですが1人で開発するにしても世代管理などがあっていいですね! そこで最近、このように出来ないのか?と悩んでおります。 ---------------------------------------------------------------- ■subversionが導入される前 1.Windows上のローカルで開発(127.0.0.1) ↓ 2.LinuxにあるFTPサーバー(192.168.0.50)へアップロード ↓ 3.Windows上のブラウザで表示の確認(http://192.168.0.50/) といったようなことをしていたのですが、ソースコードの世代管理と一元管理をしたいので FTPサーバーが立っているLinux(192.168.0.50)にsubversionをインストールしました。 ■subversionが導入された時(導入された今の現状) 1.Windows上のローカルで開発(127.0.0.1) ↓ 1b.Linuxにあるsubversionサーバー(192.168.0.50)へTortoiseSVNを使用してコミット ↓ 2.LinuxにあるFTPサーバー(192.168.0.50)へアップロード ↓ 3.Windows上のブラウザで表示の確認(http://192.168.0.50/) ですが、以下のような手順にならないでしょうか? ■subversionが導入された時(こんな風にはできないの?) 1.Windows上のローカルで開発(127.0.0.1) ↓ 2.Linuxにあるsubversionサーバー(192.168.0.50)へTortoiseSVNを使用してコミット ↓ 3.Windows上のブラウザで表示の確認(http://192.168.0.50/) ---------------------------------------------------------------- つまり具体的な開発のシーンケースはこのような感じです。 Windows上で開発をしています。 そこでチェックアウトされたファイルを作ったり変更したり作成を行いました。 そして、ある程度、ローカルで色々開発をしローカルで動作確認をした後、 TortoiseSVNでコミットをします。 そのコミット先は、subversionのリポジトリ(192.168.0.50)です。 その後、WindowsでFFFTPを使用して、(192.168.0.50)のサーバーにアップロードをします。 アップロード後、Windowsでhttp://192.168.0.50/ でアクセスをして確認をします。 この状況でも満足なのですが、 もっと欲を言えば、コミットの作業をしたら、ファイルが自動でftpなどがされ 即時反映しないのかな?と思うのです。 もしもこのような動作が無理であれば リポジトリになどに対して現在の最新のリビジョンのファイルって 持たせることはできないんでしょうか? なにぶんsubversionは(私ではノウハウが弱い) まだ具体的になにが出来てなにが出来ないといったことが 理解できてないので、そういうの出来ますよ。それは無理ですよ。 といった事柄でも助かります。 ただlinuxに対してもノウハウが弱いので、 もしこのようなことが可能であるならば そのようなサイトなどを紹介しているサイトか、詳細を教えていただきたいと思います。(linuxはredhatを使用しています)

  • Subversionのチェックアウトの件で、どなたか教えていただけない

    Subversionのチェックアウトの件で、どなたか教えていただけないでしょうか。 (Subversion初心者です) 1.Subversionで、文書管理を行うことを検討しています。TortoiseSVNからリポジトリ上に   登録された文書をフォルダ単位でチェックアウトはできるのですが、ファイル単位で   チェックアウトを行うことができません。これは、Subversionの仕様でしょうか。 2.TortoiseSVN以外のツール(例.Eclipseなど)を使用すれば、ファイル単位でチェック   アウトを行うことが可能でしょうか。 3.もし、フォルダ単位でしかチェックアウトができない場合、困るような気がします   が、通常、どのような運用をされているのでしょうか。例えば、リポジトリー上、   できるだけ細かくフォルダを作成しているなどです。 以上、よろしくお願いいたします。

  • VSSにチェックインする時に*.frmと*.frxのタイムスタンプが合わない。

    VBをVSSでソース管理しながら開発を行っているのですが、周りに聞ける人がいないので投稿しました。 VB上でフォームをチャックインすると*.frmと*.frxのタイムスタンプが合わないときがあります。チャックイン時にエラーが出るわけではないのですが、なぜこうなったのかが検討がつきません。どうやら*.frmはチェックイン時に変更されるのですが、*.frxが変わりません。 どなたか原因が心当たりのある方がいらっしゃいましたらよろしくお願いします。

専門家に質問してみよう