svn:
	
	siv改ip: https://www.cnblogs.com/0523jy/p/13915415.html
	
	1、Windows TortoiseSVN客户端: 
	在工作复本的根目录上右键->TortoiseSVN->重新定位(Relocate),然后修改URL, 
	
	2、Mac OS或Linux客户端: 
	
	[web@localhost web]$ pwd
		/home/data/docker/web
	
	[web@localhost web]$ svn info
		路径: .
		工作副本根目录: /home/data/docker/web
		URL: svn://10.10.10.168:10990/led
		版本库根: svn://10.10.10.168:10990/led
		版本库 UUID: 25d3f542-7b9d-4c2f-aef3-643982728f9b
		版本: 80
		节点种类: 目录
		调度: 正常
		最后修改的作者: wll
		最后修改的版本: 80
		最后修改的时间: 2024-03-22 10:50:38 +0800 (五, 2024-03-22)

	
		svn switch --relocate svn://10.10.10.168:10990/led svn://1.1.1.215:10990/led


	
	yum -y install subversion
	
	建立版本库目录
		mkdir -p /home/data/svn_data
		svnserve -d -r /home/data/svn_data --listen-port 10990
		ps -ef|grep svn
	
	建立版本库

		创建一个新的Subversion项目
		svnadmin create /home/data/svn_data/led
		
	cd /home/data/svn_data/led/conf
	
	1、vi svnserve.conf
	
		#禁用read 和 write 开启 none 这个就可以看log了
		#anon-access = read
		#auth-access = write
		anon-access = none
		
		password-db = passwd
		authz-db = authz
		realm = svn.diyyq.com
	
	2、vi passwd
		aa = 123
		bb=22		
				
	
	3、vi authz 现用
		g_admin=wll,sync_user #必须设置
		g_manage=qiu,develop,develop2
		g_wb=qd,qd2
		
		[led:/]								 #必须设置, 其它的就可以不要,如果少了第3步,就会让证失败
		@g_admin=rw
		* =
		
		[led:/www]
		@g_admin=rw
		@g_manage=rw
		
		[led:/www/zcy/public]
		@g_wb=rw
		@g_admin=rw
		@g_manage=rw
		
		[led:/www/txsb/api/pdf/moban]
		@g_wb=rw
		@g_admin=rw
		@g_manage=rw
		
		
	3、如果只有我自己 vi authz
		# [repository:/baz/fuz]
		# @harry_and_sally = rw
		# * = r
		
		g_admin=wll,sync_user
		[led:/]
		@g_admin=rw
		* =

				
	4、post-commit
		cp /home/data/svn_data/led/hooks/post-commit.tmpl /home/data/svn_data/led/hooks/post-commit 
		chmod +x post-commit				
		export LANG=zh_CN.UTF-8
		svn co svn://10.10.10.246:10990/led /home/data/docker/web --username aa --password 123				
svn add * --force || svn revert --recursive * 撤销上一次添加,其中*号可以变成具体文件名
svn update
svn commit 
svn: 提交失败(细节如下): 
svn: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 --message (-m) 或 --file (-F) 选项 
svn: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项 

svn cleanup

解决办法,我将这个环境变量设成了vim,即用vim进行编辑,终端输入下面命令:

export SVN_EDITOR=vim 


之后再提交,会进入vim,显示一些将要进行的提交操作,诡异的是它给的提示说下面的操作将会被忽略,不管他,直接退出vim,关于vim的操作,请查资料,vim的知识是Unix-like系统必备的技能,个人观点,勿喷。

退出vim之后会给你三个选项:


日志信息未修改,或未指定 
a)终止,c)继续,e)编辑:


(p) postpone, 
(df) diff-full, 
(e) edit,
(mc) mine-conflict, 
(tc) theirs-conflict,
(s) show all options:
-----------------说明,用tc-----------------

(e) edit    - change merged file in an editor    #直接进入编辑
(df) diff-full  - show all changes made to merged file   #显示更改至目标文件的所有变化
(r) resolved   - accept merged version of file

(dc) display-conflict - show all conflicts (ignoring merged version) #显示所有冲突
(mc) mine-conflict - accept my version for all conflicts (same) #冲突以本地为准
(tc) theirs-conflict - accept their version for all conflicts (same) #冲突以服务器为准

(mf) mine-full  - accept my version of entire file (even non-conflicts)#完全以本地为准
(tf) theirs-full  - accept their version of entire file (same) #完全以服务器为准

(p) postpone   - mark the conflict to be resolved later  #标记冲突,稍后解决
(l) launch   - launch external tool to resolve conflict
(s) show all   - show this list


svn 节点处于冲突状态解决
Skipped 'weishengjin.meshidai.com/index.html' -- Node remains in conflict 问题解决
svn resolve --accept=working weishengjin.meshidai.com/index.html
svn cleanup
svn up


//这个方法不能解决
svn remove --force weishengjin.meshidai.com/index.html
svn commit 


==========windows svn 冲突解决 可用 ==================

windown冲突:https://code.svnspot.com/faq/57.html	

右键 -> commint


1、红色的部分是冲突代码:

theirs
	表示当前服务器端最新的代码
Mine
	表示自己修改后的代码
Merged
	表示合并后的代码

2、点击红色后右键选择:use this text block就可以将该部分代码作为合并后的代码:

3、ctrl+s 保存后 选第一个: Mark as resolved (意思: 标记为已解决即可)
	


svn查看日志(show log)显示时间为1970的解决方法
	
	问题:在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间。
	解决方法:
	1.编辑svnserve.conf,设置“anon-access=none”
	
	cd /home/data/svn_data/led/conf
	
	1、vi svnserve.conf
	
	#禁用read 和 write 开启 none 这个就可以看log了
	#anon-access = read
	#auth-access = write
	
	anon-access = none


