| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Subversion」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の7版が非表示)
1行目: 1行目:
==subversion==
+
| [[Git]] |
[[subversion][Eclipse]]
+
==[[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の導入]]
  
*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
  
 
===インポート===
 
===インポート===
28行目: 30行目:
 
  フォルダー パスの一覧
 
  フォルダー パスの一覧
 
  ボリューム シリアル番号は 00000002 F2F7:41B7 です
 
  ボリューム シリアル番号は 00000002 F2F7:41B7 です
  C:\WORK\MYPROJECT
+
  C:\WO[[R]]K\MYP[[R]]OJECT
 
  ├─branches
 
  ├─branches
 
  ├─tags
 
  ├─tags
146行目: 148行目:
 
         衝突自分 (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 Eclipse Subversion Plugin]
+
*[[subclipse|subclipse Eclipse Subversion Plugin]]
====Visual Studio====
+
====[[Visual Studio]]====
*[Visual Studio Ankhsvn (Subversion Plugin)] [Visula Studio用 Subversion プラグイン Ankhsvn]
+
*[[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

サーバーの導入

クイックスタート

基本の概要

1189 svn01.jpg

導入

リポジトリ

リポジトリとは

  • 単なる仮想的にバージョン化されたファイルシステム
  • どんなデータも含むことのできる大きなツリー構造

リポジトリ作成

  1. # svnadmin create /var/www/svn/myrepo
  2. # chown -R apache:apache myrepo

インポート

  1. import [<パス>] <URL>
  1. c:\work>tree /f myproject
  2. フォルダー パスの一覧
  3. ボリューム シリアル番号は 00000002 F2F7:41B7 です
  4. C:\WORK\MYPROJECT
  5. ├─branches
  6. ├─tags
  7. └─trunk
  8. Bar.java
  9. Foo.java
  10.  
  11.  
  12. c:\work>svn import ./myproject http://192.168.24.14/svn/myrepo/ --username piroto --password north123
  13.  
  14. -- この行以下は無視されます --
  15.  
  16. A myproject
  17.  
  18. ログメッセージの変更や指定がなされていません
  19. 中断 (a), 続行 (c), 編集 (e):
  20. c
  21. 追加しています myproject\trunk
  22. 追加しています myproject\trunk\Foo.java
  23. 追加しています myproject\trunk\Bar.java
  24. 追加しています myproject\branches
  25. 追加しています myproject\tags
  26.  
  27. リビジョン 1 をコミットしました。
  • これで、ツリー構造がデータベースに取り込まれた。
  • もとのファイル群は削除しても問題ない。

ツリー構造

  • ツリー構造はbranches, tags, そしてtrunk という名前の三つの最上位ディレクトリを含む必要があります。
  • trunk ディレクトリはすべてのデータを含んでいるはずですが、branches とtags ディレクトリは空です
  • branches, tags, trunk サブディレクトリは実際にはSubversion に必要なものではありません。後で利用する時におそらくもっとも便利になるように考えられた、よく利用される命名規約にすぎません。


チェックアウト

  • リポジトリのデータを操作するためには、このデータのために、一種の個人用の作業領域となる新しい「作業コピー」を作る必要がある
  1. URL[@REV]... [PATH]
  1. c:\work>svn checkout http://192.168.24.14/svn/myrepo/trunk myproject
  2. A myproject\Foo.java
  3. A myproject\Bar.java
  4. リビジョン 1 をチェックアウトしました。

<blockquote>ローカルリポジトリの場合、file:///{path}</blockquote>

編集の確認

  • Foo.java を編集
  • Hoge.java を追加

svn status

  1. c:\work\myproject>svn status
  2. ? Hoge.java
  3. M Foo.java

svn add

  • 作業コピーに追加したファイルを、バージョン管理下へ置くことを予約する(commitで反映される)
  1. c:\work\myproject>svn add Hoge.java
  2. A Hoge.java

svn diff

  • 変更点に対するunified diff 出力を確認
  1. c:\work\myproject>svn diff
  2. Index: Hoge.java
  3. ===================================================================
  4. --- Hoge.java (リビジョン 0)
  5. +++ Hoge.java (リビジョン 0)
  6. @@ -0,0 +1,4 @@
  7. +public class Hoge {
  8. + public static void main(String[] args) {
  9. + }
  10. +}
  11. \ No newline at end of file
  12. Index: Foo.java
  13. ===================================================================
  14. --- Foo.java (リビジョン 1)
  15. +++ Foo.java (作業コピー)
  16. @@ -1,4 +1,5 @@
  17. public class Foo {
  18. public static void main(String[] args) {
  19. + System.out.println("Foo!");
  20. }
  21. }
  22. \ No newline at end of file

svn commit

  • リポジトリに自分のファイルの新しいバージョンをコミット
  1. commit [<パス>...]
  1. c:\work\myproject>svn commit
  2.  
  3. -- この行以下は無視されます --
  4.  
  5. A Hoge.java
  6. M Foo.java
  7.  
  8. ログメッセージの変更や指定がなされていません
  9. 中断 (a), 続行 (c), 編集 (e):
  10. c
  11. 送信しています Foo.java
  12. 追加しています Hoge.java
  13. ファイルのデータを送信しています ..
  14. リビジョン 2 をコミットしました。

svn update

  • リポジトリの「最新の」状態を自分の作業コピーに反映します。
  • リポジトリの変更箇所と作業コピーの変更箇所に競合がある場合
  1. c:\work\myproject>svn update
  2. 'Bar.java' で競合が見つかりました。
  3. 選択: 延期 (p), 全差分 (df), 編集 (e),
  4. 衝突自分 (mc), 衝突他人 (tc),
  5. , すべてのオプションを表示 (s): e
  6. public class Bar {
  7. public static void main(String[] args) {
  8. <<<<<<< .mine
  9. System.out.println("Bar!");
  10. =======
  11. System.out.println("Bar2");
  12. >>>>>>> .r3
  13. }
  14. }選択: 延期 (p), 全差分 (df), 編集 (e), 解決版 (r),
  15. 衝突自分 (mc), 衝突他人 (tc),

Tips

subversionの導入

Client

Windows

Eclipse

Visual Studio

テンプレート:Ref Subversion.jpg

Mac

インストール

  1. $ brew install svn
  2. $ svn --version