Am 07.01.2015 um 01:02 schrieb Junio C Hamano:
^"Kyle J. McKay" <mackyle@xxxxxxxxx> writes:
I can't find anything in that thread about why vsatisfies was
preferred over vcompare other than the obvious that the vsatisfies
version is only a 1-character change. And that would be more than
enough except that Tcl 8.4 doesn't support the trailing '-' vsatisfies
syntax.
Yeah, I fully agree with that observation.
Having rather corroded TCL-knowledge myself it was Pat's comment in
http://thread.gmane.org/gmane.comp.version-control.git/247511/focus=249464
that made me change the patch to use the smaller change of adding
the trailing '-' after vsatisfies instead of using vcompare with
a trailing ">= 0" in v2.
* Would it be a good idea to update the places $gmane/248895 points
out? It is clearly outside the scope of this fix, but we may
want to do so while our mind is on the "how do we check required
version?" in a separate patch.
Makes sense to me, but my Tcl knowledge isn't up to making those
changes as the code's a bit different. I have to paraphrase Chris's
message here by saying that I guess those checks are correct if not
consistent with the others.
When I looked at it back then I was convinced these checks are ok
and should stay as they are to support ancient Git versions (and
they do not use vsatisfies either).
OK, let's ask Pat (cc'ed) to apply your version as-is without
touching these 1.5.3 references. I do not take patches to git-gui
directly to my tree.
It's an ack from me on the change below as that was what I came up
with and tested successfully before Pat suggested to just add the '-'.
-- >8 --
From: "Kyle J. McKay" <mackyle@xxxxxxxxx>
Date: Tue, 6 Jan 2015 02:41:21 -0800
Tcl 8.5 introduced an extended vsatisfies syntax that is not
supported by Tcl 8.4.
Since only Tcl 8.4 is required this presents a problem.
The extended syntax was used starting with Git 2.0.0 in commit
b3f0c5c0 (git-gui: tolerate major version changes when comparing the
git version, 2014-05-17), so that a major version change would still
satisfy the condition.
However, what we really want is just a basic version compare, so use
vcompare instead to restore compatibility with Tcl 8.4.
Signed-off-by: Kyle J. McKay <mackyle@xxxxxxxxx>
Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>
---
git-gui.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index b186329d..a1a23b56 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -1283,7 +1283,7 @@ load_config 0
apply_config
# v1.7.0 introduced --show-toplevel to return the canonical work-tree
-if {[package vsatisfies $_git_version 1.7.0-]} {
+if {[package vcompare $_git_version 1.7.0] >= 0} {
if { [is_Cygwin] } {
catch {set _gitworktree [exec cygpath --windows [git rev-parse --show-toplevel]]}
} else {
@@ -1539,7 +1539,7 @@ proc rescan_stage2 {fd after} {
close $fd
}
- if {[package vsatisfies $::_git_version 1.6.3-]} {
+ if {[package vcompare $::_git_version 1.6.3] >= 0} {
set ls_others [list --exclude-standard]
} else {
set ls_others [list --exclude-per-directory=.gitignore]
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html