导航:首页 > 操作系统 > linuxsvn创建目录

linuxsvn创建目录

发布时间:2022-11-17 18:59:34

A. Windows与linux下SVN怎样使用

Windows与Linux下SVN怎样使用?

本文分2个部分(包括Windows与Linux操作系统平台),第1部分:怎样安装 第2部分:怎样使用
-----------------------------------------第1部分:怎样安装-----------------------------------------
怎样安装分2种情况,第1种:在公司上班 第2种:在宿舍电脑
--------------------第1种:在公司上班--------------------
说明:通常SVN服务器是安装在windows上的,安装好后,客户端2种平台都能使用
Windows平台下
服务端与客户端:
通常这种情况,你想安装,公司都不会让你安装,一般是由公司内网管专业人士统一安装好,并给你分配好账户与密码,以及每个SVN下使用权限,所以这种情况你可以不用去管怎样安装了,只管怎样使用即可
linux平台下
服务端:即windows上的服务端
客户端:如果你在本机安装的Linux虚拟机,通常是自己安装的,不是公司网管安装的,安装办法如下:
1步即能安装:在linux下输入命令 sudo apt-get install subversion
即SVN,安装后同windows上SVN一样,只不过这里是输入命令而已
--------------------第2种:在宿舍电脑--------------------
Windows与Linux平台下
说实在的,宿舍就1台电脑.本来电脑就垃圾.而且还开着虚拟机,在开2个VS2010,就已经卡的要死.在来个SVN,估计会慢如蜗牛,其实大部分程序员也是只有一台电脑,安装SVN真的没必要.除非有多台电脑.SVN本质是为方便团队开发
-----------------------------------------第2部分:怎样使用-----------------------------------------
怎样使用要分2种情况,第1种:是Windows平台 第2种:是Linux平台
--------------------第1种:是Windows平台--------------------
1.更新
右键->SVN更新
2.提交(也可说成是上传)
第1步:进入要提交的SVN文件目录里面,导入文件
第2步:导入后,返回上一层目录,即返回到要提交的SVN文件目录,右键点击此SVN目录,弹出,提交,进入
第3步:进入提交对话框后,会显示2个编辑框,上面的编辑框是确认要提交的内容,下面的编辑框是你刚导入的文件内容,
你现在若是想提交刚才导入的内容,就把下面编辑框的内容用鼠标拖动到上面的编辑框,并按确定
若不想提交刚才导入的内容,直接按取消退出即可
3.导出
即怎样去掉SVN的专用标志,有的是对勾,有的是?号等等?
方法 1:在文件属性--->选择显示所有文件,这时文件里会出现1个.svn的文件目录,把它删掉即可.(文件目录多时,不推荐)
方法 2:在SVN右键--->导出,这时导出的文件不会带SVN标志了
4.删除
在SVN右键中,删除之后.要返回上一层目录,点提交.
删除信息在变更列表,要拖动到信息栏下,然后点确定
5.保存认证
每当电脑密码更改时,SVN以前保存的密码也会要更新,此时会弹出一个认证框,重新输入账号与新密码,在保存认证处打勾即可
--------------------第2种:是Linux平台--------------------
1.更新
命令:svn update
2.提交(也可说成是上传)
第1步:进入要提交的SVN文件目录里面,
第2步:添加要提交的目录用svn add *----------->注:(*代表添加文件、目录或符号链)
第3步:提交
(1)提交全部
svn ci -m"*"----------->m表示写注释,*代表注释内容
注:在LINUX上同一目录存在其它文件,svn ci提交时,只会提交SVN服务器已有的文件.如果想让同一目录下的其它文件也提交到SVN服务器,可以先通过svn add先添加此文件或文件夹
(2)提交单个
svn ci -m"add select_area packet" Gateway_Handler.cpp
后面一个加上要提交的文件(记的把后缀名写上去).
提交成功后会提示
Sending Gateway_Handler.cpp
Transmitting file data .
Committed revision 242.
3.保存认证
每当电脑密码更改时,SVN以前保存的密码也会要更新,此时会显示要输入密码,重新输入账号与新密码,最后会提示是否要保存密码(yes/no),选yes即可
4.下载
命令 svn co * (*代表下载地址,例如http://192.168.1.101/project/servers/command)
之后会在当前目录下,导出一个command文件夹,里面是SVN服务器上的文件
5.删除
svn del *(*为文件名,或文件)
6.查看修改后的操作是哪些
svn diff

---------------------------------------------------以下是摘抄的---------------------------------------------------
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co

1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)
3、将改动的文件提交到版本库
svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci
4、加锁/解锁
svn lock -m “LockMessage“ [--force] PATH
例如:svn lock -m “lock test file“ test.php
svn unlock PATH
5、更新到某个版本
svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
简写:svn up
6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st
7、删除文件
svn delete path -m “delete test fle“
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)
8、查看日志
svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化
9、查看文件详细信息
svn info path
例如:svn info test.php
10、比较差异
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di
11、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
12、SVN 帮助
svn help
svn help ci
——————————————————————————
以上是常用命令,下面写几个不经常用的
——————————————————————————
13、版本库下的文件和目录列表
svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。
15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录
16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。
17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。
18、输出指定文件或URL的内容。
svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)
19、查找工作拷贝中的所有遗留的日志文件,删除进程中的锁。
当Subversion改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心,在修改任何事情之前,它把意图写到日志文件中去,然后执行log文件中的命令,然后删掉日志文件,这与分类帐的文件系统架构类似。如果Subversion的操作中断了(举个例子:进程被杀死了,机器死掉了),日志文件会保存在硬盘上,通过重新执行日志文件,Subversion可以完成上一次开始的操作,你的工作拷贝可以回到一致的状态。
这就是svn cleanup所作的:它查找工作拷贝中的所有遗留的日志文件,删除进程中的锁。如果Subversion告诉你工作拷贝中的一部分已经“锁定”了,你就需要运行这个命令了。同样,svn status将会使用L 显示锁定的项目:
$ svn status L somedirM somedir/foo.c $ svn cleanup$ svn statusM somedir/foo.c20、拷贝用户的一个未被版本化的目录树到版本库。svn import命令是拷贝用户的一个未被版本化的目录树到版本库最快的方法,如果需要,它也要建立一些中介文件。
$ svnadmin create /usr/local/svn/newrepos $ svn import mytree file:///usr/local/svn/newrepos/some/project Adding mytree/foo.c Adding mytree/bar.c Adding mytree/subdir Adding mytree/subdir/quux.h Committed revision 1.
在上一个例子里,将会拷贝目录mytree到版本库的some/project下:
$ svn list file:///usr/local/svn/newrepos/some/project bar.c foo.c subdir/
注意,在导入之后,原来的目录树并没有转化成工作拷贝,为了开始工作,你还是需要运行svn checkout导出一个工作拷贝。
另附:为SVN加入Email通知
可以通过Subversion的Hook脚本的方式为SVN加入邮件列表功能
编译安装了Subversion后 在源码的tools 下有一个comm-email.pl的Perl脚本,在你的档案目录下有一个hooks目录,进入到hooks目录把post-commit.tmpl 改名为post-commit并给它可执行的权限。
更改post-commit脚本 把comm-email.pl脚本的决对路径加上,否则 SVN找不到comm-email.pl
REPOS="$1"
REV="$2"
/usr/local/svn/resp/commit-email.pl "$REPOS" "$REV" [email protected] [email protected]
#log-commit.py --repository "$REPOS" --revision "$REV"
最后一行是用来记日志的 我不用这个功能 所以注释掉了.

