Как я могу показать еще последние репозиториев в Git графический интерфейс?


Моя копия Git-GUI показывает 10 записей в списке "открыть недавний репозиторий". Как я могу изменить это, например, на 20? В настоящее время, когда я открываю 11-е РЕПО, алфавитно-последнее в списке исчезает-боль справа, когда список полон, и я чередую РЕПО Zed и Alpha {не их настоящие имена!}

Я не очень хорошо читаю TCL, но я думаю, что соответствующая строка #267, в C:/Program файлы (x86)/Git/share/Git-gui/lib/choose_repository.язык Tcl. Я пробовал открыть свой любимый редактор в качестве администратора, изменив эту строку на "> 20", перезапустив Git-GUI и открыв другой репозиторий, но это не помогло - нижняя запись снова была вытеснена из списка. Моя правка все еще там, когда я снова открываю choose_repository.tcl, так что его определенно спасают.

while {[llength $recent] > 10} {

Что я должен делать?

Используемое программное обеспечение:

  • Windows 7
  • Git-gui версия 0.17.GITGUI
  • git версия 1.8.3.msysgit.0
  • Версия TCl / TK 8.5.13
  • ГИТ-Гуи Либ: C:/Program файлы (х86)/ГИТ/доля/ГИТ-Гуй/Либ
1   2  

1 ответ:

Вы почти на месте. Вы нашли место, чтобы заставить Git-gui записывать более 10 ранее открытых репозиториев. Однако текстовый виджет, используемый для отображения списка репозиториев, занимает всего 10 строк, поэтому, если вы измените его также в строке 151, вы получите обе записи и увидите их.

Вот патч, который позволяет установить графический интерфейс.maxrecentrepo и установит максимальное число недавних репозиториев на это значение (по умолчанию 10):

diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl
index 657f7d5..c8d8517 100644
--- a/lib/choose_repository.tcl
+++ b/lib/choose_repository.tcl
@@ -24,6 +24,10 @@ field sorted_recent       ; # recent repositories (sorted)
 constructor pick {} {
        global M1T M1B use_ttk NS

+       if {[set maxrecent [get_config gui.maxrecentrepo]] eq {}} {
+               set maxrecent 10
+       }
+
        make_dialog top w
        wm title $top [mc "Git Gui"]

@@ -148,7 +152,7 @@ constructor pick {} {
                        -background [get_bg_color $w_body.recentlabel] \
                        -wrap none \
                        -width 50 \
-                       -height 10
+                       -height $maxrecent
                $w_recentlist tag conf link \
                        -foreground blue \
                        -underline 1
@@ -264,7 +268,11 @@ proc _append_recentrepos {path} {
        git config --global --add gui.recentrepo $path
        load_config 1

-       while {[llength $recent] > 10} {
+       if {[set maxrecent [get_config gui.maxrecentrepo]] eq {}} {
+               set maxrecent 10
+       }
+
+       while {[llength $recent] > $maxrecent} {
                _unset_recentrepo [lindex $recent 0]
                set recent [lrange $recent 1 end]
        }