svn 一次性提交整个目录包括子目录

版权声明:文章来源:良玉的博客 http://www.uouo123.com/ 转载请注明 https://blog.csdn.net/xiangliangyu2008/article/details/86149719

svn st|awk '{print $2}'|xargs svn add。

乍看之下觉得更加精炼,仔细看下就会发现这个脚本没有区分文件状态。所以完善了以下这个脚本:

svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add

这样,以后我可能使用这个脚本成百上千次。(当然这个脚本也没有考虑过滤不要添加的文件)

当你第三次做一件事情的时候,就应该考虑将其工具化,自动化!

名称

svn add — 添加文件、目录或符号链。

概要

SVN子命令add PATH...描述

文件、目录或符号链到你的工作拷贝并且预定添加到版本库。它们会在下次提交上传并添加到版本库,如果你在提交之前改变了主意,你可以使用svn revert取消预定。

选项--targets FILENAME--non-recursive (-N)--quiet (-q)--config-dir DIR--no-ignore--auto-props--no-auto-props--force

例子:

我们通过一个例子来看一下SVN子命令add,添加一个文件到工作拷贝:

$ svn add foo.c 

A         foo.c

当添加一个目录,svn add缺省的行为方式是递归的:

$ svn add testdir

A         testdir

A         testdir/a

A         testdir/b

A         testdir/c

A         testdir/d

你可以只添加一个目录而不包括其内容:

$ svn add --non-recursive otherdir

A         otherdir

通常情况下,命令svn add *会忽略所有已经在版本控制之下的目录,有时候,你会希望添加所有工作拷贝的未版本化文件,包括那些隐藏在深处的文件,可以使用svn add的--force递归到版本化的目录下:

$ svn add * --force

A         foo.c

A         somedir/bar.c

A         otherdir/docs/baz.doc。SVN子命令add的用法介绍讲解完毕。

svn add *

svn add */**/*
等同于
svn add * --force

文章来源:良玉的博客 http://www.uouo123.com/

猜你喜欢

转载自blog.csdn.net/xiangliangyu2008/article/details/86149719