-------------------------------------------------------------------------------------------------------
注意:为保证代码安全.最好要备份.每个操作都要谨慎

B. svn怎么在linux服务器建库

1、安装svn服务
# yuminstall subversion

2、新建一个目录用于存储SVN所有文件
# mkdir /home/svn

3、在上面创建的文件夹中为项目 project_1 创建一个版本仓库
# svnadmin create /home/svn/project_1
执行完这一步,/home/svn中将存在project_1文件夹,这个项目的配置都在 /home/svn/project_1/conf 中

4、为项目配置权限
(1)svnserve.conf 是主配置文件
# vi/home/svn/project_1/conf/svnserve.conf
anon-access=read #匿名可读
auth-access=write #验证用户可读写
password-db=passwd #指向验证用户名密码的数据文件 passwd ,请看下文配置
auth-db=authz #指向验证用户的权限配置文件 authz ,请看下文配置
注意:每一行前方不能有空格,否则会出现 Option expected错误!
(2)passwd用户名密码配置文件
# vi/home/svn/project_1/conf/passwd
[users]
manager1=123456 #每一行都要是“用户名=密码”的格式
manager2=123123
manager3=888888
(3)authz用户权限配置文件
# vi/home/svn/project_1/conf/authz
[groups]
managers=manager1,manager2 #定义群组 managers 包含 manager1 和 manager2 两个用户
[/]
@managers=rw #定义群组 managers 有读写权限
manager3=r #定义 manager3 有读权限
*= #以上没有定义的用户都没有任何权限

