threads / patch / 36029

v4branch.c: change install_branch_config() to use skip_prefix()

Subject: [PATCH v4] branch.c: change install_branch_config() to use skip_prefix()

## tl;dr

3 messages between Mar 3, 2014 and Mar 3, 2014. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Guanglin Xu· Mar 3, 2014, 06:36 UTC · lore
to avoid a magic code of 11.
Helped-by: Sun He <sunheeh...@gmail.com>
Helped-by: Eric Sunshine <sunsh...@sunshineco.com>
Helped-by: Jacopo Notarstefano <jaco...@gmail.com>
Signed-off-by: Guanglin Xu <mzguanglin@gmail.com>
---
This is an implementation of the idea#2 of GSoC 2014 microproject.
 branch.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
Show changes to branch.c +6 −2
diff --git a/branch.c b/branch.c
index 723a36b..4eec0ac 100644
--- a/branch.c
+++ b/branch.c
@@ -49,8 +49,12 @@ 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;
+	if (NULL == shortname)
+		remote_is_branch = 0;
+	else
+		remote_is_branch = 1;
 	struct strbuf key = STRBUF_INIT;
 	int rebasing = should_setup_rebase(origin);
 
-- 
1.9.0
Eric Sunshine· Mar 3, 2014, 08:12 UTC · re: Guanglin Xu · lore

Re: [PATCH v4] branch.c: change install_branch_config() to use skip_prefix()

On Mon, Mar 3, 2014 at 1:36 AM, Guanglin Xu <mzguanglin@gmail.com> wrote:
Show 30 quoted lines
> to avoid a magic code of 11.
>
> Helped-by: Sun He <sunheeh...@gmail.com>
> Helped-by: Eric Sunshine <sunsh...@sunshineco.com>
> Helped-by: Jacopo Notarstefano <jaco...@gmail.com>
>
> Signed-off-by: Guanglin Xu <mzguanglin@gmail.com>
> ---
>
> This is an implementation of the idea#2 of GSoC 2014 microproject.
>
>  branch.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/branch.c b/branch.c
> index 723a36b..4eec0ac 100644
> --- a/branch.c
> +++ b/branch.c
> @@ -49,8 +49,12 @@ 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;
> +       if (NULL == shortname)
> +               remote_is_branch = 0;
> +       else
> +               remote_is_branch = 1;
A bit verbose. Perhaps just:
    int remote_is_branch = !!shortname;
which you will find to be idiomatic in this project.
Show 5 quoted lines
>         struct strbuf key = STRBUF_INIT;
>         int rebasing = should_setup_rebase(origin);
>
> --
> 1.9.0
Guanglin Xu· Mar 3, 2014, 08:57 UTC · re: Eric Sunshine · lore

Re: [PATCH v4] branch.c: change install_branch_config() to use skip_prefix()

Hi Eric,

Yes, you're right. "!!" is comfortably concise and also idiomatic in Git sources.

Thanks,
Guanglin
2014-03-03 16:12 GMT+08:00 Eric Sunshine <sunshine@sunshineco.com>:
Show 43 quoted lines
> On Mon, Mar 3, 2014 at 1:36 AM, Guanglin Xu <mzguanglin@gmail.com> wrote:
>> to avoid a magic code of 11.
>>
>> Helped-by: Sun He <sunheeh...@gmail.com>
>> Helped-by: Eric Sunshine <sunsh...@sunshineco.com>
>> Helped-by: Jacopo Notarstefano <jaco...@gmail.com>
>>
>> Signed-off-by: Guanglin Xu <mzguanglin@gmail.com>
>> ---
>>
>> This is an implementation of the idea#2 of GSoC 2014 microproject.
>>
>>  branch.c | 8 ++++++--
>>  1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/branch.c b/branch.c
>> index 723a36b..4eec0ac 100644
>> --- a/branch.c
>> +++ b/branch.c
>> @@ -49,8 +49,12 @@ 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;
>> +       if (NULL == shortname)
>> +               remote_is_branch = 0;
>> +       else
>> +               remote_is_branch = 1;
>
> A bit verbose. Perhaps just:
>
>     int remote_is_branch = !!shortname;
>
> which you will find to be idiomatic in this project.
>
>>         struct strbuf key = STRBUF_INIT;
>>         int rebasing = should_setup_rebase(origin);
>>
>> --
>> 1.9.0

← back to recent threads