Anonymous committed a813988

git-gui: Refactor current branch menu items to make i18n easier

The i18n team has also identified a rather ugly block of code in
git-gui that is used to make a pair of Repository menu items show
the current branch name. This code is difficult to convert to use
[mc ...] to lookup the translation, so I'm refactoring it into a

Signed-off-by: Shawn O. Pearce <>

Comments (0)

Files changed (1)

 .mbar.repository add command \
 	-label {Browse Current Branch's Files} \
 	-command {browser::new $current_branch}
-trace add variable current_branch write ".mbar.repository entryconf [.mbar.repository index last] -label \"Browse \$current_branch's Files\" ;#"
+set ui_browse_current [.mbar.repository index last]
 .mbar.repository add command \
 	-label {Browse Branch Files...} \
 	-command browser_open::dialog
 .mbar.repository add command \
 	-label {Visualize Current Branch's History} \
 	-command {do_gitk $current_branch}
-trace add variable current_branch write ".mbar.repository entryconf [.mbar.repository index last] -label \"Visualize \$current_branch's History\" ;#"
+set ui_visualize_current [.mbar.repository index last]
 .mbar.repository add command \
 	-label {Visualize All Branch History} \
 	-command {do_gitk --all}
 .mbar.repository add separator
+proc current_branch_write {args} {
+	global current_branch
+	.mbar.repository entryconf $::ui_browse_current \
+		-label "Browse $current_branch's Files"
+	.mbar.repository entryconf $::ui_visualize_current \
+		-label "Visualize $current_branch's History"
+trace add variable current_branch write current_branch_write
 if {[is_enabled multicommit]} {
 	.mbar.repository add command -label {Database Statistics} \
 		-command do_stats