summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2016-06-10 17:25:04 +0300
committerLars Wirzenius <liw@liw.fi>2016-06-10 17:25:04 +0300
commit4c64ac3a01a7c47de62761437749e824130f522e (patch)
tree586a6a17fc36e56d76179f33cdcf4579cbd946d4
parent813af39a0b55219497457f4f98c635ada2643597 (diff)
downloadjt-4c64ac3a01a7c47de62761437749e824130f522e.tar.gz
Run git rebase --pull before git push
-rw-r--r--NEWS1
-rw-r--r--jtlib/__init__.py2
-rw-r--r--jtlib/git.py4
-rw-r--r--jtlib/plugins/finish_plugin.py1
4 files changed, 7 insertions, 1 deletions
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'])