* [PATCH v2] gitk: Show patch for initial commit
@ 2011-10-01 19:05 Marcus Karlsson
2011-10-01 21:03 ` Zbigniew Jędrzejewski-Szmek
0 siblings, 1 reply; 4+ messages in thread
From: Marcus Karlsson @ 2011-10-01 19:05 UTC (permalink / raw)
To: git; +Cc: gitster, zbyszek
Make gitk show the patch for the initial commit by default.
Override with log.showroot.
Signed-off-by: Marcus Karlsson <mk@acc.umu.se>
---
gitk-git/gitk | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 4cde0c4..40ea73f 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -7402,7 +7402,7 @@ proc addtocflist {ids} {
}
proc diffcmd {ids flags} {
- global nullid nullid2
+ global log_showroot nullid nullid2
set i [lsearch -exact $ids $nullid]
set j [lsearch -exact $ids $nullid2]
@@ -7436,7 +7436,11 @@ proc diffcmd {ids flags} {
lappend cmd HEAD
}
} else {
- set cmd [concat | git diff-tree -r $flags $ids]
+ set cmd [concat | git diff-tree -r]
+ if {$log_showroot eq true} {
+ set cmd [concat $cmd --root]
+ }
+ set cmd [concat $cmd $flags $ids]
}
return $cmd
}
@@ -11403,6 +11407,11 @@ catch {
}
}
+set log_showroot true
+catch {
+ set log_showroot [exec git config --get log.showroot]
+}
+
if {[tk windowingsystem] eq "aqua"} {
set mainfont {{Lucida Grande} 9}
set textfont {Monaco 9}
--
1.7.7
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] gitk: Show patch for initial commit
2011-10-01 19:05 [PATCH v2] gitk: Show patch for initial commit Marcus Karlsson
@ 2011-10-01 21:03 ` Zbigniew Jędrzejewski-Szmek
2011-10-03 6:33 ` Marcus Karlsson
0 siblings, 1 reply; 4+ messages in thread
From: Zbigniew Jędrzejewski-Szmek @ 2011-10-01 21:03 UTC (permalink / raw)
To: Marcus Karlsson; +Cc: git, gitster, Paul Mackerras
[cc: Paul Mackerras]
Hi,
I think that the historical explanation that Junio gave could
be used as a basis for a commit message:
In early days, all projects managed by git (except for git itself) had the
product of a fairly mature development history in their first commit, and
it was deemed unnecessary clutter to show additions of these thousands of
paths as a patch.
"git log" learned to show the patch for the initial commit without requiring
--root command line option at 0f03ca9 (config option log.showroot to show
the diff of root commits, 2006-11-23).
Teach gitk to respect log.showroot.
Also the gitk should be mentioned in the man-page for git-config log.showroot.
The current description of this option seems suboptimal because it explains
how it used to be, which is not really relevant:
log.showroot
If true, the initial commit will be shown as a big creation event. This is
equivalent to a diff against an empty tree. Tools like git-log(1) or git-
whatchanged(1), which normally hide the root commit will now show it. True by
default.
This could be changed to:
If true (the default), the root commit will be shown as a big creation
event --- a diff against an empty tree. This diff can be very large for
a project which was imported into git after some development history.
If log.showroot is false tools like git-log(1), git-whatchanged(1), or
gitk(1) will not display the added files.
Zbyszek
On 10/01/2011 09:05 PM, Marcus Karlsson wrote:
> Make gitk show the patch for the initial commit by default.
> Override with log.showroot.
>
> Signed-off-by: Marcus Karlsson<mk@acc.umu.se>
> ---
> gitk-git/gitk | 13 +++++++++++--
> 1 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/gitk-git/gitk b/gitk-git/gitk
> index 4cde0c4..40ea73f 100755
> --- a/gitk-git/gitk
> +++ b/gitk-git/gitk
> @@ -7402,7 +7402,7 @@ proc addtocflist {ids} {
> }
>
> proc diffcmd {ids flags} {
> - global nullid nullid2
> + global log_showroot nullid nullid2
>
> set i [lsearch -exact $ids $nullid]
> set j [lsearch -exact $ids $nullid2]
> @@ -7436,7 +7436,11 @@ proc diffcmd {ids flags} {
> lappend cmd HEAD
> }
> } else {
> - set cmd [concat | git diff-tree -r $flags $ids]
> + set cmd [concat | git diff-tree -r]
> + if {$log_showroot eq true} {
> + set cmd [concat $cmd --root]
> + }
> + set cmd [concat $cmd $flags $ids]
> }
> return $cmd
> }
> @@ -11403,6 +11407,11 @@ catch {
> }
> }
>
> +set log_showroot true
> +catch {
> + set log_showroot [exec git config --get log.showroot]
> +}
> +
> if {[tk windowingsystem] eq "aqua"} {
> set mainfont {{Lucida Grande} 9}
> set textfont {Monaco 9}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] gitk: Show patch for initial commit
2011-10-01 21:03 ` Zbigniew Jędrzejewski-Szmek
@ 2011-10-03 6:33 ` Marcus Karlsson
2011-10-03 17:44 ` Junio C Hamano
0 siblings, 1 reply; 4+ messages in thread
From: Marcus Karlsson @ 2011-10-03 6:33 UTC (permalink / raw)
To: Zbigniew J??drzejewski-Szmek; +Cc: git, gitster, Paul Mackerras
On Sat, Oct 01, 2011 at 11:03:18PM +0200, Zbigniew J??drzejewski-Szmek wrote:
> [cc: Paul Mackerras]
>
> Hi,
> I think that the historical explanation that Junio gave could
> be used as a basis for a commit message:
>
> In early days, all projects managed by git (except for git itself) had the
> product of a fairly mature development history in their first commit, and
> it was deemed unnecessary clutter to show additions of these thousands of
> paths as a patch.
>
> "git log" learned to show the patch for the initial commit without requiring
> --root command line option at 0f03ca9 (config option log.showroot to show
> the diff of root commits, 2006-11-23).
>
> Teach gitk to respect log.showroot.
Absolutely, that would be a much better commit message. I'll wait and
see if there are more comments and then resubmit.
> Also the gitk should be mentioned in the man-page for git-config log.showroot.
> The current description of this option seems suboptimal because it explains
> how it used to be, which is not really relevant:
> log.showroot
> If true, the initial commit will be shown as a big creation event. This is
> equivalent to a diff against an empty tree. Tools like git-log(1) or git-
> whatchanged(1), which normally hide the root commit will now show it. True by
> default.
> This could be changed to:
> If true (the default), the root commit will be shown as a big creation
> event --- a diff against an empty tree. This diff can be very large for
> a project which was imported into git after some development history.
> If log.showroot is false tools like git-log(1), git-whatchanged(1), or
> gitk(1) will not display the added files.
I agree, but that feels like something that could be made into a
separate patch. Or should I include that too?
Marcus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] gitk: Show patch for initial commit
2011-10-03 6:33 ` Marcus Karlsson
@ 2011-10-03 17:44 ` Junio C Hamano
0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2011-10-03 17:44 UTC (permalink / raw)
To: Marcus Karlsson; +Cc: Zbigniew J??drzejewski-Szmek, git, Paul Mackerras
Marcus Karlsson <mk@acc.umu.se> writes:
>> Also the gitk should be mentioned in the man-page for git-config log.showroot.
>> The current description of this option seems suboptimal because it explains
>> how it used to be, which is not really relevant:
>> log.showroot
>> If true, the initial commit will be shown as a big creation event. This is
>> equivalent to a diff against an empty tree. Tools like git-log(1) or git-
>> whatchanged(1), which normally hide the root commit will now show it. True by
>> default.
>> This could be changed to:
>> If true (the default), the root commit will be shown as a big creation
>> event --- a diff against an empty tree. This diff can be very large for
>> a project which was imported into git after some development history.
>> If log.showroot is false tools like git-log(1), git-whatchanged(1), or
>> gitk(1) will not display the added files.
>
> I agree, but that feels like something that could be made into a
> separate patch. Or should I include that too?
Please make it a separate patch. A patch to Documentation/config.txt
should go to git.git project, but gitk patch (whose "diff --git" line
should read "diff --git a/gitk b/gitk") should go first to gitk.git
project and then merged to my tree.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-10-03 17:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-01 19:05 [PATCH v2] gitk: Show patch for initial commit Marcus Karlsson
2011-10-01 21:03 ` Zbigniew Jędrzejewski-Szmek
2011-10-03 6:33 ` Marcus Karlsson
2011-10-03 17:44 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).