「Subversion」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==subversion== [subversion][Eclipse] =====SVNBOOK===== *http://psyto.s26.xrea.com/misc/svnbook/ =====Subversion Download===== *http://subversion.tigris.org/getting…」) |
|||
(同じ利用者による、間の8版が非表示) | |||
1行目: | 1行目: | ||
− | == | + | | [[Git]] | |
− | [subversion] | + | ==[[subversion]]== |
=====SVNBOOK===== | =====SVNBOOK===== | ||
*http://psyto.s26.xrea.com/misc/svnbook/ | *http://psyto.s26.xrea.com/misc/svnbook/ | ||
=====Subversion Download===== | =====Subversion Download===== | ||
− | *http://subversion.tigris.org/getting.html | + | *http://[[subversion]].tigris.org/getting.html |
− | *http://subversion.apache.org/packages.html | + | *http://[[subversion]].apache.org/packages.html |
+ | |||
+ | ====サーバーの導入==== | ||
+ | *[[subversionの導入]] | ||
− | |||
==クイックスタート== | ==クイックスタート== | ||
===基本の概要=== | ===基本の概要=== | ||
[[File:1189_svn01.jpg]] | [[File:1189_svn01.jpg]] | ||
===導入=== | ===導入=== | ||
− | *subversionの導入 | + | *[[subversionの導入]] |
===リポジトリ=== | ===リポジトリ=== | ||
====リポジトリとは==== | ====リポジトリとは==== | ||
20行目: | 22行目: | ||
====リポジトリ作成==== | ====リポジトリ作成==== | ||
# svnadmin create /var/www/svn/myrepo | # svnadmin create /var/www/svn/myrepo | ||
− | # chown -R apache:apache myrepo | + | # chown -[[R]] apache:apache myrepo |
===インポート=== | ===インポート=== | ||
− | import [ | + | import [<パス>] <URL> |
− | c:\work | + | c:\work>tree /f myproject |
フォルダー パスの一覧 | フォルダー パスの一覧 | ||
ボリューム シリアル番号は 00000002 F2F7:41B7 です | ボリューム シリアル番号は 00000002 F2F7:41B7 です | ||
− | C:\ | + | C:\WO[[R]]K\MYP[[R]]OJECT |
├─branches | ├─branches | ||
├─tags | ├─tags | ||
36行目: | 38行目: | ||
− | c:\work | + | c:\work>svn import ./myproject http://192.168.24.14/svn/myrepo/ --username piroto --password north123 |
-- この行以下は無視されます -- | -- この行以下は無視されます -- | ||
66行目: | 68行目: | ||
URL[@REV]... [PATH] | URL[@REV]... [PATH] | ||
− | c:\work | + | c:\work>svn checkout http://192.168.24.14/svn/myrepo/trunk myproject |
A myproject\Foo.java | A myproject\Foo.java | ||
A myproject\Bar.java | A myproject\Bar.java | ||
リビジョン 1 をチェックアウトしました。 | リビジョン 1 をチェックアウトしました。 | ||
− | + | <blockquote>ローカルリポジトリの場合、file:///{path}</blockquote> | |
===編集の確認=== | ===編集の確認=== | ||
*Foo.java を編集 | *Foo.java を編集 | ||
*Hoge.java を追加 | *Hoge.java を追加 | ||
====svn status==== | ====svn status==== | ||
− | c:\work\myproject | + | c:\work\myproject>svn status |
? Hoge.java | ? Hoge.java | ||
M Foo.java | M Foo.java | ||
82行目: | 84行目: | ||
====svn add==== | ====svn add==== | ||
*作業コピーに追加したファイルを、バージョン管理下へ置くことを予約する(commitで反映される) | *作業コピーに追加したファイルを、バージョン管理下へ置くことを予約する(commitで反映される) | ||
− | c:\work\myproject | + | c:\work\myproject>svn add Hoge.java |
A Hoge.java | A Hoge.java | ||
====svn diff==== | ====svn diff==== | ||
*変更点に対するunified diff 出力を確認 | *変更点に対するunified diff 出力を確認 | ||
− | c:\work\myproject | + | c:\work\myproject>svn diff |
Index: Hoge.java | Index: Hoge.java | ||
=================================================================== | =================================================================== | ||
111行目: | 113行目: | ||
*リポジトリに自分のファイルの新しいバージョンをコミット | *リポジトリに自分のファイルの新しいバージョンをコミット | ||
− | commit [ | + | commit [<パス>...] |
− | c:\work\myproject | + | c:\work\myproject>svn commit |
-- この行以下は無視されます -- | -- この行以下は無視されます -- | ||
130行目: | 132行目: | ||
*リポジトリの「最新の」状態を自分の作業コピーに反映します。 | *リポジトリの「最新の」状態を自分の作業コピーに反映します。 | ||
*リポジトリの変更箇所と作業コピーの変更箇所に競合がある場合 | *リポジトリの変更箇所と作業コピーの変更箇所に競合がある場合 | ||
− | c:\work\myproject | + | c:\work\myproject>svn update |
'Bar.java' で競合が見つかりました。 | 'Bar.java' で競合が見つかりました。 | ||
選択: 延期 (p), 全差分 (df), 編集 (e), | 選択: 延期 (p), 全差分 (df), 編集 (e), | ||
137行目: | 139行目: | ||
public class Bar { | public class Bar { | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | + | <<<<<<< .mine | |
System.out.println("Bar!"); | System.out.println("Bar!"); | ||
======= | ======= | ||
System.out.println("Bar2"); | System.out.println("Bar2"); | ||
− | + | >>>>>>> .r3 | |
} | } | ||
}選択: 延期 (p), 全差分 (df), 編集 (e), 解決版 (r), | }選択: 延期 (p), 全差分 (df), 編集 (e), 解決版 (r), | ||
衝突自分 (mc), 衝突他人 (tc), | 衝突自分 (mc), 衝突他人 (tc), | ||
− | ===Tips=== | + | ===[[Tips]]=== |
− | ====subversionの導入==== | + | ====[[subversionの導入]]==== |
− | *subversionの導入 | + | *[[subversionの導入]] |
− | *subversion ホスト名が解決できない エラー対応 | + | *[[subversion ホスト名が解決できない エラー対応]] |
− | *EclipseでSubversionプラグインのオーバーレイアイコンが消えたときの対応 | + | *[[EclipseでSubversionプラグインのオーバーレイアイコンが消えたときの対応]] |
− | *subversion リポジトリの引越し | + | *[[subversion リポジトリの引越し]] |
===Client=== | ===Client=== | ||
− | ====Windows ==== | + | ====[[Windows]] ==== |
− | *subversion VisualSVN Windows用サーバーの導入 | + | *[[subversion VisualSVN Windows用サーバーの導入]] |
− | ====Eclipse==== | + | ====[[Eclipse]]==== |
− | *[subclipse | + | *[[subclipse|subclipse Eclipse Subversion Plugin]] |
− | ====Visual Studio==== | + | ====[[Visual Studio]]==== |
− | *[Visual Studio Ankhsvn (Subversion Plugin) | + | *[[Visual Studio Ankhsvn (Subversion Plugin)|Visula Studio用 Subversion プラグイン Ankhsvn]] |
− | |||
{{ref Subversion.jpg}} | {{ref Subversion.jpg}} | ||
+ | ==[[Mac]]== | ||
+ | ===インストール=== | ||
+ | $ brew install svn | ||
+ | $ svn --version |
2020年12月7日 (月) 16:17時点における最新版
| Git |
subversion
SVNBOOK
Subversion Download
- http://subversion.tigris.org/getting.html
- http://subversion.apache.org/packages.html
サーバーの導入
クイックスタート
基本の概要
導入
リポジトリ
リポジトリとは
- 単なる仮想的にバージョン化されたファイルシステム
- どんなデータも含むことのできる大きなツリー構造
リポジトリ作成
# svnadmin create /var/www/svn/myrepo # chown -R apache:apache myrepo
インポート
import [<パス>] <URL>
c:\work>tree /f myproject フォルダー パスの一覧 ボリューム シリアル番号は 00000002 F2F7:41B7 です C:\WORK\MYPROJECT ├─branches ├─tags └─trunk Bar.java Foo.java c:\work>svn import ./myproject http://192.168.24.14/svn/myrepo/ --username piroto --password north123 -- この行以下は無視されます -- A myproject ログメッセージの変更や指定がなされていません 中断 (a), 続行 (c), 編集 (e): c 追加しています myproject\trunk 追加しています myproject\trunk\Foo.java 追加しています myproject\trunk\Bar.java 追加しています myproject\branches 追加しています myproject\tags リビジョン 1 をコミットしました。
- これで、ツリー構造がデータベースに取り込まれた。
- もとのファイル群は削除しても問題ない。
ツリー構造
- ツリー構造はbranches, tags, そしてtrunk という名前の三つの最上位ディレクトリを含む必要があります。
- trunk ディレクトリはすべてのデータを含んでいるはずですが、branches とtags ディレクトリは空です
- branches, tags, trunk サブディレクトリは実際にはSubversion に必要なものではありません。後で利用する時におそらくもっとも便利になるように考えられた、よく利用される命名規約にすぎません。
チェックアウト
- リポジトリのデータを操作するためには、このデータのために、一種の個人用の作業領域となる新しい「作業コピー」を作る必要がある
URL[@REV]... [PATH]
c:\work>svn checkout http://192.168.24.14/svn/myrepo/trunk myproject A myproject\Foo.java A myproject\Bar.java リビジョン 1 をチェックアウトしました。
<blockquote>ローカルリポジトリの場合、file:///{path}</blockquote>
編集の確認
- Foo.java を編集
- Hoge.java を追加
svn status
c:\work\myproject>svn status ? Hoge.java M Foo.java
svn add
- 作業コピーに追加したファイルを、バージョン管理下へ置くことを予約する(commitで反映される)
c:\work\myproject>svn add Hoge.java A Hoge.java
svn diff
- 変更点に対するunified diff 出力を確認
c:\work\myproject>svn diff Index: Hoge.java =================================================================== --- Hoge.java (リビジョン 0) +++ Hoge.java (リビジョン 0) @@ -0,0 +1,4 @@ +public class Hoge { + public static void main(String[] args) { + } +} \ No newline at end of file Index: Foo.java =================================================================== --- Foo.java (リビジョン 1) +++ Foo.java (作業コピー) @@ -1,4 +1,5 @@ public class Foo { public static void main(String[] args) { + System.out.println("Foo!"); } } \ No newline at end of file
svn commit
- リポジトリに自分のファイルの新しいバージョンをコミット
commit [<パス>...]
c:\work\myproject>svn commit -- この行以下は無視されます -- A Hoge.java M Foo.java ログメッセージの変更や指定がなされていません 中断 (a), 続行 (c), 編集 (e): c 送信しています Foo.java 追加しています Hoge.java ファイルのデータを送信しています .. リビジョン 2 をコミットしました。
svn update
- リポジトリの「最新の」状態を自分の作業コピーに反映します。
- リポジトリの変更箇所と作業コピーの変更箇所に競合がある場合
c:\work\myproject>svn update 'Bar.java' で競合が見つかりました。 選択: 延期 (p), 全差分 (df), 編集 (e), 衝突自分 (mc), 衝突他人 (tc), , すべてのオプションを表示 (s): e public class Bar { public static void main(String[] args) { <<<<<<< .mine System.out.println("Bar!"); ======= System.out.println("Bar2"); >>>>>>> .r3 } }選択: 延期 (p), 全差分 (df), 編集 (e), 解決版 (r), 衝突自分 (mc), 衝突他人 (tc),
Tips
subversionの導入
- subversionの導入
- subversion ホスト名が解決できない エラー対応
- EclipseでSubversionプラグインのオーバーレイアイコンが消えたときの対応
- subversion リポジトリの引越し
Client
Windows
Eclipse
Visual Studio
Mac
インストール
$ brew install svn $ svn --version
© 2006 矢木浩人