1.安裝及設定SVN
a. ubuntu上安裝svn server
安裝apache2、libapache-svn、subversion這三個套件
b. 建立 svn root目錄
$ sudo mkdir -p svn
d. 新建一個檔案庫並將存取檔授予 apache2
$cd svn
$sudo mkdir -p <ProjectName>
$sudo chmod -R g+rws <ProjectName>
(g+rws : group add read and write, +s不是很懂)
$sudo svnadmin create <ProjectName>
建立svn群組
$ sudo addgroup subversion
$ sudo adduser www-data subversion
$ sudo adduser <UserName> subversion
$ sudo chown -R www-data:subversion <ProjectName>
e. 新增使用者資訊
$ sudo htpasswd [-參數] /opt/svnroot/htpasswd username
依照指示輸入使用者密碼即可。
/opt/svnroot/htpasswd 這個可以自己改成想要的路徑與檔名
參數:
-c:表示是否要新建檔案,舊有檔案內容會完全刪除,適用於第一次建立檔案時
-m:密碼以 MD5 進行編碼
若要再加帳號,或是修改某帳號的密碼,也都是用這個指令(記得不要加 -c 參數)
f. 在apache2中設定svn
這一步就很討厭了,因為我一查就查到了三種…
1./etc/apache2/mods-available/dav_svn.conf
2./etc/apache2/sites-available/default
3./etc/apache2/sites-available/default-ssl
這裡一開始我是使用第3個…
後來改成用第一個,因為看檔名也知道是專門給SVN使用的!
設定內容倒是大同小異
<Location "/svn/">
DAV svn
SVNParentPath /home/kirk/svn/
SVNListParentPath on
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/kirk/svn/test/conf/htpasswd
AuthzSVNAccessFile /home/kirk/svn/test/conf/authz
Require valid-user
</Location>
如此設定會使用url = https://localhost/svn/
這裡的設定非常容易出錯,目前的設定是允許目錄瀏覽的(主要是SVNListParentPath on及Location Url)
g. apache2 error log
$ tail -f /var/log/apache2/error.log
h. error
The URI does not contain the name of a repository
i. 指令(終於到這次整理的重點:列出某版本後的修改檔案列表清單)
列出版本2和版本3有修改的檔案
$ svn log -r 2:3 -v
$ svn log --username www-data -r 2:3 -v
$ svn log | sed -n '/username/,/-----$/ p'
$ svn log -r {2011-09-06}
$ svn log -r {2006-11-20}:{2006-11-29}
FINALLY:
輸出六月一號之後到今天有更動的檔案到20110906.out
$ svn log -r {2011-06-01}:head -v | sed -n '/<username>/,/-----$/ p' > ~/20110906.out
========================================================
別人整理的完整設定程序如下
sudo apt-get install apache2 apache2.2-common apache2-utils libapache2-svn subversion
sudo addgroup subversion
sudo adduser www-data subversion
sudo adduser <UserName> subversion
sudo mkdir /var/lib/svn
cd /var/lib/svn
sudo mkdir <ProjectName>
sudo chmod -R g+rws <ProjectName>
sudo svnadmin create /var/lib/svn/<ProjectName>
sudo chown -R www-data:subversion <ProjectName>
#Http設定
sudo vi /etc/apache2/mods-available/dav_svn.conf
<Location /svn/<ProjectName>>
DAV svn
SVNPath /var/lib/svn/<ProjectName>
AuthType Basic
AuthName "<ProjectName> Subversion Repository"
AuthUserFile /var/lib/svn/<ProjectName>/conf/passwd
Require valid-user
</Location>
#帳號密碼設定
sudo htpasswd -cm /var/lib/svn/<ProjectName>/conf/passwd <UserName>
sudo /etc/init.d/apache2 restart
from http://phorum.study-area.org/index.php?topic=55163.0
====================================================
參考:
在 Ubuntu 中架設 SVN Server (+SSL)
UBUNTU 下安裝 SVN Server
Ubuntu - 安裝 SVN (Subversion Server)
Debian6下安裝SVN+Apache2+SSH實現HTTPS
Ubuntu server10.10下安裝配置SVN【轉】
SVN 基本指令教學
[轉載] SVN 基本指令教學
Subversion 權威指南
svn status
svn常用命令
高級主題
[問題]No apache MPM package installed
SubVersion中文站
分享到:
相关推荐
以下是对"SVN笔记学习"内容的详细解读: 1. **Linux下SVN的搭建** - **安装SVN**: 在Linux系统中,通常通过包管理器来安装SVN,如在Ubuntu或Debian上使用`apt-get install subversion`,在CentOS或Fedora上使用`...
### Ubuntu 18 使用笔记知识点总结 #### 一、虚拟机环境配置 - **问题背景**:使用VMware 12版本无法支持Ubuntu 18.04系统。 - **解决方案**: - 升级VMware到14.1.1版本后成功安装Ubuntu 18.04。 #### 二、字体...
或者对于Debian/Ubuntu系统: ```bash sudo apt-get install subversion -y ``` 2. **创建仓库**:首先需要创建一个SVN仓库供项目使用。 ```bash sudo mkdir /opt/svn-repos sudo svnadmin create /opt/svn-...
本笔记主要针对Linux环境下如何安装、配置及使用SVN进行详细介绍,旨在帮助用户在Linux系统上顺利搭建SVN服务器并进行日常的代码管理。 ### 1. SVN简介 SVN是Apache软件基金会的一个项目,用于管理文件和目录版本...
### SVN学习笔记:深入理解Subversion的安装与使用 #### SVN简介 Subversion(简称SVN)是一款开源的版本控制系统,用于管理软件开发过程中的源代码版本控制。它支持多种平台,包括Linux、Windows和MacOS等。SVN...
根据提供的文件名,"svn笔记.docx"可能包含对SVN更深入的使用细节,比如解决冲突、标签(branching & tagging)、回滚等操作的步骤。而"svn和git的简单使用.pptx"很可能是对SVN和Git的对比,可能会涵盖两者的优缺点...
- **命令行安装**:对于Linux用户来说,可以通过包管理器来安装Git,例如使用`sudo apt-get install git git-core git-doc git-email gitk git-man git-svn git-web`命令在Ubuntu系统上安装Git。该命令将会安装Git...
2020年Java基础教程(全资料+笔记+源码): 2020年javaweb全套教程: Mysql: Oracle: JDBC: C3P0: 前端技术 HTML、CSS、Javascript: jQuery-: Ajax: Vue: 微信小程序: 动态网页: 编程强化 JVM优化: 数据...
1. **集中式版本控制系统**:如SVN、CVS、VSS等,这类系统的特点是有一个中心服务器用来保存所有文件的修订版本,而协同工作的人们则通过客户端连到这台服务器,取出最新的文件或者提交更新。这种模式的主要缺点是...
### Linux 学习笔记知识点概览 #### 一、Linux 常见命令与操作 - **基础命令**:在 Linux 系统中,掌握一些基础命令是非常重要的,例如 `ls` (列出目录内容)、`cd` (切换目录)、`pwd` (显示当前工作目录)、`mkdir`...
总而言之,这份笔记是Android和Linux开发者的重要参考资料,涵盖了从系统启动、网络配置到源码编译和文件系统制作等多个关键方面。对于想要深入理解Android和Linux操作系统的读者来说,这些都是必不可少的基础知识。
3. **SVN**:Subversion(SVN)是版本控制系统,用于跟踪文件和目录的变更。开发者可以通过它协同工作,记录每次修改,方便回滚到某个历史版本。 4. **MySQL**:MySQL是一款关系型数据库管理系统,适用于存储和处理...