diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-12-17 21:56:48 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-12-17 21:56:48 -0800 |
commit | b4955fb611ce407ef0e522862c60ae0472dbfe5e (patch) | |
tree | 1818fb0364fdd7473dfc4e7d0edaf93aa9286f82 /git-gui/git-gui.sh | |
parent | 1df27132493171294d0d2b53bd75bb8e131eea2b (diff) | |
parent | e612120d232a5ef04dcf22fc92741565ebb4d0c8 (diff) | |
download | git-b4955fb611ce407ef0e522862c60ae0472dbfe5e.tar.gz git-b4955fb611ce407ef0e522862c60ae0472dbfe5e.tar.xz |
Merge git://repo.or.cz/git-gui
* git://repo.or.cz/git-gui:
git-gui 0.12
git-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL
git-gui: Update Hungarian translation for 0.12
git-gui: Fixed typos in Swedish translation.
git-gui: Updated Swedish translation (515t0f0u).
git gui: update Italian translation
git-gui: Update Japanese translation for 0.12
git-gui: Starting translation for Norwegian
git-gui: Update German (completed) translation.
git-gui: Update po template to include 'Mirroring %s' message
git-gui: Fix commit encoding handling.
git-gui: Fix handling of relative paths in blame.
Diffstat (limited to 'git-gui/git-gui.sh')
-rwxr-xr-x | git-gui/git-gui.sh | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index 8a4b42dbd..e018e076f 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -2630,6 +2630,20 @@ proc usage {} { exit 1 } +proc normalize_relpath {path} { + set elements {} + foreach item [file split $path] { + if {$item eq {.}} continue + if {$item eq {..} && [llength $elements] > 0 + && [lindex $elements end] ne {..}} { + set elements [lrange $elements 0 end-1] + continue + } + lappend elements $item + } + return [eval file join $elements] +} + # -- Not a normal commit type invocation? Do that instead! # switch -- $subcommand { @@ -2648,7 +2662,7 @@ blame { foreach a $argv { if {$is_path || [file exists $_prefix$a]} { if {$path ne {}} usage - set path $_prefix$a + set path [normalize_relpath $_prefix$a] break } elseif {$a eq {--}} { if {$path ne {}} { @@ -2671,7 +2685,7 @@ blame { unset is_path if {$head ne {} && $path eq {}} { - set path $_prefix$head + set path [normalize_relpath $_prefix$head] set head {} } @@ -3315,7 +3329,6 @@ by %s: {^GIT_PAGER$} - {^GIT_TRACE$} - {^GIT_CONFIG$} - - {^GIT_CONFIG_LOCAL$} - {^GIT_(AUTHOR|COMMITTER)_DATE$} { append msg " - $name\n" incr ignored_env |