bup-get - manuale di riferimento, opzioni, esempi di comandi


NOME

bup-get - copiare gli elementi del repository (ATTENZIONE: SPERIMENTALE)

SINOSSI

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

DESCRIZIONE

bup get copia i ref indicati dal repository di origine al repository di destinazione (rispettando --bup-dir e BUP_DIR), secondo il METHOD specificato, che può essere uno tra --ff, -- ff:, --append, --append:, --pick, --pick:, --force-pick, --force-pick:, --new-tag, --new-tag:, --replace , --replace: o --unnamed. Vedere gli ESEMPI di seguito per una rapida introduzione.

ref è il riferimento al repository di origine dell'oggetto da recuperare e dest è il riferimento di destinazione facoltativo. Un dest può essere specificato solo per un METHOD il cui nome termina con i due punti. Per esempio:

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

Come caso speciale, se ref nomina il link simbolico di salvataggio "più recente", allora bup agirà esattamente come se fosse stato specificato il salvataggio a cui punta "latest", piuttosto che il collegamento simbolico "più recente", quindi bup get foo/latest sarà effettivamente interpretato come qualcosa di simile a bup get foo/2013-01-01-030405.

In alcune situazioni bup get valuterà un'operazione di ramo in base al fatto che sarà o meno un "avanzamento rapido" (che richiede che qualsiasi ramo di destinazione esistente sia un antenato dell'origine).

Un tag di destinazione esistente può essere sovrascritto solo da --replace o --force-pick.

Quando viene creato un nuovo commit (ad es. tramite --append, --pick, ecc.), avrà lo stesso autore, data dell'autore e messaggio dell'originale, ma un committente e una data del committente corrispondenti all'utente e all'ora correnti .

Se richiesto dalle opzioni appropriate, bup stamperà il commit, l'albero o l'hash del tag per ogni riferimento di destinazione aggiornato. Se pertinente, l'hash dell'albero verrà stampato prima dell'hash di commit.

I ref locali possono essere inviati a un repository remoto con l'opzione --remote e i ref remoti possono essere inseriti in un repository locale tramite "bup on HOST get .. . ”. Vedere bup-on(1) e gli ESEMPI seguenti per ulteriori informazioni.

ATTENZIONE: questo è uno dei pochi comandi bup che possono modificare i tuoi archivi in modo intenzionalmente distruttivo. Tuttavia, se un tentativo di unire o ripristinare i dati a cui tieni ancora riesce dopo aver eseguito questo comando, allora questo è un segno abbastanza incoraggiante che ha funzionato correttamente. (Il comando dev/compare-trees nell'albero dei sorgenti può essere utilizzato per testare i risultati prima/dopo.)

METODI

--ff ref, --ff: ref dest

fai avanzare velocemente dest in modo che corrisponda a ref. Se dest non è specificato e ref nomina un salvataggio, imposta dest sul ramo del salvataggio. Se dest non è specificato e ref nomina un ramo o un tag, usa lo stesso nome per dest.

--append ref, --append: ref dest

accoda tutti i commit rappresentati da ref a dest come nuovi commit. Se ref nomina una directory/albero, aggiungi un nuovo commit per quell'albero. Se dest non è specificato e ref nomina un salvataggio o un ramo, imposta dest sul nome del ramo ref. Se dest non è specificato e ref nomina un tag, usa lo stesso nome per dest.

--pick ref, --pick: ref dest

aggiungi il singolo commit denominato da ref a dest come nuovo commit. Se dest non è specificato e ref nomina un salvataggio, imposta dest sul nome del ramo ref. Se dest non è specificato e ref nomina un tag, usa lo stesso nome per dest.

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

fai la stessa cosa di --pick, ma non rifiutarti di sovrascrivere un tag esistente.

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

crea un tag dest per ref, ma rifiuta di sovrascrivere un tag esistente. Se dest non è specificato e ref nomina un tag, usa lo stesso nome per dest.

--replace ref, --replace: ref dest

clobber dest con ref, sovrascrivendo qualsiasi tag esistente o sostituendo qualsiasi ramo esistente. Se dest non è specificato e ref nomina un ramo o un tag, usa lo stesso nome per dest.

--unnamed ref

copia ref nel repository di destinazione, senza alcun nome, lasciando un riferimento potenzialmente penzolante finché/a meno che l'oggetto nominato da ref non sia riferito in qualche altro modo (cfr. tag bup) .

OPZIONI

-s, --source=path

usa percorso come repository di origine, invece di quello predefinito.

-r, --remote=host:path

memorizzare gli elementi indicati sul server remoto specificato. Se percorso viene omesso, utilizza il percorso predefinito sul server remoto (è comunque necessario includere `:'). La connessione al server remoto avviene tramite SSH. Se desideri specificare quale porta, utente o chiave privata utilizzare per la connessione SSH, ti consigliamo di utilizzare il file ~/.ssh/config.

-c, --print-commits

per ogni ramo aggiornato, stampa il nuovo git commit id.

-t, --print-trees

per ogni ramo aggiornato, stampa il nuovo id albero git della radice del filesystem.

--print-tags

per ogni tag aggiornato, stampa il nuovo git id.

-v, --verbose

aumentare la verbosità (può essere usato più di una volta). Con -v, stampa il nome di ogni elemento recuperato, con -vv aggiungi i nomi delle directory e con -vvv aggiungi tutti i nomi dei file.

--bwlimit=bytes/sec

non trasmettere più di byte/sec byte al secondo al server. Questo può aiutare a evitare di risucchiare tutta la larghezza di banda della rete. Utilizzare un suffisso come k, M o G per specificare rispettivamente multipli di 1024, 1024*1024, 1024*1024*1024.

-#, --compress=#

impostare il livello di compressione su # (un valore compreso tra 0 e 9, dove 9 è il più alto e 0 è nessuna compressione). L'impostazione predefinita è 1 (compressione rapida e allentata)

ESEMPI

Aggiorna o copia il ramo archivi in src-repo nel repository locale:

bup get -s src-repo --ff archives

Aggiungi un salvataggio di archivi particolare al ramo pruned-archives:

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

Aggiorna o copia il ramo degli archivi su remotehost nel repository locale:

bup on remotehost get --ff archives

Aggiorna o copia gli archivi della filiale locale su remotehost:

bup get -r remotehost: --ff archives

Aggiorna o copia il ramo archivi in src-repo su remotehost:

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

Aggiorna il ramo archives-2 su remotehost in modo che corrisponda agli archivi. Se archives-2 esiste e non è un antenato di archives, bup rifiuterà:

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

Sostituisci il contenuto del ramo y con quello di x:

bup get --replace: x y

Copia l'ultimo salvataggio locale dal ramo degli archivi al tag remoto foo:

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

O se foo esiste già:

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

Aggiungi foo (dall'alto) al ramo other-archives locale:

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

Aggiungi solo la directory /home da archives/latest a only-home:

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

GUARDA ANCHE

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

BUP

Parte della suite bup(1).

AUTORI

Rob Browning rlb@defaultvalue.org.