[devel] git -- backup

Денис Смирнов mithraen на altlinux.ru
Ср Авг 25 20:33:04 UTC 2010


On Wed, Aug 25, 2010 at 11:48:03PM +0400, Sergey Vlasov wrote:

SV> При использовании с git clone опция --mirror приводит к созданию
SV> remote origin с параметрами
SV>   fetch = +refs/*:refs/*
SV>   mirror = true
SV> в отличие от обычного
SV>   fetch = refs/heads/*:refs/remotes/origin/*

Это я понял. Просто обратил внимания на рекомендацию если я создаю
репозиторий ручками (а я так и делаю -- ибо они у меня уже rsync'нуты),
все равно устанавливать mirror=yes. Он действительно действует только на
push, и главные секреты:
1. fetch = +refs/*:refs/*
2. опция --prune у fetch

Я правильно понял?

Вот скрипт который у меня сейчас запущен:

#!/bin/sh
BACKUP_DIR=~/backup/git.alt
find "$BACKUP_DIR" -mindepth 1 -maxdepth 1 -type d | while read dir; do
    n=${dir##*/}
    [ -L "$dir/hooks" ] && rm -f "$dir/hooks"
    mkdir -p "$dir/branches"
    mkdir -p "$dir/hooks"
    echo $n
    git --git-dir="$dir" pack-refs --all
    git --git-dir="$dir" config core.bare true
    git --git-dir="$dir" config remote.origin.url git.alt:packages/$n
    git --git-dir="$dir" config remote.origin.fetch '+refs/*:refs/*'
    git --git-dir="$dir" config remote.origin.mirror true
    git --git-dir="$dir" fetch --prune
done

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20100826/3c441bb3/attachment.bin>


Подробная информация о списке рассылки Devel