ページ更新: 2012-05-14 (月) (2108日前)

関連: ソフト/Bug Tracking/trac/ごたく, ソフト/Bug Tracking/trac, Cygwin/Subversion

(2004-10-21 新規作成)

Subversion (Subclipse, TortoiseSVN) のメモ。更新頻度は低い。

目次

[編集]

Subversion 1.7 #

(2012-05-14, 2012-03-07, 2011-10-23)

Apache Subversion 1.7.0

Apache Subversion - Binary Package

TortoiseSVN

プラグイン

[編集]

pre-revprop-change フックで標準入力で渡された内容を調べて、コミットの許可/不許可を決める #

(2011-09-13)

動作確認には Windows 7 SP1, Python 2.6, Subversio 1.6.16, TortoiseSvn 1.6.15 を用いた。

[pre-revprop-change.bat]

  • pre-revprop-change.py を呼び出すためのバッチファイル。「%~dp0」はこのバッチファイルが置いてあるディレクトリ
@C:\Python26\python.exe %~dp0\pre-revprop-change.py

[pre-revprop-change.py]

  • 標準入力(新しいプロパティ値)に文字列「sample」が存在したら、修正を却下する
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
props = sys.stdin.read()
try:
    props.index("sample")
    # 見つかった(例外が発生しない) →修正を却下
    exit(1)
except ValueError:
    # 見つからなかった →修正を許可
    exit(0)
[編集]

svnwcrev が Ubuntu 11.10 でビルドできなかった #

(2011-10-28, 作業中)

ビルドできなかった。メモを取ってないので、後でもう一回調べる。

  • SvnRev: a utility for Subversion
    • こちらは、ちょいと動作が異なるようだ:いわく「The main difference is that SubWCRev gets the revision numbers from the "working copy" of the project (a repository that holds all version-control information on the files in a directory) and SvnRev gets these numbers from keywords in the source files. SubWCRev has the advantages that you do not need to add keywords to the source files and that it also gets the revision numbers of binary files ―which do not contain keywords. 」
[編集]

(未完、調査中) svn diff / TortoiseSVNでpatch作成時に、CP932 (ShiftJIS+α) 以外のファイルの文字化けするのを直す #

(2011-01-13)

比較対象のファイルが SJIS 以外の日本語が含まれてるとリビジョンという文字が SJIS なので文字コードが混在して文字化けする。 Subversion.mo を修正(英語に書き換え)するとよい。gettext-util (msgunfmt / msgfmt) が必要。

手元では、以下のファイルを修正すればよさそうだ。

  • win32svn 1.6.15
    • C:\Program Files\Subversion\share\locale\ja\LC_MESSAGSE\subversion.mo
  • TortoiseSVN 1.6.12 + LanguagePack(ja) (Subversion 1.6.15)
    • C:\Program Files\TortoiseSVN\Languages\ja\LC_MESSAGES\Subversion.mo

msgfmt / msgunfmt:

po

[編集]

(未完) Cygwin + gettext-devel の場合 #

win32svn のはエラーが発生する。TortoiseSVN のはエラーなしだと思うし、文字化けしない。

$ cygcheck -cd cygwin gettext-devel
Cygwin Package Information
Package              Version
cygwin               1.7.7-1
gettext-devel        0.17-11

win32svn の subversion.mo) →エラー発生:

$ msgunfmt /cygdrive/c/Program\ Files/Subversion/share/locale/ja/LC_MESSAGES/subversion.mo -o win32svn.po
/usr/src/packages/gettext/gettext-0.17-11/src/gettext-0.17/gettext-tools/src/read-mo.c:240: 不正な複数バイトのシーケンス
/usr/src/packages/gettext/gettext-0.17-11/src/gettext-0.17/gettext-tools/src/read-mo.c:240: 不正な複数バイトのシーケンス
/usr/src/packages/gettext/gettext-0.17-11/src/gettext-0.17/gettext-tools/src/read-mo.c:240: 不正な複数バイトのシーケンス
...

