patch from dcantrel to allow scp -p

This commit is contained in:
Mike McGrath 2008-07-29 13:54:00 -05:00
parent 6fc765f8a4
commit 7a996cb023

View file

@ -36,20 +36,24 @@ if __name__ == '__main__':
sys.exit(3) sys.exit(3)
allargs = [thearg] allargs = [thearg]
elif basecmd in ('scp'): elif basecmd in ('scp'):
thearg = ' '.join(allargs[1:]) numargs = len(allargs)
firstLetter = allargs[2][0] srcarg = numargs - 2
secondLetter = allargs[2][1] destarg = numargs - 1
uploadTarget = "/srv/web/releases/%s/%s/%s/" % (firstLetter, secondLetter, allargs[2]) thearg = ' '.join(allargs[srcarg:])
firstLetter = allargs[destarg][0]
secondLetter = allargs[destarg][1]
uploadTarget = "/srv/web/releases/%s/%s/%s/" % (firstLetter, secondLetter, allargs[destarg])
if thearg.find('/') != -1: if thearg.find('/') != -1:
print "scp yourfile-1.2.tar.gz scm.fedorahosted.org:$YOURPROJECT # No trailing /" print "scp yourfile-1.2.tar.gz scm.fedorahosted.org:$YOURPROJECT # No trailing /"
sys.exit(4) sys.exit(4)
elif not os.path.isdir(uploadTarget): elif not os.path.isdir(uploadTarget):
print "http://fedorahosted.org/releases/%s/%s/%s does not exist!" % (firstLetter, secondLetter, allargs[2]) print "http://fedorahosted.org/releases/%s/%s/%s does not exist!" % (firstLetter, secondLetter, allargs[destarg])
sys.exit(5) sys.exit(5)
else: else:
newargs = [] newargs = []
newargs.append(allargs[0]) newargs.append(allargs[0])
newargs.append(allargs[1]) for arg in allargs[1:numargs - 1]:
newargs.append(arg)
newargs.append(uploadTarget) newargs.append(uploadTarget)
os.execv(cmd, [cmd] + newargs[1:]) os.execv(cmd, [cmd] + newargs[1:])
sys.exit(1) sys.exit(1)