changeset 3796:2b5f94fc3b7a beta

current revision will show workdir state, not the latest revision
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 27 Apr 2013 11:45:27 +0200
parents 4ed55c851d1c
children d7488551578e
files rhodecode/lib/__init__.py rhodecode/lib/vcs/backends/git/workdir.py rhodecode/lib/vcs/backends/hg/workdir.py
diffstat 3 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/__init__.py	Sat Apr 27 01:47:56 2013 +0200
+++ b/rhodecode/lib/__init__.py	Sat Apr 27 11:45:27 2013 +0200
@@ -15,8 +15,9 @@
         repopath = os.path.join(os.path.dirname(__file__), '..', '..')
         scm = get_scm(repopath)[0]
         repo = get_repo(path=repopath, alias=scm)
-        tip = repo.get_changeset()
-        return (tip.revision, tip.short_id)
+        wk_dir = repo.workdir
+        cur_rev = wk_dir.get_changeset()
+        return (cur_rev.revision, cur_rev.short_id)
     except Exception, err:
         if not quiet:
             print ("WARNING: Cannot retrieve rhodecode's revision. "
--- a/rhodecode/lib/vcs/backends/git/workdir.py	Sat Apr 27 01:47:56 2013 +0200
+++ b/rhodecode/lib/vcs/backends/git/workdir.py	Sat Apr 27 11:45:27 2013 +0200
@@ -20,8 +20,8 @@
             raise RepositoryError("Couldn't compute workdir's branch")
 
     def get_changeset(self):
-        return self.repository.get_changeset(
-            self.repository._repo.refs.as_dict().get('HEAD'))
+        wk_dir_id = self.repository._repo.refs.as_dict().get('HEAD')
+        return self.repository.get_changeset(wk_dir_id)
 
     def checkout_branch(self, branch=None):
         if branch is None:
--- a/rhodecode/lib/vcs/backends/hg/workdir.py	Sat Apr 27 01:47:56 2013 +0200
+++ b/rhodecode/lib/vcs/backends/hg/workdir.py	Sat Apr 27 11:45:27 2013 +0200
@@ -10,7 +10,8 @@
         return self.repository._repo.dirstate.branch()
 
     def get_changeset(self):
-        return self.repository.get_changeset()
+        wk_dir_id = self.repository._repo[None].parents()[0].hex()
+        return self.repository.get_changeset(wk_dir_id)
 
     def checkout_branch(self, branch=None):
         if branch is None: