2009/3/25 Jeff King <peff@xxxxxxxx>: > On Wed, Mar 25, 2009 at 09:58:40PM +1100, Nguyễn Thái Ngọc Duy wrote: > >> -'git init' [-q | --quiet] [--bare] [--template=<template_directory>] [--shared[=<permissions>]] >> +'git init' [-q | --quiet] [--bare] [--template=<template_directory>] >> + [--shared[=<permissions>]] [-m|--import [<message>]] > > What happened to --import=? Whether or not "--import <arg>" works, the > --long-opt= form should always work. > >> + else if (!strcmp(arg, "--import") || !strcmp(arg, "-m")) { >> + if (i+1 >= argc) >> + import_message = "Initial commit"; >> + else { >> + import_message = argv[2]; >> + i++; >> + argv++; >> + } >> + } > > This is the wrong way to do optional arguments. It means that > > git init --template=foo --import > > is different from > > git init --import --template=foo > > I think what you want is: > > else if (!strcmp(arg, "-m")) { > if (i+1 >= argc) > die("-m requires an import message"); > import_message = argv[2]; > i++; > argv++; > } > else if (!strcmp(arg, "--import")) > import_message = "Initial commit"; > else if (!prefixcmp(arg, "--import=")) > import_message = arg+9; > > That is, --import has a message or not depending on the '=', and "-m" > always has a message. If you want "-m" to optionally have a message then > it must be used as > > git init -mfoo Right. Should not work late (or send it in the same night). Will rework. -- Duy -- 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