bup-get - справочное руководство, опции, примеры команд


ИМЯ

bup-get - копировать элементы репозитория (ВНИМАНИЕ: ЭКСПЕРИМЕНТАЛЬНО)

СИНТАКСИС

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

ОПИСАНИЕ

bup get копирует указанные ссылки из исходного репозитория в целевой репозиторий (с учетом --bup-dir и BUP_DIR) в соответствии с указанным МЕТОДОМ, который может быть одним из --ff, -- ff:, --append, --append:, --pick, --pick:, --force-pick, --force-pick:, --new-tag, --new-tag:, --replace , --replace: или --unnamed. См. ПРИМЕРЫ ниже для краткого ознакомления.

ref — это ссылка на исходный репозиторий объекта, который нужно извлечь, а dest — необязательная ссылка на место назначения. dest может быть указан только для METHOD, имя которого заканчивается двоеточием. Например:

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

В качестве особого случая, если ref называет «последнюю» символическую ссылку сохранения, тогда bup будет действовать точно так же, как если бы было указано сохранение, на которое «последняя» указывает, а не сама «последняя» символическая ссылка, поэтому bup get foo/latest на самом деле будет интерпретироваться как что-то вроде bup get foo/2013-01-01-030405.

В некоторых ситуациях bup get будет оценивать операцию перехода в соответствии с тем, будет ли она «ускоренной перемоткой вперед» (что требует, чтобы любая существующая целевая ветвь была предком исходной).

Существующий тег назначения может быть перезаписан только с помощью --replace или --force-pick.

Когда создается новая фиксация (т. е. с помощью --append, --pick и т. д.), она будет иметь того же автора, дату автора и сообщение, что и исходная, но коммиттер и дата коммиттера соответствуют текущему пользователю и времени. .

Если запрашиваются соответствующие параметры, bup распечатает хэш фиксации, дерева или тега для каждой обновленной ссылки назначения. Когда это уместно, хэш дерева будет напечатан перед хэшем фиксации.

Локальные ссылки могут быть отправлены в удаленный репозиторий с помощью параметра --remote, а удаленные ссылки могут быть загружены в локальный репозиторий с помощью команды «bup on HOST get.. .». Для получения дополнительной информации см. bup-on(1) и ПРИМЕРЫ ниже.

ПРЕДУПРЕЖДЕНИЕ: Это одна из немногих команд bup, которые могут намеренно деструктивно изменять ваши архивы. Хотя, если попытка присоединиться или восстановить данные, которые вам все еще нужны, увенчается успехом после запуска этой команды, то это довольно обнадеживающий признак того, что она сработала правильно. (Команду dev/compare-trees в исходном дереве можно использовать для проверки результатов до/после.)

МЕТОДЫ

--ff ref, --ff: ref dest

перемотать вперед dest для соответствия ref. Если dest не указан, а ref называет сохранение, установите dest на ветвь сохранения. Если dest не указан, а ref называет ветку или тег, используйте то же имя для dest.

--append ref, --append: ref dest

добавить все коммиты, представленные ref, в dest как новые коммиты. Если ref называет каталог/дерево, добавьте новую фиксацию для этого дерева. Если dest не указан, а ref называет сохранение или ветку, задайте dest имя ветки ref. Если dest не указан, а ref называет тег, используйте то же имя для dest.

--pick ref, --pick: ref dest

добавьте единственную фиксацию, названную ref, в dest как новую фиксацию. Если dest не указан, а ref называет сохранение, задайте для dest имя ветки ref. Если dest не указан, а ref называет тег, используйте то же имя для dest.

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

сделайте то же самое, что и --pick, но не отказывайтесь перезаписывать существующий тег.

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

создайте тег dest для ref, но не перезаписывайте существующий тег. Если dest не указан, а ref называет тег, используйте то же имя для dest.

--replace ref, --replace: ref dest

затереть dest с помощью ref, перезаписав любой существующий тег или заменив любую существующую ветвь. Если dest не указан, а ref называет ветку или тег, используйте то же имя для dest.

--unnamed ref

скопировать ref в целевой репозиторий без какого-либо имени, оставив потенциально висячую ссылку до тех пор, пока/если объект, названный ref, не будет указан каким-либо другим способом (см. тег bup) .

ПАРАМЕТРЫ

-s, --source=path

используйте путь в качестве исходного репозитория вместо значения по умолчанию.

-r, --remote=host:path

хранить указанные элементы на заданном удаленном сервере. Если путь не указан, используется путь по умолчанию на удаленном сервере (вам все равно нужно включить `:'). Подключение к удаленному серверу осуществляется с помощью SSH. Если вы хотите указать, какой порт, пользователя или закрытый ключ использовать для SSH-соединения, мы рекомендуем вам использовать файл ~/.ssh/config.

-c, --print-commits

для каждой обновленной ветки напечатайте новый идентификатор фиксации git.

-t, --print-trees

для каждой обновленной ветки выведите новый идентификатор дерева git для корня файловой системы.

--print-tags

для каждого обновленного тега напечатайте новый идентификатор git.

-v, --verbose

увеличить многословность (можно использовать более одного раза). С помощью -v выведите имя каждого извлеченного элемента, с помощью -vv добавьте имена каталогов, а с помощью -vvv добавьте имена всех файлов.

--bwlimit=bytes/sec

не передавайте серверу больше bytes/sec байт в секунду. Это может помочь избежать использования всей пропускной способности вашей сети. Используйте суффикс, например k, M или G, чтобы указать число, кратное 1024, 1024*1024, 1024*1024*1024 соответственно.

-#, --compress=#

установите уровень сжатия на # (значение от 0 до 9, где 9 — самый высокий уровень, а 0 — отсутствие сжатия). По умолчанию 1 (быстрое, слабое сжатие).

ПРИМЕРЫ

Обновите или скопируйте ветку архивов в src-repo в локальный репозиторий:

bup get -s src-repo --ff archives

Добавьте конкретное архивное сохранение в ветку pruned-archives:

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

Обновите или скопируйте ветку архивов на удаленном хосте в локальный репозиторий:

bup on remotehost get --ff archives

Обновите или скопируйте архивы локальной ветки на удаленный хост:

bup get -r remotehost: --ff archives

Обновите или скопируйте ветку архивов в src-repo на удаленный хост:

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

Обновите ветку archives-2 на удаленном хосте, чтобы она соответствовала архивам. Если archives-2 существует и не является предком архивов, bup откажет:

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

Замените содержимое ветки y на содержимое x:

bup get --replace: x y

Скопируйте последнее локальное сохранение из ветки архивов в удаленный тег foo:

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

Или, если foo уже существует:

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

Добавьте foo (сверху) в локальную ветку other-archives:

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

Добавьте только каталог /home из archives/latest в only-home:

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

СМОТРИТЕ ТАКЖЕ

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

БУП

Часть набора bup(1).

АВТОРЫ

Роб Браунинг rlb@defaultvalue.org.