Merge branch 'master' of https://github.com/j6t/git-gui
* 'master' of https://github.com/j6t/git-gui: git-gui: grey out comment lines in commit message git-gui: wire up "git-gui--askyesno" with Meson git-gui: massage "git-gui--askyesno" with "generate-script.sh" git-gui: prefer shell at "/bin/sh" with Meson git-gui: fix use of GIT_CEILING_DIRECTORIES git-gui: shift tabstops to account for the first column of patch textmaint
commit
6e8d538aab
|
|
@ -5,4 +5,5 @@ GIT-GUI-BUILD-OPTIONS
|
||||||
GIT-VERSION-FILE
|
GIT-VERSION-FILE
|
||||||
git-gui
|
git-gui
|
||||||
git-gui--askpass
|
git-gui--askpass
|
||||||
|
git-gui--askyesno
|
||||||
lib/tclIndex
|
lib/tclIndex
|
||||||
|
|
|
||||||
|
|
@ -5,19 +5,27 @@ DEF_VER=0.21.GITGUI
|
||||||
LF='
|
LF='
|
||||||
'
|
'
|
||||||
|
|
||||||
if test "$#" -ne 2
|
if test "$#" -lt 2
|
||||||
then
|
then
|
||||||
echo >&2 "usage: $0 <SOURCE_DIR> <OUTPUT>"
|
echo >&2 "usage: $0 <SOURCE_DIR> <OUTPUT> [<PARENT_PROJECT_DIR>]"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SOURCE_DIR="$1"
|
SOURCE_DIR="$1"
|
||||||
OUTPUT="$2"
|
OUTPUT="$2"
|
||||||
|
PARENT_PROJECT_DIR="$3"
|
||||||
|
|
||||||
# Protect us from reading Git version information outside of the Git directory
|
# Protect us from reading Git version information outside of the Git directory
|
||||||
# in case it is not a repository itself, but embedded in an unrelated
|
# in case it is not a repository itself, but embedded in an unrelated
|
||||||
# repository.
|
# repository. The PARENT_PROJECT_DIR variable can be used to override this, for
|
||||||
GIT_CEILING_DIRECTORIES="$SOURCE_DIR/.."
|
# example when git-gui is included as a subproject.
|
||||||
|
if test -n "$PARENT_PROJECT_DIR"
|
||||||
|
then
|
||||||
|
GIT_CEILING_DIRECTORIES="$PARENT_PROJECT_DIR/.."
|
||||||
|
else
|
||||||
|
GIT_CEILING_DIRECTORIES="$SOURCE_DIR/.."
|
||||||
|
fi
|
||||||
|
|
||||||
export GIT_CEILING_DIRECTORIES
|
export GIT_CEILING_DIRECTORIES
|
||||||
|
|
||||||
tree_search ()
|
tree_search ()
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ all::
|
||||||
#
|
#
|
||||||
|
|
||||||
GIT-VERSION-FILE: FORCE
|
GIT-VERSION-FILE: FORCE
|
||||||
@$(SHELL_PATH) ./GIT-VERSION-GEN . $@
|
@$(SHELL_PATH) ./GIT-VERSION-GEN . $@ "$(PARENT_PROJECT_DIR)"
|
||||||
|
|
||||||
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
|
uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
|
||||||
uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
|
uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
|
||||||
|
|
@ -177,10 +177,13 @@ GIT-GUI-BUILD-OPTIONS: FORCE
|
||||||
git-gui--askpass: git-gui--askpass.sh GIT-GUI-BUILD-OPTIONS generate-script.sh
|
git-gui--askpass: git-gui--askpass.sh GIT-GUI-BUILD-OPTIONS generate-script.sh
|
||||||
$(QUIET_GEN)$(SHELL_PATH) generate-script.sh $@ $< ./GIT-GUI-BUILD-OPTIONS
|
$(QUIET_GEN)$(SHELL_PATH) generate-script.sh $@ $< ./GIT-GUI-BUILD-OPTIONS
|
||||||
|
|
||||||
|
git-gui--askyesno: git-gui--askyesno.sh GIT-GUI-BUILD-OPTIONS generate-script.sh
|
||||||
|
$(QUIET_GEN)$(SHELL_PATH) generate-script.sh $@ $< ./GIT-GUI-BUILD-OPTIONS
|
||||||
|
|
||||||
ifdef GITGUI_WINDOWS_WRAPPER
|
ifdef GITGUI_WINDOWS_WRAPPER
|
||||||
all:: git-gui
|
all:: git-gui
|
||||||
endif
|
endif
|
||||||
all:: $(GITGUI_MAIN) git-gui--askpass lib/tclIndex $(ALL_MSGFILES)
|
all:: $(GITGUI_MAIN) git-gui--askpass git-gui--askyesno lib/tclIndex $(ALL_MSGFILES)
|
||||||
|
|
||||||
install: all
|
install: all
|
||||||
$(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1)
|
$(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1)
|
||||||
|
|
@ -221,7 +224,7 @@ dist-version: GIT-VERSION-FILE
|
||||||
@sed 's|^GITGUI_VERSION=||' <GIT-VERSION-FILE >$(TARDIR)/version
|
@sed 's|^GITGUI_VERSION=||' <GIT-VERSION-FILE >$(TARDIR)/version
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
$(RM_RF) $(GITGUI_MAIN) git-gui--askpass lib/tclIndex po/*.msg $(PO_TEMPLATE)
|
$(RM_RF) $(GITGUI_MAIN) git-gui--askpass git-gui--askyesno lib/tclIndex po/*.msg $(PO_TEMPLATE)
|
||||||
$(RM_RF) GIT-VERSION-FILE GIT-GUI-BUILD-OPTIONS
|
$(RM_RF) GIT-VERSION-FILE GIT-GUI-BUILD-OPTIONS
|
||||||
ifdef GITGUI_WINDOWS_WRAPPER
|
ifdef GITGUI_WINDOWS_WRAPPER
|
||||||
$(RM_RF) git-gui
|
$(RM_RF) git-gui
|
||||||
|
|
|
||||||
|
|
@ -3900,6 +3900,24 @@ if {[winfo exists $ui_comm]} {
|
||||||
|
|
||||||
backup_commit_buffer
|
backup_commit_buffer
|
||||||
|
|
||||||
|
# Grey out comment lines (which are stripped from the final commit message by
|
||||||
|
# wash_commit_message).
|
||||||
|
$ui_comm tag configure commit_comment -foreground gray
|
||||||
|
proc dim_commit_comment_lines {} {
|
||||||
|
global ui_comm comment_string
|
||||||
|
$ui_comm tag remove commit_comment 1.0 end
|
||||||
|
set text [$ui_comm get 1.0 end]
|
||||||
|
# See also cmt_rx in wash_commit_message
|
||||||
|
set cmt_rx [strcat {^} [regsub -all {\W} $comment_string {\\&}]]
|
||||||
|
set ranges [regexp -all -indices -inline -line -- $cmt_rx $text]
|
||||||
|
foreach pair $ranges {
|
||||||
|
set idx "1.0 + [lindex $pair 0] chars"
|
||||||
|
$ui_comm tag add commit_comment $idx "$idx lineend + 1 char"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dim_commit_comment_lines
|
||||||
|
bind $ui_comm <<Modified>> { after idle dim_commit_comment_lines }
|
||||||
|
|
||||||
# -- If the user has aspell available we can drive it
|
# -- If the user has aspell available we can drive it
|
||||||
# in pipe mode to spellcheck the commit message.
|
# in pipe mode to spellcheck the commit message.
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -385,6 +385,8 @@ proc read_diff {fd conflict_size cont_info} {
|
||||||
#
|
#
|
||||||
if {[string match {@@@ *} $line]} {
|
if {[string match {@@@ *} $line]} {
|
||||||
set is_3way_diff 1
|
set is_3way_diff 1
|
||||||
|
apply_tab_size 2
|
||||||
|
} elseif {[string match {@@ *} $line]} {
|
||||||
apply_tab_size 1
|
apply_tab_size 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ project('git-gui',
|
||||||
|
|
||||||
fs = import('fs')
|
fs = import('fs')
|
||||||
|
|
||||||
shell = find_program('sh')
|
shell = find_program('/bin/sh', 'sh')
|
||||||
tclsh = find_program('tclsh')
|
tclsh = find_program('tclsh')
|
||||||
wish = find_program('wish')
|
wish = find_program('wish')
|
||||||
|
|
||||||
|
|
@ -34,6 +34,7 @@ version_file = custom_target(
|
||||||
'@INPUT@',
|
'@INPUT@',
|
||||||
meson.current_source_dir(),
|
meson.current_source_dir(),
|
||||||
'@OUTPUT@',
|
'@OUTPUT@',
|
||||||
|
get_option('parent_project_dir'),
|
||||||
],
|
],
|
||||||
build_always_stale: true,
|
build_always_stale: true,
|
||||||
)
|
)
|
||||||
|
|
@ -53,19 +54,21 @@ if target_machine.system() == 'windows'
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
custom_target(
|
foreach script : [ 'git-gui--askpass', 'git-gui--askyesno' ]
|
||||||
output: 'git-gui--askpass',
|
custom_target(
|
||||||
input: 'git-gui--askpass.sh',
|
output: script,
|
||||||
command: [
|
input: script + '.sh',
|
||||||
shell,
|
command: [
|
||||||
meson.current_source_dir() / 'generate-script.sh',
|
shell,
|
||||||
'@OUTPUT@',
|
meson.current_source_dir() / 'generate-script.sh',
|
||||||
'@INPUT@',
|
'@OUTPUT@',
|
||||||
meson.current_build_dir() / 'GIT-GUI-BUILD-OPTIONS',
|
'@INPUT@',
|
||||||
],
|
meson.current_build_dir() / 'GIT-GUI-BUILD-OPTIONS',
|
||||||
install: true,
|
],
|
||||||
install_dir: get_option('libexecdir') / 'git-core',
|
install: true,
|
||||||
)
|
install_dir: get_option('libexecdir') / 'git-core',
|
||||||
|
)
|
||||||
|
endforeach
|
||||||
|
|
||||||
custom_target(
|
custom_target(
|
||||||
input: 'git-gui.sh',
|
input: 'git-gui.sh',
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
option('parent_project_dir', type: 'string', value: '',
|
||||||
|
description: 'The directory of the parent project. This is used so that the version can be determined even in case git-gui is included as a subtree.')
|
||||||
Loading…
Reference in New Issue