first commit
This commit is contained in:
57
检查并修复Change-Id.sh
Normal file
57
检查并修复Change-Id.sh
Normal file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 检查并修复重复的 Change-Id
|
||||
|
||||
echo "=========================================="
|
||||
echo "检查 Change-Id 重复问题"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
cd /d/zhini/zhini_im || exit 1
|
||||
|
||||
# 1. 检查所有提交的 Change-Id
|
||||
echo "步骤 1: 检查所有提交的 Change-Id..."
|
||||
echo ""
|
||||
|
||||
# 找出所有 Change-Id
|
||||
git log --format='%H' | while read commit; do
|
||||
changeid=$(git log -1 --format='%B' "$commit" | grep "^Change-Id:" | head -1 | cut -d' ' -f2)
|
||||
if [ -n "$changeid" ]; then
|
||||
echo "$commit $changeid"
|
||||
else
|
||||
echo "$commit MISSING"
|
||||
fi
|
||||
done > /tmp/all_changeids.txt
|
||||
|
||||
# 检查重复的
|
||||
echo "步骤 2: 查找重复的 Change-Id..."
|
||||
DUPLICATES=$(cat /tmp/all_changeids.txt | awk '{print $2}' | sort | uniq -d)
|
||||
|
||||
if [ -z "$DUPLICATES" ]; then
|
||||
echo "✅ 没有发现重复的 Change-Id"
|
||||
else
|
||||
echo "⚠️ 发现重复的 Change-Id:"
|
||||
echo "$DUPLICATES"
|
||||
echo ""
|
||||
echo "这些提交使用了相同的 Change-Id:"
|
||||
for dup in $DUPLICATES; do
|
||||
echo ""
|
||||
echo "Change-Id: $dup"
|
||||
grep " $dup$" /tmp/all_changeids.txt | awk '{print " Commit: " $1}'
|
||||
done
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "步骤 3: 统计信息..."
|
||||
TOTAL=$(git rev-list --count HEAD)
|
||||
WITH_CHANGEID=$(cat /tmp/all_changeids.txt | grep -v "MISSING" | wc -l)
|
||||
MISSING=$(cat /tmp/all_changeids.txt | grep "MISSING" | wc -l)
|
||||
|
||||
echo "总提交数: $TOTAL"
|
||||
echo "有 Change-Id: $WITH_CHANGEID"
|
||||
echo "缺少 Change-Id: $MISSING"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/all_changeids.txt
|
||||
|
||||
|
||||
Reference in New Issue
Block a user