2019.03.22
刚在ubuntu下弄好svn服务器,那当然要弄一下svn下的客户端了。
#################################################################################
#!/bin/bash
#1. 很简单,执行下面这条指令就可以了。网上有些大侠方法好复杂啊。
# sudo apt-get install rapidsvn
#2.
#**** ubuntu桌面-->点击软件搜索-->rapidsvn-->点击图标-->
#**** 在RapidSVN对话框里-->点击书签-->签出新的工作副本...
#**** 签出对话框-->URL:svn://10.10.60.92/project1
#**** 目标目录:(点击右边的两点选择)/home/ubuntu/temp_file1
#**** 点击确定
#**** 在 /home/ubuntu/temp_file1添加文件
#**** 在RapidSVN对话框里-->点击最上面的带点的文件夹,出现新的文件,后面显示不在版本控制-->对着文件,点击右键-->点击Add
#**** 在RapidSVN对话框里-->点击最上面的带点的文件夹-->点击右键-->点击Commit...-->提交对话框-->Enter log message-->输入必要的信息-->点击确定。
#**** 如果temp_file1原来就有的文件,改里面的内容,然后点击Commit...,是能成功的。
#**** 左边书签下面的/home/ubuntu/temp_file1,点击右键-->点击登录或注销。
# [error_1]
# 执行操作时出错: 提交失败(细节如下):
# Access denied
#**** (1) 有时候,你怎么注销,登陆都一样,这个时候,1、你删除掉.RapidSVN,下载代码的目录,重启电脑;2、打开rapidsvn,在左面书签下,对着目录,点击右键选择登陆,填上正确的用户名和密码。重复搞几次,会成功的。
#**** (2)如果用rapidsvn出现上面的错误,那么用命令行先执行svn update,然后在执行svn commit,那么也会出现上面的错误。怎么搞都一样。只用用rapidsvn,输入正确的用户名和密码,commit成功,那么这个时候使用命令行svn commit,才能成功。
# [error_2]错误: 执行操作时出错: “” 已经是指向不同 URL 的工作副本
# 解决:
#**** rm -vf .RapidSVN
# 3.Diff Tool和Merge Too是文件的比较差异与合并工具,需要安装Meld
# sudo apt-get install meld
#**** ubuntu桌面-->点击软件搜索-->meld-->点击图标-->但是我不会用
# 我在windows装好了virtualSVN,然后在ubuntu用rapidSVN去访问,结果老是不行。老是出现下面的错误:
# 验证服务器证书时发现错误。
# 是否还要相信此证书?
# 验证服务器‘https://192.168.1.60:443’的证书时出错:
# -此证书不是由可信赖的机构颁发的。
# 请使用指纹(Fingerprint)手工验证此证书的有效行!
# 点击用接受后出现这个错误:
# 执行操作时出错: Unable to connect to a repository at URL 'https://192.168.1.60/svn/program'
# Server SSL certificate verification failed: issuer is not trusted
# 有的人说用这个方法:
# https://blog.csdn.net/qq_26963433/article/details/78217869 《svn服务端证书的问题》
# C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.ssl.server
# 有的人说用这个方法:
# https://blog.csdn.net/zrgk2208/article/details/82791051 《SVN提示https证书验证失败解决办法》
# svn ls https://127.0.0.1/svn/project1
# 注意的是:svn ls https://127.0.0.1/svn/project1执行一遍之后,在执行不会有任何输出,
# 删掉C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.ssl.server里面的文件,有输出,但是没有刚开始多。
# 用了上面的方法结果还是出一样的问题。
# 没办法,最后执行下面的指令。下面的指令安装了SVN服务器,客户端也有了,即可以在终端执行svn checkout,svn commit等命令。
#**** sudo apt-get install subversion
#安装完后,在终端执行:
# ubt@ubt-G7:~$ svn checkout https://192.168.1.60/svn/program /home/ubt/temp_file3
# 验证“https://192.168.1.60:443”的服务器证书时出错:
# - 此证书并不是由信任的权威机权颁发。请使用此指纹手工验证其有效性!
# - 证书的主机名称不匹配。
# 证书信息:
# - 主机名称: Win7-2019WDSQVA
# - 有效时间: 自 Mar 23 07:27:41 2019 GMT 至 Mar 20 07:27:41 2029 GMT
# - 发行者: Win7-2019WDSQVA
# - 指纹: 65:8A:18:20:5D:E9:AC:F0:EE:B7:DA:37:AA:E9:0C:7E:89:06:FB:21
# (R)拒绝,(t)暂时接受,或(p)永远接受?p
# 认证领域:
# “ubt”的密码: ********
# 认证领域:
# 用户名: hw
# “hw”的密码: ******
# A temp_file3/G7.txt
# 取出版本 1。
# 这样能顺利签出文件。也不知道是不是用了上面的方法,才这么顺利签出文件。
# 修改G7.txt文件,然后执行:
#**** cd /home/ubt/temp_file3 ; svn commit -m 'test1' G7.txt
# 也能顺利提交。
# 我都认为这是一个无解的问题。我要写博客了。我突然再看看“验证服务器证书时发现错误。”的对话框里面的“接受”是怎么显示的,以便博客更加准确地描述。 我重新在rapidsvn签出文件,结果没报错了。
# 可能是这样吧:需要输入账号和密码才能签出文件,但是rapidsvn又没地方输入,结果不行。在终端,用svn签出文件,可以输入账号和密码,所以能检出文件。当再用rapidsvn时,原来的认证有效,所以能签出文件,不报错了。
# 终于搞定这个大难题。
###########################################################################################