threads / patch / 10065

patchAllow abbreviations in the first refspec to be merged

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

## tl;dr

2 messages between Sep 28, 2007 and Sep 28, 2007. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Daniel Barkalow· Sep 28, 2007, 23:34 UTC · lore

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(-)
Show changes to builtin-fetch.c +1 −1
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· Sep 28, 2007, 23:38 UTC · re: Daniel Barkalow · lore

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

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]
Show 13 quoted lines
> 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.

← back to recent threads