aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2013-01-25 16:42:02 +0100
committerMarcin Kuzminski <marcin@python-works.com>2013-01-25 16:42:02 +0100
commitc836104309c0ed996a9b9f0bd84071d184d4bfe6 (patch)
treebfbef4581d8c0cc83c99ee13b30693a0a62d5fec
parent22f6bf48b746d80b2bf789bae292004b3d533b6d (diff)
fixes for issue #731, update-repoinfo sometimes failed to update data when changesets
were initial commits --HG-- extra : source : 99ce5d097a09e0d4cb53ff42ac1ea5dcc3f4ec2e
-rwxr-xr-xrhodecode/model/db.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py
index 42beed91..15e694fc 100755
--- a/rhodecode/model/db.py
+++ b/rhodecode/model/db.py
@@ -1003,7 +1003,9 @@ class Repository(Base, BaseModel):
if isinstance(cs_cache, BaseChangeset):
cs_cache = cs_cache.__json__()
- if cs_cache != self.changeset_cache:
+ if (cs_cache != self.changeset_cache
+ or not self.last_change
+ or not self.changeset_cache):
_default = datetime.datetime.fromtimestamp(0)
last_change = cs_cache.get('date') or self.last_change or _default
log.debug('updated repo %s with new cs cache %s' % (self, cs_cache))
@@ -1011,6 +1013,8 @@ class Repository(Base, BaseModel):
self.changeset_cache = cs_cache
Session().add(self)
Session().commit()
+ else:
+ log.debug('Skipping repo:%s already with latest changes' % self)
@property
def tip(self):