threads / rfc / 6710

RFC patchenable rerere by default

Subject: [RFC/PATCH] enable rerere by default

## tl;dr

7 messages between Feb 6, 2007 and Feb 6, 2007. Diffs are folded; open one to read it.

replies: 6people: 3as markdown or json

Johannes Schindelin· Feb 6, 2007, 10:13 UTC · lore

Since the theme of the upcoming release is the (true) Wow factor, we should enable this feature by default. New users are not likely to learn of that feature otherwise.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
	I know it is quite late in the game for 1.5.0, but since the theme 
	is usability and user-friendliness, I cannot think of a better 
	release to enable rerere by default, if that should ever happen.
	Comments?
 builtin-init-db.c |    2 ++
 t/t4200-rerere.sh |    3 ---
 2 files changed, 2 insertions(+), 3 deletions(-)
Show changes to 2 files +2 −3

builtin-init-db.c, t/t4200-rerere.sh

diff --git a/builtin-init-db.c b/builtin-init-db.c
index 12e43d0..2504507 100644
--- a/builtin-init-db.c
+++ b/builtin-init-db.c
@@ -260,6 +260,8 @@ static int create_default_files(const char *git_dir, const char *template_path)
 		/* allow template config file to override the default */
 		if (log_all_ref_updates == -1)
 		    git_config_set("core.logallrefupdates", "true");
+		strcpy(path + len, "rr-cache");
+		safe_create_dir(path, 1);
 	}
 	return reinit;
 }
diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh
index 91be272..8187038 100755
--- a/t/t4200-rerere.sh
+++ b/t/t4200-rerere.sh
@@ -37,9 +37,6 @@ git checkout -b second master
 git show first:a1 | sed 's/To die, t/To die! T/' > a1
 git commit -q -a -m second
 
-# activate rerere
-mkdir .git/rr-cache
-
 test_expect_failure 'conflicting merge' 'git pull . first'
 
 sha1=4f58849a60b4f969a2848966b6d02893b783e8fb
Alex Riesen· Feb 6, 2007, 13:56 UTC · re: Johannes Schindelin · lore

Re: [RFC/PATCH] enable rerere by default

On 2/6/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 13 quoted lines
>
> Since the theme of the upcoming release is the (true) Wow factor, we
> should enable this feature by default. New users are not likely to learn
> of that feature otherwise.
>
> Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
> ---
>
>         I know it is quite late in the game for 1.5.0, but since the theme
>         is usability and user-friendliness, I cannot think of a better
>         release to enable rerere by default, if that should ever happen.
>
>         Comments?
How do I disable rerere by default?
Johannes Schindelin· Feb 6, 2007, 15:03 UTC · re: Alex Riesen · lore

Re: [RFC/PATCH] enable rerere by default

Hi,
On Tue, 6 Feb 2007, Alex Riesen wrote:
Show 16 quoted lines
> On 2/6/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > 
> > Since the theme of the upcoming release is the (true) Wow factor, we
> > should enable this feature by default. New users are not likely to learn
> > of that feature otherwise.
> > 
> > Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
> > ---
> > 
> >         I know it is quite late in the game for 1.5.0, but since the theme
> >         is usability and user-friendliness, I cannot think of a better
> >         release to enable rerere by default, if that should ever happen.
> > 
> >         Comments?
> 
> How do I disable rerere by default?

How'd you like it? Should this rather become a config variable, or do you want to make a file called "rr-cache" in the templates, which just contains a word "disabled"? (git-rerere checks if a _directory_ $GIT_DIR/rr-cache exists.)

Ciao, Dscho

Alex Riesen· Feb 6, 2007, 15:39 UTC · re: Johannes Schindelin · lore

Re: [RFC/PATCH] enable rerere by default

On 2/6/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 12 quoted lines
> > >         I know it is quite late in the game for 1.5.0, but since the theme
> > >         is usability and user-friendliness, I cannot think of a better
> > >         release to enable rerere by default, if that should ever happen.
> > >
> > >         Comments?
> >
> > How do I disable rerere by default?
>
> How'd you like it? Should this rather become a config variable, or do you
> want to make a file called "rr-cache" in the templates, which just
> contains a word "disabled"? (git-rerere checks if a _directory_
> $GIT_DIR/rr-cache exists.)

I suggest a config variable defaulting to "on", able to disable rerere even if rr-cache exists. So the var has at least theoretical use also after a repo is created. I'll put it in templates config then, and modify existing repos to switch it "off" (so I always have it mentioned in the configs). Newbies, who don't have it own templates, wont even notice it. Unless it is put into the generated config, that is: like core.logallrefupdates - it can be in templates config, or git-init writes it.

Johannes Schindelin· Feb 6, 2007, 15:53 UTC · re: Alex Riesen · lore

Re: [RFC/PATCH] enable rerere by default

Hi,
On Tue, 6 Feb 2007, Alex Riesen wrote:
Show 16 quoted lines
> On 2/6/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > > > I know it is quite late in the game for 1.5.0, but since the theme 
> > > > is usability and user-friendliness, I cannot think of a better 
> > > > release to enable rerere by default, if that should ever happen.
> > > >
> > > > Comments?
> > >
> > > How do I disable rerere by default?
> > 
> > How'd you like it? Should this rather become a config variable, or do 
> > you want to make a file called "rr-cache" in the templates, which just 
> > contains a word "disabled"? (git-rerere checks if a _directory_ 
> > $GIT_DIR/rr-cache exists.)
> 
> I suggest a config variable defaulting to "on", able to disable rerere 
> even if rr-cache exists.
Okay, but this is a little involved:

$ grep -l rr-cache *.{c,h,sh,perl} builtin-rerere.c git-am.sh git-commit.sh git-merge.sh git-rebase.sh git-reset.sh

So, unless the list agrees that rerere should be enabled by default, I will not make a patch to move rerere enabling to the config.

Ciao, Dscho

Junio C Hamano· Feb 6, 2007, 23:06 UTC · re: Johannes Schindelin · lore

Re: [RFC/PATCH] enable rerere by default

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 6 quoted lines
>> How do I disable rerere by default?
>
> How'd you like it? Should this rather become a config variable, or do you 
> want to make a file called "rr-cache" in the templates, which just 
> contains a word "disabled"? (git-rerere checks if a _directory_ 
> $GIT_DIR/rr-cache exists.)
Is it so bad to do "rm -rf .git/rr-cache"?
Johannes Schindelin· Feb 6, 2007, 23:19 UTC · re: Junio C Hamano · lore

Re: [RFC/PATCH] enable rerere by default

Hi,
On Tue, 6 Feb 2007, Junio C Hamano wrote:
Show 10 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> >> How do I disable rerere by default?
> >
> > How'd you like it? Should this rather become a config variable, or do you 
> > want to make a file called "rr-cache" in the templates, which just 
> > contains a word "disabled"? (git-rerere checks if a _directory_ 
> > $GIT_DIR/rr-cache exists.)
> 
> Is it so bad to do "rm -rf .git/rr-cache"?

I guess the problem is that you cannot do that by a hook, or by installing appropriate templates.

Since the test for rr-cache always is a test for a directory, it might make sense to _not_ fail in init-db when creating the directory. In that case, rerere can be disabled by installing templates which make rr-cache a _file_.

Ciao, Dscho

← back to recent threads