Re: [PATCH v4] git-send-pack: fix --all option when used with directory
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:09:09
Junio C Hamano [off-list ref] writes:
stanislav@assembla.com writes:quoted
From: Stanislav Kolotinskiy <redacted> When using git send-pack with --all option and a target repository specification ([<host>:]<directory>), usage message is being displayed instead of performing the actual transmission. The reason for this issue is that destination and refspecs are being set in the same conditional and are populated from argv. When a target repository is passed, refspecs is being populated as well with its value. This makes the check for refspecs not being NULL to always return true, which, in conjunction with the check for --all or --mirror options, is always true as well and returns usage message instead of proceeding. This ensures that send-pack will stop execution only when --all or --mirror switch is used in conjunction with any refspecs passed. Signed-off-by: Stanislav Kolotinskiy <redacted> ---Thanks, will queue.
By the way, for some reason it was unusually painful to find the exact breakage by bisecting between maint-2.4 and maint-2.6. It somehow ended up on fingering random places like v2.6.0 itself. The true culprit is 068c77a5 (builtin/send-pack.c: use parse_options API, 2015-08-19). I didn't dug deep enough to tell if we recently broke "git bisect" or if there are something wrong in the shape of my history.