2013/11/3 Jiang Xin <worldhello.net@xxxxxxxxx>: > 2013/11/3 Thomas Rast <tr@xxxxxxxxxxxxx>: >> Note that this patch changes the usage strings for the following >> subcommands: > > Differences of git-remote usages after applied your patch. > > diff -u before/git-remote-add-usage after/git-remote-add-usage > --- before/git-remote-add-usage 2013-11-03 15:10:06.000000000 +0800 > +++ after/git-remote-add-usage 2013-11-03 15:11:32.000000000 +0800 > @@ -1,4 +1,4 @@ > -usage: git remote add [<options>] <name> <url> > +usage: git remote add [-t <branch>] [-m <master>] [-f] > [--tags|--no-tags] [--mirror=<fetch|push>] <name> <url> > > -f, --fetch fetch the remote branches > --tags import all tags and associated objects when fetching > > diff -u before/git-remote-prune-usage after/git-remote-prune-usage > --- before/git-remote-prune-usage 2013-11-03 15:10:06.000000000 +0800 > +++ after/git-remote-prune-usage 2013-11-03 15:11:32.000000000 +0800 > @@ -1,4 +1,4 @@ > -usage: git remote prune [<options>] <name> > +usage: git remote prune [-n | --dry-run] <name> > > -n, --dry-run dry run > > diff -u before/git-remote-set-branches-usage after/git-remote-set-branches-usage > --- before/git-remote-set-branches-usage 2013-11-03 15:10:06.000000000 +0800 > +++ after/git-remote-set-branches-usage 2013-11-03 15:11:32.000000000 +0800 > @@ -1,5 +1,4 @@ > -usage: git remote set-branches <name> <branch>... > - or: git remote set-branches --add <name> <branch>... > +usage: git remote set-branches [--add] <name> <branch>... > > --add add branch > > diff -u before/git-remote-show-usage after/git-remote-show-usage > --- before/git-remote-show-usage 2013-11-03 15:10:06.000000000 +0800 > +++ after/git-remote-show-usage 2013-11-03 15:11:32.000000000 +0800 > @@ -1,4 +1,4 @@ > -usage: git remote show [<options>] <name> > +usage: git remote [-v | --verbose] show [-n] <name> > > -n do not query remotes > > diff -u before/git-remote-update-usage after/git-remote-update-usage > --- before/git-remote-update-usage 2013-11-03 15:10:06.000000000 +0800 > +++ after/git-remote-update-usage 2013-11-03 15:11:32.000000000 +0800 > @@ -1,4 +1,4 @@ > -usage: git remote update [<options>] [<group> | <remote>]... > +usage: git remote [-v | --verbose] update [-p | --prune] [(<group> | > <remote>)...] > > -p, --prune prune remotes after fetching > In order to get the differences of git-remote usages, I write a script. # SCRIPT to save git remote usage in files. for cmd in add set-head show prune update set-branches set-url; do git remote $cmd -h > $DIR/git-remote-$cmd-usage done git remote -h > $DIR/git-remote-usage git remote remove > $DIR/git-remote-remove-usage 2>&1 git remote rename > $DIR/git-remote-rename-usage 2>&1 Then I find two subcommands (remove and rename) are strange. * All other subcommands output usages to STDIN, but subcommands "remove" and "rename" send their usages to STDERR. * I can get the help message of all other subcommands using: "git remote <subcmd> -h", but not "git remote rm -h" $ git remote rm -h error: Could not remove config section 'remote.-h' Later I know it's a side-effect that all other subcommands could print usages if provide a unkown "-h/--help" option. What if add a parse_options call for both "rm" and "mv" functions in builtin/remote.c? diff --git a/builtin/remote.c b/builtin/remote.c index 2f6366a..171d1a8 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -651,6 +651,8 @@ static int mv(int argc, const char **argv) struct rename_info rename; int i, refspec_updated = 0; + argc = parse_options(argc, argv, NULL, options, + builtin_remote_rename_usage, 0); if (argc != 3) usage_with_options(builtin_remote_rename_usage, options); @@ -808,6 +810,8 @@ static int rm(int argc, const char **argv) cb_data.skipped = &skipped; cb_data.keep = &known_remotes; + argc = parse_options(argc, argv, NULL, options, + builtin_remote_rm_usage,0); if (argc != 2) usage_with_options(builtin_remote_rm_usage, options); -- Jiang Xin -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html