# Manually turning a --bare local repository to a real mirror repository (--bare --mirror)

2 messages from 2011-01-18 to 2011-01-18. Participants: Ilyes Gouta, Andreas Schwab.
Thread: https://gitlist.dev/t/26302

## Ilyes Gouta, 2011-01-18 21:59

Subject: Manually turning a --bare local repository to a real mirror repository (--bare --mirror)
Message-ID: <AANLkTikE-sDhzw8=ybKhYhHtTH84V8EEOptMaq8xxRHc@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTikE-sDhzw8%3DybKhYhHtTH84V8EEOptMaq8xxRHc%40mail.gmail.com

```
Hi,

I'm setting up a local git repo which should mirrors the branches of
the original repo and at the same time hosts the local private
developement branches of the team.

At first step I did create a local copy by issuing:

git clone --bare <original_git_repository>

I found out later that fetching the various refs lead the local master
ref not automatically following the remote/master ref, after every git
fetch --all. I found that I have to use:

git clone --bare --mirror <original_git_repository>

instead to get that effect. Now please keep in mind that I intend to
also create local private branches where developers will push their
custom code.

My question: given that I don't have enough bandwidth and constant
Internet connectivity, I'd like to ask if it's possible to manually
turn a pure --bare local repository into a --bare --mirror one? If
yes, how to do that?

Please CC me when replying, because I'm not registered to the mailing list.

Thanks,

-Ilyes

```

## Andreas Schwab, 2011-01-18 22:35

Subject: Re: Manually turning a --bare local repository to a real mirror repository (--bare --mirror)
Message-ID: <m2wrm13kny.fsf@igel.home>
URL: https://gitlist.dev/e/m2wrm13kny.fsf%40igel.home
In-Reply-To: <AANLkTikE-sDhzw8=ybKhYhHtTH84V8EEOptMaq8xxRHc@mail.gmail.com>

```
> My question: given that I don't have enough bandwidth and constant
> Internet connectivity, I'd like to ask if it's possible to manually
> turn a pure --bare local repository into a --bare --mirror one? If
> yes, how to do that?

An ordinary bare clone has no fetch configuration.  To turn the repo
into a mirror you just have to add one:

$ git config remote.origin.fetch "+refs/*:refs/*"

and set the mirror flag:

$ git config remote.origin.mirror true

Then do a git fetch to fetch any missing refs.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

```
