aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo/commands/editlog.py
diff options
context:
space:
mode:
Diffstat (limited to 'MgaRepo/commands/editlog.py')
-rw-r--r--MgaRepo/commands/editlog.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/MgaRepo/commands/editlog.py b/MgaRepo/commands/editlog.py
new file mode 100644
index 0000000..c58c16b
--- /dev/null
+++ b/MgaRepo/commands/editlog.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python
+from MgaRepo import Error
+from MgaRepo.command import *
+from MgaRepo.layout import package_url
+from MgaRepo.svn import SVN
+import re
+
+HELP = """\
+Usage: mgarepo editlog [OPTIONS] [URL] REVISION
+
+Options:
+ -h Show this message
+
+Examples:
+ mgarepo editlog 14800
+ mgarepo editlog https://repos/svn/cnc/snapshot 14800
+"""
+
+def parse_options():
+ parser = OptionParser(help=HELP)
+ opts, args = parser.parse_args()
+ if len(args) == 2:
+ pkgdirurl, revision = args
+ elif len(args) == 1:
+ pkgdirurl, revision = "", args[0]
+ else:
+ raise Error, "invalid arguments"
+ opts.pkgdirurl = package_url(pkgdirurl, mirrored=False)
+ opts.revision = re.compile(r".*?(\d+).*").sub(r"\1", revision)
+ return opts
+
+def editlog(pkgdirurl, revision):
+ svn = SVN()
+ svn.propedit("svn:log", pkgdirurl, rev=revision)
+
+def main():
+ do_command(parse_options, editlog)
+
+# vim:et:ts=4:sw=4