svn 客户端批量备份数据(图+文)

简介:

缘由

商业用途的规则,数据与谨慎便成了不可替代的王道,我今天也说svn,在客户端批量备份数据。

前提

考虑跨平台与易用性,选择批处理(.bat),既然是批处理,少不了的便是命令和执行命令的平台,这个执行平台的命令为svn.exe(默认只有svn的服务器端用),命令下面会有介绍。

解决方案

既然svn.exe是服务器端的,那么客户端有没有办法安装此环境呢,答案是肯定的。
独立执行svn命令的安装包下载址(各种操作系统都有):http://subversion.apache.org/packages.html
以win 7 x64的操作系统为例:我下载的是如图:

安装之后就会有svn.exe

这样的话,用svn命令变可以搞定一切。

svn常用命令

svn add [path]

别名:无

描述:添加文件或目录到你的wc,打上新增标记。这些文件会在下一次你提交wc的时候提交到svn服务器。

在提交前,你也可以用svn revert撤销新增的文件。

访问库:否

eg: svn add file.cpp

 

svn blame Target[@REV]

别名:praise,annotate,ann

描述:显示某个已受控文件的每一行的最后修改版本和作者

访问库:是

eg: svn blame file.cpp

eg: svn blame --xml file.cpp  ##加上xml参数可以以xml格式显示每一行的属性。

 

svn cat TARGET[@REV]

别名:无

描述:输出指定目标的内容,这里的目标一般是文件。

访问库:是

eg:svn cat file.cpp

eg:svn cat file.cpp -r 2 ##显示版本号为二的file.cpp内容。

eg:svn cat file.cpp --revision HEAD ##显示最新版本的file.cpp内容。

 

svn changelist CLNAME TARGET...

svn changelist --remove TARGET

别名:cl

描述:可以将wc中的文件从逻辑上分组.

访问库:否

eg:svn cl clName file.cpp file2.cpp file3.cpp  ##file.cpp等三个文件加入名叫clNamechangelist 

eg:svn commit --changelist clName -m "ci"  ##clName下的所有文件提交

 

svn checkout URL[@REV]... [PATH]

别名:co

描述:检出

访问库:否

eg:svn checkout file:///var/svn/repos/test  file:///var/svn/repos/quiz working-copies

eg:svn checkout -r 2 file:///var/svn/repos/test mine  ##check out 版本号为2的项目

 

svn cleanup [PATH...]

别名:无

描述:递归的清理WC中过期的锁和未完成的操作。

访问库:否

egsvn cleanup

 

svn commit [PATH...]

别名:ci

描述:把你WC的更改提交到仓库

访问库:是

egsvn commit -m "日志信息" path 

 

svn copy SRC[@REV]... DST

别名:cp

描述:copy操作可以从WCWCWCURLURLWCURLURL。现在SVN只支持同一个仓库内文件的拷贝,不允许跨仓库操作。

访问库:是

egsvn copy -r 11 file:///var/svn/repos/test/trunk \

           file:///var/svn/repos/test/tags/0.6.32-prerelease \

           -m "Forgot to tag at rev 11"

##copy命令是创建分支和标记的常用方式。copyurl的操作隐含了提交动作,所以需要提供log messages

 

svn delete PATH...

别名:delremoverm

描述:删除

访问库:如果PATH是库地址时会,删除WC内的文件不会。

egsvn del localfile.cpp    ##删除WC里的文件,在下一次提交WC的时候才会真正在仓库里将对应文件删除。

eg: svn del file:///var/svn/repos/test/yourfile  ##删除仓库里的文件

 

svn diff

别名:di

描述:用来比较并显示修改点。

访问库:

egsvn diff   ##最常用的方式,用来显示WC基于最近一次更新以后的所有的本地修改点。

egsvn diff -r 301 bin ## 比较WC和版本301中的bin目录的修改点

egsvn diff -r 3000:3500 file:///var/svn/repos/myProject/trunk   ##比较库里主干3000版和3500版的差异。

egsvn diff --summarize --xml http://svn.red-bean.com/repos/test@r2 http://svn.red-bean.com/repos/test  ##--summarize --xml 参数将差异情况以xml文档的方式显示出来。

 

svn export [-r REV] URL[@PEGREV] [PATH]

svn export [-r REV] PATH1[@PEGREV] [PATH2]

别名:无

描述:导出一个干净的目录树,不包含所有的受控信息。可以选择从URLWC中导出。

访问库:如果访问的是URL则会。

egsvn export file:///var/svn/repos my-export   ##导出到my-export目录。

 

svn help — Help!

别名:?,h

描述:不用解释了

访问库:否。

 

svn import [PATH] URL

别名:无

描述:导入本地一个目录到库中。但是导入后,本地的目录并不会处于受控状态。

访问库:是。

egsvn import -m "New import" myproj http://svn.myProject.com/repos/trunk/misc

 

