This is useful if a user wants to checkout a file from a certain commit. This is equivalent to git checkout $commit $file Signed-off-by: Heiko Voigt <hvoigt@xxxxxxxxxx> --- gitk | 24 ++++++++++++++++++------ po/de.po | 6 ++++++ po/es.po | 6 ++++++ po/fr.po | 6 ++++++ po/hu.po | 6 ++++++ po/it.po | 6 ++++++ po/ja.po | 6 ++++++ po/ru.po | 6 ++++++ po/sv.po | 6 ++++++ 9 files changed, 66 insertions(+), 6 deletions(-) diff --git a/gitk b/gitk index 45e3380..c582bb5 100755 --- a/gitk +++ b/gitk @@ -2497,6 +2497,8 @@ proc makewindow {} { {mc "Highlight this only" command {flist_hl 1}} {mc "External diff" command {external_diff}} {mc "Blame parent commit" command {external_blame 1}} + {mc "Checkout from this commit" command {external_checkout}} + {mc "Checkout from parent commit" command {external_checkout 1}} } $flist_menu configure -tearoff 0 @@ -3533,6 +3535,20 @@ proc make_relative {f} { } proc external_blame {parent_idx {line {}}} { + + set cmdline [list git gui blame] + if {$line ne {} && $line > 1} { + lappend cmdline "--line=$line" + } + run_command_on_selected_file $cmdline $parent_idx +} + +proc external_checkout {{parent_idx 0}} { + set cmdline [list git checkout] + run_command_on_selected_file $cmdline $parent_idx +} + +proc run_command_on_selected_file {cmdline parent_idx} { global flist_menu_file gitdir global nullid nullid2 global parentlist selectedline currentid @@ -3548,17 +3564,13 @@ proc external_blame {parent_idx {line {}}} { return } - set cmdline [list git gui blame] - if {$line ne {} && $line > 1} { - lappend cmdline "--line=$line" - } set f [file join [file dirname $gitdir] $flist_menu_file] - # Unfortunately it seems git gui blame doesn't like + # Unfortunately some commands do not like # being given an absolute path... set f [make_relative $f] lappend cmdline $base_commit $f if {[catch {eval exec $cmdline &} err]} { - error_popup "[mc "git gui blame: command failed:"] $err" + error_popup "[mc "$cmdline: command failed:"] $err" } } diff --git a/po/de.po b/po/de.po index bd194a3..8cfd299 100644 --- a/po/de.po +++ b/po/de.po @@ -1276,3 +1276,9 @@ msgstr "Falsche Kommandozeilen-Parameter fÃr gitk:" #: gitk:11587 msgid "Command line" msgstr "Kommandozeile" + +msgid "Checkout from this commit" +msgstr "" + +msgid "Checkout from parent commit" +msgstr "" diff --git a/po/es.po b/po/es.po index 0471dd0..a3092e0 100644 --- a/po/es.po +++ b/po/es.po @@ -909,3 +909,9 @@ msgstr "Argumentos incorrectos a Gitk:" #: gitk:10170 msgid "Command line" msgstr "LÃnea de comandos" + +msgid "Checkout from this commit" +msgstr "" + +msgid "Checkout from parent commit" +msgstr "" diff --git a/po/fr.po b/po/fr.po index 5370ddc..e58cbdd 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1252,3 +1252,9 @@ msgstr "Arguments invalides pour gitk :" #: gitk:11249 msgid "Command line" msgstr "Ligne de commande" + +msgid "Checkout from this commit" +msgstr "" + +msgid "Checkout from parent commit" +msgstr "" diff --git a/po/hu.po b/po/hu.po index 7262b61..9237d2a 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1293,3 +1293,9 @@ msgstr "Parancs sor" #~ msgstr "" #~ "SajnÃljuk, de a gitk nem futtathatà ezzel a Tcl/Tk verziÃval.\n" #~ "Gitk futtatÃsÃhoz legalÃbb Tcl/Tk 8.4 szÃksÃges." + +msgid "Checkout from this commit" +msgstr "" + +msgid "Checkout from parent commit" +msgstr "" diff --git a/po/it.po b/po/it.po index a730d63..6e0b76f 100644 --- a/po/it.po +++ b/po/it.po @@ -1274,3 +1274,9 @@ msgstr "Gitk: argomenti errati:" #: gitk:11587 msgid "Command line" msgstr "Linea di comando" + +msgid "Checkout from this commit" +msgstr "" + +msgid "Checkout from parent commit" +msgstr "" diff --git a/po/ja.po b/po/ja.po index 4f47051..b47faab 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1253,3 +1253,9 @@ msgstr "gitkããäæãåæ:" #: gitk:11316 msgid "Command line" msgstr "ããããè" + +msgid "Checkout from this commit" +msgstr "" + +msgid "Checkout from parent commit" +msgstr "" diff --git a/po/ru.po b/po/ru.po index c3d0285..f136ec1 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1083,3 +1083,9 @@ msgstr "ÐÐÐÑÐÐÐÐÑÐÑÐ ÐÑÐÑÐÐÐÑÑ ÐÐÑ gitk:" msgid "Command line" msgstr "ÐÐÐÐÐÐÐÐÑ ÑÑÑÐÐÐ" +msgid "Checkout from this commit" +msgstr "" + +msgid "Checkout from parent commit" +msgstr "" + diff --git a/po/sv.po b/po/sv.po index 386763a..b079016 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1295,3 +1295,9 @@ msgstr "Kommandorad" #~ msgid "Name" #~ msgstr "Namn" + +msgid "Checkout from this commit" +msgstr "" + +msgid "Checkout from parent commit" +msgstr "" -- 1.7.2.2.177.geec0d -- 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