From 4c64ac3a01a7c47de62761437749e824130f522e Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Fri, 10 Jun 2016 17:25:04 +0300 Subject: Run git rebase --pull before git push --- NEWS | 1 + jtlib/__init__.py | 2 +- jtlib/git.py | 4 ++++ jtlib/plugins/finish_plugin.py | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 063a582..2a14ddf 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ NEWS for jt Version 0.15+git, not yet released ---------------------------------- +* Jt will now do `git pull --rebase` before pushing changes. Version 0.15, released 2016-05-11 ---------------------------------- diff --git a/jtlib/__init__.py b/jtlib/__init__.py index 959f715..42df5bb 100644 --- a/jtlib/__init__.py +++ b/jtlib/__init__.py @@ -18,7 +18,7 @@ from .version import __version__ from .draftsdir import DraftsDirectory -from .git import commit_to_git, push_git +from .git import commit_to_git, pull_rebase_git, push_git from .app import JournalTool __all__ = locals() diff --git a/jtlib/git.py b/jtlib/git.py index 439b502..e5c43a0 100644 --- a/jtlib/git.py +++ b/jtlib/git.py @@ -22,5 +22,9 @@ def commit_to_git(source_dir, pathnames): cliapp.runcmd(['git', 'commit', '-m', 'Publish log entry'], cwd=source_dir) +def pull_rebase_git(source_dir): + cliapp.runcmd(['git', 'pull', '--rebase'], cwd=source_dir) + + def push_git(source_dir): cliapp.runcmd(['git', 'push', 'origin', 'HEAD'], cwd=source_dir) diff --git a/jtlib/plugins/finish_plugin.py b/jtlib/plugins/finish_plugin.py index dc06158..e98f59a 100644 --- a/jtlib/plugins/finish_plugin.py +++ b/jtlib/plugins/finish_plugin.py @@ -87,4 +87,5 @@ class FinishCommand(cliapp.Plugin): jtlib.commit_to_git(self.app.settings['source'], pathnames) def _push_git(self): + jtlib.pull_rebase_git(self.app.settings['source']) jtlib.push_git(self.app.settings['source']) -- cgit v1.2.1