-
Notifications
You must be signed in to change notification settings - Fork 1
/
svn.txt
153 lines (112 loc) · 4.21 KB
/
svn.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
=======for linux======
1、创建svn库
$ svnadmin create /var/svn/repos
建立目录(linux上任意位置,推荐分三个目录):
mkdir /home/z07042/V7/trunk
mkdir /home/z07042/V7/branchs
mkdir /home/z07042/V7/tags
把实际文件放到trunk下:
mv SR88V7R1 /home/z07042/V7/trunk/ -f
向库导入文件:
svn import /home/z07042/V7/ file:///var/svn/repos/V7 -m "initial import" --no-ignore
查看库内容:
svn list file:///var/svn/repos
V7/
$ svn list file:///var/svn/repos/V7
branches/
tags/
trunk/
说明库已创建且文件导入成功。
2、创建SVN网络服务
$ svnserve -d -r /var/svn/repos
3、检出代码
$ svn co svn://172.16.1.8/V7/trunk/SR88V7R1
在windows安装SVN客户端,在svn explorer输入URL:
svn://172.16.1.8/
能打开并看见V7说明服务启动成功
代码根目录为:/SR88V7R1
4、销毁库
rm /var/svn/repos/ -rf
========FAQ==================
1、ci时提示没有权限?
进入/var/svn/repos/conf,检查:
svnserve.conf:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
authz:
[/] //表示对整个工程目录
root = rw
* = rw
passwd:
[users]
root = 123456
所有语句前不允许空格
2、ci两个目录?
svn ci include/ product/
3、同时使用多个库?
正常流程创建另一个代码库如repos1,svnserve换一个端口即可
$ svnserve -d -r /var/svn/repos --listen-port=3691
4、提交时排除某类文件?
进入用户文件夹 ls -al , 找到隐藏的.subversion 如 /root/.subversion
修改config文件[miscellany]
5、排除某文件夹?
6、客户端无法访问svn服务器提示链接超时?
netstat -tulnp 查看是否3690端口有没有打开
如果3690端口没有打开:
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT #3690端口
/etc/init.d/iptables save #保存配置
7、提交时提示$SVN_EDITOR未定义错误?
进入用户文件夹 ls -al, 找到隐藏的.bash_profile 如 /root/.bash_profile
添加一行
export SVN_EDITOR="vi"
保存后重新登录即可
8、多用户共同开发时的配置管理?
9、怎样每次输入用户名密码
Linux下删除上次SVN登录的用户名密码
rm ~/.subversion/auth/svn.simple/*
Windows 删除以下目录
C:\Documents and Settings\administrator\Application Data\Subversion\auth\svn.simple
10、windows网络驱动器下使用svn update出错
update提示:
Can't hide directory
'Z:\z07042\branch\UIS_CODE\product\www\uis_metro\html\images\.svn': 拒绝访问。
此时images目录已下载到本地但是内容为空,再update时候提示:
Can't create directory
'Z:\z07042\branch\UIS_CODE\product\www\uis_metro\html\images\.svn':
当文件已存在时,无法创建该文件。
根据提示尝试删除images,提示您需要来自server\nobody的权限才能进行删除
这时候修改images的属性完全控制,提示错误不去管它,再update提示:
Unable to lock 'Z:\z07042\branch\UIS_CODE\product\www\uis_metro\html\infrastructure'
Please execute the 'Cleanup' command.
总之任你怎么折腾都不好使了。
但是在本地磁盘没有这个问题。
经过本人超强的分析能力最后终于发现:在svn在右键快捷菜单setting里面有一项:saved data
进入后里面有Authentication data,点击里面的clear...按钮,发现里面有个是网络驱动器的ip,原来是因为用了这个ip的身份验证导致没有权限的。
知道原因后就好解决了,直接把这个ip对应的验证删除,然后就大功告成了!
11、windows网络驱动器下checkout失败
windows网络驱动器是通过samba在linux上创建的,先在windows下操作:
新建一个文件夹,名字任意,这里是branch
进入branch,一checkout就失败,提示:Z:\z07042\branch\.svn当文件已存在时,无法创建该文件
要删除这个只有.svn子目录的branch,提示:您需要来自:server\nobody的权限,看来windows下无法删除这个文件夹了
右键查看branch文件夹的属性,在安全页里看组或用户名里面没有nobody的组和用户。而且无法添加nobody用户。
发现在z07042这个目录下checkout都有这个问题。
由于z07042这个目录下都有这个checkout问题,这时候在linux下需要进到z07042目录,执行chmod 777 * -R
再回到windows,这时候发现文件夹属性里面有了nobody用户,设置该用户权限为完全控制,再checkout就成功了!
12、svn提交时提示svn: The log message is a pathname (was -F intended?); use '--force-log' to override
错误是因为为log信息和当前文件夹下一个文件的名字相同造成的,随便修改下-m的信息就行了
13、svn服务器改ip后客户端不能更新
海龟:找到relocate菜单,填入新ip即可
命令行:svn switch –relocate “url1” “url2”
14、svn 清理失败 (clean up 失败) 的解决方法
下载 sqlite3.exe 到.svn同级目录
sqlite3 .svn/wc.db "select * from work_queue"
sqlite3 .svn/wc.db "delete from work_queue"
15、win7下每次提交提示错误
Commit succeeded, but other errors follow:
Error bumping revisions post-commit (details follow):
方法1:修改工作目录上级目录权限:
chmod 777 dir -R
方法2:在 smb.conf 中增加一行
delete readonly = yes