diff options
author | Per Øyvind Karlsen <proyvind@moondrake.org> | 2016-05-28 22:57:39 +0200 |
---|---|---|
committer | Per Øyvind Karlsen <proyvind@moondrake.org> | 2016-05-28 22:57:39 +0200 |
commit | 3c9999b9520abf6a8db83a146c134661dce60dd8 (patch) | |
tree | 81334a5a510aae05e78c4c5ce8ec296473b637ba /MgaRepo/commands/log.py | |
parent | 9d8d2bc03257a39bc5ddf6bec848431b4e538662 (diff) | |
download | mgarepo-3c9999b9520abf6a8db83a146c134661dce60dd8.tar mgarepo-3c9999b9520abf6a8db83a146c134661dce60dd8.tar.gz mgarepo-3c9999b9520abf6a8db83a146c134661dce60dd8.tar.bz2 mgarepo-3c9999b9520abf6a8db83a146c134661dce60dd8.tar.xz mgarepo-3c9999b9520abf6a8db83a146c134661dce60dd8.zip |
- do not use shell for running external programs
- add suport for (quick) git-svn cloning of package repositories
Diffstat (limited to 'MgaRepo/commands/log.py')
-rw-r--r-- | MgaRepo/commands/log.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/MgaRepo/commands/log.py b/MgaRepo/commands/log.py index 2181125..330a96a 100644 --- a/MgaRepo/commands/log.py +++ b/MgaRepo/commands/log.py @@ -6,6 +6,8 @@ from MgaRepo.rpmutil import sync from MgaRepo.util import execcmd import sys import os +import subprocess +import shlex HELP = """\ Usage: mgarepo log [OPTIONS] [PACKAGE] @@ -57,9 +59,13 @@ def svn_log(pkgdirurl, verbose=False, limit=None, revision=None, releases=None): args.append("-r") args.append(revision) if os.isatty(sys.stdin.fileno()): - args.append("| less") - rawcmd = " ".join(args) - execcmd(rawcmd, show=True) + pager = shlex.split(os.environ.get("PAGER", "less")) + p = subprocess.Popen(args, stdout=subprocess.PIPE) + p2 = subprocess.Popen(pager, stdin=p.stdout) + p2.wait() + p.wait() + else: + execcmd(args, show=True) def main(): do_command(parse_options, svn_log) |