Re: [PATCH] Extend "checkout --track" DWIM to support more cases
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Aug 20, 2008, 19:52 UTC
- Message-ID
- <alpine.DEB.1.00.0808202151320.24820@pacific.mpi-cbg.de.mpi-cbg.de>
- In-Reply-To
- <20080820185028.GA16626@blimp.local>
Hi,
On Wed, 20 Aug 2008, Alex Riesen wrote:
Show 26 quoted lines
> The code handles additionally "refs/remotes/<something>/name",
> "remotes/<something>/name", and "refs/<namespace>/name".
> Test cases included.
>
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
> ---
>
> Johannes has likable ideas :)
>
> builtin-checkout.c | 20 +++++++++++++++-----
> t/t7201-co.sh | 23 ++++++++++++++++++++++-
> 2 files changed, 37 insertions(+), 6 deletions(-)
>
> diff --git a/builtin-checkout.c b/builtin-checkout.c
> index e95eab9..20466e2 100644
> --- a/builtin-checkout.c
> +++ b/builtin-checkout.c
> @@ -447,11 +447,21 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
> char *slash;
> if (!argc || !strcmp(argv[0], "--"))
> die ("--track needs a branch name");
> - slash = strchr(argv[0], '/');
> - if (slash && !prefixcmp(argv[0], "refs/"))
> - slash = strchr(slash + 1, '/');
> - if (slash && !prefixcmp(argv[0], "remotes/"))
> - slash = strchr(slash + 1, '/');Why is this not enough? It strips refs/ if there is one, and remotes/ if there is one (possibly after stripping refs/). No?
Puzzled, Dscho