Re: [PATCH] git-gui: use --exclude-standard to check for untracked files
From: Stefan Näwe <hidden>
Date: 2016-06-15 22:50:07
(Sorry for the late answer, I was away...) 2010/11/19 Pat Thoyts [off-list ref]:
quoted hunk
Stefan Naewe [off-list ref] writes:quoted
This fixes git gui failing to display untracked files if core.excludesfile is set to '~/.gitexcludes'. Signed-off-by: Stefan Naewe <redacted> --- git-gui/git-gui.sh | 9 +-------- 1 files changed, 1 insertions(+), 8 deletions(-)[..] Using --exclude-standard is a good plan. However, as far as I can tell this option was added for git 1.6.3. git-gui currently supports 1.5.0 or above so rather than delete the old lines we can wrap them in a version check and use --exclude-standard if we have it. Also - I assume that the problem with core.excludesfile being set as you describe is that ~ is expanded by the shell. Here we are working in tcl which will take the literal string. Adding [file normalize] to the exclude value will expand the ~ to the users HOME path for us. The following should be cover everything and works for me: From 55e5893c08a52624846dbd9b61dcbccc6bbc5e12 Mon Sep 17 00:00:00 2001 From: Stefan Naewe <redacted> Date: Fri, 19 Nov 2010 19:28:25 +0000 Subject: [PATCH] git-gui: use --exclude-standard to check for untracked files This fixes git-gui failing to display untracked files that are listed if core.excludefiles is set to ~/.gitexcludes [PT: added expansion of core.excludesfile value by tcl] Signed-off-by: Stefan Naewe <redacted> Signed-off-by: Pat Thoyts <redacted> --- git-gui.sh | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-)diff --git a/git-gui.sh b/git-gui.sh index d3acf0d..8c696c2 100755 --- a/git-gui.sh +++ b/git-gui.sh@@ -1448,13 +1448,17 @@ proc rescan_stage2 {fd after} {close $fd } - set ls_others [list --exclude-per-directory=.gitignore] - if {[have_info_exclude]} { - lappend ls_others "--exclude-from=[gitdir info exclude]" - } - set user_exclude [get_config core.excludesfile] - if {$user_exclude ne {} && [file readable $user_exclude]} { - lappend ls_others "--exclude-from=$user_exclude" + if {0 && [package vsatisfies $::_git_version 1.6.3]} { + set ls_others [list --exclude-standard] + } else { + set ls_others [list --exclude-per-directory=.gitignore] + if {[have_info_exclude]} { + lappend ls_others "--exclude-from=[gitdir info exclude]" + } + set user_exclude [get_config core.excludesfile] + if {$user_exclude ne {} && [file readable $user_exclude]} { + lappend ls_others "--exclude-from=[file normalize $user_exclude]" + } } set buf_rdi {} -- 1.7.3.1.msysgit.0
Yes, works for me (on 1.7.3.2) Thanks, Stefan -- Stefan Naewe stefan dot naewe at gmail dot com Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html