Skip to content
This repository was archived by the owner on Nov 9, 2017. It is now read-only.

Commit b3f0c5c

Browse files
jlehmanngitster
authored andcommitted
git-gui: tolerate major version changes when comparing the git version
Since git 2.0.0 starting git gui in a submodule using a gitfile fails with the following error: No working directory ../../../<path> couldn't change working directory to "../../../<path>": no such file or directory This is because "git rev-parse --show-toplevel" is only run when git gui sees a git version of at least 1.7.0 (which is the version in which the --show-toplevel option was introduced). But "package vsatisfies" returns false when the major version changes, which is not what we want here. Fix that for both places where the git version is checked using vsatisfies by appending a '-' to the version number. This tells vsatisfies that a change of the major version is not considered to be a problem, as long as the new major version is larger. This is done for both the place that caused the reported bug and another spot where the git version is tested for another feature. Reported-by: Chris Packham <[email protected]> Reported-by: Yann Dirson <[email protected]> Helped-by: Pat Thoyts <[email protected]> Signed-off-by: Jens Lehmann <[email protected]> Tested-by: Chris Packham <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 1b2c79e commit b3f0c5c

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

git-gui.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1283,7 +1283,7 @@ load_config 0
12831283
apply_config
12841284
12851285
# v1.7.0 introduced --show-toplevel to return the canonical work-tree
1286-
if {[package vsatisfies $_git_version 1.7.0]} {
1286+
if {[package vsatisfies $_git_version 1.7.0-]} {
12871287
if { [is_Cygwin] } {
12881288
catch {set _gitworktree [exec cygpath --windows [git rev-parse --show-toplevel]]}
12891289
} else {
@@ -1539,7 +1539,7 @@ proc rescan_stage2 {fd after} {
15391539
close $fd
15401540
}
15411541
1542-
if {[package vsatisfies $::_git_version 1.6.3]} {
1542+
if {[package vsatisfies $::_git_version 1.6.3-]} {
15431543
set ls_others [list --exclude-standard]
15441544
} else {
15451545
set ls_others [list --exclude-per-directory=.gitignore]

0 commit comments

Comments
 (0)