From e182717c8e468a4bbf811bd7a5c253151ad85cae Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Wed, 20 Mar 2013 16:01:54 +1100 Subject: [PATCH] create branches for each bit of akpm's tree --- import-akpm | 63 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/import-akpm b/import-akpm index be33c66..d206e7a 100755 --- a/import-akpm +++ b/import-akpm @@ -14,52 +14,77 @@ execute() [ ${PIPESTATUS[0]} -eq 0 ] || $SHELL -i || exit 1 } -name="akpm" mmotm="../../mmotm/text" sfile="$mmotm/series" cpwd=$(pwd) base=$(sed -n '1s/^GIT *\([^ ]*\).*$/\1/p' "$mmotm/broken-out/origin.patch") nbase=$(sed -n '1s/^GIT *\([^ ]*\).*$/\1/p' "$mmotm/broken-out/linux-next.patch") -log "Importing $name based on $base/$nbase" git rev-parse --verify "$base" >/dev/null || { - log "Unknown origin BASE" + log "Unknown origin BASE $base" exit 1 } git rev-parse --verify "$nbase" >/dev/null || { - log "Unknown linux-next BASE" + log "Unknown linux-next BASE $nbase" exit 1 } +db=$(git describe "$base") +dnb=$(git describe --contains "$nbase") +log "Importing akpm based on $db/$dnb" [ -d "../quilt-tmp" ] || execute git clone -s -l -n -q . ../quilt-tmp log '$' cd ../quilt-tmp cd ../quilt-tmp -execute git reset --hard "$base" -git branch current-base +execute git checkout -b akpm/master "$db" +git branch akpm/current-base -sed_exp='/NEXT_PATCHES_START/,/NEXT_PATCHES_END/{s/[ \t]*#.*$//;/^[ \t]*$/!p;};/^linux-next.patch/p' +sed_exp=' +/NEXT_PATCHES_START/,/NEXT_PATCHES_END/{ + s/[ \t]*#.*NEXT_PATCHES_START[ \t]*\([^ \t]*\).*$/>\1/ + s/[ \t]*#.*NEXT_PATCHES_END.*$/*) + cbranch="${f#>}" + [ "$cbranch" ] && + cref="$(git rev-parse --verify HEAD)" + ;; + \<) + [ "$cbranch" ] && { + [ "$cref" != "$(git rev-parse --verify HEAD)" ] && + git branch -f "akpm/$cbranch" + cbranch="" + } + ;; + *) + execute git am --patch-format=mbox "$mmotm/broken-out/$f" + ;; + esac done +[ "$cbranch" ] && + [ "$cref" != "$(git rev-parse --verify HEAD)" ] && + git branch -f "akpm/$cbranch" + log '$' cd $cpwd cd $cpwd -execute git fetch -f ../quilt-tmp current:"$name/current" -execute git fetch -f ../quilt-tmp current-base:"$name/current-base" -execute git fetch -f ../quilt-tmp master:"$name/master" -execute git fetch -f ../quilt-tmp master-base:"$name/master-base" +execute git fetch akpm rm -rf ../quilt-tmp -- 2.39.2