Teach "git remote" a mirror mode
When using the "--mirror" option to "git remote add", the refs will not be stored in the refs/remotes/ namespace, but in the same location as on the remote side. This option probably only makes sense in a bare repository. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
1e61b7640d
commit
3894439022
@ -278,7 +278,9 @@ sub add_remote {
|
||||
|
||||
for (@$track) {
|
||||
$git->command('config', '--add', "remote.$name.fetch",
|
||||
"+refs/heads/$_:refs/remotes/$name/$_");
|
||||
$opts->{'mirror'} ?
|
||||
"+refs/$_:refs/$_" :
|
||||
"+refs/heads/$_:refs/remotes/$name/$_");
|
||||
}
|
||||
if ($opts->{'fetch'}) {
|
||||
$git->command('fetch', $name);
|
||||
@ -409,6 +411,10 @@ elsif ($ARGV[0] eq 'add') {
|
||||
shift @ARGV;
|
||||
next;
|
||||
}
|
||||
if ($opt eq '--mirror') {
|
||||
$opts{'mirror'} = 1;
|
||||
next;
|
||||
}
|
||||
add_usage();
|
||||
}
|
||||
if (@ARGV != 3) {
|
||||
|
Reference in New Issue
Block a user