基于go文件同步工具的升级迭代

介绍

同样,该工具适用于多个项目不同版本的维护,文件更新和新增的同步(自动创建目录),支持自动提交svn。

升级迭代

之前的文件同步工具,依赖chrome和http包,有时候js加载页面不太稳定,所以有空闲就升级迭代。
新版本用的跨平台 GUI 工具包fyne.io/fyne, 提供了各种控件和布局等,很齐全,基本要用的都能找到,也有提供demo指导和借鉴使用,具体看包文档。

同步机制

同步多个目标项目时,以目标项目对应文件的md5为基准,如果都一样,只会随机其中一个目标项目调起工具对比一次,而其它目标项目则以对比后的文件内容覆盖式同步,减少多次调起繁琐操作。
当然也存在版本文件不同,则会调起每个目标项目文件对比,支持同个文件同步到不同版本的差异化。

工具链接

gitee: https://gitee.com/toegg/file_sync

github: https://github.com/toegg/sync_file

展示

ui界面
ui界面


错误提示弹框

错误提示

前提

  1. 下载安装BeyondCompare对比工具,工具请自行下载;

  2. 下载安装svn,并支持控制台命令操作(windows下控制台输入svn不提示错误),不需要提交svn可忽略该点;

注意:工具只支持window下使用,linux下需要重新打包即可

配置文件

配置文件conf.ini
  • 在配置文件中[files]下添加对应的项目目录
格式:"项目名" = "项目路径"
例子:"test1" = "D:\golearn\src\file_sync\etest\test_sync1"
     "test2" = "D:\golearn\src\file_sync\etest\test_sync2"
  • 在配置文件中[ext_open]下可添加允许同步的后缀名
放开可同步的后缀名文件,多个用|隔开
格式:"ext_open_list" = ".xxx|.xxx|.xxx"
例子:"ext_open_list" = ".go|.txt|.sql"
  • 在配置文件中[others]下配置BeyondCompare工具绝对路径
格式:"beyond_path" = "路径"
例子:"beyond_path" = "F:\compare\Beyond CompareHA\BeyondCompare\BCompare.exe"

使用方法

启动exe,会显示gui界面,自动加载配置的项目列表
 1.左侧栏上方select下拉框,选择对应的源项目,默认选第一个
 2.左侧栏中间的svn自动提交框,可勾选并填写svn提交备注,同步后会自动提交svn
 3.左侧栏下方input框,输入所需同步的文件名,不需要带目录,文件跟文件之间需换行,如下:
   test.go
   test.txt
   test.sql
 4.勾选右侧栏所需要同步的目标项目
 5.点击开始同步按钮即可
 6.有差异的会打开对比工具对比,对比完成后点关闭则继续往下执行程序
 7.同步结束后右上角关闭即可

注意:勾选提交svn,需要提交时间,会在log端有相关提交输出和错误提示,完成会输出"此次操作已结束"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/219764.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cannot find module ‘node:url‘报错处理

在运行vite搭建的项目时,遇到Cannot find module node:url’报错。具体错误如图所示: 造成以上问题的原因是node版本较低。Vite 需要 Node.js 版本 14.18,16。 解决方案: 上面是通过nvm切换高版本node。 再次执行运行命令&…

一个完整的转录组分析流程

本期的教程代码(部分) #!/bin/bash # # 使用fastq-dump解压sra数据 # 本数据集为双端数据 # 解压格式为fq.gz for i in SRR6929571 SRR6929572 SRR6929573 SRR6929574 SRR6929577 SRR6929578; do pfastq-dump --split-files --threads 20 --gzip -s 00_…

iview Table实现跨页勾选记忆功能以及利用ES6的Map数据结构实现根据id进行对象数组的去重

因为iview Table组件的勾选是选中当前页的所有数据,当我们切到别的页面时,会发送请求给后端,这个时候就会刷新我们之前页码已经选中的数据。现在有个需求就是,在我们选择不同页码的数据勾选中之后,实现跨页勾选记忆功能,就是说已经打钩了的数据,不管切到哪一页它都是打钩…

leetcode115.从中序与后序遍历序列构造二叉树,手把手带你构造二叉树(新手向)

构造二叉树是树问题中的难点(相对于遍历二叉树),一开始做的读者会感觉无从下手,这道题在训练营专栏里讲过,是四道题一起讲的,但是现在看来讲的并不全面、具体,所以想单独出一期再来讲一下如何构…

友菜友饭携手分众传媒,打造私厨到家生活新风尚

友菜友饭携手分众传媒 11月29日,友菜友饭与分众传媒签署战略合作协议,在全国重点城市全面引爆品牌力,携手打造全国领先的互联网数字化私厨平台,为中国5亿城市家庭解锁私厨到家服务新体验。 友菜友饭是全国领先的私厨到家平台&…

