]> sipb.mit.edu Git - ikiwiki.git/commitdiff
* Improve the RecentChanges display for git merges, by passing -c instead
authorJoey Hess <joey@kodama.kitenet.net>
Wed, 31 Oct 2007 22:32:22 +0000 (18:32 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Wed, 31 Oct 2007 22:32:22 +0000 (18:32 -0400)
  of -m to git-log, and by skipping display of commits that change no
  pages.

IkiWiki/Rcs/git.pm
debian/changelog
doc/todo/git_recentchanges_should_not_show_merges.mdwn

index a9efbb0929b92a82d9272159d7e270332e111278..68b573fb9a379e2a3451f39860ec8ab77d26fbea 100644 (file)
@@ -258,7 +258,7 @@ sub git_commit_info ($;$) { #{{{
        $num ||= 1;
 
        my @raw_lines = run_or_die('git', 'log', "--max-count=$num", 
-               '--pretty=raw', '--raw', '--abbrev=40', '--always', '-m',
+               '--pretty=raw', '--raw', '--abbrev=40', '--always', '-c',
                '-r', $sha1, '--', '.');
        my ($prefix) = run_or_die('git', 'rev-parse', '--show-prefix');
 
@@ -412,7 +412,7 @@ sub rcs_recentchanges ($) { #{{{
                        when       => $when,
                        message    => [@messages],
                        pages      => [@pages],
-               };
+               } if @pages;
 
                last if @rets >= $num;
        }
index 14ace41937027b78c304380e2324cab1499063a8..8326de6ce8f3d127adedf535bef79e9fa0dd4e7d 100644 (file)
@@ -9,8 +9,11 @@ ikiwiki (2.12) UNRELEASED; urgency=low
     stay the same for the duration of the function.
   * Avoid using commands like git-diff and instead use "git diff".
     In some configurations, only the main git command is in the path.
+  * Improve the RecentChanges display for git merges, by passing -c instead
+    of -m to git-log, and by skipping display of commits that change no
+    pages.
 
- -- Joey Hess <joeyh@debian.org>  Wed, 31 Oct 2007 17:34:59 -0400
+ -- Joey Hess <joeyh@debian.org>  Wed, 31 Oct 2007 18:30:54 -0400
 
 ikiwiki (2.11) unstable; urgency=low
 
index 22cf1c08f7e67f381702abd20afabeb48c668798..e65efdc8138a6a10eb7f907558a623e1a8a5ba52 100644 (file)
@@ -7,3 +7,14 @@ A merge in general is a commit with two parents, right? But such a merge
 might be what gitweb calls a "simple merge", that is I think, just a 
 fast-forward. Or it could be a merge that includes manual conflict resolution,
 and should be shown in recentchanges.
+
+Seems that the problem is that it's calling git-log with the -m option,
+which makes merges be listed with the diff from the perspective of each
+parent. I think it would be better to not use that (or possibly to use the
+-c option instead?). The -m makes it show the merge from the POV of
+each of the parents. If the -m is left off, none of the changes in the
+merge are shown, even if it includes changes not in any of the parents
+(manual conflict resolution). With -c, it seems to show only the unique
+changes introduced by the merge.
+
+[[done]], using -c, hope that was the right choice --[[Joey]]