Re: cg-log patches
- From
Jonas Fonseca <fonseca@diku.dk>
- Date
- May 9, 2005, 11:39 UTC
- Message-ID
- <20050509113907.GA22830@diku.dk>
- In-Reply-To
- <4302.10.10.10.24.1115610350.squirrel@linux1>
Sean <seanlkml@sympatico.ca> wrote Sun, May 08, 2005:
> On Sun, May 8, 2005 7:49 pm, Jonas Fonseca said: > Hey Jonas,
Hi Sean,
Show 7 quoted lines
> >> Fix cg-log -f option so that a complete list of files is > >> displayed when a commit has more than one parent. > > > > This sounds great. > > You might want to rip it out and submit it, because it's not likely to see > the light of day otherwise.
I ripped it out and made a patch only with the fix.
Pasky, I also updated the line-wrapping patch if you want it.
Show 5 quoted lines
> > The reason I put it at the top was to make it more similar to GNU-style > > changelogs (if there is such a style). > > Yeah, I felt a bit guilty sliding that shift in, really I had no rationale > other than it looked better _to me_.
I don't feel strong about it. I guess I have just gotten used to it that way.
--
Jonas Fonseca
Fix cg-log -f option so that a complete list of files is
displayed when a commit has more than one parent.
Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
commit 06a6b40f8e52eff0e34706c7024b54df50abb6b9
tree 95bc73fd188347aa294991d1c5c7cffd60422098
parent 4ed293bc0a5ffca9683e139cad499b69a4c4d569
author jonas <fonseca@diku.dk> Mon, 09 May 2005 13:23:20 +0200
committer jonas <fonseca@diku.dk> Mon, 09 May 2005 13:23:20 +0200
cg-log | 34 +++++++++++++++-------------------
1 files changed, 15 insertions(+), 19 deletions(-)
Index: cg-log
===================================================================
--- 00b94eea5b99d5dd1d1bbe9c9ca3502d11aec581/cg-log (mode:100755)
+++ 95bc73fd188347aa294991d1c5c7cffd60422098/cg-log (mode:100755)
@@ -53,17 +53,20 @@
list_commit_files()
{
- tree1="$1"
- tree2="$2"
+ tree="$1"
sep=" * $colfiles"
- # List all files for for the initial commit
- if [ -z $tree2 ]; then
- list_cmd="git-ls-tree $tree1"
- else
- list_cmd="git-diff-tree -r $tree1 $tree2"
- fi
echo
- $list_cmd | while read modes type sha1s file; do
+ if [ -z $2 ]; then
+ # List all files for the initial commit
+ git-ls-tree $tree
+ else
+ shift
+ # List changes from each parent
+ for parent; do
+ git-diff-tree -r $tree $parent
+ done
+ fi | sort -u | \
+ while read modes type sha1s file; do
echo -n "$sep$file"
sep=", "
done
@@ -102,8 +105,7 @@
$revls | $revsort | while read time commit parents; do
trap exit SIGPIPE
- tree1=
- tree2=
+ trees=
[ "$revfmt" = "git-rev-list" ] && commit="$time"
if [ $# -ne 0 ]; then
parent=$(git-cat-file commit $commit | sed -n '2s/parent //p;2Q')
@@ -131,17 +133,11 @@
fi
;;
"tree"|"parent")
- if [ -z $tree1 ]; then
- tree1=$rest
- elif [ -z $tree2 ]; then
- tree2=$rest
- fi
+ trees="$trees $rest"
echo $colheader$key $rest $coldefault
;;
"")
- if [ -n "$list_files" ]; then
- list_commit_files "$tree1" "$tree2"
- fi
+ [ -n "$list_files" ] && list_commit_files $trees
echo; sed -re '
/ *Signed-off-by:.*/Is//'$colsignoff'&'$coldefault'/
/ *Acked-by:.*/Is//'$colsignoff'&'$coldefault'/
Wrap file listing lines near the 80th column.
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
commit 9d86f44f7d1eee525ed4c45731ad07b95f62dbb6
tree ddf82a0140bdc1440eb93bcbe01e14e90e44a3e8
parent 06a6b40f8e52eff0e34706c7024b54df50abb6b9
author jonas <fonseca@diku.dk> Mon, 09 May 2005 13:27:20 +0200
committer jonas <fonseca@diku.dk> Mon, 09 May 2005 13:27:20 +0200
cg-log | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletion(-)
Index: cg-log
===================================================================
--- 95bc73fd188347aa294991d1c5c7cffd60422098/cg-log (mode:100755)
+++ ddf82a0140bdc1440eb93bcbe01e14e90e44a3e8/cg-log (mode:100755)
@@ -67,8 +67,16 @@
done
fi | sort -u | \
while read modes type sha1s file; do
- echo -n "$sep$file"
+ echo -n "$sep"
sep=", "
+ if [ $(echo "$line$sep$file" | wc -c) -lt 75 ]; then
+ line="$line$sep$file"
+ echo -n "$file"
+ else
+ line="$file"
+ echo "$coldefault"
+ echo -n " $colfiles$file"
+ fi
done
echo "$coldefault:"
}