aboutsummaryrefslogtreecommitdiffstats
path: root/RepSys
diff options
context:
space:
mode:
authorBogdano Arendartchuk <bogdano@mandriva.org>2007-11-13 05:11:28 +0000
committerBogdano Arendartchuk <bogdano@mandriva.org>2007-11-13 05:11:28 +0000
commit0fe6300c34bb791ccfb1050b04fbb9afd162b322 (patch)
tree230ecdf8499337268b330856601c2510ac60a867 /RepSys
parent7e0e0014427a3609d3102e47446cfad7d3c52624 (diff)
downloadmgarepo-0fe6300c34bb791ccfb1050b04fbb9afd162b322.tar
mgarepo-0fe6300c34bb791ccfb1050b04fbb9afd162b322.tar.gz
mgarepo-0fe6300c34bb791ccfb1050b04fbb9afd162b322.tar.bz2
mgarepo-0fe6300c34bb791ccfb1050b04fbb9afd162b322.tar.xz
mgarepo-0fe6300c34bb791ccfb1050b04fbb9afd162b322.zip
Make package and revision optional options for submit, again
This mode has been broken for a long time due to a change in subversion output. The confirmation of the revision being used was removed, as already used by mdvsys. Instead, notify the user and allow him to interrupt the process.
Diffstat (limited to 'RepSys')
-rw-r--r--RepSys/commands/submit.py14
-rw-r--r--RepSys/rpmutil.py25
2 files changed, 16 insertions, 23 deletions
diff --git a/RepSys/commands/submit.py b/RepSys/commands/submit.py
index 5c95526..25d5831 100644
--- a/RepSys/commands/submit.py
+++ b/RepSys/commands/submit.py
@@ -20,6 +20,9 @@ Usage: repsys submit [OPTIONS] [URL [REVISION]]
Submits the package from URL to the submit host.
+If no URL and revision are specified, the latest changed revision in
+the package working copy of the current directory will be used.
+
Options:
-t TARGET Submit given package URL to given target
-l Just list available targets
@@ -51,15 +54,8 @@ def parse_options():
opts, args = parser.parse_args()
if not args:
name, rev = get_submit_info(".")
- try:
- yn = raw_input("Submit '%s', revision %d (y/N)? " % (name, rev))
- except KeyboardInterrupt:
- yn = "n"
- if yn.lower() in ("y", "yes"):
- args = name, str(rev)
- else:
- print "Cancelled."
- sys.exit(1)
+ args = name, str(rev)
+ print "submitting %s at revision %s..." % args
elif len(args) > 2:
raise Error, "invalid arguments"
opts.pkgdirurl = default_parent(args[0])
diff --git a/RepSys/rpmutil.py b/RepSys/rpmutil.py
index 69692f1..774f64f 100644
--- a/RepSys/rpmutil.py
+++ b/RepSys/rpmutil.py
@@ -490,20 +490,17 @@ def get_submit_info(path):
if not os.path.isdir(os.path.join(path, ".svn")):
raise Error, "subversion directory not found"
- svn = SVN(baseurl=pkgdirurl)
-
+ svn = SVN(noauth=True)
# Now, extract the package name.
- for line in svn.info(path):
- if line.startswith("URL: "):
- url = line.split()[1]
- toks = url.split("/")
- if len(toks) < 2 or toks[-1] != "current":
- raise Error, "unexpected URL received from 'svn info'"
- name = toks[-2]
- break
- else:
- raise Error, "URL tag not found in 'svn info' output"
+ info = svn.info2(path)
+ url = info.get("URL")
+ if url is None:
+ raise Error, "missing URL from svn info %s" % path
+ toks = url.split("/")
+ if len(toks) < 2 or toks[-1] != "current":
+ raise Error, "unexpected URL received from 'svn info'"
+ name = toks[-2]
# Finally, guess revision.
max = -1
@@ -511,8 +508,8 @@ def get_submit_info(path):
files.extend(glob.glob("%s/*" % specsdir))
files.extend(glob.glob("%s/*" % sourcesdir))
for line in svn.info(" ".join(files)):
- if line.startswith("Revision: "):
- rev = int(line.split()[1])
+ if line.startswith("Last Changed Rev: "):
+ rev = int(line.split(":")[1])
if rev > max:
max = rev
if max == -1: