5. svn linux 客户端的使用

在 linux环境中使用svn  客户端。

 

客户端指令 就是svn

[root@localhost ~]# svn --help
usage: svn <subcommand> [options] [args]
   add
   blame (praise, annotate, ann)
   cat
   changelist (cl)
   checkout (co)                                             # 拉取版本,简写co
   cleanup
   commit (ci)                                               # 提交,简写ci
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mergeinfo
   mkdir
   move (mv, rename, ren)
   patch
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   relocate
   resolve
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)                                             #从服务端同步文件
   upgrade

Subversion is a tool for version control.
For additional information, see http://subversion.apache.org/

 

拉取代码

svn  checkout  svn://192.168.134.174:/sadoc    /svndata/   --username=test02   --password=123456
svn代码库地址 本地地址,目录提前创建 用户名 密码

svn  co   svn://192.168.134.174:/sadoc    /svndata/   --username=test02   --password=123456
指令简写

 

 

查看回显,以下就完成了。

[root@localhost svndata]# svn  checkout  svn://192.168.134.174:/sadoc    /svndata/   --username=test02   --password=123456

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://192.168.134.174:3690> 934c0447-3ff6-4c11-a195-53e3e8f43666

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
A    test02.txt
Checked out revision 5.
[root@localhost svndata]# ls
test02.txt

 

 

如果svn的  服务端和  客户端在一台机器上面 。   可以使用以下url访问  (基本不用)。

[root@localhost datatest]# ps -ef  | grep   svn                                                      # svn  服务端和客户端 在一台机器上面
root       1204      1  0 11:08 ?        00:00:00 /usr/bin/svnserve -d -r /application/svndata/
root       1234   1161  0 11:26 pts/0    00:00:00 grep --color=auto svn
[root@localhost datatest]# svn  co  file:///application/svndata/sadoc/  /datatest/                   # 使用指令   密码都不用       
A    test02.txt
A    test03.txt
Checked out revision 6.
[root@localhost datatest]# ls
test02.txt  test03.txt

 

 

报错处理:

如果同步数据的数据出现报错

svn: Can't convert string from 'UTF-8' to native encoding

是字符集的问题, windows是支持中文的。 linux装系统的时候默认不支持中文。

可以参考:

https://www.cnblogs.com/zhaobolu/archive/2014/04/02/3641309.html

 

修改~/.bashrc,加入
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

然后
source ~/.bashrc

 

然后检查下语言环境

[root@localhost svndata]# locale
LC_CTYPE="en_US.UTF-8"                    #用户所使用的语言符号及其分类
LC_NUMERIC="en_US.UTF-8"                  #数字
LC_TIME="en_US.UTF-8"                     #时间显示格式
LC_COLLATE="en_US.UTF-8"                  #比较和排序习惯
LC_MONETARY="en_US.UTF-8"                 #货币单位
LC_MESSAGES="en_US.UTF-8"                 #信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等
LC_PAPER="en_US.UTF-8"                    #默认纸张尺寸大小
LC_NAME="en_US.UTF-8"                     #姓名书写方式
LC_ADDRESS="en_US.UTF-8"                  #地址书写方式
LC_TELEPHONE="en_US.UTF-8"                #电话号码书写方式
LC_MEASUREMENT="en_US.UTF-8"              #度量衡表达方式
LC_IDENTIFICATION="en_US.UTF-8"           #对自身包含信息的概述

 

其中两个比较特殊的

LANG                #系统语言
LC_ALL              #如果设置,值将覆盖所有其他的locale设定

 


 

 

同步更新

svn update   /svndata/
本地路径

 

看回显

[root@localhost svndata]# svn update   /svndata/
Updating '.':
A    test03.txt                                            #  A 就是增加
Updated to revision 6.
[root@localhost svndata]# ls
test02.txt  test03.txt

 

 

 

查看数据

可以使会用   svn list

[root@localhost svndata]# svn  list  /svndata/         
本地路径
[root@localhost svndata]# svn  list  svn://192.168.134.174:/sadoc
远程库
[root@localhost svndata]# svn  list  svn://192.168.134.174:/sadoc  --verbose (显示详细信息)

 

 

提交数据

使用指令的话。svn的提交也是需要 先add   然后在 commit的

单个文件提交

[root@localhost svndata]# touch {a..d}                               #  先创建了几个文件 
[root@localhost svndata]# ls
a  b  c  d  test02.txt  test03.txt
[root@localhost svndata]# svn  add  a # 单个文件提交
A         a
[root@localhost svndata]# svn  ci # ci 就是 commit的缩写。 一定要加 -m 参数,写提交信息。 不加会报错
svn: E205007: Commit failed (details follow):
svn: E205007: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: E205007: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found
[root@localhost svndata]# svn  ci  -m  "add  a" # 加上 -m参数就ok了
Adding         a
Transmitting file data .
Committed revision 9.
[root@localhost svndata]# svn  list  svn://192.168.134.174:/sadoc #再次查看 ,文件已经提交了。
a
test02.txt
test03.txt

 

