Marius Paliga <marius.paliga@xxxxxxxxx> writes: > Should we also mention that this option can take multiple values from > the command line? > > -o <option>:: > --push-option=<option>:: > Transmit the given string to the server, which passes them to > the pre-receive as well as the post-receive hook. The given string > must not contain a NUL or LF character. > + Multiple `--push-option=<option>` are allowed on the command line. > When no `--push-option=<option>` is given from the command > line, the values of configuration variable `push.pushOption` > are used instead. My first reaction was "Do we do that for other options that can be given multiple times? If not, perhaps this is not needed." Then my second reaction was "Do we have that many options that can be given multiple times in the first place? If not, perhaps a change like this to highlight these oddball options may not be a bad idea." And my third reaction was "Well, even if we have many such options, and even if most of them are not explicitly marked as usable multiple times in the current documentation, that's not a reason to keep it that way---the readers ought to be able to find out which ones can be used multiple times and how these multiple instances interact with each other, because the usual rule for single-instance options is 'the last one wins' (e.g. 'git status -uall -uno' should be the same as 'git status -uno') but to these multi-value options that rule does not hold". So, yes, I think it is a good idea. But it opens a tangent #leftoverbits. Among the most commonly used commands listed in "git --help", there indeed are some commands that take multiple options of the same kind (even if we do not count an obvious exception "--verbose", which everybody understands as the number of times it is given indicates the verbosity level). Somebody needs to go over their documentation and add "this can be given multiple times from the command line, and here is what happens to them". In your suggestion for "push -o <value1> -o <value2>", "here is what happens" is missing. Perhaps When multiple `--push-option=<option>` are given, they are all sent to the other side in the order listed on the command line. or something like that. Thanks.