Linux 根据提交记录生成补丁及新旧文件对比

news/2024/9/23 11:17:48/
#!/bin/bash#解决/bin/bash^M: bad interpreter: Text file busy
#sed -i 's/\r$//' test1.shCMD1=$1
CMD2=$2
CMD3=$3
echo "CMD1 > $CMD1"
echo "CMD2 > $CMD2"
echo "CMD3 > $CMD3"
# 运行时的入参 CMD1提交记录1  CMD2提交记录2 CMD3输出目录 ../diff/$CMD3if [ "$CMD1" == "" ];thenecho "<<<<<<<<<<<<<<<<<<<<<< error"exit 0
fiif [ "$CMD2" == "" ];thenecho "<<<<<<<<<<<<<<<<<<<<<< error"exit 0
fiif [ "$CMD3" == "" ];thenCMD3="supplier"
fimkdir -p ../diff/$CMD3/old
mkdir -p ../diff/$CMD3/new
echo "mkdir"git log $CMD1 -1 --name-only |grep '/'| awk '{print $1}' > ../diff/list.txt
# 查看$CMD1提交记录的文件列表xargs -a ../diff/list.txt cp --parents -t ../diff/$CMD3/old
xargs -a ../diff/list.txt cp --parents -t ../diff/$CMD3/new
echo "cp files"git diff $CMD2 $CMD1 > ../diff/$CMD3/list.diff
echo "new list.diff"
# 根据$CMD1提交记录对比前一条提交记录$CMD2生成差异文件cd ../diff/$CMD3/old
patch -R -p1 <../list.diff
echo "patch list.diff"
# 打补丁echo "<<<<<<<<<<<<<<<<<<<<<< finish"
exit 0

根据两个提交记录CMD1和CMD2生成差异文件list.diff,并根据CMD1的修改文件列表复制修改前的文件到old目录,修改后的文件到new目录

参考链接:

git导出差异文件及目录结构 - 我是橘子 - 博客园 (cnblogs.com)


http://www.ppmy.cn/news/1445666.html

相关文章

代码随想录算法训练营第五十六天|583.两个字符串的删除操作、72.编辑距离

文档链接&#xff1a;https://programmercarl.com/ LeetCode583.两个字符串的删除操作 题目链接&#xff1a;https://leetcode.cn/problems/delete-operation-for-two-strings/ 思路&#xff1a;dp[i][j]&#xff1a;使以i-1为尾的word1和以j-1为尾的word2相同的最小步数 当…

StarRocks x Paimon 构建极速实时湖仓分析架构实践

Paimon 介绍 Apache Paimon 是新一代的湖格式&#xff0c;可以使用 Flink 和 Spark 构建实时 Lakehouse 架构&#xff0c;以进行流式处理和批处理操作。Paimon 创新性地使用 LSM&#xff08;日志结构合并树&#xff09;结构&#xff0c;将实时流式更新引入 Lakehouse 架构中。 …

Django-admin组件

Django-admin组件 admin是django中提供的一套可视化工具&#xff1a;用于对ORM中定义的表进行增删改查。 1 概览 在django项目启动时&#xff0c;自动找到注册到admin中的所有model中定义的类&#xff0c;然后为这些类生成一系列的URL和视图函数&#xff0c;实现基本增删改查…

FR-TSN4206获得“时间敏感网络产业链名录计划”测试认证证书,TSN交换机助力智能工业发展

TSN技术&#xff0c;即时间敏感网络技术&#xff0c;已成为智能工业、自动驾驶等领域的核心。它通过时钟同步、数据调度等功能&#xff0c;确保低延迟、高可靠性的数据传输。 为推动TSN技术在我国的发展&#xff0c;工业互联网产业联盟联合多家单位启动了“时间敏感网络产业链名…

第三十章:docker如何部署openresty

docker如何部署openresty 目标 了解docker 中volumes数据卷的读写控制通过 openresty 配置掌握挂载nginx.confOpenResty OpenResty(又称ngx_openresty)是一个基于Nginx的可伸缩的Web平台,由中国人章亦春发起。它利用了Nginx模块化、可扩展的特性,开发了一系列的增强模块,…

24考研双非上岸武汉理工大学电子信息专硕,855考研经验

目录 一、考研择校经验 二、武理考研初试经验 三、武理考研复试经验 一、考研择校经验 我建议学弟学妹们确定院校时没必要一上来就说我一定要考某个院校。其实考哪个学校是要在考研备考的过程中慢慢探索&#xff0c;慢慢研究的&#xff0c;不过最晚9月初一定要确定院校了&a…

[C++][算法基础]整数划分(统计动态规划)

一个正整数 &#x1d45b; 可以表示成若干个正整数之和&#xff0c;形如&#xff1a;&#x1d45b;&#x1d45b;1&#x1d45b;2…&#x1d45b;&#x1d458;&#xff0c;其中 &#x1d45b;1≥&#x1d45b;2≥…≥&#x1d45b;&#x1d458;,&#x1d458;≥1。 我们将这…

# 谷歌 Chrome 浏览器无法安装插件的解决方法

谷歌 Chrome 浏览器无法安装插件的解决方法 运用开发模式安装 安装步骤&#xff1a; 1、 将 XX.crx 插件的扩展名改成 .zip 或者 .rar 并解压到文件夹 XX 目录。 1&#xff09;如&#xff1a;下载的 前端框架 vue.js 插件 nhdogjmejiglipccpnnnanhbledajbpd-6.6.1-Crx4Chro…