aboutsummaryrefslogtreecommitdiff
path: root/Documentation/technical
diff options
context:
space:
mode:
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>2009-03-08 19:21:53 +0100
committerJunio C Hamano <gitster@pobox.com>2009-03-08 13:37:21 -0700
commit52e7787609d18af76a8c1befb0a06123fb7ce89e (patch)
tree676f1744408510fe58212ae8b6b4ac2b7d3312b4 /Documentation/technical
parent49b6180252000e37ec47ccb4156240ed625949ed (diff)
downloadgit-52e7787609d18af76a8c1befb0a06123fb7ce89e.tar.gz
git-52e7787609d18af76a8c1befb0a06123fb7ce89e.tar.xz
archive: use parseopt for local-only options
Replace the hand-rolled parsers that find and remove --remote and --exec by a parseopt parser that also handles --output. All three options only have a meaning if no remote server is used or on the local side. They must be rejected by upload-archive and should not be sent to the server by archive. We can't use a single parser for both remote and local side because the remote end possibly understands a different set of options than the local side. A local parser would then wrongly accuse options valid on the other side as being incorrect. This patch implements a very forgiving parser that understands only the three options mentioned above. All others are passed to the normal, complete parser in archive.c (running either locally in archive, or remotely in upload-archive). This normal parser definition contains dummy entries for the three options, in order for them to appear in the help screen. The parseopt parser allows multiple occurrences of --remote and --exec unlike the previous one; the one specified last wins. This looseness is acceptable, I think. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/technical')
0 files changed, 0 insertions, 0 deletions