{"thread":{"id":"3263","subject":"[PATCH 1/3] cg-commit: Move author picking to cg-Xlib","startedAt":"2006-02-07T22:44:19Z","lastAt":"2006-02-07T22:44:19Z","messageCount":1,"participants":["Jonas Fonseca"],"isPatch":true,"patchVersion":1,"patchTotal":3},"messages":[{"id":"15697","messageId":"20060207224419.GA24790@diku.dk","threadId":"3263","inReplyTo":null,"subject":"[PATCH 1/3] cg-commit: Move author picking to cg-Xlib","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2006-02-07T22:44:19Z","receivedAt":"2006-02-07T22:44:19Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Adds pick_author utility function to cg-Xlib that uses the author line from\ngit-cat-file output to print a string that sets the GIT_AUTHOR_* env\nvariables. This string should then be eval'd by the caller.\n\nSigned-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\ncommit 5095aca7013d87ccdb08dad20a9fb93d7465d33d\ntree 9ec064a96718b937d373769c52d830b8c3a6daca\nparent d3cabc9974357947eac035d613557d4318b85f9f\nauthor Jonas Fonseca <fonseca@diku.dk> Tue, 07 Feb 2006 23:05:19 +0100\ncommitter Jonas Fonseca <fonseca@antimatter.localdomain> Tue, 07 Feb 2006 23:05:19 +0100\n\n cg-Xlib   |   26 ++++++++++++++++++++++++++\n cg-commit |   28 +---------------------------\n 2 files changed, 27 insertions(+), 27 deletions(-)\n\ndiff --git a/cg-Xlib b/cg-Xlib\nindex 308d798..e17c82f 100644\n--- a/cg-Xlib\n+++ b/cg-Xlib\n@@ -236,6 +236,32 @@ list_untracked_files()\n \tgit-ls-files -z --others $listdirs \"${EXCLUDE[@]}\"\n }\n \n+pick_author()\n+{\n+\tlocal pick_author_script='\n+\t\t/^author /{\n+\t\t\ts/'\\''/'\\''\\\\'\\'\\''/g\n+\t\t\th\n+\t\t\ts/^author \\([^<]*\\) <[^>]*> .*$/\\1/\n+\t\t\ts/'\\''/'\\''\\'\\'\\''/g\n+\t\t\ts/.*/export GIT_AUTHOR_NAME='\\''&'\\''/p\n+\n+\t\t\tg\n+\t\t\ts/^author [^<]* <\\([^>]*\\)> .*$/\\1/\n+\t\t\ts/'\\''/'\\''\\'\\'\\''/g\n+\t\t\ts/.*/export GIT_AUTHOR_EMAIL='\\''&'\\''/p\n+\n+\t\t\tg\n+\t\t\ts/^author [^<]* <[^>]*> \\(.*\\)$/\\1/\n+\t\t\ts/'\\''/'\\''\\'\\'\\''/g\n+\t\t\ts/.*/export GIT_AUTHOR_DATE='\\''&'\\''/p\n+\n+\t\t\tq\n+\t\t}\n+\t'\n+\tLANG=C LC_ALL=C sed -ne \"$pick_author_script\"\n+}\n+\n # Usage: showdate SECONDS TIMEZONE [FORMAT]\n # Display date nicely based on how GIT stores it.\n # Save the date to $_showdate\ndiff --git a/cg-commit b/cg-commit\nindex e5e98b4..06ab0c0 100755\n--- a/cg-commit\n+++ b/cg-commit\n@@ -276,33 +276,7 @@ for msg in \"${msgs[@]}\"; do\n done\n \n if [ \"$copy_commit\" ]; then\n-\tpick_author_script='\n-\t\t/^author /{\n-\t\t\ts/'\\''/'\\''\\\\'\\'\\''/g\n-\t\t\th\n-\t\t\ts/^author \\([^<]*\\) <[^>]*> .*$/\\1/\n-\t\t\ts/'\\''/'\\''\\'\\'\\''/g\n-\t\t\ts/.*/GIT_AUTHOR_NAME='\\''&'\\''/p\n-\n-\t\t\tg\n-\t\t\ts/^author [^<]* <\\([^>]*\\)> .*$/\\1/\n-\t\t\ts/'\\''/'\\''\\'\\'\\''/g\n-\t\t\ts/.*/GIT_AUTHOR_EMAIL='\\''&'\\''/p\n-\n-\t\t\tg\n-\t\t\ts/^author [^<]* <[^>]*> \\(.*\\)$/\\1/\n-\t\t\ts/'\\''/'\\''\\'\\'\\''/g\n-\t\t\ts/.*/GIT_AUTHOR_DATE='\\''&'\\''/p\n-\n-\t\t\tq\n-\t\t}\n-\t'\n-\tset_author_env=\"$(git-cat-file commit \"$copy_commit\" |\n-\t                  LANG=C LC_ALL=C sed -ne \"$pick_author_script\")\"\n-\teval \"$set_author_env\"\n-\texport GIT_AUTHOR_NAME\n-\texport GIT_AUTHOR_EMAIL\n-\texport GIT_AUTHOR_DATE\n+\teval \"$(git-cat-file commit \"$copy_commit\" | pick_author)\"\n \tgit-cat-file commit \"$copy_commit\" | sed -e '1,/^$/d'\n         written=1\n fi >>\"$LOGMSG\"\n\n-- \nJonas Fonseca\n"}]}