[sugj-tech:6998] Re: 次は 3.3.0 対応になるわけですが

SATOH Fumiyasu fumiyas @ osstech.jp
2008年 12月 19日 (金) 11:14:09 JST


さとうふみやす @ OSS テクノロジです。
# 会社では SVN がリポジトリで、作業(クライアント)は
# svn と git-svn を使ってます。svk はバグるので捨てた。
# 某松本さんは stgit を使っているらしいので、ちょっと
# 調べてみるかな…。

At Thu, 18 Dec 2008 12:00:08 +0900,
ribbongw master wrote:
> > $ cd /path/to/samba-jp-svn-working-copy-dir
> 
> > $ mkdir .head
> > $ svn add .head
> > $ svn copy * .head
> 
> ここがよく分からなかったのですが、これは、
> 
> 1) ワークとして、 .headを作る
> 2) それをsvnに追加
> 3) .head を含まない、その他すべてを.head に移動
> 
> ということを意味してます?で、

はい。

> > $ svn move .head head
> 
> で、通常の名前に戻し、

結果は、

  $ mkdir head
  $ svn add head
  $ svn move `echo *|grep -v '^head$'` head

と同等です。
(「echo *」じゃなく「ls -d *」でもいいですが、好みの問題かな :-)

> > $ svn commit -m "ヘッドブランチを作成"
> 
> ヘッドブランチを確定して、

はい。

ふつうは、ブランチやタグ用ディレクトリは、大文字にするのが
慣例だっけ? なので、一般的な慣例に従う命名規則が良いなら
「HEAD」のほうがいいかも。(いや違ったかな?)

> > $ svn copy head 3.2-head
> > $ svn commit -m "Samba 3.2 ヘッドブランチを作成"
> 
> svnの場合、タグ=コピーなので、3.2のヘッドブランチを作り、

SVN の場合、タグ=コピーで、ブランチ=コピーなだけで、
意味的には(というかコピー後の扱いとしては)タグ!=ブランチですよ
(念の為)。タグはコードフリーズ扱い(変更はしない)で、
ブランチは継続して変更が加わえる(可能性がある)と。

> > $ svn copy 3.2-head 3.2.6
> > $ svn commit -m "Samba 3.2.6 タグを作成"
> 
> 3.2.6 のタグ(=コピー)を作る

  head          - ヘッドブランチ
  3.2-head      - 3.2.x 用ヘッドブランチ
  3.2.6         - 3.2.6 タグ (コードフリーズ扱い)

というつもりで書きました。ちょっと言葉足らずでしたね。
すみません。

慣例では、tags/ とか branches/ というフォルダを掘って、
そっちにタグ、ブランチを置くみたいですけどね↓。

  trunc/        - ヘッドブランチ
  branches/     - ヘッド以外のブランチ群用ディレクトリ
    3.2/        - 3.2.x タグ
    3.0/
    2.2/
    ...
  tags/         - タグ群用ディレクトリ
    3.2.6/      - 3.2.6 タグ
    3.2.4/
    3.0.33/
    2.2.12/
    ...

こんな感じ? ローカルルールを作ると新人が入ったときに
説明が面倒なので、こっちの構成のほうがいいかも
しれません。

-- 
-- Name: SATOH Fumiyasu (fumiyas @ osstech co jp)
-- Business Home: http://www.OSSTech.co.jp/
-- Personal Home: http://www.SFO.jp/blog/



sugj-tech メーリングリストの案内