Subversion : インストール2024/09/13 |
バージョン管理システム Subversion のインストールと設定です。 |
|
[1] | Subversion をインストールします。 |
root@dlp:~ # pkg install -y subversion
|
[2] | 任意の一般ユーザーでリポジトリを作成可能です。 例として [/home/freebsd/repos/project] を作成します。 |
freebsd@dlp:~ $
mkdir -p /home/freebsd/repos/project freebsd@dlp:~ $ svnadmin create /home/freebsd/repos/project
# [-m "***"] ⇒ 任意のロギングするメッセージを入力 freebsd@dlp:~ $ svn mkdir file:///home/freebsd/repos/project/trunk -m "create" Committing transaction... Committed revision 1. freebsd@dlp:~ $ svn mkdir file:///home/freebsd/repos/project/branches -m "create" Committing transaction... Committed revision 2. freebsd@dlp:~ $ svn mkdir file:///home/freebsd/repos/project/tags -m "create" Committing transaction... Committed revision 3. |
[3] | 作成したリポジトリに、すでに別のディレクトリに作成している作業ファイルをインポートする場合は、以下のように実行します。 例として [/home/freebsd/work] 配下にある作業ファイルを、作成したリポジトリの [trunk] へインポートします。 |
freebsd@dlp:~ $ ls -l ~/work total 38 -rw-r--r-- 1 freebsd freebsd 966 Sep 13 08:50 testfile1.txt -rw-r--r-- 1 freebsd freebsd 72588 Sep 13 08:49 testfile2.txt -rw-r--r-- 1 freebsd freebsd 21 Sep 13 08:50 testfile3.txtfreebsd@dlp:~ $ svn import /home/freebsd/work file:///home/freebsd/repos/project/trunk -m "initial import" Adding work/testfile1.txt Adding work/testfile2.txt Adding work/testfile3.txt Committing transaction... Committed revision 4. # 確認 # [list] サブコマンド は省略系 [ls] で代替可 freebsd@dlp:~ $ svn list file:///home/freebsd/repos/project/trunk testfile1.txt testfile2.txt testfile3.txt |
[4] | リポジトリ内にすでに存在しているファイルを、自身の作業ディレクトリにコピーする場合は、以下のように実行します。 例として、リポジトリ [/home/freebsd/repos/project/trunk] にあるファイルを、自身の作業ディレクトリ [/home/freebsd/work2] へコピーします。 |
freebsd@dlp:~ $
svn checkout file:///home/freebsd/repos/project/trunk /home/freebsd/work2 # [checkout] サブコマンド は省略系 [co] で代替可 freebsd@dlp:~ $ svn checkout file:///home/freebsd/repos/project/trunk /home/freebsd/work2 A work2/testfile1.txt A work2/testfile2.txt A work2/testfile3.txt Checked out revision 4.freebsd@dlp:~ $ ls -la ~/work2 total 55 drwxr-xr-x 3 freebsd freebsd 6 Sep 13 08:53 . drwxr-xr-x 6 freebsd freebsd 15 Sep 13 08:53 .. drwxr-xr-x 4 freebsd freebsd 8 Sep 13 08:53 .svn -rw-r--r-- 1 freebsd freebsd 966 Sep 13 08:53 testfile1.txt -rw-r--r-- 1 freebsd freebsd 72588 Sep 13 08:53 testfile2.txt -rw-r--r-- 1 freebsd freebsd 21 Sep 13 08:53 testfile3.txt |
[5] | 自身の作業ディレクトリにあるファイルを更新し、リポジトリへ更新を反映する場合は、以下のように実行します。 例として、更新した [/home/freebsd/work2/testfile3.txt] を、リポジトリへ反映します。 |
freebsd@dlp:~ $
cd ./work2
# [commit] サブコマンド は省略系 [ci] で代替可 freebsd@dlp:~/work2 $ svn commit testfile3.txt -m "update testfile3.txt 2024091301" Sending testfile3.txt Transmitting file data .done Committing transaction... Committed revision 5.freebsd@dlp:~/work2 $ svn info testfile3.txt Path: testfile3.txt Name: testfile3.txt Working Copy Root Path: /home/freebsd/work2 URL: file:///home/freebsd/repos/project/trunk/testfile3.txt Relative URL: ^/trunk/testfile3.txt Repository Root: file:///home/freebsd/repos/project Repository UUID: d5ea888d-6171-ef11-b1e8-df8f47688296 Revision: 5 Node Kind: file Schedule: normal Last Changed Author: freebsd Last Changed Rev: 5 Last Changed Date: 2024-09-13 08:56:10 +0900 (Fri, 13 Sep 2024) Text Last Updated: 2024-09-13 08:56:05 +0900 (Fri, 13 Sep 2024) Checksum: 6c476967d89157b1ceb0fe44dcae41d6a4efadf2 # ファイル単位ではなく全ファイルを [commit] する場合は以下 freebsd@dlp:~/work2 $ svn commit -m "update all 2024091301" |
[6] | 自身の作業ディレクトリに新規ファイルを作成し、それをリポジトリにも新規で反映する場合は、以下のように実行します。 例として、更新した [/home/freebsd/work2/index.html] を、リポジトリへ反映します。 |
freebsd@dlp:~/work2 $ svn add index.html A index.htmlfreebsd@dlp:~/work2 $ svn commit index.html -m "add new index.html 2024091301" Adding index.html Transmitting file data .done Committing transaction... Committed revision 6.freebsd@dlp:~/work2 $ svn update freebsd@dlp:~/work2 $ svn list index.html testfile1.txt testfile2.txt testfile3.txt |
[7] | 複数人でリポジトリを共有して利用している場合に、他人が更新したリポジトリ上のファイルを、自身のワーキングディレクトリにマージする場合は以下のように実行します。 |
freebsd@dlp:~/work2 $ svn update Updating '.': U testfile.txt Updated to revision 12. |
Sponsored Link |