git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] gitk: do not show local changes for bare repositories
@ 2008-03-06 12:39 David Aguilar
  2008-03-06 23:07 ` Paul Mackerras
  2008-03-07  9:04 ` David Aguilar
  0 siblings, 2 replies; 5+ messages in thread
From: David Aguilar @ 2008-03-06 12:39 UTC (permalink / raw
  To: Paul Mackerras; +Cc: git

Launching gitk on a bare repository would previously show the
work tree as having removed all files.  We now test for bare
repositories before showing local changes.

Signed-off-by: David Aguilar <davvid@gmail.com>
---
 gitk |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/gitk b/gitk
index f1f21e9..cc4cde3 100755
--- a/gitk
+++ b/gitk
@@ -2843,9 +2843,9 @@ proc dohidelocalchanges {} {
 
 # spawn off a process to do git diff-index --cached HEAD
 proc dodiffindex {} {
-    global localirow localfrow lserial showlocalchanges
+    global localirow localfrow lserial showlocalchanges isbare
 
-    if {!$showlocalchanges} return
+    if {!$showlocalchanges || $isbare} return
     incr lserial
     set localfrow -1
     set localirow -1
@@ -8643,6 +8643,7 @@ set patchnum 0
 set localirow -1
 set localfrow -1
 set lserial 0
+set isbare [expr {[exec git rev-parse --is-bare-repository] == "true"}]
 setcoords
 makewindow
 # wait for the window to become visible
-- 
1.5.4.rc2.1105.gfc5f2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] gitk: do not show local changes for bare repositories
  2008-03-06 12:39 [PATCH] gitk: do not show local changes for bare repositories David Aguilar
@ 2008-03-06 23:07 ` Paul Mackerras
  2008-03-07  9:04 ` David Aguilar
  1 sibling, 0 replies; 5+ messages in thread
From: Paul Mackerras @ 2008-03-06 23:07 UTC (permalink / raw
  To: David Aguilar; +Cc: git

David Aguilar writes:

> +set isbare [expr {[exec git rev-parse --is-bare-repository] == "true"}]

Nice idea, but I think we should update isbare in updatecommits, in
case the user does a checkout and then presses F5.

Paul.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] gitk: do not show local changes for bare repositories
  2008-03-06 12:39 [PATCH] gitk: do not show local changes for bare repositories David Aguilar
  2008-03-06 23:07 ` Paul Mackerras
@ 2008-03-07  9:04 ` David Aguilar
  2008-03-08 11:14   ` Paul Mackerras
  1 sibling, 1 reply; 5+ messages in thread
From: David Aguilar @ 2008-03-07  9:04 UTC (permalink / raw
  To: Paul Mackerras; +Cc: git

Launching gitk on a bare repository would previously show the
work tree as having removed all files.  We now query for
bare repositories in updatecommits and test the value in
dodiffindex before showing local changes.

Signed-off-by: David Aguilar <davvid@gmail.com>
---
 gitk |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/gitk b/gitk
index f1f21e9..080459d 100755
--- a/gitk
+++ b/gitk
@@ -393,6 +393,7 @@ proc readcommit {id} {
 proc updatecommits {} {
     global viewdata curview phase displayorder ordertok idpending
     global children commitrow selectedline thickerline showneartags
+    global isbare
 
     if {$phase ne {}} {
 	stop_rev_list
@@ -407,6 +408,7 @@ proc updatecommits {} {
     foreach vid [array names idpending "$n,*"] {
 	unset idpending($vid)
     }
+    set isbare [expr {[exec git rev-parse --is-bare-repository] == "true"}]
     set curview -1
     catch {unset selectedline}
     catch {unset thickerline}
@@ -2843,9 +2845,9 @@ proc dohidelocalchanges {} {
 
 # spawn off a process to do git diff-index --cached HEAD
 proc dodiffindex {} {
-    global localirow localfrow lserial showlocalchanges
+    global localirow localfrow lserial showlocalchanges isbare
 
-    if {!$showlocalchanges} return
+    if {!$showlocalchanges || $isbare} return
     incr lserial
     set localfrow -1
     set localirow -1
-- 
1.5.4.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] gitk: do not show local changes for bare repositories
  2008-03-07  9:04 ` David Aguilar
@ 2008-03-08 11:14   ` Paul Mackerras
  2008-03-10 10:54     ` [PATCH] gitk: do not show local changes when we there is no work tree David Aguilar
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Mackerras @ 2008-03-08 11:14 UTC (permalink / raw
  To: David Aguilar; +Cc: git

David Aguilar writes:

> @@ -407,6 +408,7 @@ proc updatecommits {} {
>      foreach vid [array names idpending "$n,*"] {
>  	unset idpending($vid)
>      }
> +    set isbare [expr {[exec git rev-parse --is-bare-repository] == "true"}]

Sorry, I meant do that in updatecommits as well as at startup.  You
still need that line in the startup code.

Paul.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] gitk: do not show local changes when we there is no work tree
  2008-03-08 11:14   ` Paul Mackerras
@ 2008-03-10 10:54     ` David Aguilar
  0 siblings, 0 replies; 5+ messages in thread
From: David Aguilar @ 2008-03-10 10:54 UTC (permalink / raw
  To: Paul Mackerras; +Cc: git

Launching gitk on a bare repository or a .git directory
would previously show the work tree as having removed all
files.  We now inhibit showing local changes when gitk
is not launched from within a work tree.

Signed-off-by: David Aguilar <davvid@gmail.com>
---
 gitk |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/gitk b/gitk
index f1f21e9..ef12845 100755
--- a/gitk
+++ b/gitk
@@ -393,6 +393,9 @@ proc readcommit {id} {
 proc updatecommits {} {
     global viewdata curview phase displayorder ordertok idpending
     global children commitrow selectedline thickerline showneartags
+    global isworktree
+
+    set isworktree [expr {[exec git rev-parse --is-inside-work-tree] == "true"}]
 
     if {$phase ne {}} {
 	stop_rev_list
@@ -2844,8 +2847,9 @@ proc dohidelocalchanges {} {
 # spawn off a process to do git diff-index --cached HEAD
 proc dodiffindex {} {
     global localirow localfrow lserial showlocalchanges
+    global isworktree
 
-    if {!$showlocalchanges} return
+    if {!$showlocalchanges || !$isworktree} return
     incr lserial
     set localfrow -1
     set localirow -1
@@ -8643,6 +8647,7 @@ set patchnum 0
 set localirow -1
 set localfrow -1
 set lserial 0
+set isworktree [expr {[exec git rev-parse --is-inside-work-tree] == "true"}]
 setcoords
 makewindow
 # wait for the window to become visible
-- 
1.5.4.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-03-10 10:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-06 12:39 [PATCH] gitk: do not show local changes for bare repositories David Aguilar
2008-03-06 23:07 ` Paul Mackerras
2008-03-07  9:04 ` David Aguilar
2008-03-08 11:14   ` Paul Mackerras
2008-03-10 10:54     ` [PATCH] gitk: do not show local changes when we there is no work tree David Aguilar

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).