comparison rhodecode/lib/vcs/backends/base.py @ 3496:58905069da21 beta

Speed up of last_changeset extraction in VCS, in edge cases for git we can get 10x speed improvement by limiting the history extraction if we only need last changeset
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 07 Mar 2013 13:46:24 +0100
parents 0065f7fe60f6
children be41cfcf5244
comparison
equal deleted inserted replaced
3493:64371c42e2f1 3496:58905069da21
18 18
19 from rhodecode.lib.vcs.exceptions import ChangesetError, EmptyRepositoryError, \ 19 from rhodecode.lib.vcs.exceptions import ChangesetError, EmptyRepositoryError, \
20 NodeAlreadyAddedError, NodeAlreadyChangedError, NodeAlreadyExistsError, \ 20 NodeAlreadyAddedError, NodeAlreadyChangedError, NodeAlreadyExistsError, \
21 NodeAlreadyRemovedError, NodeDoesNotExistError, NodeNotChangedError, \ 21 NodeAlreadyRemovedError, NodeDoesNotExistError, NodeNotChangedError, \
22 RepositoryError 22 RepositoryError
23 import datetime
23 24
24 25
25 class BaseRepository(object): 26 class BaseRepository(object):
26 """ 27 """
27 Base Repository for final backends 28 Base Repository for final backends
978 An dummy empty changeset. It's possible to pass hash when creating 979 An dummy empty changeset. It's possible to pass hash when creating
979 an EmptyChangeset 980 an EmptyChangeset
980 """ 981 """
981 982
982 def __init__(self, cs='0' * 40, repo=None, requested_revision=None, 983 def __init__(self, cs='0' * 40, repo=None, requested_revision=None,
983 alias=None, revision=-1, message='', author='', date=''): 984 alias=None, revision=-1, message='', author='', date=None):
984 self._empty_cs = cs 985 self._empty_cs = cs
985 self.revision = revision 986 self.revision = revision
986 self.message = message 987 self.message = message
987 self.author = author 988 self.author = author
988 self.date = date 989 self.date = date or datetime.datetime.fromtimestamp(0)
989 self.repository = repo 990 self.repository = repo
990 self.requested_revision = requested_revision 991 self.requested_revision = requested_revision
991 self.alias = alias 992 self.alias = alias
992 993
993 @LazyProperty 994 @LazyProperty