ラベル Subversion の投稿を表示しています。 すべての投稿を表示
ラベル Subversion の投稿を表示しています。 すべての投稿を表示

2013年2月27日水曜日

Redmine + Subversion

  1. Subversion 1.6.1-2 をインストール
  2. Redmine に管理者権限でログインし各プロジェクトの [管理] → [設定] → [リポジトリ] で以下の設定を行う。
    • SCM - Subversion
    • URL - file://localhost/c:/...
    • Login - Subversion repository にログインするユーザ名
    • Password - Subversion repository にログインするパスワード

2013年2月10日日曜日

[Subversion]merge

trunk の更新を branch に適合する
$ svn diff -r 7:9 file:///c:/usr/svn/repositories/svn_test/trunk
$ svn merge -r 7:9 file:///c:/usr/svn/repositories/svn_test/trunk

[Subverion]log

log 確認
以下のようにすると test.c が変更されたときの更新コメントが見ることができる
$ svn log test.c
ログファイルの修正
  1. 修正するリビジョンの確認
    $ svn log file:///c:/usr/svn/repositories/svn_test/trunk -r 8
    ------------------------------------------------------------------------
    r8 | User Name | 2008-10-29 22:26:44 +0900 (水, 29 10 2008) | 1 line
    Add
    ------------------------------------------------------------------------
    
  2. ログのバックアップを取る
    $ svn log file:///c:/usr/svn/repositories/svn_test/trunk -r 1:HEAD > log.txt
    
  3. newlog.txt を作成して修正文章を入れる
  4. newlog.txt を反映する
    $ svnadmin setlog --bypass-hooks c:\usr\svn\repositories\svn_test -r 8 newlog.txt
    

[Subverion]タグ付け

tags の下にコピーをしてタグ付けとする。基本はブランチと同じでただのコピー
$ svn copy file:///c:/usr/svn/repositories/svn_test/trunk file:///c:/usr/svn/repositories/svn_test/tags/release-1.0 -m "Tagging the 1.0 release"

[Subverion]ブランチ作成

branches の下にコピーをして分岐さる
$ svn copy file:///c:/usr/svn/repositories/svn_test/trunk file:///c:/usr/svn/repositories/svn_test/branches/nakao-branch -m "Creating a private branch of /svn_test/trunk"

[Subverion]export

レポジトリから Subversion 用管理ファイルを除いてファイルを取り出す
$ svn export file:///c:/usr/svn/repositories/svn_test/trunk svn_test

[Subversion]commit

作業結果をレポジトリに反映する
$ svn commit -m "Add comment"
Sending test.c
Transmitting file data .
Committed revision 2.

[Subverion]diff, 作業コピーと元のリビジョンの差分表示

$ svn diff
Index: test.c
===================================================================
--- test.c (revision 1)
+++ test.c (working copy)
@@ -2,6 +2,7 @@
int main(void)
{
+     /* Hello world と表示します */
      printf("Hello, world\n");
      return 0;

[Subverion]Checkout

レポジトリからローカルにコピーして作業を開始する
$ svn checkout file://localhost/c:/usr/svn/repositories/svn_test/trunk svn_test
A svn_test\test.c
Checked out revision 1.
カレントディレクトリ以下に svn_test ディレクトリが作られ、その下に .svn ディレクトリと test.c が作られる
作成されるディレクトリ構成は以下のようになる。
svn_test
   |
   +---- .svn
   +---- test.c

[Subverion]ソースファイル追加

カレントディレクトリ以下にあるファイルをレポジトリ管理化に追加 (import) する
$ svn import svn_test file://localhost/c:/usr/svn/repositories/svn_test/trunk -m "Initial import"
Adding test.c
Committed revision 1.
以下のようなツリー構成になる
svn_test
   |
   +-- trunk
   |    +----- test.c
   |
   +-- branches
   +-- tags

[Subverion]ソースファイル追加

カレントディレクトリ以下にあるファイルをレポジトリ管理化に追加 (import) する
$ svn import svn_test file://localhost/c:/usr/svn/repositories/svn_test/trunk -m "Initial import"
Adding test.c
Committed revision 1.
以下のようなツリー構成になる
svn_test
   |
   +-- trunk
   |    +----- test.c
   |
   +-- branches
   +-- tags

[Subverion]レポジトリのバックアップ・リストア

バックアップ
$ svnadmin dump /usr/svn/repositories/svn_test > svn_test_20081109.dump
リストア
$ svnadmin create /newdir/repositories/svn_test
$ svnadmin load /newdir/repositories/svn_test < svn_test_20081109.dump

[Subversion]プロジェクトのリポジトリ作成

  1. Repository の下にプロジェクト用ディレクトリを作成する
  2. c:\usr\svn\repositories\ に SVN サーバの管理するディレクトリがあるとする
    $ mkdir c:\usr\svn\repositories\svn_test
    $ svnadmin create c:\usr\svn\repositories\svn_test
    
  3. trunk, branches, tags のディレクトリを作成する。
    $ svn mkdir file://localhost/c:/usr/svn/repositories/svn_test/trunk -m "Initial"
    $ svn mkdir file://localhost/c:/usr/svn/repositories/svn_test/tags -m "Initial"
    $ svn mkdir file://localhost/c:/usr/svn/repositories/svn_test/branches -m "Initial"
    
Table: ツリー名一覧
trunk本流の開発ツリー
branch本流の開発ツリーとは異なる変更を加えるツリー
tagリポジトリで管理しているファイル群の特定のリビジョンを保存する機能

[Subversion]インストール for Windows XP

  1. subversion.tigris.org から win32 用のバイナリをダウンロード
  2. バイナリの本体は collab.net からダウンロードする
  3. c:/usr/svn にインストール
  4. レポジトリは c:/usr/svn/repositories を指定
  5. SVN_EDITOR export SVN_EDITOR=emacs と定義して commit 時のコメントを emacs で記述できるようにする