批量提交

[root@localhost svndata]# svn add  *                                                     #  文件多的话,可以使用* ,  但是已经提交过文件,会告警
svn: warning: W150002: '/svndata/a' is already under version control
A         b
A         c
A         d
svn: warning: W150002: '/svndata/test02.txt' is already under version control
svn: warning: W150002: '/svndata/test03.txt' is already under version control
svn: E200009: Could not add all targets because some targets are already versioned
svn: E200009: Illegal target for the requested operation
[root@localhost svndata]# 
[root@localhost svndata]# 
[root@localhost svndata]# 
[root@localhost svndata]# svn commit -m  "add  files"                                  #  再次提交
Adding         b
Adding         c
Adding         d
Transmitting file data ...
Committed revision 10.
[root@localhost svndata]# svn  list  svn://192.168.134.174:/sadoc                      #  查看版本库,已经生效了。
a b c d test02.txt test03.txt

 

 

然后我们去windows上去查看,远程的库信息。 也可以看到文件已经提交了。

 

 

 

 

 

导入本地目录到svn库

这里的导入,不是在库里面创建文件提交。 而是,使用其他路径下的目录或文件导入进去。

[root@localhost svndata]# mkdir  -p    /tmp/svn/trunk    /tmp/svn/brunch    /tmp/svn/logs                       # 创建了三个文件   类似于git的  master 、 brunch、log的目录
[root@localhost svndata]# tree  /tmp/svn/
/tmp/svn/
├── brunch
├── logs
└── trunk

[root@localhost svndata]# svn import  /tmp/svn/  svn://192.168.134.174:/sadoc  -m  "add  new  dirs" # 使用import进行导入 , 也是必须要加上 -m 参数的 。
Adding         /tmp/svn/brunch
Adding         /tmp/svn/trunk
Adding         /tmp/svn/logs

Committed revision 11.
[root@localhost svndata]# svn  list  svn://192.168.134.174:/sadoc # 查看一下就有了
a
b
brunch/
c
d
logs/
test02.txt
test03.txt
trunk/

 

 

 

复制目录

就是将svn库中的目录,复制一下。用的不多

[root@localhost svndata]# svn  list  svn://192.168.134.174:/sadoc                                                # 查看当前的目录结构  
a
b
brunch/
c
d
logs/
test02.txt
test03.txt
trunk/
[root@localhost svndata]# svn copy    svn://192.168.134.174:/sadoc/trunk    svn://192.168.134.174:/sadoc/brunch/new_brunch_2019    -m  "copy dir " # 使用copy指令,就是从哪复制到哪 ,也是必须要加上 -m 参数的 。
Committed revision 12.
[root@localhost svndata]# svn  list  svn://192.168.134.174:/sadoc/brunch/ # 再次查看,可以看到生效了
new_brunch_2019

 

 

然后我们去windows上面看 ,也可以看到目录结构。

原文地址:https://www.cnblogs.com/rockyricky/p/12123868.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


首先介绍下什么是git和svnGIT(分布式版本控制系统)Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。SVNSVN是Subversion的简
注意点:系统环境:centos7,python,django,svn,jenkins首先安装好svn版本控制服务,svn安装和配置,也可以通过yum进行安装,安装方式如下yum-yinstallsubversionjenkins安装:jenkins安装参考链接开发ide:pycharm创建项目:django-adminstartprojectcmdbjenkins配置源码管理配置:构
  我使用过的版本控制工具有两种:早期的时候使用的是SVN,现在主要使用git,我就我个人的观点,简单的说下两者的区别:1.Git是分布式的,SVN是集中式的,好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;2.Git下载下来后,在本