TortoiseSVN の Subversion.mo) →問題なし。msgunfmt出力の文字コードは utf-8 のようだ (minttyの文字コードをUTF-8に切り替えると文字化けしないので:

$ msgunfmt /cygdrive/c/Program\ Files/TortoiseSVN/Languages/ja/LC_MESSAGES/Subversion.mo
msgid ""
msgstr ""
"Project-Id-Version: subversion 1.6\n"
"Report-Msgid-Bugs-To: dev@subversion.tigris.org\n"
"POT-Creation-Date: 2009-03-17 14:50+0100\n"
"PO-Revision-Date: 2007-10-28 01:23+0900\n"
"Last-Translator: Subversion Developers <dev@subversion.tigris.org>\n"
"Language-Team: Japanese <dev@subversion.tigris.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" 
"Content-Transfer-Encoding: 8bit\n"

msgid ""
...
[編集]

(未完) GnuWin32 gettext の場合 #

win32svn のはエラーが発生する。TortoiseSVN のはエラーなしだと思う。

win32svn 1.6.15 (エラー):

C:> "c:\Program Files\GnuWin32\bin\msgunfmt.exe" "C:\Program Files\Subversion\share\locale\ja\LC_MESSAGES\subversion.mo"
msgid ""
msgstr ""
"Project-Id-Version: subversion 1.6\n"
"Report-Msgid-Bugs-To: dev@subversion.tigris.org\n"
"POT-Creation-Date: 2009-03-17 14:50+0100\n"
"PO-Revision-Date: 2007-10-28 01:23+0900\n"
"Last-Translator: Subversion Developers <dev@subversion.tigris.org>\n"
"Language-Team: Japanese <dev@subversion.tigris.org>\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"

msgid ""
...
(null): invalid multibyte sequence
(null): invalid multibyte sequence
(null): invalid multibyte sequence
(null): invalid multibyte sequence
...

subversion 1.6.6 (svn-win32-1.6.6.zip, subversion: ドキュメント & ファイル: 1.6.x (archived, win32, apache 2.2.x)から入手) (エラー):

C:> "C:\Program Files\GnuWin32\bin\msgunfmt.exe" subversion.mo
msgid ""
msgstr ""
"Project-Id-Version: subversion 1.6\n"
"Report-Msgid-Bugs-To: dev@subversion.tigris.org\n"
"POT-Creation-Date: 2009-03-17 14:50+0100\n"
"PO-Revision-Date: 2007-10-28 01:23+0900\n"
"Last-Translator: Subversion Developers <dev@subversion.tigris.org>\n"
"Language-Team: Japanese <dev@subversion.tigris.org>\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"

msgid ""
....
(null): invalid multibyte sequence
(null): invalid multibyte sequence
(null): invalid multibyte sequence
...

TortoiseSVN (問題なさそう):

C:> "c:\Program Files\GnuWin32\bin\msgunfmt.exe" "C:\Program Files\TortoiseSVN\Languages\ja\LC_MESSAGES\Subversion.mo"
msgid ""
msgstr ""
"Project-Id-Version: subversion 1.6\n"
"Report-Msgid-Bugs-To: dev@subversion.tigris.org\n"
"POT-Creation-Date: 2009-03-17 14:50+0100\n"
"PO-Revision-Date: 2007-10-28 01:23+0900\n"
"Last-Translator: Subversion Developers <dev@subversion.tigris.org>\n"
"Language-Team: Japanese <dev@subversion.tigris.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid ""
...
[編集]

TortoiseSVN 1.5.9 にバグらしき挙動あり、TortoiseSVN 1.6.5では問題なし (2009-09-30) #

TortoiseSVN 1.5.9 にバグらしき挙動を見つけました。

バグの挙動:

  • 名前が「*.a」や「*.so」のファイルやディレクトリをワーキングコピーのあるサブディレクトリに置き、そのサブディレクトリでTortoiseSVNの「追加」を行った場合、これらのファイルがリストアップも追加もされない。

状況:

  • TortoiseSVN 1.5.9の日本語版と英語版の双方で再現した。
  • TortoiseSVN 1.5.9の設定「一般」→「除外/無視するパターン」は、デフォルトで空欄だった。
    • なお、TortoiseSVN 1.6.5ではデフォルトで「*.a」や「*.so」が登録されている。
  • 以下の場所にあるSubversionの共通設定 (ほぼ全てのSubversionクライアントが用いる設定にも、除外パターンは登録されていない
    • ファイル %APPDATA%\Subversion\config
    • レジストリ
      • HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion (システム全体)
      • HKEY_CURRENT_USER\Software\Tigris.org\Subversion (ユーザ毎)
  • 本家のバグDB http://issues.tortoisesvn.net/ では、このバグの登録の有無はわかりませんでした。 (使い慣れていないので、うまく検索できなかった)

推測:

  • TortoiseSVN 1.5.9の設定「一般」→「除外/無視するパターン」の表示・編集機能に次のバグがあると思われます。
    • バグで「設定値が表示されていない」が、実は「*.a」や「*.so」が登録されている。
    • バグで「設定値が内部に反映されない」 (テキトー値を入れて保存してダイアログを閉じ、再度ダイアログを開いて値を消して保存してみたが、「*.a」や「*.so」に対する扱いが変化しなかった)
[編集]

リポジトリの構造 (2009-09-08) #

(TODO: 帰宅後に ↑ にコメントする。)

出遅れたけど、うちはこんな感じ。

  • 全員がtrunk上で開発する。
    • 大きな変更や実験的なものは、branches で開発してtrunkにマージする。
  • trunk直下に文書用のディレクトリを用意する。
    • 以前は /doc に置いていたけど、文書の更新がやりにくい、との苦情があったため。
    • 常にtrunkをチェックアウトして、可能であればソースコードと文書を同時に更新して、一度にコミットする。
    • trunkだけチェックアウトすれば、原則として開発の全作業が出来るようにする。
      • trunkのコピーであるTask Branch (パターンによるソフトウェア構成管理) も同様に、Task Branchだけで全作業が出来るようにする。
  • Hudsonで、コミット時にtrunk全体か、trunkのsub-project、branchesの下のディレクトリでビルド/テストを実行する。
    • trunkのsub-project単位でHudsonプロジェクトを作ってビルド/テストし、それをまとめてtrunkレベルでビルド/テスト
    • branchesも同様
  • tagsはtrunkに対して付ける (svn copy /trunk /tags/hoge)
  • branchesは、trunk か、trunk直下のsub-projectを元にする。
  • ベンダーブランチは/vendor/製品名/latestに入れて、/vendor/製品名/xxxxx というタグを付ける。
    • 修正せずに使う場合は、trunkで、svn:external する。
    • 修正する場合は、trunkにコピーする (svn copy /vendor/製品名/latest /trunk/hoge)
      • ベンダーの製品が更新されたときは、/vendor/製品名/lasest に反映してタグを/vendor/製品名/xxxxに打ってから、タグ間の差分をマージする。
  • 開発中に使う文書の一部はTrac Wiki上に置く。

Subversionリポジトリ上のディレクトリの構成:

vendor/                       .... ベンダーブランチ。
    hoge/
        latest/                    .... 最新バージョン。ベンダーが新しいのをリリースしたら、ここに反映する。
        version1.2.3-2008-01-02/   .... 過去の最新バージョン (過去のlatestをsvn copy)
        version2.3.4-2009-02-03/   .... 最新バージョン (latestをsvn copy)
        README.txt                 .... 説明。latest/への反映手順の概要(詳しい説明はWikiの方に書く)
    poyo/
        latest/                    .... 最新バージョン。ベンダーが新しいのをリリースしたら、ここに反映する。
        release-134/               .... 過去の最新バージョン (過去のlatestをsvn copy)
        release-345/               .... 過去の最新バージョン (過去のlatestをsvn copy)
        release-543/               .... 最新バージョン (latestをコピー)
        README.txt                 .... 説明。latest/への反映手順の概要(詳しい説明はWikiの方に書く)
    README.txt                .... ベンダーブランチの説明(詳しい説明はWikiの方に書く)

trunk/                        .... 原則として、trunk をチェックアウトして使う
    doc/                      .... 文書はここと、Wikiとチケットに。(チケットに書く→Wikiにまとめる→doc/に入れる)
        要求/
        技術調査/
        分析設計/
        テスト/
    sub-project1/             .... Eclipseのプロジェクトや、Visual Studioのソリューションやら、UNIXなソースやら。
    sub-project2/
    sub-project3/
    libare/                   .... 他のリポジトリから (svn:external)
    libsore/                  .... 他のリポジトリから (svn:external)
    hoge/                     .... ベンダー製ライブラリ (vender/hoge/latest か vender/hoge/versionX.X.Xをsvn copy)
    poyo/                     .... ベンダー製ライブラリ (vender/poyo/latest か release-XXXをsvn copy)
    README.txt                .... trunk以下の説明文書。ビルド手順の概要など。(詳しい説明はWikiの方に書く)

branches/
    are-trunk/                .... trunkのブランチ (svn copy /trunk /branches/are-trunk)
    sore-trunk/               .... trunkのブランチ (svn copy /trunk /branches/sore-trunk)
    README.txt                .... ブランチの説明。命名規則など。(詳しい説明はWikiの方に書く)

tags/
    README.txt                .... タグの説明。命名規則など。(詳しい説明はWikiの方に書く)

README.txt                    ....このリポジトリの説明(詳しい説明はWikiの方に書く)
[編集]

Debian 4.0のetch-backportsでSubversion 1.5.1をインストール (2009-04-07) #

Debian 4.0→5.0 (Subversion 1.5.1) にアップデートする時間が取れないので、etch-backportsからSubversion 1.5.1をインストールしてみた。

$ sudo aptitude install \
libapache2-svn/etch-backports \
libsvn1/etch-backports \
subversion/etch-backports \
subversion-tools/etch-backports \
python-subversion/etch-backports

なお、TracとApache2の設定は特に変える必要がなかった。

[編集]

Subversionリポジトリのアップデート用スクリプト (2009-04-07) #

Subversionリポジトリのアップデート(例: 1.4.x → 1.5.x)の移行のためのスクリプト「update-repository.sh」、Debian/Ubuntu用。

  • 使い方: root権限で、「./update-repository.sh リポジトリのパス」 (注意:リポジトリのパスの末尾には「/」を付けないこと)
  • 注意
    • 作業中にはコミットなどの操作を禁止しておくこと。(start-commitフックを使う、Apacheを止める、など)
    • カレントディレクトリに dumpfile を作るが、消さない。(失敗したときに手動でsvnadmin loadしたいから)
    • 古いリポジトリは「リポジトリパス-old」 と言う名前で残す。手動で消すこと。
      • すでに「リポジトリパス-old」が存在するときの対策は行っていないので、特に注意。

update-repository.sh

#!/bin/sh

export LANG=

if [ "$1" == "" ]; then
   echo "usage: update-repos.sh repository-path"
   exit 1
fi

REPO=$1

## Show repository format no
cat $REPO/format
cat $REPO/db/format

## Create new repository
sudo -u www-data svnadmin create $REPO-new

## Remove sample config-file and hook-script
sudo -u www-data rm $REPO-new/conf/*
sudo -u www-data rm $REPO-new/hooks/*

## Copy sample config-file and hook-script
sudo -u www-data cp $REPO/conf/*  $REPO-new/conf/
sudo -u www-data cp $REPO/hooks/* $REPO-new/hooks/

## DUMP
sudo -u www-data svnadmin dump $REPO > dumpfile

## LOAD
sudo -u www-data svnadmin load $REPO-new < dumpfile


## Exchange new repository
sudo -u www-data mv $REPO $REPO-old
sudo -u www-data mv $REPO-new $REPO

## Show repository format no
cat $REPO/format
cat $REPO/db/format
cat $REPO-old/format
cat $REPO-old/db/format
[編集]

AuthzSVNAccessFile and SVNListParentPath - examples in Chapter 6 are misleading (2007-08-16) #

[編集]

svndumpfilter2 (2007-08-16), svndumpfilter3 (2007-09-06) #

[編集]

リポジトリサーバの種類 #

リポジトリサーバへのアクセス方法

1. ファイル共有
  * fsfsを使う。
  * ユーザー名が判別できないため、余り使われない
2. svnserve (svn:)
  1. デーモン
    1. standalone
      * パスワードは暗号化できるが、データはそのまま
    2. super daemon経由
      * パスワードは暗号化できるが、データはそのまま
  1. ssh (svn+ssh:)
    * svnserveが呼ばれる
    * 認証はsshの機構 (=OSのPAM) を使う
    * データを暗号化できる
3. mod_dav (http:)
  * mod_dav_svn.soを使う
  * 認証はApacheの機構を使う
    * パスワードを暗号化するならBasic認証は使わず、代わりにDigest認証を使う。
  * ユーザー毎のアクセス制限には AuthzSVNAccessFile を併用
  * HTTP proxyを通過できる。
    * WebDAVを通せないproxyの場合、SSL(https:)を使うと通すことができる。
  * データも暗号化するならSSLを使う。
[編集]

Subversion 1.4のsvnserve.exeをサービスで動かす (2006-10-12) #

Subversion 1.4では、svnserve.exe がサービスとして動作するようになった。

そこで、Windows XP Professionalのscコマンドを用いて、svnserve.exe をサービスに登録してみる。

環境は Windows XP Professional SP2。

sc で svnserve.exe をサービスに登録する。注意:「=」の後には1文字空白を置くこと。(binPath= や depend= )

C:\> sc create svnserve binPath= "C:\Program Files\Subversion\bin\svnserve.exe --service --root c:\appdata\svn" depend= tcpip
[SC] CreateService SUCCESS

C:\> 

今回は--rootでリポジトリの親ディレクトリを指定している。

登録確認:

C:\> sc query svnserve

SERVICE_NAME: svnserve
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
                                (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 1077       (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

C:\> 

ちなみに、登録を削除するには次のようにする:

C:\> sc delete svnserve
[SC] DeleteService SUCCESS

C:\> 

サービスを起動する:

C:\> sc start svnserve

SERVICE_NAME: svnserve
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 2  START_PENDING
                                (STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 2976
        FLAGS              :

起動確認:

C:\> sc query svnserve

SERVICE_NAME: svnserve
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING            ★実行中
                                (STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

ポートを確認する。3690はsvnserveが使うポート:

C:\> netstat -an | findstr "3690"
  TCP    0.0.0.0:3690           0.0.0.0:0              LISTENING

C:\> 

チェックアウト操作を行ってみる。何も入れてないので空だが:

C:\> mkdir tmp
C:\> mkdir tmp\svntest
C:\> cd tmp\svntest
C:\tmp\svn> svn checkout svn://127.0.0.1/sandbox
リビジョン 0 をチェックアウトしました。

C:\tmp\svn> 

これで完了。ただし、PCを再起動するとsvnserveサービスは止まったままなので、別途、サービスを自動起動に設定しておくこと。

[編集]

既存のリポジトリの種別を調べる (2006-05-24) #

要点:リポジトリの db/fs-type に書いてある。

環境:Subversion 1.2.3 for Windows, Windows XP SP2, Cygwin (fileコマンド)

Berkley DBの場合

$ svnadmin create --fs-type bdb bdb_repository    ★Berkley DBでリポジトリを作成して、
$ cat bdb_repository/db/fs-type                   ★db/fs-typeファイルの中身を表示する
bdb

$ svnadmin list-dblogs bdb_repository             ★Berkley DBログファイルの一覧を表示する
bdb_repository\db\log.0000000001

$ file bdb_repository/db/log.0000000001           ★Berkley DBの情報を表示する
bdb_repository/db/log.0000000001: Berkeley DB (Log, version 10, native byte-order)

$

FSFS

$ svnadmin create --fs-type fsfs fsfs_repository  ★FSFSでリポジトリを作成して、
$ cat fsfs_repository/db/fs-type                  ★db/fs-typeファイルの中身を表示する
fsfs

$ svnadmin list-dblogs fsfs_repository            ★Berkley DBログファイルの一覧を表示する
$                                                 ★Berkley DBではないので、なにも表示されない
[編集]

Windows上で、ZIPで提供されているSubversionを入れたときの設定 #

環境変数 APR_ICONV_PATH を定義、iconvディレクトリの位置を設定する。

C:\Program Files\Subversion\iconv
[編集]

fsfsとBerkeley DB、どちらを使う? (2005-08-22) #

Subversion-jp メーリングリスト http://arch.bluegate.org/mailman/listinfo/subversion-jp より。

まとめ。

Berkeley DB

  • Berkeley DBライブラリのバージョンが違うと、リポジトリにアクセスできなくなることがある。
    • その場合旧バージョンの環境でdumpし、新バージョンの環境でrestoreする。

fsfs

  • Subversion専用に作られており、バージョンが異なっても読み書きできる。
  • FAT32にレポジトリを置くと、その制限(1ファイルは最大2GB)を超えるとエラーが出てしまう。
[編集]

2007-10-23 追記 FSFSがデフォルトになったのは Subversion 1.2から、他 #

Subversionリポジトリのデータ格納形式のデフォルトは、Subversion 1.1.X までがBDB、1.2以後はFSFS。

データ格納形式の選択についてはこちらも参照のこと

Linuxディストリビューションが提供しているパッケージのSubversionのバージョン (手元のディストリビューションのみ)

  • Debian 3.1 (Sarge)
    • 1.1.4, 1.3.2 (backports)
  • Debian 4.0 (Etch)
    • 1.4.2
  • Ubuntu 7.10
    • そのうち調べる。でも 1.4.3以上だろうし。
  • Ubuntu 7.04
    • 1.4.3
  • CentOS 4.Xが1.1.4 あたり、CentOS 5.0は1.3.2 あたりだったような気がする
  • Fedora Core 6は1.3.2 あたり、Fedora 7は 1.4.3 あたりだったな気がする
[編集]

既存のコードをSubversionにimportする手順(未確認) #

2005-05-06

  1. trunk/tags/branchesを作成して、importする。(= revision 0)
  2. 1つのディレクトリに、importするファイル/ディレクトリだけをコピーする。
  3. svn importで2.をtrunkにimportする。(= revision 1)
  4. svn propsetでsvn:keywordsを設定する。(CVSの$Id$などの置き換えの設定に当たる)
  5. プログラムをビルドし、svn status を実行して、それを見ながら、ディレクトリごとに svn propsetでsvn:ignore属性を設定する。(CVSの.cvsignoreに当たる。また、.cvsignoreを入力に指定できる)
  6. svn statusとsvn proplistで確認し、cvs commitする。(= revision 2)
  7. この時点で、tagsにsvn copyする。

あるいは、既存のコードがCVSで管理されていれば、そこから移行(コンバート)した方がよいかも。

[編集]

Windowsをサーバにする #

未整理。本家の文書と、その日本語版の文書へのリンクを貼ってない。

Subversion/Windowsへのインストール - TechNote
http://www.strikeout.jp/technote/...

SVN Service Wrapper for Windows
http://dark.clansoft.dk/~mbn/svnservice/

  • サービスにする。

Subversion 設定メモ - yik.jp Wiki
http://yik.jp/wiki/svn_setting.html

[編集]

リポジトリを作成する #

  1. エクスプローラでリポジトリにするディレクトリを作成する。

ここでは、c:/svn/repos とする。

  1. ディレクトリ (c:/svn/repos) で右クリック→TortoiseSVN→ここにリポジトリを作成。
    1. 「どのタイプのリポジトリを作成しますか」は BDB (たぶん従来互換)を選んだ。
[編集]

インポートする #

  • eclipse を起動、リソースパースペクティブで 不要なファイルを削除。
[編集]

2004-10-22 #

  • TortoiseSVN で インポートすると、ProjectName/trunk を作ることができるが、 Javaのリファクタリングでクラスをパッケージ間で移動すると失敗する‥‥。
  • eclipseで チーム→プロジェクトの共用で SVN を選ぶと trunkが作られない。 でも、パッケージ間移動はエラーなし。
[編集]

branches と tags を作成する #

  1. TortoiseSVN のブラウザで、branchesとtagsを作成する。
[編集]

checkout する。 #

  1. eclipse で 'Check out as Project...' する。