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
发表评论 取消回复