threads / patch / 593

patchAdd -u option to cg-log to show only commits from a specific user

Subject: [PATCH Cogito] Add -u option to cg-log to show only commits from a specific user

## tl;dr

One message between May 12, 2005 and May 12, 2005. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Marcel Holtmann· May 12, 2005, 21:58 UTC · lore
Hi Petr,

the attached patch introduces the -u option for cg-log. Now you can give a username or a part of an username and only commits with a matching author or committer will be displayed. Based on a patch from Sean.

Regards
Marcel
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Show changes to diff +11 −0
Index: cg-log
===================================================================
--- 7fa81b554162c34c616e74392960939412d18081/cg-log  (mode:100755)
+++ uncommitted/cg-log  (mode:100755)
@@ -15,6 +15,9 @@
 #
 # Takes an -f option to list which files was changed.
 #
+# Takes -u"username" to list only commits where author or
+# committer contains username.
+#
 # Takes an -r followed with id resolving to a commit to start from
 # (HEAD by default), or id1:id2 representing an (id1;id2] range
 # of commits to show.
@@ -34,6 +37,7 @@
 colsignoff=
 coldefault=
 list_files=
+user=
 while [ "$1" ]; do
 	# TODO: Parse -r here too.
 	case "$1" in
@@ -51,6 +55,10 @@
 		list_files=1
 		shift
 		;;
+	-u*)
+		user="${1#-u}"
+		shift
+		;;
 	*)
 		break
 		;;
@@ -123,6 +131,9 @@
 		parent=$(git-cat-file commit $commit | sed -n '2s/parent //p;2Q')
 		[ "$parent" ] && [ "$(git-diff-tree -r $commit $parent "$@")" ] || continue
 	fi
+	if [ "$user" ]; then
+		git-cat-file commit $commit | grep -e '^author ' -e '^committer ' | grep -qi "$user" || continue
+	fi
 	echo $colheader""commit ${commit%:*} $coldefault;
 	git-cat-file commit $commit | \
 		while read key rest; do

← back to recent threads