元宇宙红色展厅VR虚拟展馆提高受训者的参与感

生活在和平年代的新一代青少年,可能对革命先烈英勇事迹难以有很深的体会,无法切实感受到中国共产党无畏牺牲、誓死保家卫国的红色精神,因此借助VR虚拟现实制作技术,让参观者们走近革命先烈中,感受老一辈无产阶级革命家…

三、DVP摄像头调试笔记(图片成像质量微调整,非ISP)

说明:当前调试仅仅用来测试和熟悉部分摄像头寄存器模式 一、图片成像方向控制,基本每个摄像头都会有上下左右翻转寄存器 正向图片 反向图片 二、设置成像数据成各种颜色,(黑白/原彩/黄色等等) 在寄存器书册描述中…

低代码/无代码火热的缘由

目录 一、如何解决这个问题? (1)概念 (2)技术与产品 二、低代码究竟有没有用? 1.轻松解决企业复杂业务流程 2.强大接口引擎打破数据孤岛 3.最大限度满足企业个性化需求 4.有效把握控制开发效率成本 三、结语…

Hadoop学习笔记(HDP)-Part.17 安装Spark2

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

图数据库知识点9 | 大数据框架与图数据架构异同

开门见山,直奔主题,接续前面的知识点: 【图数据库知识点1|图数据库与关系型数据库的区别?】 【图数据库知识点2 | 图思维方式】 【图数据库知识点3 | 图数据库解决了什么问题?】 【图数据库知识点4 | 图计算与图数…

Java基础数据类型

Java有八种基础的数据类型,它们被分为两个主要的类别:原始类型和引用类型。原始类型又被分为四类:整型、浮点型、字符型和布尔型。 整型(Integral Types): 这些类型用于存储整数。它们包括: ○…

Python 数据清洗库详解

更多资料获取 📚 个人网站:ipengtao.com 数据清洗是数据处理过程中至关重要的一部分。Python拥有许多强大的库,用于数据清洗和预处理,使得数据分析人员能够有效处理、转换和清洗数据。本文将介绍几个最常用的Python库&#xff0c…

git常用命令指南

目录 一、基本命令 1、创建分支 2、切换分支 3、合并分支 4、初始化空git仓库 二、文件操作 1、创建文件 2、添加多个文件 3、查看项目的当前状态 4、修改文件 5、删除文件 6、提交项目 三、实际操作 1、创建目录 2、进入新目录 3、初始化空git仓库 4、创建文…

【android开发-15】android中广播broadcast用法详解

1,broadcast类型 在Android中,Broadcast是一种用于在应用程序组件之间传递消息的机制。它允许一个组件(发送者)将消息发送给其他组件(接收者),即使它们之间不存在直接的联系。 Android中的Bro…

耦合与内聚:软件设计中的黄金平衡

目录 1. 耦合(Coupling)的本质 1.1 强耦合与弱耦合 2. 内聚(Cohesion)的价值 2.1 任务内聚与数据内聚 3. 耦合与内聚的平衡 3.1 黄金平衡的追求 3.2 设计原则与模式的应用 4. 实际案例分析 5. 总结与展望 在软件设计的世界…

深入理解Java核心技术:Java工程师的实用干货笔记

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在Java工程师的职业生涯中,深入理解…

项目中枚举的进阶用法(携带Java原理分析)

目录 1 枚举的普通用法1.1 无参1.2 单个参数1.3 两个参数 2 枚举的进阶用法(核心)2.1 优化2.1.1 需要改造的代码2.1.2 直接使用泛型2.1.3 使用反射---Class2.1.4 反射泛型 2.2 最终效果2.3 思考:类型擦除 遇到项目中这样一种写法,…

2023五岳杯量子计算挑战赛A题B题C题思路+模型+代码+论文

赛题思路:12月6日晚开赛后第一时间更新,获取见文末名片 “五岳杯”量子计算挑战赛,是国内专业的量子计算大赛,也是玻色量子首次联合移动云、南方科技大学共同发起的一场“企校联名”的国际竞赛,旨在深度融合“量子计算…

第二节JavaScript 语法、语句、注释、变量、数据类型等

一、JavaScript语法 1、JavaScript字面量 数字(Number)字面量:可以是整数或者是小数、或者是科学计数。 如:3.14 、1001 、123e5 字符串(String)字面量:可以使用单引号或双引号。 例如&…

2023年文章生成器推荐

2023年即将结束,今年可以说是大语言模型独领风骚的一年,对于内容创作来说,文章生成类的工具也发生了变化。今天给大伙介绍一些超赞的免费文章生成器,让你在内容创作的路上事半功倍。有了这些神奇的工具,你将能够轻松应…