svn info [TARGET[@REV]...]

别名:无

描述:显示指定WCURL信息。

访问库:仅当访问的是库路径时。

egsvn info --xml http://svn.myProject.com/repos/test  ##将信息以xml格式显示。

 

svn list [TARGET[@REV]...]

别名:ls

描述:显示目标下的文件和目录列表。

访问库:如果访问的是库地址就会。

egsvn list --verbose file:///var/svn/repos   ##--verbose参数表示显示详细信息。

 

svn lock TARGET...

别名:无

描述:对目标获得修改锁。如果目标已被其他用户锁定,则会抛出警告信息。用--force参数强制从其他用户那里获得锁。

访问库:是

egsvn lock --force tree.jpg

 

svn log [PATH]

svn log URL[@REV] [PATH...]

别名:无

描述:从库中显示log消息。log消息代码 A added  Ddeleted  Mmodified  Rreplaced

访问库:是

egsvn log -v http://svn.myProject.com/repos/test/ foo.c bar.c   ##详细显示指定URL的库中foo.cbar.c所有版本的log信息。

egsvn log -r 14:15    ##显示当前WC1415版本log信息。

eg##如果版本号不连续,只能采用如下方式。

$ svn log -r 14 > mylog

$ svn log -r 19 >> mylog

$ svn log -r 27 >> mylog

 

svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH]

svn merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]

svn merge [[-c M]... | [-r N:M]...] [SOURCE[@REV] [WCPATH]]

别名:无

描述:合并两个受控源的不同之处,存放到一个WC里。

访问库:只有当访问库地址时。

egsvn merge --reintegrate http://svn.example.com/repos/calc/branches/my-calc-branch  ##合并分支上的改变项到WC,往往用于分支合并到主干。

egsvn merge -r 156:157 http://svn.example.com/repos/calc/branches/my-calc-branch   ##将制定URL版本156157的所有更新合并到WC

 

svn mkdir PATH...

svn mkdir URL...

别名:无

描述:在WC或库路径创建目录

访问库:只有当访问库地址时。

egsvn mkdir newdir

 

svn move SRC... DST

别名:mv, rename, ren

描述:等同于svn copy命令跟个svn delete命令。WCURL的重命名是不被允许的。

访问库:只有当访问库地址时。

egsvn move foo.c bar.c  ##foo.c改名成bar.c

 

svn propdel PROPNAME [PATH...]

svn propdel PROPNAME --revprop -r REV [TARGET]

别名:pdel, pd

描述:从受控文件,目录等删除属性。第二种是删除某个指定版本上的附加属性。

访问库:只有当访问库地址时。

egsvn propdel svn:mime-type someFile    ##someFile上移除svn:mime-type这个属性。

 

svn propedit PROPNAME TARGET...

svn propedit PROPNAME --revprop -r REV [TARGET]

别名:pedit, pe

描述:编辑属性

访问库:只有当访问库地址时。

egsvn propedit svn:keywords  file.c  ##修改file.c上的svn:keywords属性。

 

svn propget PROPNAME [TARGET[@REV]...]

svn propget PROPNAME --revprop -r REV [URL]

别名:pget,pg

描述:从文件,目录或版本取得指定属性的值。

访问库:只有当访问库地址时。

egsvn propget svn:keywords file.c   ##file.c中取得svn:keywords属性的值

 

svn proplist [TARGET[@REV]...]

svn proplist --revprop -r REV [TARGET]

别名:plist, pl

描述:列出文件、目录或版本上的所有附加属性

访问库:只有当访问库地址时。

egsvn proplist --verbose file.c

 

svn propset PROPNAME [PROPVAL | -F VALFILE] PATH...

svn propset PROPNAME --revprop -r REV [PROPVAL | -F VALFILE] [TARGET]

别名:pset,ps

描述:给文件、目录或版本附加属性并赋值

访问库:只有当访问库地址时。

egsvn propset svn:mime-type image/jpeg file.jpg   ##file.jpg附加属性svn:mime-type 其值为image/jpeg

eg:svn propset --revprop -r 25 svn:log "Journaled about trip to New York."

##给版本25补上log message

eg:svn propset svn:ignore '.classpath' . 

##在本地忽略掉.classpath文件

 

svn resolve PATH...

别名:无

描述:将冲突的文件标记为已解决,并且删掉冲突产生的临时文件。注意这个命令并不是能把冲突解决,解决冲突还是得靠人工。

访问库:否

egsvn resolve --accept mine-full foo.c   ##1.5版本后,加上--accept参数,尝试自动处理冲突。

 

svn resolved PATH...

别名:无

描述:已过时,被resolve --accept取代。去除冲突的状态和冲突临时文件。

访问库:否

 

svn revert PATH...

别名:无

描述:还原WC中所有的本地更改。

访问库:否