================如果svn url路径修改了报错,终于解决了========================

说明:https://blog.csdn.net/weixin_34886207/article/details/119659445

linux下重新定位SVN URL方法:

如果更换了SVN服务器,就需要重新定位,指向新的SVN URL。

重新定位命令:svn switch --relocate 原svn地址 新svn地址

如何查看原svn地址?

查看原svn路径方法:svn info


[web@duzunlife www]$ svn info
Path: .
Working Copy Root Path: /home/data/docker/web/www
URL: svn://52.131.216.41:65535/led
Repository Root: svn://52.131.216.41:65535/led   		//版本库根
Repository UUID: ff28f015-cf07-4f26-9e25-7336db2ea03d  		//版本库
Revision: 30											 		//版本
Node Kind: directory											//节点种类目录
Schedule: normal												//调度
Last Changed Author: wll										//最后修改的作者
Last Changed Rev: 30											//最后修改的版本
Last Changed Date: 2022-05-15 10:29:45 +0800 (Sun, 15 May 2022)	//最后修改的时间


路径: 

	URL: svn://52.131.216.41:65535/led
	版本库根: svn://52.131.216.41:65535/led
	版本库 UUID: ff28f015-cf07-4f26-9e25-7336db2ea03d	
	版本: 30	
	节点种类: 目录	
	调度: 正常	
	最后修改的作者: wll	
	最后修改的版本: 30	
	最后修改的时间: 2022-05-15 10:29:45 +0800 (Sun, 15 May 2022)

3.更改仓库地址(URL)

	svn switch --relocate svn://192.168.1.16/web/www.kukaka.org svn://192.168.0.44 /web/www.kukaka.org

	
	window下重新定位SVN URL方法:
	 1. 在需要变更服务器地址的文件夹上单击右键。
	 



===========================更新密码=======================



1.临时更换,在命令下强制加上 --username 和--password选项,

例如:svn up --username zhangsan --password 123456

  svn co URL --username xxx --password xxx


2.永久更换
删除目录 rm -rf ~/.subversion/auth/ 下的所有文件。下一次操作svn时会提示你重新输入用户名和密码的。换成你想用的就可以了。然后系统默认会记录下来的。



=============svn: E200033: database is locked解决办法。===============


svn执行update,却被告知database is locked!

执行 svn update,却抛出个错误警报:

svn: E200033: database is locked, executing statement 'RELEASE s0'

 
之后无论是cleanup,还是release locker都没反应!
 

别急,试试以下方案:

 $ cd /your project path/.svn
 $ mv wc.db wc.db.old   #做事都要有备份的习惯
 $ sqlite3 wc.db.old   #打开copy的数据库
 sqlite> .backup main wc.db 
 sqlite> .exit

 
现在再试试 svn update,就 ok 啦...

 
============svn查看日志(show log)显示时间为1970的解决方法==========
 
 问题:在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间。
解决方法:
1.编辑svnserve.conf,设置“anon-access=none”
2.在authz中添加 
[/]
* = 
3,清理svn的cache
即可

 
============ svn: E200002: /root/.subversion/servers:27: Section header expected ============

vi /root/.subversion/servers

store-plaintext-passwords = no


============svn改ip==========
	
siv改ip: https://www.cnblogs.com/0523jy/p/13915415.html

1、Windows TortoiseSVN客户端: 
在工作复本的根目录上右键->TortoiseSVN->重新定位(Relocate),然后修改URL, 

2、Mac OS或Linux客户端: 

[web@localhost web]$ pwd
	/home/data/docker/web

[web@localhost web]$ svn info
	路径: .
	工作副本根目录: /home/data/docker/web
	URL: svn://10.10.10.245:10990/led
	版本库根: svn://10.10.10.245:10990/led
	版本库 UUID: 25d3f542-7b9d-4c2f-aef3-643982728f9b
	版本: 80
	节点种类: 目录
	调度: 正常
	最后修改的作者: wll
	最后修改的版本: 80
	最后修改的时间: 2024-03-22 10:50:38 +0800 (五, 2024-03-22)


	svn switch --relocate svn://10.10.10.245:10990/led svn://1.1.1.215:10990/led
		
	

============ svn提交到2万次后变慢怎么处理 ==========

	压缩仓库:
		
		使用 svnadmin pack 或 svndumpfilter 过滤并重新导入仓库以减少碎片:
		
		// 0、 一定要在这个目录,要不然 得指定:/led.dump 路径,防止备份后被删除
		cd /home/data/svn_data/
	
		# 1、备份原仓库
		svnadmin dump /home/data/svn_data/led > led.dump //#svnadmin dump 操作的目标对象是 SVN 仓库的根目录(即通过 svnadmin create 创建的目录)
		
		# 2、创建新仓库并导入
		rm -rf /home/data/svn_data/led						//#删除之前的库
		svnadmin create /home/data/svn_data/led 			//#从新创建与之前一样的库
		svnadmin load /home/data/svn_data/led < led.dump	//#导入之前的备份库,这样有个问题,从新check out 的话还兼容吗?????????????????
		
		////# 清理不需要的路径(可选)
		////svndumpfilter exclude /unwanted/path < repo.dump > filtered.dump
		//
		////# 创建新仓库并导入
		////svnadmin create /path/to/new-repo
		////svnadmin load /path/to/new-repo < filtered.dump
		
	
	
	例子:
		建立版本库目录
			mkdir -p /home/data/svn_data
			svnserve -d -r /home/data/svn_data --listen-port 10990
			ps -ef|grep svn
		
		建立版本库
	
			创建一个新的Subversion项目
			svnadmin create /home/data/svn_data/led


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
{__SCRIPT__}