`
貌似掉线
  • 浏览: 260069 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux判断是否需要svn up的脚本

阅读更多
由于公司项目代码较大(某一模块甚至10G+),每次都直接敲svn up的话,耗费的时间会比较长,特别是现在是收尾阶段,改动越来越少,所以需要先判断是否需要更新,如果需要再进行更新。
通过svn info可以获取版本库或当前工作空间的版本信息,但是每次都需要使用几个命令来决定,所以决定写一个脚本完成这些事情(shell知识掌握得太少,只好各种百度)。
脚本代码如下:
#!/bin/sh
revision=`svn info |grep "Last Changed Rev:" |awk '{print $4}'`
echo "the revision is $revision"
URL=`svn info |grep URL: |awk '{print $2}'`
echo "the url is $URL"
svnRevision=`svn info $URL |grep "Last Changed Rev:" |awk '{print $4}'`
echo "the revision in svn is $svnRevision"
if [[ $revision < $svnRevision ]] ; then
    echo "need svn up"
    svn up
    echo "svn up finish"
else
    echo "no need svn up"
fi

原理很简单,通过svn info 获取当前工作空间svn信息,包括对应的svn服务器url,本地的svn版本号,然后通过svn info url查询服务器上的svn 版本号,对这两个版本号进行判断,来决定是否更新。
0
3
分享到:
评论
1 楼 sunshine_bean 2017-03-25  

第四行改进下

URL=`svn info |grep "^URL:" | awk '{print $2}'`

相关推荐

    Linux环境下配置同步更新的SVN服务器(word文档)

    ### Linux环境下配置同步更新的SVN服务器 #### 一、概述 版本控制系统是软件开发过程中不可或缺的一部分,它帮助团队管理代码的变化历史,并提供了一个协作的平台。Subversion(SVN)作为一款开源的集中式版本控制...

    linux_SVN使用命令.docx

    Linux下的Subversion(SVN)是一个强大的版本控制系统,用于跟踪文件和目录的变更。...在Linux环境中,结合shell脚本,可以自动化许多SVN操作,提高工作效率。记住,良好的版本控制习惯对于团队协作至关重要。

    linux编译kernel和svn版本冲突的解决办法

    总结起来,当Linux内核编译与Subversion版本发生冲突时,我们需要定位到引起冲突的具体代码,然后适当地修改或禁用这些代码,以确保编译过程不受影响。对于其他可能遇到的编译问题,理解编译过程、熟悉Makefile语法...

    SVN安装包及使用方法

    5. **钩子脚本**:SVN仓库支持钩子脚本,可以在特定事件(如提交)发生时自动执行脚本,实现自动化任务,如发送通知邮件或自动构建。 总之,SVN是软件开发团队不可或缺的工具,通过它,团队成员可以高效协作,同时...

    删除项目中的.svn文件

    3. **手动删除**:可以通过Windows资源管理器的搜索功能找到并删除这些目录,或者在命令行(如Git Bash、PowerShell)中使用递归删除命令,例如`rm -rf .svn/*`(在Unix/Linux系统)或`rmdir /s /q .svn`(在Windows...

    SVN使用手册中文版快速入门

    svn cleanup svn import 摘要 4. 分支与合并 什么是分支? 使用分支 创建分支 在分支上工作 分支背后的关键概念 在分支间拷贝修改 拷贝特定的修改 合并背后的关键概念 合并的最佳实践 手工追踪合并 预览合并 合并...

    SVN使用手册中文版.chm

    svn cleanup svn import 摘要 4. 分支与合并 什么是分支? 使用分支 创建分支 在分支上工作 分支背后的关键概念 在分支间拷贝修改 拷贝特定的修改 合并背后的关键概念 合并的最佳实践 手工追踪合并 预览合并 合并...

    svn 1.8.20

    - 定期清理工作副本:`svn cleanup`可清除临时文件和解除锁定。 - 定期备份版本库:防止数据丢失。 7. SVN与其他工具集成 SVN可以与各种IDE(如Eclipse、IntelliJ IDEA)和代码编辑器集成,提供内置的SVN操作。此外...

    svn命令行客户端

    同样,如果要在命令提示符(Windows的cmd或Linux/Mac的Terminal)中直接运行SVN命令,也需要安装这个客户端。 Apache-Subversion-1.9.7是这个压缩包的文件名,它很可能包含了SVN 1.9.7版本的源码或二进制文件。用户...

    一键清除SVN或CVS版本控制目录

    3. **使用命令行工具**:对于SVN,可以使用 `svn cleanup --remove-locks` 或 `rm -rf .svn` (在Unix/Linux系统中)来删除整个目录及其版本信息。对于CVS,`cvsdiff -r cvsroot` 或 `rm -rf .cvspserver` 可以达到...

    [Linux]安装,配置Subversion 1.4.5

    在日常使用中,Subversion提供了丰富的命令行工具,如`svn co`用于检出代码,`svn ci`用于提交更改,`svn up`用于更新本地代码等。通过与版本库的交互,开发人员可以有效地协同工作,避免冲突,追溯历史变更,以及...

    sqlite3 安装包

    SVN 是一个版本控制系统,用于管理软件项目的源代码,而 `svn cleanup` 是 SVN 提供的一个命令,用于清理工作副本,解除锁、清除临时文件等。当 `svn cleanup` 命令无法正常工作时,可能是由于某些文件被占用或损坏...

    shell如何模块化和复用——shell深入学习

    在IT行业中,shell脚本是Linux或Unix系统中不可或缺的一部分,它允许用户通过命令行界面自动化执行一系列操作。本文将深入探讨如何使shell脚本模块化和复用,以提高效率和可维护性。首先,我们需要理解模块化的概念...

    代替Vlookup的数据核对软件

    然而,随着数据量的增长,VLOOKUP可能会遇到效率问题,尤其是在需要进行复杂对比或者处理大型数据集时。因此,"代替Vlookup的数据核对软件"成为了解决这一问题的有效方案。本文将介绍一种名为Beyond Compare的专业...

    sqlite3完整版,亲测有效

    `svn clean up` 是用于解决工作副本中的各种问题,如清理丢失的锁定、修复损坏的符号链接等,这些操作都需要与SQLite3数据库交互,确保数据的一致性和完整性。 对于“亲测有效”,这意味着这个SQLite3版本已经在...

    shell中嵌套执行expect命令实例

    `expect`是一个Unix/Linux下的工具,用于自动化那些需要用户输入交互的程序,比如SSH登录、SCP文件传输、SVN更新等。在Shell脚本中结合使用`expect`,可以编写出更加智能和自动化的脚本,减少手动操作的繁琐。 首先...

    Linux系统安装Tomcat并配置Service启动关闭

    对于其他相关的话题,如VSCode远程调试Linux程序、配置多个SVN仓库、实现SSH免密登录、在Linux上配置JDK和Tomcat、Zabbix Agent的安装配置、VSCode在Windows下通过WSL进行C++开发的自动提示配置,以及Linux环境变量...

    Subversion版本库备份手册.rar

    9. **自动化备份**:为了确保不忘记备份,可以使用cron job(Linux)或Task Scheduler(Windows)设置自动备份脚本。 10. **版本库优化**:在备份之前,可能需要运行`svnadmin fs-cleanup`或`fs-replica`等命令优化...

    Centos开发环境配置手册.pdf

    Setting up repositories Reading repository metadata in from local files Installed Packages 4Suite.i386 1.0-8.b1 installed Canna.i386 3.7p3-13 installed Canna-devel.i386 3.7p3-13 installed ``` 2...

Global site tag (gtag.js) - Google Analytics