aboutsummaryrefslogtreecommitdiffstats
path: root/RepSys/svn.py
diff options
context:
space:
mode:
Diffstat (limited to 'RepSys/svn.py')
-rw-r--r--RepSys/svn.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/RepSys/svn.py b/RepSys/svn.py
index 4804a39..e83b072 100644
--- a/RepSys/svn.py
+++ b/RepSys/svn.py
@@ -247,10 +247,10 @@ class SVN:
return output
return None
- def log(self, url, start=None, end=0, **kwargs):
+ def log(self, url, start=None, end=0, limit=None, **kwargs):
cmd = ["log", url]
- if start is not None:
- if type(start) is not type(0):
+ if start is not None or end != 0:
+ if start is not None and type(start) is not type(0):
try:
start = int(start)
except (ValueError, TypeError):
@@ -260,7 +260,14 @@ class SVN:
end = int(end)
except (ValueError, TypeError):
raise Error, "invalid log end revision provided"
- cmd.append("-r %d:%d" % (start, end))
+ start = start or "HEAD"
+ cmd.append("-r %s:%s" % (start, end))
+ if limit is not None:
+ try:
+ limit = int(limit)
+ except (ValueError, TypeError):
+ raise Error, "invalid limit number provided"
+ cmd.append("--limit %d" % limit)
status, output = self._execsvn(*cmd, **kwargs)
if status != 0:
return None