centos下svn的主要常用命令(解决商城系统添加的文件无法自动更新至svn服务器)

时间:2022-06-01 22:12:27

问题描述:

在商城中通过网页上传的png文件无法自动添加到版本库中。

查找过程:

通过程序分析,增加的主要是数据文件,主要分布在data目录中。

svn list /home/ggg --depth=infinity --password=123 可查看当前已在版本库中的文件列表。

svn info /home/ggg 看查看版本情况

通过分析知道,在页面中添加的文件未在版本管理中,需要手动添加到版本控制中,并提交至版本控制。

解决办法,针对 data目录,增加shell文件。

#!/bin/sh
 svn add /home/ggg/data --depth=infinity --force --password=123
  svn ci -m "commit automatic" /home/ggg --password=123

可以使用svn add的--force递归到版本化的目录下

svn常用命令可参考博文http://blog.csdn.net/limingzhong198/article/details/22394809       Linux(CentOS)下SVN命令使用实例

0 、add命令:

查看帮助:[root@samba ~]# svn add --help;

命令说明:Put files and directories under version control, scheduling them for addition to repository.  They will be added in next commit.

即:这个说明的红色加粗部分很重要,后面说明;

使用方法:add PATH...;

命令参数:分为 Valid options 和 Global options两种(help命令可查,此处略);

使用实例:[root@samba ant]# svn add *.java(可以使用通配符)

ant目录的完整目录是:/trunk/src/com/ant,在添加项目之前我们需要执行 cd /trunk/src/com/ant 命令,否则会出现问题。

过程结果:

svn add test.java

问题说明 1、重复添加问题:

过程结果:

svn add *.java

提示结果:‘Test.java’已经处于svn版本控制执行。

问题说明 2、退出 /trunk/src/com/ant 目录,再执行svn add *.java:

过程结果:

svn add *.java

svn . not a working copy

提示结果:‘.’不在工作目录。

问题说明 3、在 /trunk/src/com/ant 目录下新建目录 test,在 test 目录下新建 Test.java 文件,然后在 test 目录下再执行 svn add *.java:

过程结果:

提示结果:‘.’不在工作目录。

我们回到 test 目录上级目录 ant,在执行 svn add *

过程结果:

可以看到:我们新建的目录和文件都添加成功。

注:在此实例中,我们需要注意的是,我们大部分操作都必须处于svn版本控制的工作目录。

1、checkout版本库

先把upload 目录改名;

svn co svn://127.0.0.1/lbypmall /home/upload

2、更新版本库 svn update svn://127.0.0.1/lbypmall $WEB --username mxh --password 123 --no-auth-cache

3、提交(commit)本地文档到服务器 命令:svn commit -m “” [directory|file] svn ci -m “” [directory|file]

4、更新(update)服务器数据到本地 命令:svn update [directory|file] svn up [directory|file]

5、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件)

6、查看日志 命令:svn log [directory|file]