xfs
[Top] [All Lists]

[PATCH] xfsprogs: simplify patch naming in libxfs-commit

To: xfs-oss <xfs@xxxxxxxxxxx>
Subject: [PATCH] xfsprogs: simplify patch naming in libxfs-commit
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Thu, 02 Jul 2015 22:39:44 -0500
Delivered-to: xfs@xxxxxxxxxxx
Git already knows how to create a patch name from a commit,
no need to re-invent it with cats walking on keyboards,
entering obfuscated sed contests.  ;)

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
---

Untested, TBH - at least as part of the script.

The git command works on its own, given a commit id.

diff --git a/tools/libxfs-apply b/tools/libxfs-apply
index 4a8c8a6..09e8f40 100755
--- a/tools/libxfs-apply
+++ b/tools/libxfs-apply
@@ -223,26 +223,6 @@ apply_patch()
        rm -f $_new_patch
 }
 
-# name a guilt patch. Code is lifted from guilt import-commit.
-name_patch()
-{
-       s=`git log --no-decorate --pretty=oneline -1 $1 | cut -c 42-`
-
-       # Try to convert the first line of the commit message to a
-       # valid patch name.
-       fname=`printf %s "$s" |  \
-                       sed -e "s/&/and/g" -e "s/[ :]/_/g" -e "s,[/\\],-,g" \
-                           -e "s/['\\[{}]//g" -e 's/]//g' -e 's/\*/-/g' \
-                           -e 's/\?/-/g' -e 's/\.\.\.*/./g' -e 's/^\.//' \
-                           -e 's/\.patch$//' -e 's/\.$//' | tr A-Z a-z`
-
-       # Try harder to make it a legal commit name by
-       # removing all but a few safe characters.
-       fname=`echo $fname|tr -d -c _a-zA-Z0-9---/\\n`
-
-       echo $fname
-}
-
 # single patch is easy.
 if [ -z "$COMMIT_ID" ]; then
        apply_patch $PATCH
@@ -274,7 +254,7 @@ for commit in $commit_list; do
        # switch to source repo and pull commit into a patch file
        pushd $REPO > /dev/null
        git show $commit > $PATCH || usage "Bad source commit ID!"
-       patch_name=`name_patch $commit`
+       patch_name=`git log --format=format:"%f.patch" -1 $commit`
        popd > /dev/null
 
        apply_patch $PATCH $patch_name $commit

<Prev in Thread] Current Thread [Next in Thread>