• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SVNでタグ指定でコミット履歴を見る方法は?)

SVNでタグ指定でコミット履歴を見る方法は?

このQ&Aのポイント
  • SVNで特定のファイルにのコミットコメント履歴を見たいと思っています。その際に、2つのタグを指定しその間の履歴のみを参照したいと思っています。
  • SVNでタグを指定してコミットコメントの履歴を取得する方法、およびタグを指定してリビジョン番号を取得する方法について質問です。
  • SVNでタグ指定でコミット履歴を見るには、タグをつけたリビジョンを指定すれば良いですが、リビジョンの取得方法が分かりません。タグを指定してコミットコメントの履歴を取得する方法やリビジョン番号を取得する方法について教えてください。

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

Subversionでは、タグの扱いがCVSとは違いますが…その辺りは理解されています? 推奨されているSubversionのリポジトリレイアウトでリポジトリを作成した場合、 タグを設定すると、「その時のリポジトリのコピー」を作成するような感覚になります。 タグ1を作成(Rev10) ブランチ2を作成(Rev11) ブランチ2にコミット(Rev12~14) トランクにコミット(Rev15) ブランチ2にコミット(Rev16) トランクにブランチ2をマージしてコミット(Rev17) タグ2を作成(Rev18) とした場合、どこのログが欲しいのでしょうか? svn log タグ1のURL の場合は、タグ1を作成した時に記録したログしか出ませんし、 svn log タグ2のURL の場合は、タグ2を作成した時に記録したログしか出ません。 上記のRev11~Rev17のログは取得できません。 リポジトリのルートでRev10~Rev18のログを取得することで、全部のログが取得できますが… コミットした時のパスは異なっているので、そこから抽出するの少々手間が掛かるかと思われます。 一般的なSubversionの運用では、タグを切った後はそのタグに対してコミットすることはない…と思われますが。 この場合は、 svn info タグのURL とすることで、Last Changed Revがリビジョンとなります。 # もちろん、タグの下でコミットしていたらアテになりませんが… # その場合は svn log タグのURL で、最後に表示されたリビジョン…となるでしょう。

mibusys
質問者

お礼

> svn info タグのURL これでとりあえず、質問の(2)に該当する、やりたかったことが実現できました。 開発者として単にリポジトリを使っている際には CVNとそれほど大きくは変わらないと思っていました。 しかし最近、ライブラリアンとしてdiffやlogを駆使して シェルを作ったりしなければならなくなり、そうなったときに 意外と差があることに(ようやく)気付き戸惑っていました。 大変助かりました。ありがとうございました。

mibusys
質問者

補足

> とした場合、どこのログが欲しいのでしょうか? # 2つのタグを指定しその間の履歴 コマンドでいうと 「svn log -r 10:18 URL」もしくは「svn log -r 11:17 URL」 です。 ※タグ・ブランチ作成のコメントはどうでもいいです。 含まれていても問題ないし、含まれていなくても問題ありません。 シェルではタグを指定することになるので、実質的には 「svn log -r 10:18 URL」になります。 さらにほしい情報を具体的に書きますと 「svn log -r 10:18 トランクURL」の場合には、15, 17のみ 「svn log -r 10:18 ブランチURL」の場合には、12, 14, 16のみ となります。 トランクURLを指定した際にはブランチの履歴は出てほしくありません。 ブランチURLを指定した際にも指定したブランチ以外の情報が出ると困ります。 上記のコマンドでいけそうかなと思っています。 もしお気づきの点・アドバイス等ありましたら 追加でコメントよろしくお願いします。

関連するQ&A