# [PATCH] Allow abbreviations in the first refspec to be merged

2 messages from 2007-09-28 to 2007-09-28. Participants: Daniel Barkalow, Shawn O. Pearce.
Thread: https://gitlist.dev/t/10065

## Daniel Barkalow, 2007-09-28 23:34

Subject: [PATCH] Allow abbreviations in the first refspec to be merged
Message-ID: <Pine.LNX.4.64.0709281932550.5926@iabervon.org>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0709281932550.5926%40iabervon.org

```
The config item for a refspec side and the ref name that it matches
aren't necessarily character-for-character identical. We actually want
to merge a ref by default if: there is no per-branch config, it is the
found result of looking for the match for the first refspec, and the
first refspec is not a pattern. Beyond that, anything that
get_fetch_map() thinks matches is fine.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
---
This fixes the configuration you gave for me, and passes all the 
usual tests.

 builtin-fetch.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/builtin-fetch.c b/builtin-fetch.c
index 2f639cc..ac68ff5 100644
--- a/builtin-fetch.c
+++ b/builtin-fetch.c
@@ -102,7 +102,7 @@ static struct ref *get_ref_map(struct transport *transport,
 				    remote->fetch[i].dst[0])
 					*autotags = 1;
 				if (!i && !has_merge && ref_map &&
-				    !strcmp(remote->fetch[0].src, ref_map->name))
+				    !remote->fetch[0].pattern)
 					ref_map->merge = 1;
 			}
 			if (has_merge)
-- 
1.5.3.2.1107.ge9eab8-dirty

```

## Shawn O. Pearce, 2007-09-28 23:38

Subject: Re: [PATCH] Allow abbreviations in the first refspec to be merged
Message-ID: <20070928233850.GY3099@spearce.org>
URL: https://gitlist.dev/e/20070928233850.GY3099%40spearce.org
In-Reply-To: <Pine.LNX.4.64.0709281932550.5926@iabervon.org>

```
Daniel Barkalow <barkalow@iabervon.org> wrote:
> The config item for a refspec side and the ref name that it matches
> aren't necessarily character-for-character identical.
[snip]
> diff --git a/builtin-fetch.c b/builtin-fetch.c
> index 2f639cc..ac68ff5 100644
> --- a/builtin-fetch.c
> +++ b/builtin-fetch.c
> @@ -102,7 +102,7 @@ static struct ref *get_ref_map(struct transport *transport,
>  				    remote->fetch[i].dst[0])
>  					*autotags = 1;
>  				if (!i && !has_merge && ref_map &&
> -				    !strcmp(remote->fetch[0].src, ref_map->name))
> +				    !remote->fetch[0].pattern)
>  					ref_map->merge = 1;
>  			}
>  			if (has_merge)

Ooooooooooooh.  Of course.  That makes perfect sense now that I
see your explanation and patch.  Thanks for fixing that!  :-)

-- 
Shawn.

```
