# [PATCH v2] branch: change install_branch_config() to use skip_prefix()

3 messages from 2014-02-27 to 2014-02-27. Participants: Dmitry S. Dolzhenko, Junio C Hamano.
Thread: https://gitlist.dev/t/35978

## Dmitry S. Dolzhenko, 2014-02-27 15:35

Subject: [PATCH v2] branch: change install_branch_config() to use skip_prefix()
Message-ID: <530F5B41.1050900@yandex.ru>
URL: https://gitlist.dev/e/530F5B41.1050900%40yandex.ru

```
Change install_branch_config() to use skip_prefix()
for getting the short name of the remote branch.

Signed-off-by: Dmitry S. Dolzhenko <dmitrys.dolzhenko@yandex.ru>
---
 branch.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/branch.c b/branch.c
index 723a36b..9382e02 100644
--- a/branch.c
+++ b/branch.c
@@ -49,8 +49,8 @@ static int should_setup_rebase(const char *origin)
 
 void install_branch_config(int flag, const char *local, const char *origin, const char *remote)
 {
-	const char *shortname = remote + 11;
-	int remote_is_branch = starts_with(remote, "refs/heads/");
+	const char *shortname = skip_prefix(remote, "refs/heads/");
+	int remote_is_branch = shortname != NULL;
 	struct strbuf key = STRBUF_INIT;
 	int rebasing = should_setup_rebase(origin);
 
-- 
1.8.3.2

```

## Junio C Hamano, 2014-02-27 19:42

Subject: Re: [PATCH v2] branch: change install_branch_config() to use skip_prefix()
Message-ID: <xmqq4n3kz6jb.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqq4n3kz6jb.fsf%40gitster.dls.corp.google.com
In-Reply-To: <530F5B41.1050900@yandex.ru>

```
"Dmitry S. Dolzhenko" <dmitrys.dolzhenko@yandex.ru> writes:

> Change install_branch_config() to use skip_prefix()
> for getting the short name of the remote branch.
>
> Signed-off-by: Dmitry S. Dolzhenko <dmitrys.dolzhenko@yandex.ru>
> ---
>  branch.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/branch.c b/branch.c
> index 723a36b..9382e02 100644
> --- a/branch.c
> +++ b/branch.c
> @@ -49,8 +49,8 @@ static int should_setup_rebase(const char *origin)
>  
>  void install_branch_config(int flag, const char *local, const char *origin, const char *remote)
>  {
> -	const char *shortname = remote + 11;
> -	int remote_is_branch = starts_with(remote, "refs/heads/");
> +	const char *shortname = skip_prefix(remote, "refs/heads/");
> +	int remote_is_branch = shortname != NULL;

That sounds more reasonable, compared to the previous round.
I'd probably say this

	int remote_is_branch = !shortname;

instead, if I were doing this patch myself, though.

>  	struct strbuf key = STRBUF_INIT;
>  	int rebasing = should_setup_rebase(origin);

```

## Junio C Hamano, 2014-02-27 22:17

Subject: Re: [PATCH v2] branch: change install_branch_config() to use skip_prefix()
Message-ID: <xmqqy50ww686.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqqy50ww686.fsf%40gitster.dls.corp.google.com
In-Reply-To: <xmqq4n3kz6jb.fsf@gitster.dls.corp.google.com>

```
Junio C Hamano <gitster@pobox.com> writes:

> "Dmitry S. Dolzhenko" <dmitrys.dolzhenko@yandex.ru> writes:
>
>> Change install_branch_config() to use skip_prefix()
>> for getting the short name of the remote branch.
>>
>> Signed-off-by: Dmitry S. Dolzhenko <dmitrys.dolzhenko@yandex.ru>
>> ---
>>  branch.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/branch.c b/branch.c
>> index 723a36b..9382e02 100644
>> --- a/branch.c
>> +++ b/branch.c
>> @@ -49,8 +49,8 @@ static int should_setup_rebase(const char *origin)
>>  
>>  void install_branch_config(int flag, const char *local, const char *origin, const char *remote)
>>  {
>> -	const char *shortname = remote + 11;
>> -	int remote_is_branch = starts_with(remote, "refs/heads/");
>> +	const char *shortname = skip_prefix(remote, "refs/heads/");
>> +	int remote_is_branch = shortname != NULL;
>
> That sounds more reasonable, compared to the previous round.
> I'd probably say this
>
> 	int remote_is_branch = !shortname;
>
> instead, if I were doing this patch myself, though.

Heh, that is !!, not !.

>
>>  	struct strbuf key = STRBUF_INIT;
>>  	int rebasing = should_setup_rebase(origin);

```