C. linux系统中,用命令在svn添加一个目录

很简单,SVN管理平台里只有建立用户和权限。
然后用有权限的用户在。相应的目录下建立新文件夹即可。比如总得管理员

这个问题才接触的时候也遇到。

D. Linux中svn服务器安装与使用

直接开放svnserve的端口就可以了,默认端口是3690

如果selinux开启了,它会阻止文件的写入,从仓库中拉去正常,但上传的时候会出现 不能打开文件"***/db/txn-current-lock"权限不够

如果出现semanage未定义,可以参考 CentOS7 中安装semanage来设置selinux

仓库目录为 /home/svn/test ,如果要删除版本仓库直接删除目录就可以了 rm -rf /home/svn/test

在仓库目录 /home/svn/test 的 conf 目录中会有三个文件

修改配置

修改配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格

权限管理分为组管理和目录权限管理

多个创建可以共用一套账号和密码权限管理。也可以用不同的账号密码管理,如果用不同的配置少单仓库类似,修改每个仓库conf下的账号和权限文件就可以了。下面说一下共用账号权限文件的情况。

在仓库目录 /home/svn 目录中创建authz文件和passwd文件。

修改配置各仓库下conf/svnserve.conf。将password-db和authz-db指向/home/svn/目录下的文件

修改/home/svn/passwd配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格

修改/home/svn/authz权限管理分为组管理和目录权限管理

如果单仓库以/home/svn启动,此时访问的地址会有仓库名。 svn://ip/test

访问地址分别为:

编辑 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 参数改为svn仓库目录 OPTIONS="-r /home/svn"

设置开机启动

修改后也可以用systemctl来启动、停止、重启

svnserve启动后,修改authz和passwd文件是时实生效的,并不需要重启服务

有时随着仓库越来越多,权限配置也越来越多时,会出现一些配置错误,导致访问时出现无法加载权限验证之前的错误,这个时候我们可以将svn服务器的日志打印出来,看些配置出错了。

停止svn服务器,重新附加log-file参数输入日志到指定文件

E. linux怎么配置svn服务器

1.检查是否已安装

rpm -qa subversion
如果要卸载旧版本:

yum remove subversion

2.安装

yum install subversion
PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(这是安装配合Apache的模块,我暂时还没做,做了再补上,你可以只装subversion,多装了也无所谓)
3.检查是否安装成功

svnserve --version
如果成功会输出版本号

4.创建仓库目录
例如:

mkdir /home/svn/game

5.创建项目

svnadmin create /home/svn/game

6.检查是否创建成功

cd /home/svn/game
ll
如果成功,game目录下会多出几个文件夹

7.进入conf目录会看到3个配置文件,生成的文件中都有英文注释说明
示例需求:

策划组:开策划、美术读写
后端组:开后端读写,策划只读
前端组:开前端读写,策划、美术只读
美术组:开美术读写,策划只读
管理员组:所有的读写
authz:用户权限配置
示例:

[groups]
#管理组
manager = boss
#服务端用户组
server = server1,server2
#客户端用户组
client = client1,client2
#美术组
art = art1,art2
#策划组
design=design1,design2
[game:/]
@manager=rw
[game:/server]
@server=rw
[game:/client]
@client=rw
@design=r
@art=r
[game:/art]
@design=rw
@art=rw
@client=r
[game:/design]
@design=rw
@server=r
@client=r
@art=r
passwd:用户密码

[users]
boss=123456
server1=123456
server2=123456
client1=123456
client2=123456
art1=123456
art2=123456
design1=123456
design2=123456
svnserve.conf:

#匿名访问者权限
anon-access = none
#验证用户权限
auth-access = write
#密码文件地址
password-db = /home/svn/game/passwd
#权限文件地址
authz-db = /home/svn/game/authz
#项目名称(UUID)
realm =game

8.开放svn端口
默认是3690端口,你也可以用别的。已开启的跳过这一步

修改
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
保存
/etc/rc.d/init.d/iptables save
重启
service iptables restart
查看
/etc/init.d/iptables status

9.启动SVN服务

svnserve -d -r /home/svn
-d:守护进程
-r:svn根目录
假设服务端IP为192.168.1.100,那么如下设置后game的访问目录就为:

