mirror of https://github.com/Cisco-Talos/clamav
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.3 KiB
33 lines
1.3 KiB
#!/bin/sh
|
|
# Merge upstream LLVM from git-svn mirror
|
|
set -e
|
|
rm -f .git/info/grafts
|
|
touch .git/info/grafts
|
|
echo "Creating grafts for llvm-upstream"
|
|
|
|
REPONAME=llvm
|
|
REFPFX=refs/tags/merge-$REPONAME-
|
|
UPSTREAM=$REPONAME-upstream/release-2.8
|
|
git for-each-ref $REFPFX* --format='%(refname)' | while read tag_ref
|
|
do
|
|
tag_svn_ref=`echo $tag_ref|sed -e s\|$REFPFX\|\|`
|
|
upstream_ref=`git log $UPSTREAM -1 --grep=trunk@$tag_svn_ref --format=format:%H`
|
|
local_ref=`git rev-parse $tag_ref`
|
|
local_parent_ref=`git rev-parse $tag_ref^`
|
|
git branch --contains $local_ref | grep '*' >/dev/null ||
|
|
{ echo "branch has been rebased, tag is on branch: `git branch --contains $local_ref`"; exit 1;}
|
|
echo "$local_ref $local_parent_ref $upstream_ref" >>.git/info/grafts
|
|
done
|
|
echo "Merging llvm-upstream"
|
|
MERGEREV=`git log $UPSTREAM -1 |grep /release_28@|sed -s 's/.*@\([0-9]*\).*/\1/'`
|
|
echo "$MERGEREV"
|
|
git merge -s subtree --squash llvm-upstream/release-2.8
|
|
|
|
echo "Run strip-llvm.sh from libclamav/c++"
|
|
echo "Then fix conflicts if needed: git mergetool"
|
|
echo "Then commit the result and tag it: git commit && git tag merge-llvm-$MERGEREV"
|
|
echo "Then remove the grafts: rm .git/info/grafts"
|
|
# && git commit || {
|
|
# echo "Merge failed: resolve conflicts and run: git tag merge-llvm-$MERGEREV && rm .git/info/grafts"; exit 1;}
|
|
# git tag merge-llvm-$MERGEREV
|
|
# rm .git/info/grafts
|
|
|