Subversion 間違ったコミットを取り消す

PHP

Subversionでは間違ったコミットを簡単に取り消す方法はありません。
しかし、古いバージョンの内容に戻してコミットすることは可能です。

コマンドラインでは下記の通りになります。

 svn merge -r [現在のリビジョン番号]:[戻したいリビジョン番号] [リポジトリURL]
 svn commit -m “前回のコミットから前のリビジョンに巻き戻しました [戻したいリビジョン番号].”

Subversion 変更したファイルのリストを取得する

Linuxサーバー

Subversionで、あるリビジョン以降で変更したファイル一覧を取得するには以下のようにします。

(例)
変更前のリビジョンを「100」として、それ以降に変更されたファイル名を取得したいとします。

 svn diff -r 100:head --summarize
  • -summarizeオプションを外すと、変更されたファイル名だけでなく、変更されたファイルの差分も取得できます。

Subversion 同名のオブジェクトが既に存在します

システム開発

Subversion 同名のオブジェクトが既に存在しますというエラーが出てコミットできない

本当に解決したとは言えないのですが、後日同じエラーが出たりした場合のために、メモをします。
違うファイルシステムなどで変更を加えると、次のようなエラーが出る場合があります。

 svn: ファイル 'test/test.php' を追加できませんでした: 
 同名のオブジェクトが既に存在します

SVNから削除や追加をしても、このエラーが治りません。
その場合は、一度アップデート先のファイルをファイルシステムから削除し、ローカルコピーからコミットすると治ります。

権限や所有者の違いが関係あるのかもしれません。

Subversion プロジェクトの共有に失敗する

Eclipse
Subversive

Subversion プロジェクトの共有に失敗する

Eclipse Version: 3.4.1

Eclipse Subversiveを利用する1の続きです。

 Share project was failed.
 Selected SVN connector library is not available or cannot be loaded.
 If you selected native JavaHL connector, please check if binaries
 are available or install and select pure Java Subversion connector 
 from the plug-in connectors update site.
 If connectors already installed then you can change the selected 
 one at: Window->Preferences->Team->SVN->SVN Connector.

というエラーがでてプロジェクトの共有に失敗する場合、次の手順を試してみましょう。

 
  • Help→Software Updates→Available SoftwareというタブでAdd Siteをクリック
  • すぐに出てこなければ、 OtherからSVNリポジトリー・エクスプローラーをクリック
  • 次の二つのURLを登録、インストール

http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-site/
http://community.polarion.com/projects/subversive/download/integrations/update-site/

Subversion checkout時にtrunkをつけない

システム開発
Subversion

Subversionでは、最初にリポジトリから作業コピーを各ローカルマシンへコピーします。
svn checkoutコマンドをちょっと注意しないと、trunk以下からコピーされてしまいます。

次のように、最後にディレクトリを指定し、リポジトリをtrunkまで指定すれば、ディレクトリの下にきれいにcheckoutでもってこれます。

 例
 リポジトリからローカルマシンのtest_projectディレクトリににリポジトリの「作業コピー」を作成する。
 svn checkout http://test.jp/repos/develop/test/trunk test_project