bup-get - manuel de référence, options, exemples de commandes


NOM

bup-get - copier les éléments du référentiel (ATTENTION : EXPÉRIMENTAL)

SYNOPSIS

bup get [-s source-path] [-r host:path] OPTIONS <(METHOD ref [dest])>...

DESCRIPTION

bup get copie les ref indiquées du dépôt source vers le dépôt de destination (en respectant --bup-dir et BUP_DIR), selon la METHOD spécifiée, qui peut être l'une de --ff, -- ff :, --append, --append :, --pick, --pick :, --force-pick, --force-pick :, --new-tag, --new-tag :, --replace , --replace: ou --unnamed. Voir les EXEMPLES ci-dessous pour une introduction rapide.

Le ref est la référence du référentiel source de l'objet à récupérer, et le dest est la référence de destination facultative. Un dest ne peut être spécifié que pour une METHOD dont le nom se termine par deux-points. Par exemple:

bup get -s /source/repo --ff foo
bup get -s /source/repo --ff: foo/latest bar
bup get -s /source/repo --pick: foo/2010-10-10-101010 .tag/bar

En tant que cas particulier, si ref nomme le lien symbolique de sauvegarde « dernière », alors bup agira exactement comme si la sauvegarde vers laquelle pointe « dernière » avait été spécifiée, plutôt que le lien symbolique « dernière » lui-même, donc bup get foo/latest sera en fait interprété comme quelque chose comme bup get foo/2013-01-01-030405.

Dans certaines situations, bup get évaluera une opération de branche selon qu'il s'agira ou non d'une "avance rapide" (ce qui nécessite que toute branche de destination existante soit un ancêtre de la source).

Une balise de destination existante ne peut être remplacée que par --replace ou --force-pick.

Lorsqu'un nouveau commit est créé (c'est-à-dire via --append, --pick, etc.), il aura le même auteur, la même date d'auteur et le même message que l'original, mais un committer et une date de committer correspondant à l'utilisateur et à l'heure actuels .

Si demandé par les options appropriées, bup imprimera le commit, l'arborescence ou le hachage de balise pour chaque référence de destination mise à jour. Le cas échéant, le hachage de l'arborescence sera imprimé avant le hachage de validation.

Les ref locales peuvent être poussées vers un référentiel distant avec l'option --remote, et les ref distantes peuvent être extraites dans un référentiel local via "bup on HOST get .. . » Voir bup-on(1) et les EXEMPLES ci-dessous pour plus d'informations.

AVERTISSEMENT : Il s'agit de l'une des rares commandes bup pouvant modifier vos archives de manière intentionnellement destructrice. Cependant, si une tentative de joindre ou de restaurer les données qui vous intéressent toujours réussit après avoir exécuté cette commande, c'est un signe assez encourageant que cela a fonctionné correctement. (La commande dev/compare-trees dans l'arborescence source peut être utilisée pour aider à tester les résultats avant/après.)

MÉTHODES

--ff ref, --ff: ref dest

avance rapide dest pour correspondre à ref. Si dest n'est pas spécifié et que ref nomme une sauvegarde, définissez dest sur la branche de la sauvegarde. Si dest n'est pas spécifié et que ref nomme une branche ou une balise, utilisez le même nom pour dest.

--append ref, --append: ref dest

ajouter tous les commits représentés par ref à dest en tant que nouveaux commits. Si ref nomme un répertoire/arbre, ajoutez un nouveau commit pour cet arbre. Si dest n'est pas spécifié et que ref nomme une sauvegarde ou une branche, définissez dest sur le nom de la branche ref. Si dest n'est pas spécifié et que ref nomme une balise, utilisez le même nom pour dest.

--pick ref, --pick: ref dest

ajouter le commit unique nommé par ref à dest en tant que nouveau commit. Si dest n'est pas spécifié et que ref nomme une sauvegarde, définissez dest sur le nom de la branche ref. Si dest n'est pas spécifié et que ref nomme une balise, utilisez le même nom pour dest.

--force-pick ref, --force-pick: ref dest

faites la même chose que --pick, mais ne refusez pas d'écraser une balise existante.

