* [PATCH 1/3] cg-commit: Move author picking to cg-Xlib
@ 2006-02-07 22:44 Jonas Fonseca
0 siblings, 0 replies; only message in thread
From: Jonas Fonseca @ 2006-02-07 22:44 UTC (permalink / raw)
To: Petr Baudis; +Cc: git
Adds pick_author utility function to cg-Xlib that uses the author line from
git-cat-file output to print a string that sets the GIT_AUTHOR_* env
variables. This string should then be eval'd by the caller.
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
commit 5095aca7013d87ccdb08dad20a9fb93d7465d33d
tree 9ec064a96718b937d373769c52d830b8c3a6daca
parent d3cabc9974357947eac035d613557d4318b85f9f
author Jonas Fonseca <fonseca@diku.dk> Tue, 07 Feb 2006 23:05:19 +0100
committer Jonas Fonseca <fonseca@antimatter.localdomain> Tue, 07 Feb 2006 23:05:19 +0100
cg-Xlib | 26 ++++++++++++++++++++++++++
cg-commit | 28 +---------------------------
2 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/cg-Xlib b/cg-Xlib
index 308d798..e17c82f 100644
--- a/cg-Xlib
+++ b/cg-Xlib
@@ -236,6 +236,32 @@ list_untracked_files()
git-ls-files -z --others $listdirs "${EXCLUDE[@]}"
}
+pick_author()
+{
+ local pick_author_script='
+ /^author /{
+ s/'\''/'\''\\'\'\''/g
+ h
+ s/^author \([^<]*\) <[^>]*> .*$/\1/
+ s/'\''/'\''\'\'\''/g
+ s/.*/export GIT_AUTHOR_NAME='\''&'\''/p
+
+ g
+ s/^author [^<]* <\([^>]*\)> .*$/\1/
+ s/'\''/'\''\'\'\''/g
+ s/.*/export GIT_AUTHOR_EMAIL='\''&'\''/p
+
+ g
+ s/^author [^<]* <[^>]*> \(.*\)$/\1/
+ s/'\''/'\''\'\'\''/g
+ s/.*/export GIT_AUTHOR_DATE='\''&'\''/p
+
+ q
+ }
+ '
+ LANG=C LC_ALL=C sed -ne "$pick_author_script"
+}
+
# Usage: showdate SECONDS TIMEZONE [FORMAT]
# Display date nicely based on how GIT stores it.
# Save the date to $_showdate
diff --git a/cg-commit b/cg-commit
index e5e98b4..06ab0c0 100755
--- a/cg-commit
+++ b/cg-commit
@@ -276,33 +276,7 @@ for msg in "${msgs[@]}"; do
done
if [ "$copy_commit" ]; then
- pick_author_script='
- /^author /{
- s/'\''/'\''\\'\'\''/g
- h
- s/^author \([^<]*\) <[^>]*> .*$/\1/
- s/'\''/'\''\'\'\''/g
- s/.*/GIT_AUTHOR_NAME='\''&'\''/p
-
- g
- s/^author [^<]* <\([^>]*\)> .*$/\1/
- s/'\''/'\''\'\'\''/g
- s/.*/GIT_AUTHOR_EMAIL='\''&'\''/p
-
- g
- s/^author [^<]* <[^>]*> \(.*\)$/\1/
- s/'\''/'\''\'\'\''/g
- s/.*/GIT_AUTHOR_DATE='\''&'\''/p
-
- q
- }
- '
- set_author_env="$(git-cat-file commit "$copy_commit" |
- LANG=C LC_ALL=C sed -ne "$pick_author_script")"
- eval "$set_author_env"
- export GIT_AUTHOR_NAME
- export GIT_AUTHOR_EMAIL
- export GIT_AUTHOR_DATE
+ eval "$(git-cat-file commit "$copy_commit" | pick_author)"
git-cat-file commit "$copy_commit" | sed -e '1,/^$/d'
written=1
fi >>"$LOGMSG"
--
Jonas Fonseca
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2006-02-07 22:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-07 22:44 [PATCH 1/3] cg-commit: Move author picking to cg-Xlib Jonas Fonseca
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.