Subversion : Install2026/07/01 |
|
Install Subversion which is the revision control System. |
|
| [1] | Install Subversion. |
|
root@dlp:~# apt -y install subversion
|
| [2] | It's possible to create a repository with any common users. For example, create a repository under the [/home/ubuntu/repos/project]. |
|
ubuntu@dlp:~$
mkdir -p /home/ubuntu/repos/project ubuntu@dlp:~$ svnadmin create /home/ubuntu/repos/project
# [-m "***"] ⇒ any comments that are logged ubuntu@dlp:~$ svn mkdir file:///home/ubuntu/repos/project/trunk -m "create" Committing transaction... Committed revision 1. ubuntu@dlp:~$ svn mkdir file:///home/ubuntu/repos/project/branches -m "create" Committing transaction... Committed revision 2. ubuntu@dlp:~$ svn mkdir file:///home/ubuntu/repos/project/tags -m "create" Committing transaction... Committed revision 3. |
| [3] | To import working files to a new empty repository, do like follows. For example, Import files under the [/home/ubuntu/work] to the [trunk] directory of a new repository. |
|
ubuntu@dlp:~$ ll ~/work total 36 drwxrwxr-x 2 ubuntu ubuntu 4096 Jun 30 23:56 ./ drwxr-x--- 7 ubuntu ubuntu 4096 Jun 30 23:56 ../ -rw-r--r-- 1 ubuntu ubuntu 17 Jun 30 23:55 testfile1.txt -rw-r--r-- 1 ubuntu ubuntu 12990 Jun 30 23:55 testfile2.txt -rwx------ 1 ubuntu ubuntu 32 Jun 30 23:55 testscript.py* -rwx------ 1 ubuntu ubuntu 23 Jun 30 23:56 testtool.sh*ubuntu@dlp:~$ svn import /home/ubuntu/work file:///home/ubuntu/repos/project/trunk -m "initial import" Adding work/testfile1.txt Adding work/testfile2.txt Adding work/testscript.py Adding work/testtool.sh Committing transaction... Committed revision 4. # verify # possible to use [ls] instead of subcommand [list] ubuntu@dlp:~$ svn list file:///home/ubuntu/repos/project/trunk testfile1.txt testfile2.txt testscript.py testtool.sh |
| [4] | To copy files in existing repository to local working directory, do like follows. For example, Copy files in a repository [/home/ubuntu/repos/project/trunk] to local working directory [/home/ubuntu/work2]. |
|
ubuntu@dlp:~$
mkdir ~/work2
# possible to use [co] instead of subcommand [checkout] ubuntu@dlp:~$ svn checkout file:///home/ubuntu/repos/project/trunk /home/ubuntu/work2 A work2/testfile1.txt A work2/testfile2.txt A work2/testscript.py A work2/testtool.sh Checked out revision 4.ubuntu@dlp:~$ ll ~/work2 total 40 drwxrwxr-x 3 ubuntu ubuntu 4096 Jun 30 23:57 ./ drwxr-x--- 8 ubuntu ubuntu 4096 Jun 30 23:57 ../ drwxrwxr-x 4 ubuntu ubuntu 4096 Jun 30 23:57 .svn/ -rw-rw-r-- 1 ubuntu ubuntu 17 Jun 30 23:57 testfile1.txt -rw-rw-r-- 1 ubuntu ubuntu 12990 Jun 30 23:57 testfile2.txt -rwxrwxr-x 1 ubuntu ubuntu 32 Jun 30 23:57 testscript.py* -rwxrwxr-x 1 ubuntu ubuntu 23 Jun 30 23:57 testtool.sh* |
| [5] | When update files in local working directory and you'd like to upload them to repository, do like follows. For example, upload local file [/home/ubuntu/work2/testtool.sh] to repository. |
|
ubuntu@dlp:~$
cd ./work2
# possible to use [ci] instead of subcommand [commit] ubuntu@dlp:~/work2$ svn commit testtool.sh -m "update testtool.sh 2026070101" Sending testtool.sh Transmitting file data .done Committing transaction... Committed revision 5.ubuntu@dlp:~/work2$ svn info testtool.sh Path: testtool.sh Name: testtool.sh Working Copy Root Path: /home/ubuntu/work2 URL: file:///home/ubuntu/repos/project/trunk/testtool.sh Relative URL: ^/trunk/testtool.sh Repository Root: file:///home/ubuntu/repos/project Repository UUID: a51096e4-a144-42d2-9f67-f8c4b4743cba Revision: 5 Node Kind: file Schedule: normal Last Changed Author: ubuntu Last Changed Rev: 5 Last Changed Date: 2026-06-30 23:58:57 +0000 (Tue, 30 Jun 2026) Text Last Updated: 2026-06-30 23:58:52 +0000 (Tue, 30 Jun 2026) Checksum: 741a7fe239211a24afb84159fda36ff743496eb9 # if commit all files, simply run like follows ubuntu@dlp:~/work2$ svn commit -m "update all 2026070101" |
| [6] | When creating a new file in local working directory and upload it to repository, do like follows. For example, upload a local new file [/home/ubuntu/work2/index.html] to repository. |
|
ubuntu@dlp:~/work2$ svn add index.html A index.htmlubuntu@dlp:~/work2$ svn commit index.html -m "add new index.html 2026070101" Adding index.html Transmitting file data .done Committing transaction... Committed revision 6.ubuntu@dlp:~/work2$ svn update ubuntu@dlp:~/work2$ svn list index.html testfile1.txt testfile2.txt testscript.py testtool.sh |
| [7] | If a repository is shared by some people and you'd like to merge the latest update on the repository to your local working directory, use [update] subcommand like follows. |
|
ubuntu@dlp:~/work2$ svn update Updating '.': U testfile.txt Updated to revision 12. |
| Sponsored Link |
|
|