Re: [PATCH] git-rerere.txt: Mention rr-cache directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, 9 Jul 2008, Johannes Schindelin wrote:

> On Wed, 9 Jul 2008, Stephan Beyer wrote:
> 
> > If a user reads the rerere documentation, he or she is not told to 
> > create the $GIT_DIR/rr-cache directory to be able to use git-rerere. 
> 
> Is it?  The config setting is not enough?  Then that is a bug, and should 
> not be blessed by a bug in the documentation.

Okay, I took a look:

-- snip --
static int is_rerere_enabled(void)
{
        struct stat st;
        const char *rr_cache;
        int rr_cache_exists;

        if (!rerere_enabled)
                return 0;

        rr_cache = git_path("rr-cache");
        rr_cache_exists = !stat(rr_cache, &st) && S_ISDIR(st.st_mode);
        if (rerere_enabled < 0)
                return rr_cache_exists;

        if (!rr_cache_exists &&
            (mkdir(rr_cache, 0777) || adjust_shared_perm(rr_cache)))
                die("Could not create directory %s", rr_cache);
        return 1;
}
-- snap --

As you can see, in the case rerere_enabled < 0 (i.e. the config did not 
say anything about rerere), it is assumed enabled _exactly_ when 
.git/rr_cache/ exists.

But if it is > 0, the directory is created.

Of course, this only holds true when the config is read, i.e. when 
setup_rerere() was called in time.  Which is the case when you call 
rerere() (as is done both from cmd_rerere() as well as cmd_commit()).

Of course, I haven't tested it.  Other than running the test script, that 
is.

So care to elaborate what is going wrong?

BTW I think it is a horrible thing that rerere() is declared in commit.h 
(a libgit header), but implemented in builtin-rerere.c, which is not part 
of libgit.a.

Ciao,
Dscho

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux