# HG changeset patch # User Marcin Kuzminski # Date 2013-04-27 09:45:27 # Node ID 2b5f94fc3b7a21264561796804e23e4b47539c26 # Parent 4ed55c851d1cf6d564b7213ac6dc3a28a3a51f14 current revision will show workdir state, not the latest revision diff --git a/rhodecode/lib/__init__.py b/rhodecode/lib/__init__.py --- a/rhodecode/lib/__init__.py +++ b/rhodecode/lib/__init__.py @@ -15,8 +15,9 @@ def get_current_revision(quiet=False): 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. " diff --git a/rhodecode/lib/vcs/backends/git/workdir.py b/rhodecode/lib/vcs/backends/git/workdir.py --- a/rhodecode/lib/vcs/backends/git/workdir.py +++ b/rhodecode/lib/vcs/backends/git/workdir.py @@ -20,8 +20,8 @@ class GitWorkdir(BaseWorkdir): 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: diff --git a/rhodecode/lib/vcs/backends/hg/workdir.py b/rhodecode/lib/vcs/backends/hg/workdir.py --- a/rhodecode/lib/vcs/backends/hg/workdir.py +++ b/rhodecode/lib/vcs/backends/hg/workdir.py @@ -10,7 +10,8 @@ class MercurialWorkdir(BaseWorkdir): 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: