mirror of
https://github.com/netdata/libbpf.git
synced 2026-04-04 23:59:07 +08:00
sync: extract directory changing function
Extract the logic of handling relative paths within the script into go_to() function. Signed-off-by: Andrii Nakryiko <andriin@fb.com>
This commit is contained in:
committed by
Andrii Nakryiko
parent
342bcfa319
commit
97ecda3b25
@@ -44,6 +44,11 @@ LIBBPF_TREE_FILTER+="git rm --ignore-unmatch -f __libbpf/src/{Makefile,Build,tes
|
|||||||
WORKDIR=$(pwd)
|
WORKDIR=$(pwd)
|
||||||
trap "cd ${WORKDIR}; exit" INT TERM EXIT
|
trap "cd ${WORKDIR}; exit" INT TERM EXIT
|
||||||
|
|
||||||
|
cd_to()
|
||||||
|
{
|
||||||
|
cd ${WORKDIR} && cd "$1"
|
||||||
|
}
|
||||||
|
|
||||||
echo "WORKDIR: ${WORKDIR}"
|
echo "WORKDIR: ${WORKDIR}"
|
||||||
echo "LINUX REPO: ${LINUX_REPO}"
|
echo "LINUX REPO: ${LINUX_REPO}"
|
||||||
echo "LIBBPF REPO: ${LIBBPF_REPO}"
|
echo "LIBBPF REPO: ${LIBBPF_REPO}"
|
||||||
@@ -52,7 +57,7 @@ SUFFIX=$(date --utc +%Y-%m-%dT%H-%M-%S.%3NZ)
|
|||||||
BASELINE_COMMIT=${3-$(cat ${LIBBPF_REPO}/CHECKPOINT-COMMIT)}
|
BASELINE_COMMIT=${3-$(cat ${LIBBPF_REPO}/CHECKPOINT-COMMIT)}
|
||||||
|
|
||||||
# Use current kernel repo HEAD as a source of patches
|
# Use current kernel repo HEAD as a source of patches
|
||||||
cd ${LINUX_REPO}
|
cd_to ${LINUX_REPO}
|
||||||
TIP_SYM_REF=$(git symbolic-ref -q --short HEAD || git rev-parse HEAD)
|
TIP_SYM_REF=$(git symbolic-ref -q --short HEAD || git rev-parse HEAD)
|
||||||
TIP_COMMIT=$(git rev-parse HEAD)
|
TIP_COMMIT=$(git rev-parse HEAD)
|
||||||
BASELINE_TAG=libbpf-baseline-${SUFFIX}
|
BASELINE_TAG=libbpf-baseline-${SUFFIX}
|
||||||
@@ -97,9 +102,9 @@ for LIBBPF_NEW_MERGE in ${LIBBPF_NEW_MERGES}; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
cd ${WORKDIR} && cd ${LIBBPF_REPO}
|
cd_to ${LIBBPF_REPO}
|
||||||
git log --oneline -n500 > ${TMP_DIR}/libbpf_commits.txt
|
git log --oneline -n500 > ${TMP_DIR}/libbpf_commits.txt
|
||||||
cd ${WORKDIR} && cd ${LINUX_REPO}
|
cd_to ${LINUX_REPO}
|
||||||
|
|
||||||
LIBBPF_NEW_COMMITS=$(git rev-list --no-merges --topo-order --reverse ${BASELINE_TAG}..${TIP_TAG} ${LIBBPF_PATHS[@]})
|
LIBBPF_NEW_COMMITS=$(git rev-list --no-merges --topo-order --reverse ${BASELINE_TAG}..${TIP_TAG} ${LIBBPF_PATHS[@]})
|
||||||
for LIBBPF_NEW_COMMIT in ${LIBBPF_NEW_COMMITS}; do
|
for LIBBPF_NEW_COMMIT in ${LIBBPF_NEW_COMMITS}; do
|
||||||
@@ -142,7 +147,7 @@ git format-patch ${SQUASH_BASE_TAG}..${SQUASH_TIP_TAG} --cover-letter -o ${TMP_D
|
|||||||
git format-patch ${SQUASH_BASE_TAG}..${SQUASH_TIP_TAG} --stdout > ${TMP_DIR}/patchset.patch
|
git format-patch ${SQUASH_BASE_TAG}..${SQUASH_TIP_TAG} --stdout > ${TMP_DIR}/patchset.patch
|
||||||
|
|
||||||
# Now is time to re-apply libbpf-related linux patches to libbpf repo
|
# Now is time to re-apply libbpf-related linux patches to libbpf repo
|
||||||
cd ${WORKDIR} && cd ${LIBBPF_REPO}
|
cd_to ${LIBBPF_REPO}
|
||||||
git checkout -b ${LIBBPF_SYNC_TAG}
|
git checkout -b ${LIBBPF_SYNC_TAG}
|
||||||
git am --committer-date-is-author-date ${TMP_DIR}/patchset.patch
|
git am --committer-date-is-author-date ${TMP_DIR}/patchset.patch
|
||||||
|
|
||||||
@@ -164,14 +169,14 @@ echo "SUCCESS! ${COMMIT_CNT} commits synced."
|
|||||||
|
|
||||||
echo "Verifying Linux's and Github's libbpf state"
|
echo "Verifying Linux's and Github's libbpf state"
|
||||||
|
|
||||||
cd ${WORKDIR} && cd ${LINUX_REPO}
|
cd_to ${LINUX_REPO}
|
||||||
LINUX_ABS_DIR=$(pwd)
|
LINUX_ABS_DIR=$(pwd)
|
||||||
git checkout -b ${VIEW_TAG} ${TIP_COMMIT}
|
git checkout -b ${VIEW_TAG} ${TIP_COMMIT}
|
||||||
git filter-branch -f --tree-filter "${LIBBPF_TREE_FILTER}" ${VIEW_TAG}^..${VIEW_TAG}
|
git filter-branch -f --tree-filter "${LIBBPF_TREE_FILTER}" ${VIEW_TAG}^..${VIEW_TAG}
|
||||||
git filter-branch -f --subdirectory-filter __libbpf ${VIEW_TAG}^..${VIEW_TAG}
|
git filter-branch -f --subdirectory-filter __libbpf ${VIEW_TAG}^..${VIEW_TAG}
|
||||||
git ls-files -- ${LIBBPF_VIEW_PATHS[@]} > ${TMP_DIR}/linux-view.ls
|
git ls-files -- ${LIBBPF_VIEW_PATHS[@]} > ${TMP_DIR}/linux-view.ls
|
||||||
|
|
||||||
cd ${WORKDIR} && cd ${LIBBPF_REPO}
|
cd_to ${LIBBPF_REPO}
|
||||||
GITHUB_ABS_DIR=$(pwd)
|
GITHUB_ABS_DIR=$(pwd)
|
||||||
git ls-files -- ${LIBBPF_VIEW_PATHS[@]} | grep -v -E "${LIBBPF_VIEW_EXCLUDE_REGEX}" > ${TMP_DIR}/github-view.ls
|
git ls-files -- ${LIBBPF_VIEW_PATHS[@]} | grep -v -E "${LIBBPF_VIEW_EXCLUDE_REGEX}" > ${TMP_DIR}/github-view.ls
|
||||||
|
|
||||||
@@ -185,10 +190,10 @@ echo "Contents appear identical!"
|
|||||||
|
|
||||||
echo "Cleaning up..."
|
echo "Cleaning up..."
|
||||||
rm -r ${TMP_DIR}
|
rm -r ${TMP_DIR}
|
||||||
cd ${WORKDIR} && cd ${LINUX_REPO}
|
cd_to ${LINUX_REPO}
|
||||||
git checkout ${TIP_SYM_REF}
|
git checkout ${TIP_SYM_REF}
|
||||||
git branch -D ${BASELINE_TAG} ${TIP_TAG} ${SQUASH_BASE_TAG} ${SQUASH_TIP_TAG} ${VIEW_TAG}
|
git branch -D ${BASELINE_TAG} ${TIP_TAG} ${SQUASH_BASE_TAG} ${SQUASH_TIP_TAG} ${VIEW_TAG}
|
||||||
|
|
||||||
cd ${WORKDIR}
|
cd_to .
|
||||||
echo "DONE."
|
echo "DONE."
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user