grim/hgkeeper
Clone
Summary
Browse
Changes
Graph
Do not allow repositories in a repository
13 months ago, aklitzing
ebf8e3bd9e68
Do not allow repositories in a repository
It will be strange to support something like this
$ hg init ssh://hg.host.com/hgkeeper/keys
Reviewed at https://reviews.imfreedom.org/r/2423/
package
hg
import
(
"github.com/alecthomas/kong"
"github.com/kballard/go-shellquote"
)
type
CommandArguments
struct
{
Hg
struct
{
Repo
string
`kong:"flag,short='R'"`
Serve
struct
{
Stdio
bool
`kong:"flag,name='stdio'"`
}
`kong:"cmd"`
Init
struct
{
Repo
string
`kong:"arg"`
}
`kong:"cmd"`
}
`kong:"cmd"`
}
func
ParseCommandArguments
(
cmd
string
)
(
string
,
CommandArguments
,
error
)
{
values
:=
CommandArguments
{}
args
,
err
:=
shellquote
.
Split
(
cmd
)
if
err
!=
nil
{
return
""
,
values
,
err
}
parser
:=
kong
.
Must
(
&
values
,
kong
.
NoDefaultHelp
())
ctx
,
err
:=
parser
.
Parse
(
args
)
if
err
!=
nil
{
return
""
,
values
,
err
}
return
ctx
.
Command
(),
values
,
nil
}