svn://192.168.1.100/game

F. linux中eclipse从svn检出,导入svn上的目录问题

linux中eclipse从svn检出,然后添加目录到svn:
创建纳入版本控制下的新目录:
svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH...
2、mkdir URL...
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。

将改动的文件提交到版本库
svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)
例如:svn commit -m "add test file for my test" test.php
简写:svn ci

G. linux配置的svn,上传文件总是在root目录下,怎么改为我自定义的目录

1、需要在服务器上安装svn服务器端,启动svn服务,并创建一个svn库;
2、将当前的default文件夹变成新建的svn库的工作副本(客户端存放数据的文件夹),具体操作:将当前default文件夹下的内容import到新建的svn库中,然后再清空default,然后再将svn库中的内容checkout到default;
3、使用svn的post-commit钩子(这个钩子是在每次成功commit后被SVN服务器自动调用的),编辑这个钩子,内容就是svn update 文件夹default,这样每次commit成功后就会自动更新default文件夹;
4、在你自己的电脑上checkout那个svn库,然后你就可以从本地commit,然后服务器端就自动更新default文件夹了。

H. 怎么在linux服务器上部署svn

1. 安装SVN服务器:
检查是否已安装
# rpm -qa subversion

安装SVN服务器
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

验证安装
# cd /etc/httpd/moles
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so

查看版本
# svnserve --version

2. 代码库创建:
安装完成后要建立SVN库
# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories

执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。

3. 配置版本库:
进入上面conf文件夹下,进行配置:
a. 用户密码passwd配置:
# vi + passwd //+表示光标放在文件最低端

修改passwd为一下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456

b. 权限控制authz配置:
# vi + authz

设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[/]
zhoulf=rw //给该用户访问所有库的权限

[repositories:/project] //repository库的根目录权限
zhoulf=rw
/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/opt/svn;/ 就是指对全部版本库都具有权限
repositories:/ 表示对库repositories的根目录设置权限
PS:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。

c. 服务svnserve.con配置:
# vi + svnserve.conf

添加一下内容:

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories

这里注意各标签不能错,也不能有重复,不然无法连接。

d. 配置防火墙端口(如果需要):
不一定每个人都需要设置,可以先测试后再看是否需要打开端口
# vi /etc/sysconfig/iptables

添加一下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存后重启防火墙
# service iptables restart

4. 查看:
a. 启动SVN
# svnserve -d -r /opt/svn/repositories

b. 查看SVN进程
# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories

c. 检测SVN端口
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

5. 停止重启SVN:
# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 启动

6. 测试连接:
使用TortoiseSVN进行测试:
1. SVN服务启动后,需要使用客户端测试连接:
客户端连接地址:svn://192.168.15.231;然后,输入用户名密码;
2. 新建一个文件夹,即本地的库文件夹,右键checkout,将会得到一个隐藏文件夹.svn;
3. 在此文件夹中放入项目内容,然后右键点击commit,就可以上传本地项目了。

I. linux怎么使用svn进行多个版本库的配置

1、Linux系统安装svn服务
# yuminstall subversion<img id="selectsearch-icon" src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/qb/select-search.png" alt="搜索">

2、新建一个目录用于存储SVN所有文件

#mkdir -p /cbroot/svnserver/cbweb

3、在上面创建的文件夹中为项目project_1,创建一个版本仓库

# svnadmin create /cbroot/svnserver/cbweb/trunk

4、为项目配置权限
①svnserve.conf 是主配置文件

vim /cbroot/svnserver/cbweb/trunk/conf/svnserve.conf
anon-access=none #匿名可读
auth-access=write #验证用户可读写
password-db=passwd #指向验证用户名密码的数据文件 passwd
auth-db=authz #指向验证用户的权限配置文件 authz

注意:每一行前方不能有空格,否则会出现 Option expected错误!

②passwd用户名密码配置文件

vim /cbroot/svnserver/cbweb/trunk/conf/passwd
[users]
=123456
=123456

③authz用户权限配置文件

[groups]
trunk=,
[/]
@trunk=rw #定义群组 managers 有读写权限
manager3=r #定义 manager3 有读权限
*= #以上没有定义的用户都没有任何权限

5、启动SVN服务器上面的版本库cbweb

svnserve -d -r /cbroot/svnserver/cbweb/
###启动多个svn服务
svnserve -d –listen-port 3688 -r /static/

阅读全文

与linuxsvn创建目录相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:485
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163