diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-01-20 16:58:38 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-01-20 16:58:38 -0800 |
commit | 105c21df14531bf2fd39e05b4c3a9aa31349da06 (patch) | |
tree | 272f75883898897f17c337e247b70043e5efdaaf /git-gui/lib | |
parent | Merge git://git.kernel.org/pub/scm/gitk/gitk (diff) | |
parent | git-gui: Makefile - Handle $DESTDIR on Cygwin (diff) | |
download | tgif-105c21df14531bf2fd39e05b4c3a9aa31349da06.tar.xz |
Merge git://repo.or.cz/git-gui
* git://repo.or.cz/git-gui:
git-gui: Makefile - Handle $DESTDIR on Cygwin
git-gui: add french glossary: glossary/fr.po
git-gui: Refresh file status description after hunk application
git-gui: Allow 'Create New Repository' on existing directories
git-gui: Initial french translation
git-gui: Improve German translation.
git-gui: Updated Swedish translation after mailing list review.
git-gui: Fix broken revert confirmation.
git-gui: Update German translation
git-gui: Update glossary: add term "hunk"
Diffstat (limited to 'git-gui/lib')
-rw-r--r-- | git-gui/lib/choose_repository.tcl | 50 | ||||
-rw-r--r-- | git-gui/lib/diff.tcl | 2 | ||||
-rw-r--r-- | git-gui/lib/index.tcl | 4 |
3 files changed, 27 insertions, 29 deletions
diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl index 2bac50e149..86faf24cc8 100644 --- a/git-gui/lib/choose_repository.tcl +++ b/git-gui/lib/choose_repository.tcl @@ -290,11 +290,6 @@ method _write_local_path {args} { } method _git_init {} { - if {[file exists $local_path]} { - error_popup [mc "Location %s already exists." $local_path] - return 0 - } - if {[catch {file mkdir $local_path} err]} { error_popup [strcat \ [mc "Failed to create repository %s:" $local_path] \ @@ -417,41 +412,35 @@ method _new_local_path {} { if {$p eq {}} return set p [file normalize $p] - if {[file isdirectory $p]} { - foreach i [glob \ - -directory $p \ - -tails \ - -nocomplain \ - * .*] { - switch -- $i { - . continue - .. continue - default { - error_popup [mc "Directory %s already exists." $p] - return - } - } - } - if {[catch {file delete $p} err]} { - error_popup [strcat \ - [mc "Directory %s already exists." $p] \ - "\n\n$err"] - return - } - } elseif {[file exists $p]} { - error_popup [mc "File %s already exists." $p] + if {![_new_ok $p]} { return } set local_path $p } method _do_new2 {} { + if {![_new_ok $local_path]} { + return + } if {![_git_init $this]} { return } set done 1 } +proc _new_ok {p} { + if {[file isdirectory $p]} { + if {[_is_git [file join $p .git]]} { + error_popup [mc "Directory %s already exists." $p] + return 0 + } + } elseif {[file exists $p]} { + error_popup [mc "File %s already exists." $p] + return 0 + } + return 1 +} + ###################################################################### ## ## Clone Existing Repository @@ -607,6 +596,11 @@ method _do_clone2 {} { } } + if {[file exists $local_path]} { + error_popup [mc "Location %s already exists." $local_path] + return + } + if {![_git_init $this]} return set local_path [pwd] diff --git a/git-gui/lib/diff.tcl b/git-gui/lib/diff.tcl index 18aba3eae3..d04f6dbde2 100644 --- a/git-gui/lib/diff.tcl +++ b/git-gui/lib/diff.tcl @@ -358,5 +358,7 @@ proc apply_hunk {x y} { display_file $current_diff_path $mi if {$o eq {_}} { clear_diff + } else { + set current_diff_path $current_diff_path } } diff --git a/git-gui/lib/index.tcl b/git-gui/lib/index.tcl index a0b22f2945..30a244cc17 100644 --- a/git-gui/lib/index.tcl +++ b/git-gui/lib/index.tcl @@ -386,7 +386,9 @@ proc revert_helper {txt paths} { set reply [tk_dialog \ .confirm_revert \ "[appname] ([reponame])" \ - [mc "Any unstaged changes will be permanently lost by the revert."] \ + "$query + +[mc "Any unstaged changes will be permanently lost by the revert."]" \ question \ 1 \ [mc "Do Nothing"] \ |