--new-tag ref, --new-tag: ref dest

créer une balise dest pour ref, mais refuser d'écraser une balise existante. Si dest n'est pas spécifié et que ref nomme une balise, utilisez le même nom pour dest.

--replace ref, --replace: ref dest

clobber dest avec ref, écrasant toute balise existante ou remplaçant toute branche existante. Si dest n'est pas spécifié et que ref nomme une branche ou une balise, utilisez le même nom pour dest.

--unnamed ref

copier ref dans le référentiel de destination, sans aucun nom, en laissant une référence potentiellement pendante jusqu'à/à moins que l'objet nommé par ref soit référencé d'une autre manière (cf. balise bup) .

OPTIONS

-s, --source=path

utilisez chemin comme référentiel source, au lieu de la valeur par défaut.

-r, --remote=host:path

stocker les éléments indiqués sur le serveur distant donné. Si path est omis, utilise le chemin par défaut sur le serveur distant (vous devez toujours inclure le `:'). La connexion au serveur distant se fait en SSH. Si vous souhaitez spécifier le port, l'utilisateur ou la clé privée à utiliser pour la connexion SSH, nous vous recommandons d'utiliser le fichier ~/.ssh/config.

-c, --print-commits

pour chaque branche mise à jour, imprimez le nouvel identifiant de validation git.

-t, --print-trees

pour chaque branche mise à jour, imprimez le nouvel identifiant de l'arborescence git de la racine du système de fichiers.

--print-tags

pour chaque balise mise à jour, imprimez le nouvel identifiant git.

-v, --verbose

augmenter la verbosité (peut être utilisé plus d'une fois). Avec -v, affiche le nom de chaque élément récupéré, avec -vv ajoute les noms de répertoires et avec -vvv ajoute chaque nom de fichier.

--bwlimit=bytes/sec

ne transmettez pas plus de octets/sec octets par seconde au serveur. Cela peut aider à éviter d'aspirer toute la bande passante de votre réseau. Utilisez un suffixe comme k, M ou G pour spécifier des multiples de 1024, 1024*1024, 1024*1024*1024 respectivement.

-#, --compress=#

réglez le niveau de compression sur # (une valeur comprise entre 0 et 9, où 9 est la valeur la plus élevée et 0 signifie qu'il n'y a pas de compression). La valeur par défaut est 1 (compression rapide et souple)

EXEMPLES

Mettez à jour ou copiez la branche archives dans src-repo vers le dépôt local :

bup get -s src-repo --ff archives

Ajoutez une sauvegarde d'archives particulière à la branche pruned-archives :

bup get -s src-repo --pick: archives/2013-01-01-030405 pruned-archives

Mettez à jour ou copiez la branche archives sur remotehost vers le dépôt local :

bup on remotehost get --ff archives

Mettez à jour ou copiez les archives de la branche locale sur remotehost :

bup get -r remotehost: --ff archives

Mettez à jour ou copiez la branche archives dans src-repo vers remotehost :

bup get -s src-repo -r remotehost: --ff archives

Mettez à jour la branche archives-2 sur remotehost pour qu'elle corresponde aux archives. Si archives-2 existe et n'est pas un ancêtre d'archives, bup refusera :

bup get -r remotehost: --ff: archives archives-2

Remplacez le contenu de la branche y par celui de x :

bup get --replace: x y

Copiez la dernière sauvegarde locale de la branche archives vers la balise distante foo :

bup get -r remotehost: --pick: archives/latest .tag/foo

Ou si foo existe déjà :

bup get -r remotehost: --force-pick: archives/latest .tag/foo

Ajoutez foo (ci-dessus) à la branche locale other-archives :

bup on remotehost get --append: .tag/foo other-archives

Ajoutez uniquement le répertoire /home de archives/latest à only-home :

bup get -s "$BUP_DIR" --append: archives/latest/home only-home

VOIR ÉGALEMENT

bup-on(1), bup-tag(1), ssh_config(5)

BUP

Fait partie de la suite bup(1).

AUTEURS

Rob Browning rlb@defaultvalue.org.