用好Git和SVN,轻松驾驭版本管理本文从Git与SVN的对比入手,介绍如何通过Git-SVN开始使用Git,并总结平时工作高频率使用到的Git常用命令。 一、GitvsSVNGit和SVN孰优孰好,每个人有不同的体验。Git是分布式的,SVN是集中式的这是Git和SVN最大的区别。若能掌
01.jenkins安装jenkins网站:https://jenkins.io/安装:资料/jenkins.msi安装完成:自动打开浏览器使用8080端口02.jenkins系统配置修改端口号,不能使用8080打开安装目录jenkins.xml --httpPort=18080重启服务器系统管理/系统设置:配置jdk和ant环境  03.jenkins项目自
软件环境:centos7jdk1.8svn1.9maven3.5tomcat8jenkins2.80 以上软件安装过程省略... tomcat增加一个管理员账号和密码jenkins通过maven命令打好的war包,copy到tomcat中,这要求tomcat开启热部署,说白了就是在tomcat的conf目录下的tomcat-users.xml中增加tomcat的用户密码
第一步:通过yum命令安装svnserve,命令如下:yum-yinstallsubversion此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行若需查看svn安装位置,可以用以下命令:rpm-qlsubversion第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)选择在var路
一、git是什么   1、git二、git和svn的对比     1、git创建分支简单,可以快速创建分支,隔绝自己修改的代码,svn的版本分支     2、git本地就是一个完整独立的分布式的版本库,不需要联网;但是svn需要联网才可以查看    3、git本地包含了完整的日志,svn需要从服
这里碰到svn更新时,提示清理,清理时报错:只需进行以下几个步骤即可解决:(原理即是清除掉svn数据库里的lock记录)1、下载SQLiteManager,svn用的是sqlite数据库,需要一款管理工具。我是在这个地址下载的,破解版(http://www.xue51.com/soft/6213.html#xzdz):①默认安装完成后,点击finish
1、验证是否有安装svn[root@192~]#svnserve--version2、yum安装svn[root@192~]#yuminstall-ysubversion3、创建一个svn的工作目录[root@192~]#mkdir/usr/local/svn4、创建一个测试用的资源仓库[root@192svn]#svnadmincreatetest5、conf目录下
1.SVN版本控制简介版本控制[Revisioncontrol],最初来源于工程设计领域,是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。Subversion就是一款实现版本控制的工具软件,通常也称为版本控制器,简称SVN
一、GitvsSVNGit和SVN孰优孰好,每个人有不同的体验。Git是分布式的,SVN是集中式的这是Git和SVN最大的区别。若能掌握这个概念,两者区别基本搞懂大半。因为Git是分布式的,所以Git支持离线工作,在本地可以进行很多操作,包括接下来将要重磅推出的分支功能。而SVN必须联网才
利用svnadminhotcopy可以实现完全备份,但不能进行增量备份。svnadminhotcopy是将整个库都“热”拷贝一份出来,包括库的钩子脚本、配置文件等;任何时候运行这个脚本都得到一个版本库的安全拷贝,不管是否有其他进程正在使用版本库。优点是:备份过程较快,灾难恢复也很快;如果备份机上已经
1》安装1>下载服务端Setup-subversion.msi文件,下载客户端程序TortoiseSVN.mis文件,下载eclipse插件eclipse_svn_site.zip。2》利用服务端在windows下SVN服务,注意事项:1.cmd必须使用管理员权限打开(创建,开启,停止,删除服务操作都需要管理员权限)2.注册svn服务的命令,参考如下
1、错误描述 org.apache.subversion.javahl.ClientException:Itemisnotwritablesvn:Commitfailed(detailsfollow):svn:Accessdeniedorg.apache.subversion.javahl.ClientException:Itemisnotwritablesvn:Commitfailed(detailsfollow):svn:Accessdeni
问题场景:1记得提交的日志信息中包含openssl,但是不记得这次提交的版本号revesion,是svn初始化后中间的某次提交;2svn环境的操作系统平台为Fedora,即命令行下;而且svnlog的提交记录有12659条;[root@localhostv2.1]#svnlog|grepr|wc-l12659解决办法:step1 查找提交日志
将项目上传到SVN弹出框提示Oneadded/editedTODOitemwasfound.Wouldyouliketoreviewit?然后百度说这样解决:造成这个原因是因为代码里有个自动生成的注释代码块://TODOAuto-generatedmethodstub我们在写方法是自动生成,就有可能自动生成这句话,导致上传SVN时弹出那个
说在前面的话: 从接到任务到完成共用了7天的时间。正常人用不到这个时间。此时的功能表现是:登录本地JenKins对项目进行构建,能够自动从SVN读取最新代码并按照Maven项目构建,构建完成能够自动使用SonarQube分析代码质量,并将构建的War包部署到指定容器中。版权声明:此博客纯手打,个人
javaweb上正式的时候总是会需要更新代码,但是要求不能全量更新代码,只能提供增量更新包,减少不必要的更新。但是呢,自己修改的文件那么多,怎么破,一个个的找出来,新建文件夹,按位置放好,这种做法不是我们这群懒人的方式,我们要的都是一键解决问题。因此有了这个项目。小编整理了一些java进
Oracle12CR2forCentos7背景介绍安装配置这东西吧,真没啥可写的,但是你说不写详细点吧,真的好多学员搞不懂,所以呢,熊熊思前想后,打算把自己从头到尾怎么安装的,完全写一下,希望能让大家有个全面的基础认知准备工作安装Xmanager这个软件功能很强大,熊熊安装他主要是用于把远程服务器的