egsvn revert --depth=infinity .   ##将整个目录所有文件还原

 

svn status [PATH...]

别名:stat, st

描述:输出WC中文件和目录的状态。如果WC提交,这些状态就会同步到库里。

一般状态有         ' '  没有修改

'A'  新增

'D'  删除

'M'  修改

'R'  替代

'C'  冲突

'I'  忽略

'?'  未受控

'!'  丢失,一般是将受控文件直接删除导致

访问库:加上--show-updates参数时会

egsvn status wc

 

svn switch URL[@PEGREV] [PATH]

svn switch --relocate FROM TO [PATH...]

别名:sw

描述:将WC转向一个其他的库地址同步

访问库:是

egsvn sw http://svn.myProject.com/repos/trunk/vendors .  ##将当前WC切换到另一个URL

 

svn unlock TARGET...

别名:无

描述:解锁

访问库:是

egsvn unlock somefile

 

svn update [PATH...]

别名:up

描述:更新WC,更新反馈有如下几种分类。

        A  新增

B  锁破坏

D  删除

U  更新

C  冲突

G  合并

E  存在的

访问库:是

egsvn up -r22   ##更新到一个指定版本

 

 

我的批量svn代码

 





本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/archive/2012/03/31/2427568.html,如需转载请自行联系原作者


目录
相关文章
|
10月前
|
Linux PHP Perl
Linux下SVN客户端基本使用教程
Linux下SVN客户端基本使用教程
|
数据安全/隐私保护
如何配置SVN的服务器端和客户端(二)
3.客户端(tortoisesvn)的配置 1.双击安装包,然后点击下一步 在这里插入图片描述 2.直接点下一步 在这里插入图片描述 3.点击install,进行安装 在这里插入图片描述 4.安装结束后,点击finish 在这里插入图片描述 5.安装汉化语言包,双击安装包,然后点击next 在这里插入图片描述 7.安装结束后配置语言,桌面空白位置右键点击,找到tortoisesvn,选择setting,如下图,语言修改为中文 在这里插入图片描述 8.汉化完之后,在桌面空白位置右键单击选择检出,可以修检出的路径,修改路径后点击确定可能会出现下面的警告框,选择永久接受即可 在这里插入图片描述 9
如何配置SVN的服务器端和客户端(二)
如何配置SVN的服务器端和客户端(一)
如何配置SVN的服务器端和客户端 好些小伙伴儿在开发的时候都会遇到一个比较麻烦的事情,那就是自己开发的东西不太会整理,或者是团队一起开发,有一些东西不太好整合到一起,那这个时候你们就需要一个版本控制(管理)工具了,当然现在程序用到比较多的是GitHub和国内的码云。但是有一个团队协作也很好用的工具叫SVN,SVN是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。今天来和大家说一下怎样配置SVN的服务器和客户端。 1.下载SVN服务器端和客户端安装包 服务器端下载地址:https://www.visu
如何配置SVN的服务器端和客户端(一)
|
Android开发 开发者
SUV的配置及使用(配置SVN客户端)|学习笔记
快速学习SUV的配置及使用(配置SVN客户端)
SUV的配置及使用(配置SVN客户端)|学习笔记
|
网络协议 关系型数据库 MySQL
浅谈SVN备份
浅谈SVN备份
|
iOS开发 开发者
Mac 下 SVN 客户端使用
安装方法 mac 下已经自带了svn环境 。使用svn –version 查看是否安装。 如果你有安装XCode,只需要在code > Preferences > download > Command Line Tools > Install即可,速度很快,基本1分钟搞定。 如果没有需要在Apple Developer网站 下载Command_Line_Tools_for_Xcode.dmg独立安装包。[不推荐手动查找安装包] 当然也可以命令行安装 xcode-select --install 也可使用 brew 安装svn brew install svn svn 图形化界面 sna
372 0
Mac 下 SVN 客户端使用
|
Go Apache Windows
Windows 下 SVN 客户端使用
Windows 主推小乌龟 SVN. https://tortoisesvn.net/downloads.html (请选择正确的 32 / 64位版本) SVN 安装 https://www.runoob.com/svn/svn-install.html 和 TortoiseSVN 使用教程 https://www.runoob.com/svn/tortoisesvn-intro.html
734 0
Windows 下 SVN 客户端使用
|
数据安全/隐私保护
SVN客户端的用法
SVN客户端的用法
126 0
SVN客户端的用法
|
Shell Linux
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
99 0
本地开发环境通过SVN客户端提交到仓库后自动同步到web站点
|
存储 安全 架构师
SVN 服务器与客户端搭建使用
本文目录 1. 概念 2. 服务端安装配置 2.1 下载 2.2 安装 2.3 配置 3. 客户端安装使用 3.1下载安装 3.2使用 4. Eclipse中使用SVN
155 0
SVN 服务器与客户端搭建使用