1.1 --- a/hgapp/ssh/shell.py Sat Mar 06 19:13:28 2010 +0100
1.2 +++ b/hgapp/ssh/shell.py Sat Mar 06 19:13:57 2010 +0100
1.3 @@ -7,9 +7,21 @@
1.4 from optparse import OptionParser
1.5
1.6 parser = OptionParser()
1.7 + parser.usage = """
1.8 + hg clone . ssh://[user@]host/path/to/repository
1.9 + hg [pull|push|...] ssh://[user@]host/path/to/repository
1.10 +
1.11 + ssh [user@]host help
1.12 + ssh [user@]host keys [options]
1.13 + ssh [user@]host [rebuild|sdist] [-v] /path/to/repository
1.14 +
1.15 +SSH Commands:
1.16 + keys see options
1.17 + rebuild rebuild docs for the repository
1.18 + sdist build sdist package"""
1.19 parser.add_option("-u", "--user", dest="user",
1.20 default=None,
1.21 - help="user name")
1.22 + help="user name (only valid with command line)")
1.23 parser.add_option('-n', "--name", dest="name",
1.24 default=None,
1.25 help="name associate to ssh key")
1.26 @@ -27,9 +39,6 @@
1.27
1.28 options, args = parser.parse_args()
1.29
1.30 - log.basicConfig(stream=sys.stderr,
1.31 - format=options.verbose and '%(levelname)-5.5s %(message)s' or '%(message)s',
1.32 - level=options.verbose and log.DEBUG or log.INFO)
1.33
1.34 cmd = os.getenv('SSH_ORIGINAL_COMMAND', '?')
1.35 path_info = None
1.36 @@ -45,18 +54,27 @@
1.37 if cmd != '?':
1.38 cmd_args.extend(cmd.split())
1.39 options, args = parser.parse_args(cmd_args)
1.40 + log.basicConfig(stream=sys.stderr,
1.41 + format=options.verbose and '%(levelname)-5.5s %(message)s' or '%(message)s',
1.42 + level=options.verbose and log.DEBUG or log.INFO)
1.43 log.debug('options: %s, args: %r', options, args)
1.44 if len(args) == 2:
1.45 if args[0] in ('rebuild', 'sdist'):
1.46 cmd = args[0]
1.47 path_info = args[1].strip('/').strip()
1.48 + elif args == ['help']:
1.49 + parser.parse_args(['-h'])
1.50 elif args == ['keys']:
1.51 from hgapp.script import ssh_keys
1.52 ssh_keys(cmd_args)
1.53 sys.exit(0)
1.54
1.55 + log.basicConfig(stream=sys.stderr,
1.56 + format=options.verbose and '%(levelname)-5.5s %(message)s' or '%(message)s',
1.57 + level=options.verbose and log.DEBUG or log.INFO)
1.58
1.59 if not path_info:
1.60 + log.debug(path_info)
1.61 parser.error("Illegal command %r" % cmd)
1.62 sys.exit(-1)
1.63
1.64 @@ -70,7 +88,9 @@
1.65
1.66 repo, ui, c = utils.get_repo(path_info, user=options.user)
1.67
1.68 - if not repo:
1.69 + if not repo and cmd.startswith('hg init'):
1.70 + repo = os.path.join(c.hgwebdir, path_info.split('/')[-1])
1.71 + elif not repo:
1.72 parser.error("No valid repository found for %r" % path_info)
1.73
1.74 c.repo = os.path.realpath(repo)
2.1 --- a/hgapp/utils.py Sat Mar 06 19:13:28 2010 +0100
2.2 +++ b/hgapp/utils.py Sat Mar 06 19:13:57 2010 +0100
2.3 @@ -165,8 +165,7 @@
2.4 elif cmd.startswith('hg init'):
2.5 repo = path
2.6
2.7 - if repo:
2.8 - ui = get_ui(c)
2.9 + ui = get_ui(c)
2.10
2.11 return repo, ui, c
2.12