Subject: Re: [PATCH 1/2] merge-ours: drop USE_THE_REPOSITORY_VARIABLE

From: Patrick Steinhardt <[email-masked]>
Date: Fri, 6 Feb 2026 16:02:18 +0100

On Fri, Feb 06, 2026 at 02:32:03AM +0000, Sam Bostock via GitGitGadget wrote:
> From: Sam Bostock <[email-masked]>
> 
> Use the `repo` parameter passed to cmd_merge_ours() instead of
> `the_repository`, and drop the USE_THE_REPOSITORY_VARIABLE macro that
> is no longer needed.
> 
> While at it, remove a stray double blank line between the #include
> block and the usage string.

Nice to see that the required changes are this small, only :)

> diff --git a/builtin/merge-ours.c b/builtin/merge-ours.c
> index 97b8a792c7..2312e58ab3 100644
> --- a/builtin/merge-ours.c
> +++ b/builtin/merge-ours.c
> @@ -8,20 +8,17 @@
>   * Pretend we resolved the heads, but declare our tree trumps everybody else.
>   */
>  
> -#define USE_THE_REPOSITORY_VARIABLE
> -
>  #include "git-compat-util.h"
>  #include "builtin.h"
>  #include "diff.h"
>  
> -
>  static const char builtin_merge_ours_usage[] =
>  	"git merge-ours <base>... -- HEAD <remote>...";
>  
>  int cmd_merge_ours(int argc,
>  		   const char **argv,
>  		   const char *prefix UNUSED,
> -		   struct repository *repo UNUSED)
> +		   struct repository *repo)
>  {
>  	show_usage_if_asked(argc, argv, builtin_merge_ours_usage);

One important part of the puzzle here is that git-merge-ours(1) cannot
run outside of a repository, as it is tagged with `RUN_SETUP`. So as a
consequence, `repo` will never be `NULL`, and thus all the changes to
s/the_repository/repo/ are safe.

Patrick