質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Subversion

Subversionは、使い方はCVSによく似た、CVS(Concurrent Versions System)を改良したバージョン管理ツールです。

SVN

SVNは、CollabNet社が開発したソースコードなどを管理する集中型のバージョン管理システムです。 Subversionとも呼ばれ、CVSの問題点を解決すべく開発された次世代のバージョン管理システムとして開発されました。基本的なコマンドはCVSと共通しています。複数人の開発者が共同でひとつのソフトウェアの開発にあたるときなどに、ドキュメント及びソースコードなどを管理するのに使用されます。

TortoiseSVN

TortoiseSVNは、フリーのSubversion(SVN)クライアントです。 Windowsのシェルエクステンションとしての機能を果たします。 Subversionのコマンドを実行せずに使用が可能です。

Q&A

解決済

3回答

24223閲覧

SVNでのソース管理(同時開発)でのブランチ、マージについて

退会済みユーザー

退会済みユーザー

総合スコア0

Subversion

Subversionは、使い方はCVSによく似た、CVS(Concurrent Versions System)を改良したバージョン管理ツールです。

SVN

SVNは、CollabNet社が開発したソースコードなどを管理する集中型のバージョン管理システムです。 Subversionとも呼ばれ、CVSの問題点を解決すべく開発された次世代のバージョン管理システムとして開発されました。基本的なコマンドはCVSと共通しています。複数人の開発者が共同でひとつのソフトウェアの開発にあたるときなどに、ドキュメント及びソースコードなどを管理するのに使用されます。

TortoiseSVN

TortoiseSVNは、フリーのSubversion(SVN)クライアントです。 Windowsのシェルエクステンションとしての機能を果たします。 Subversionのコマンドを実行せずに使用が可能です。

0グッド

0クリップ

投稿2016/04/22 12:53

SVNでのソース管理(同時開発)について

<環境>
TortoiseSVN 1.8
Windows7 SP1

SVNでのソース管理(同時開発)について、質問があります。
1つのシステムに対して、別々の改修内容で同時に開発を行う場合、ブランチを切って開発を行うと思います。

現在、小さなシステムが複数(100個ほど)存在し、それをまとめて1つのリポジトリで管理していますが、
改修案件ごとにブランチを切り、改修が終わり次第、リリースなどのタイミングでトランクにマージするという管理方法を考えています。(改修内容によっては複数システムにまたがります。)

例:
<トランク>
\srv\app\trunk\システム1
\srv\app\trunk\システム2
\srv\app\trunk\DB情報\DB1
\srv\app\trunk\DB情報\DB2
\srv\app\trunk\その他たくさんのシステム群 etc...


<一部をブランチとして切る>
\srv\app\brunches*yyyymmdd案件名*\システム1
\srv\app\brunches*yyyymmdd案件名*\システム2
\srv\app\brunches*yyyymmdd案件名*\DB情報\DB1\ストアド (ストアドの情報のみブランチとして切りたい)
\srv\app\brunches*yyyymmdd案件名*\DB情報\DB2\ストアド (ストアドの情報のみブランチとして切りたい)

以下4点が質問になります。
・入れ子になっているパスの一部のみをブランチとして切りたい場合、フォルダ構成を保ったままブランチを切ることは可能でしょうか。
・上記のようにフォルダ構成を保ったままブランチを切ることはできましたが(手動でフォルダを作成しました)、フォルダ構成トランクとブランチでが異なってしまいます。正しくマージできるものでしょうか。(実際に試してみましたが「(パス)は祖先が関連していなければなりません」とエラーが発生してしまいました。)
・ブランチを切る際にトランクとの関連付けなど行われているものなのでしょうか。その場合、正しいブランチの切り方を教えて下さい。
・そもそも「改修案件ごと」、よりもきれいな管理方法があれば教えて下さい。

手動で行えばいくらでも可能だとは思いますが、ソース管理の方針を決めてSVN初心者のチームのメンバに浸透させる必要があるので、出来れば手順が少なく、きれいな方法があれば教えてください。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

先の方も書かれておりますが、
まずは、SVNをきちんと使えるように、慣れることが大切だと思います。

ダミーのプロジェクトでも何でもつくって、チェックアウトして修正してコミットして、、、これらによって、どのようなマージが発生するのか?よく動作を観察してください。

先の方も書かれましたが、SVNがフォルダ的な管理手法でフォルダで構成されてはいますが、手動でフォルダ切ってブランチってのは、まずいです。マージできなくなります。

これらは、いわゆる慣れの問題だと思いますので、とにかく慣れる必要があり、
そして、初心者であるなら、なおさら、まずは本番レポジトリを触ることはやめるべきです。

あと、マージ後に、コンフリクトが発生したときの対応など、どうするのか、誰が責任もって、処理するのかなど、まずはロールプレイングをじっくりと。
いくら、別のプロジェクトを触っているといっても、まあ、間違いなくコンフリクト事故は発生します(事故が発生しないくらい、別物なら、本来別のレポジトリにすべきです。)。

あと、結局、全員がある程度同じレベルになっていないと、結局変なコミットされて、レポジトリぐちゃぐちゃ・・・というパターンになります。

先の方の投稿を引用させていただきますが、

「他社や自社向けのツリーに何も考えずマージするバカが一人はいるんです」

本当これは、最悪です。

事故が起こる前に、教習してくださいませ。

投稿2016/04/22 16:54

ItoTomonori

総合スコア1283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/22 22:41

ご回答ありがとうございます。 フォルダを作成して〜、というのはもちろんダミープロジェクトで試行錯誤していたものとなります。 いい案がないということで残念です。他を当たってみます。
guest

0

「SVN初心者のチームのメンバに浸透させる」といいますけど、あなたは初心者ではないのですか?

「手動でフォルダを作成しました」「手動で行えばいくらでも可能だとは思います」

と書いてあるのですが、そんな事されたら私でもブチ切れます。そのうちSVNサーバが悲鳴をあげるでしょう。まずは普通にSVNを使えるようになってください。質問4点のうち最初の3点はSVNを使ってるなら普通に分かることです。

社内でSVNやソースコード管理に詳しい人を探して、居たらその人に相談してください。リポジトリの設計や運用方法は、ある程度分かってる人がやらないと全員が不幸になりますよ。階層だけの話ではありません。例えばA社受注で工数つけて行った改修を、他社や自社向けのツリーに何も考えずマージするバカが一人はいるんです(A社の金でB社の改修を行っている)。そういうことを防ぐためにも、普通はAccess Controlを使います。Access Controlと、利用者の組織・運用方法の2つを前提とすると、そもそもリポジトリの階層の組み方にはそんなに選択肢はありません。質問するまでもないのです。
(例えばもし「/システム1/以下しか触れない人」というAccess Controlが必要な場合、その人がブランチを切るためにはbranchesは/システム1/以下になければならず、必然的に/システム1/{trunk,branches,tags}という階層になります。)

メンバーのほとんどが正しくブランチすら切れないのでしたら、現状のままでもいいのではないでしょうか。

投稿2016/04/22 15:44

sharow

総合スコア1149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/22 22:41

ご回答ありがとうございます。 フォルダを作成して〜、というのはもちろんダミープロジェクトで試行錯誤していたものとなります。 いい案がないということで残念です。他を当たってみます。
guest

0

ベストアンサー

解決しましたので一旦閉じます。
後日時間があるときに方法を書きます。

投稿2016/04/26 14:14

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問