diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-06-06 14:18:55 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-06-06 14:18:55 -0700 |
commit | 283badc38e99f1dcdbb7bc5f6b5b3ace886b3bfd (patch) | |
tree | 5168e44f2770f0da95150fc27a16071a52448433 /builtin/submodule--helper.c | |
parent | Merge branch 'sb/submodule-helper-list-signal-unmatch-via-exit-status' (diff) | |
parent | submodule: remove bashism from shell script (diff) | |
download | tgif-283badc38e99f1dcdbb7bc5f6b5b3ace886b3bfd.tar.xz |
Merge branch 'sb/submodule-helper-relative-path'
A bash-ism "local" has been removed from "git submodule" scripted
Porcelain.
* sb/submodule-helper-relative-path:
submodule: remove bashism from shell script
Diffstat (limited to 'builtin/submodule--helper.c')
-rw-r--r-- | builtin/submodule--helper.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index f0b2c4fe0b..926d205162 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -831,6 +831,17 @@ static int update_clone(int argc, const char **argv, const char *prefix) return 0; } +static int resolve_relative_path(int argc, const char **argv, const char *prefix) +{ + struct strbuf sb = STRBUF_INIT; + if (argc != 3) + die("submodule--helper relative_path takes exactly 2 arguments, got %d", argc); + + printf("%s", relative_path(argv[1], argv[2], &sb)); + strbuf_release(&sb); + return 0; +} + struct cmd_struct { const char *cmd; int (*fn)(int, const char **, const char *); @@ -841,6 +852,7 @@ static struct cmd_struct commands[] = { {"name", module_name}, {"clone", module_clone}, {"update-clone", update_clone}, + {"relative-path", resolve_relative_path}, {"resolve-relative-url", resolve_relative_url}, {"resolve-relative-url-test", resolve_relative_url_test}, {"init", module_init} |