Rfaulk has uploaded a new change for review.
https://gerrit.wikimedia.org/r/87657
Change subject: add - methods _git_commit_list, _dulwich_status.
......................................................................
add - methods _git_commit_list, _dulwich_status.
Change-Id: Idd4e91adbb49a02d81a8151f3b673f268d7c0e98
---
M sartoris/sartoris.py
1 file changed, 24 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/sartoris refs/changes/57/87657/1
diff --git a/sartoris/sartoris.py b/sartoris/sartoris.py
index 7f49428..850b07f 100755
--- a/sartoris/sartoris.py
+++ b/sartoris/sartoris.py
@@ -22,6 +22,7 @@
from dulwich.repo import Repo
from dulwich.objects import Tag, Commit, parse_timezone
+from dulwich.diff_tree import tree_changes
from config import log, configure, exit_codes, DEFAULT_CLIENT_HOOK, \
DEFAULT_TARGET_HOOK
@@ -214,7 +215,7 @@
_repo = Repo(self.config['top_dir'])
try:
- _repo.refs['HEAD'] = _repo['refs/tags/' + tag].id
+ _repo.refs['HEAD'] = self._get_commit_sha_for_tag(tag)
except AttributeError:
raise SartorisError(message=exit_codes[7], exit_code=7)
@@ -242,6 +243,15 @@
if not _repo.head() == commit_id:
raise SartorisError(message=exit_codes[14], exit_code=14)
+ def _dulwich_status(self):
+ """
+ Return the git status
+ """
+ _repo = Repo(self.config['top_dir'])
+ index = _repo.open_index()
+ return list(tree_changes(_repo, index.commit(_repo.object_store),
+ _repo['HEAD'].tree))
+
def _make_tag(self):
timestamp = datetime.now().strftime(self.DATE_TIME_TAG_FORMAT)
return '{0}-{1}'.format(self.config['user'], timestamp)
@@ -250,6 +260,19 @@
return '{0} <{1}>'.format(self.config['user.name'],
self.config['user.email'])
+ def _git_commit_list(self):
+ """
+ Generate an in-order list of commits
+ """
+ cmd = 'git log --pretty=oneline'
+ proc = subprocess.Popen(cmd.split(),
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ commits = [i.split()[0] for i in
proc.communicate()[0][:-1].split('\n')]
+ commits.reverse()
+
+ return commits
+
def start(self, args):
"""
* write a lock file
--
To view, visit https://gerrit.wikimedia.org/r/87657
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idd4e91adbb49a02d81a8151f3b673f268d7c0e98
Gerrit-PatchSet: 1
Gerrit-Project: sartoris
Gerrit-Branch: master
Gerrit-Owner: Rfaulk <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits