【开发工具】如何自动更新本地仓库代码(二)

简介: 【开发工具】如何自动更新本地仓库代码(二)
  • 为了保证windows本地一直有最新代码,可利用定时机制,定时从svn或git服务器更新代码,注意解决两个问题:定时、更新代码;


  • 第一篇文章【开发工具】如何自动更新本地仓库代码(一),中,已经探讨了在Windows系统和Linux系统下的定时机制,本文则主要关注于svn库具体的更新操作



svn库的更新


简单粗暴类型,直接update


这部分以windows系统为例来说明。


  • 使用svn命令


@echo off
@echo 1.svn.exe 安装tortoise的目录
set svn_exe=C:\Program Files\TortoiseSVN\bin\svn.exe
set svn_work=D:\PrjCode
"%svn_exe%" update "%svn_work%" --username "qxhgd" --password "pwd_for_qxhgd"


  • 使用TortoiseProc.exe命令


@echo off
@echo 1.svn_home 安装tortoise的目录
@echo 2.svn_work 更新项目文件的目录
set svn_home=C:\Program Files\TortoiseSVN\bin
set svn_work=D:\PrjCode
"%svn_home%"\TortoiseProc.exe/command:update /path:"%svn_work%" /notempfile /closeonend:1


根据本地代码的新旧情况决定是否更新


这部分以Linux系统为例来说明。


#!/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 -e "\033[0;31;40m need svn up \033[0m"
svn up
echo "svn up finish"
exit 1
else
echo -e "\033[0;38;40m no need svn up \033[0m"
exit 0
fi


  • 本文仅考虑了本地代码库存在的情况,实践中还可以根据本地代码库是否存在,来决定执行update抑或是co的动作;


  • 虽然分别以Windows为例或Linux为例,实际上稍微改下脚本,就可以互用(除了TortoiseProc.exe部分)。
相关文章
|
20天前
|
前端开发 JavaScript 开发工具
从零开始:构建、打包并上传个人前端组件库至私有npm仓库的完整指南
从零开始:构建、打包并上传个人前端组件库至私有npm仓库的完整指南
141 0
|
1月前
|
Java Shell 开发工具
git集成IDEA,托管项目实现版本管理
git集成IDEA,托管项目实现版本管理
31 0
|
3月前
vscode——devtools源码修改的内容如何和本地代码同步
vscode——devtools源码修改的内容如何和本地代码同步
38 4
|
机器学习/深度学习 人工智能 Java
《IDEA 2023常用插件安装与全局配置教程大全》——提升你的开发效率
《IDEA 2023常用插件安装与全局配置教程大全》——提升你的开发效率
1065 0
|
6月前
|
IDE 小程序 前端开发
1月开发者日回顾|IDE性能分析工具即将上线,lifetimes等多个自定义组件参数更新
1月开发者日回顾|IDE性能分析工具即将上线,lifetimes等多个自定义组件参数更新
103 11
|
XML Java 应用服务中间件
安装使用IDEA,修改样式,配置服务,构建Maven项目(超级详细版)
安装使用IDEA,修改样式,配置服务,构建Maven项目(超级详细版)
77 0
|
数据可视化 程序员 测试技术
Gitlab上手指南(六)|如何利用vscode工具快速的解决代码冲突
相信很多用git的程序员对于git冲突都很恐惧。当你项目马上要上线,测试让你把主分支的代码合并一下,要做一个回归测试,然后你合并的时候,一堆冲突代码,直接让你头皮发麻。到底应该处理哪一个冲突,哪一段代码
4668 1
|
存储 JavaScript 前端开发
针对 jar 和 vue 的一键自动化部署工具,界面友好,操作简单(已开源)2
针对 jar 和 vue 的一键自动化部署工具,界面友好,操作简单(已开源)2
|
消息中间件 JavaScript 小程序
针对 jar 和 vue 的一键自动化部署工具,界面友好,操作简单(已开源)
针对 jar 和 vue 的一键自动化部署工具,界面友好,操作简单(已开源)
|
网络安全 开发工具 数据安全/隐私保护
iOS开发 - 最简洁的用命令行提交代码到Github,加详细说明
iOS开发 - 最简洁的用命令行提交代码到Github,加详细说明
145 0
iOS开发 - 最简洁的用命令行提交代码到Github,加详细说明