diff options
author | DongInn Kim <dikim@cs.indiana.edu> | 2013-03-24 14:44:15 -0400 |
---|---|---|
committer | DongInn Kim <dikim@cs.indiana.edu> | 2013-03-24 14:44:15 -0400 |
commit | 39a639a33048178d98c4b3f7972589b45afd3151 (patch) | |
tree | f57463ef51f709ed070e8629be6681cbc14bce8b /src/lib/Bcfg2/Client/Tools | |
parent | 395e7c29981779113d1c9d83f341a967d093eade (diff) | |
download | bcfg2-39a639a33048178d98c4b3f7972589b45afd3151.tar.gz bcfg2-39a639a33048178d98c4b3f7972589b45afd3151.tar.bz2 bcfg2-39a639a33048178d98c4b3f7972589b45afd3151.zip |
Make the "latest" value of the "revision" attribute update the working
copy only when the working copy is not updated to the latest revision.
Diffstat (limited to 'src/lib/Bcfg2/Client/Tools')
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/VCS.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/VCS.py b/src/lib/Bcfg2/Client/Tools/VCS.py index 1ab867215..66e76f566 100644 --- a/src/lib/Bcfg2/Client/Tools/VCS.py +++ b/src/lib/Bcfg2/Client/Tools/VCS.py @@ -103,13 +103,20 @@ class VCS(Bcfg2.Client.Tools.Tool): def Verifysvn(self, entry, _): """Verify svn repositories""" + headrev = pysvn.Revision( pysvn.opt_revision_kind.head ) client = pysvn.Client() try: cur_rev = str(client.info(entry.get('name')).revision.number) + server = client.info2(entry.get('sourceurl'), headrev, recurse=False) + if server: + server_rev = str(server[0][1].rev.number) except: self.logger.info("Repository %s does not exist" % entry.get('name')) return False + if entry.get('revision') == 'latest' and cur_rev == server_rev: + return True + if cur_rev != entry.get('revision'): self.logger.info("At revision %s need to go to revision %s" % (cur_rev, entry.get('revision'))) |