Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.UNIX.BSD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.UNIX.BSD с датами от 18 Jan 11 22:51:00 до 18 Jan 24 18:16:22, всего сообщений: 10753
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 10027 из 10753 ==================================== RU.UNIX.BSD =
От   : Zhenja Kaliuta                   2:4500/1.59        04 Oct 20 20:28:40
Кому : Victor Sudakov                                      04 Oct 20 20:28:40
Тема : Re: про git
FGHI : area://RU.UNIX.BSD?msgid=2:4500/1.59+4295631d
На   : area://RU.UNIX.BSD?msgid=2:5005/49+5f79fa3f
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.UNIX.BSD?msgid=2:5005/49+5f7b27b7
==============================================================================
Hi, Victor!

On Sun, 04 Oct 2020 22:05:38 +0700 Victor Sudakov writes:

VS>  Dear Zhenja,
VS> 04 Oct 20 17:13, you wrote to me:

VS>>> Почитал про git bundle (по аналогии с hg bundle), но там какой-то
VS>>> слишком сложный процесс описан, надо на 2-м объявить bundle как
VS>>> remote, на 1-м его как-то хитро создать, синхронизировать...

ZK>> Вроде как без проблем совсем:

ZK>> /tmp/git1 % git log --oneline
ZK>> 016bbf6ffdf5 (HEAD -> master) 2
ZK>> aff2fdcca797 1

ZK>> /tmp/git1 % git bundle create /tmp/bundle HEAD
ZK>> Enumerating objects: 6, done.
ZK>> Counting objects: 100% (6/6), done.
ZK>> Compressing objects: 100% (3/3), done.
ZK>> Total 6 (delta 0), reused 0 (delta 0), pack-reused 0

VS> А как в bundle запихать не всю историю, а только с коммита XXX по
VS> коммит YYY?

На сколько я понимаю, как и для git fetch при работе с удалённым
репозитарием, ему нужен ref, поэтому нужно оттежить или отбранчить YYY.

% git tag name-for-remote YYY

Затем

кратко: вместо HEAD в примере выше, XXX..name-for-remote (XXX не включается).
Длинно: это параметры к git rev-list (в мане есть несколько
примеров). Совсем подробно как ссылаться на разные коммиты в мане git
rev-parse.

VS> Или лучше bundle делать всегда полный, а он потом при
VS> unbundle/merge сообразит, с какого места надо импортировать
VS> изменения?

вопрос скорости и места. Можно и полный .git копировать и потом просто
fetch/pull из него (fetch/pull также можно сделать из бандла).

ID уникальны, должен брать только те объекты, которых нет локально,
поэтому можно сказать "сообразит".

Если же сильно короткая история, получается так:

 /tmp/git2 % git bundle unbundle /tmp/bundle
 error: Repository lacks these prerequisite commits:
 error: 8330c1b650cce40e528ad024a2f3874804ee0bb3
 

ZK>> /tmp/git1 % cd ../git2
ZK>> /tmp/git2 % git log
ZK>> fatal: your current branch 'master' does not have any commits yet

ZK>> /tmp/git2 % git bundle unbundle /tmp/bundle
ZK>> 016bbf6ffdf56f9c04734b3500131ec4146ef790 HEAD
ZK>> /tmp/git2 % git merge 016bbf6ffdf56f9c04734b3500131ec4146ef790

VS> О, вот это круто, благодарю.

в принципе там в мане пример, где достаточно просто git pull
/tmp/bundle, когда ref из бандла мержится в текущий бранч.

--- Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
* Origin: Somewhere in the North (2:4500/1.59)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.079071 секунды