diff --git a/cola/app.py b/cola/app.py index 265463c31..575988696 100644 --- a/cola/app.py +++ b/cola/app.py @@ -538,6 +538,12 @@ def startup_message(): def initialize(): """System-level initialization""" + # We support ~/.config/git-cola/git-bindir on Windows for configuring + # a custom location for finding the "git" executable. + git_path = find_git() + if git_path: + prepend_path(git_path) + # The current directory may have been deleted while we are still # in that directory. We rectify this situation by walking up the # directory tree and retrying. @@ -618,14 +624,6 @@ def set_view(self, view): self.runtask = qtutils.RunTask(parent=view) -def winmain(main_fn, *argv): - """Find Git and launch main(argv)""" - git_path = find_git() - if git_path: - prepend_path(git_path) - return main_fn(*argv) - - def find_git(): """Return the path of git.exe, or None if we can't find it.""" if not utils.is_win32(): diff --git a/cola/dag.py b/cola/dag.py index 4bc583876..ad15dfa65 100644 --- a/cola/dag.py +++ b/cola/dag.py @@ -13,14 +13,9 @@ def main(argv=None): return args.func(args) -def winmain(): - """Windows git-dag entrypoint""" - return app.winmain(main) - - def shortcut_launch(): """Run git-dag from a Windows shortcut""" - return app.winmain(main, ['--prompt']) + return main(argv=['--prompt']) def parse_args(argv=None): diff --git a/cola/main.py b/cola/main.py index eb93d57ae..939c71e1b 100644 --- a/cola/main.py +++ b/cola/main.py @@ -28,10 +28,6 @@ def main(argv=None): return args.func(args) -def winmain(): - return app.winmain(main) - - def parse_args(argv): parser = argparse.ArgumentParser() # Newer versions of argparse (Python 3.6+) emit an error message for @@ -710,4 +706,4 @@ def shortcut_launch(): argv = sys.argv[1:] if not argv: argv = ['cola', '--prompt'] - return app.winmain(main, argv) + return main(argv=argv) diff --git a/cola/sequenceeditor.py b/cola/sequenceeditor.py index eb6323680..75ba372fa 100644 --- a/cola/sequenceeditor.py +++ b/cola/sequenceeditor.py @@ -62,11 +62,6 @@ def main(): return view.status -def winmain(): - """Windows git-cola-sequence-editor entrypoint""" - return app.winmain(main) - - def stop(_context, _view): """All done, cleanup""" QtCore.QThreadPool.globalInstance().waitForDone() diff --git a/pynsist.cfg b/pynsist.cfg index b691accaf..b5906ebe1 100644 --- a/pynsist.cfg +++ b/pynsist.cfg @@ -23,15 +23,15 @@ icon=cola/icons/git-cola.ico extra_preamble=contrib/win32/pynsist-preamble.py [Command git-cola] -entry_point=cola.main:winmain +entry_point=cola.main:main extra_preamble=contrib/win32/pynsist-preamble.py [Command git-cola-sequence-editor] -entry_point=cola.sequenceeditor:winmain +entry_point=cola.sequenceeditor:main extra_preamble=contrib/win32/pynsist-preamble.py [Command git-dag] -entry_point=cola.dag:winmain +entry_point=cola.dag:main extra_preamble=contrib/win32/pynsist-preamble.py # To identify unused DLL files to exclude, we can use Process Explorer.