ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] QI: git, экономия на трафике мнимая
@ 2007-01-07 20:08 Anton Farygin
  2007-01-10  7:28 ` Fr. Br. George
  0 siblings, 1 reply; 4+ messages in thread
From: Anton Farygin @ 2007-01-07 20:08 UTC (permalink / raw)
  To: ALT Devel discussion list

Вопрос к тем, кто разбирается в git:

работает ли у нас сейчас дельта между тарболлами ?

Я наблюдаю следущее ?

был ImageMagick одной версии, я его обновил до более новой.. на своей
машине пытаюсь синхронизировать репозитарий с git.alt (на который сделал
push с новой версией).

Т.к. в данный момент сижу через GPRS, то объёмы трафика весьма заметны..
обновление остановил на 3-х мегабайтах..

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

Возникает стойкое мнение, что перекачиваются файлы целиком (но в сжатом
виде), вместо дельт.

с этим надо что-то сделать..

Rgds,
Rider


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] QI: git, экономия на трафике мнимая
  2007-01-07 20:08 [devel] QI: git, экономия на трафике мнимая Anton Farygin
@ 2007-01-10  7:28 ` Fr. Br. George
  2007-01-10 13:46   ` Anton Farygin
  0 siblings, 1 reply; 4+ messages in thread
From: Fr. Br. George @ 2007-01-10  7:28 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sun, Jan 07, 2007 at 11:08:22PM +0300, Anton Farygin wrote:
> работает ли у нас сейчас дельта между тарболлами ?
По-видимому работает, как и для других файлов.

> Т.к. в данный момент сижу через GPRS, то объёмы трафика весьма заметны..
> обновление остановил на 3-х мегабайтах..
> по моим прикидкам трафик должен составлять не более ста килобайт.
Ты уверен, что оба тридцатимегатайтных архива имеют
одинаковую структуру? Мало ли, что там они у себя в upstream поменяли...
Теоретически можно изготовить два тарболла с полностью идентичной
файловой системой, дельта между которыми будет 100%.

Впрочем, это так, к слову; см. ниже.

> Возникает стойкое мнение, что перекачиваются файлы целиком (но в сжатом
> виде), вместо дельт.
Разумеется:
$ git-diff HEAD^^ | awk '/ImageMagick-6.3.1-3.tar/,/ImageMagick.desktop/{print}'
diff --git a/ImageMagick-6.3.1-3.tar b/ImageMagick-6.3.1-3.tar
deleted file mode 100644
index f4ceab0..0000000
Binary files a/ImageMagick-6.3.1-3.tar and /dev/null differ
diff --git a/ImageMagick-6.3.1-6.tar b/ImageMagick-6.3.1-6.tar
new file mode 100644
index 0000000..1eb2b27
Binary files /dev/null and b/ImageMagick-6.3.1-6.tar differ
diff --git a/ImageMagick.desktop b/ImageMagick.desktop

То есть это два разных файла: один ты удалил, другой завёл.

> с этим надо что-то сделать..
Одно из двух:
либо делать git-mv (хотя это всё равно без гарантии, см. выше),
либо хранить таки распакованный архив (gear-srpmimport рулит).

-- 
			George V. Kouryachy (aka Fr. Br. George)
			mailto:george at altlinux_ru


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] QI: git, экономия на трафике мнимая
  2007-01-10  7:28 ` Fr. Br. George
@ 2007-01-10 13:46   ` Anton Farygin
  2007-01-10 17:41     ` Fr. Br. George
  0 siblings, 1 reply; 4+ messages in thread
From: Anton Farygin @ 2007-01-10 13:46 UTC (permalink / raw)
  To: ALT Devel discussion list

Fr. Br. George wrote:
> On Sun, Jan 07, 2007 at 11:08:22PM +0300, Anton Farygin wrote:
>> работает ли у нас сейчас дельта между тарболлами ?
> По-видимому работает, как и для других файлов.

А вот я как посмотрю - не работает.

> 
>> Т.к. в данный момент сижу через GPRS, то объёмы трафика весьма заметны..
>> обновление остановил на 3-х мегабайтах..
>> по моим прикидкам трафик должен составлять не более ста килобайт.
> Ты уверен, что оба тридцатимегатайтных архива имеют
> одинаковую структуру? Мало ли, что там они у себя в upstream поменяли...
> Теоретически можно изготовить два тарболла с полностью идентичной
> файловой системой, дельта между которыми будет 100%.
> 
> Впрочем, это так, к слову; см. ниже.

Проверяется тривиально - xdelta между тарболлами.

> 
>> Возникает стойкое мнение, что перекачиваются файлы целиком (но в сжатом
>> виде), вместо дельт.
> Разумеется:
> $ git-diff HEAD^^ | awk '/ImageMagick-6.3.1-3.tar/,/ImageMagick.desktop/{print}'
> diff --git a/ImageMagick-6.3.1-3.tar b/ImageMagick-6.3.1-3.tar
> deleted file mode 100644
> index f4ceab0..0000000
> Binary files a/ImageMagick-6.3.1-3.tar and /dev/null differ
> diff --git a/ImageMagick-6.3.1-6.tar b/ImageMagick-6.3.1-6.tar
> new file mode 100644
> index 0000000..1eb2b27
> Binary files /dev/null and b/ImageMagick-6.3.1-6.tar differ
> diff --git a/ImageMagick.desktop b/ImageMagick.desktop
> 
> То есть это два разных файла: один ты удалил, другой завёл.

Странно что git не умеет с этим бороться. собственно по опыту
использования subversion - там дельта делается между двумя коммитами.
Соотственно размер коммита очень маленький.

> 
>> с этим надо что-то сделать..
> Одно из двух:
> либо делать git-mv (хотя это всё равно без гарантии, см. выше),
> либо хранить таки распакованный архив (gear-srpmimport рулит).

Распакованный архив мне не удобно, а вот с git-mv надо посмотреть будет.

Но судя по всему когда-то такие фокусы работали и перестали работать с
какого-то времени. Может быть нужно соблюдать порядок ? (сначала add,
потом rm) ?

Хотя я сомневаюсь. Есть ещё варианты рещения этого вопроса ? как git
заставить понимать, что xxx-1.0 и xxx-1.1 это один и тот же файл ?

Rgds,
Rider



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] QI: git, экономия на трафике мнимая
  2007-01-10 13:46   ` Anton Farygin
@ 2007-01-10 17:41     ` Fr. Br. George
  0 siblings, 0 replies; 4+ messages in thread
From: Fr. Br. George @ 2007-01-10 17:41 UTC (permalink / raw)
  To: ALT Devel discussion list

On Wed, Jan 10, 2007 at 04:46:00PM +0300, Anton Farygin wrote:
> Fr. Br. George wrote:
> > On Sun, Jan 07, 2007 at 11:08:22PM +0300, Anton Farygin wrote:
> >> работает ли у нас сейчас дельта между тарболлами ?
> > По-видимому работает, как и для других файлов.
> А вот я как посмотрю - не работает.
Ты не на тарболлы смотришь, а на коммиты. Дельта между коммитами не работает.
> 
> Проверяется тривиально - xdelta между тарболлами.
Этим проверяется работоспособность xdelta, и только.

> > То есть это два разных файла: один ты удалил, другой завёл.
> Странно что git не умеет с этим бороться. собственно по опыту
> использования subversion - там дельта делается между двумя коммитами.
В git дельта делается между объектами.

> Распакованный архив мне не удобно, а вот с git-mv надо посмотреть будет.
> Но судя по всему когда-то такие фокусы работали и перестали работать с
> какого-то времени.
Ситуация такая: git принимает решение о том, делать ли дельту или rm+add
на основании уровня "похожести" объектов: некоторый сложный алгоритм на
основании размера, типа и имени. Плюс алгоритм, определяющий, нужно ли
вообще делать дельту, или проще rm+add. И у этого алгоритма есть
буфер некоторого размера (иначе сравнение может затянуться надолго).
Так что этот как фишка ляжет. Man git-pack-objects.

> как git
> заставить понимать, что xxx-1.0 и xxx-1.1 это один и тот же файл ?
Как я понял, git не работает с "одним и тем же" файлом. Есть старый
объект и новый, у них такой-то индекс похожести. Возможно, операция
git-mv - git-commit - (новый файл с тем же именем) - git-commit даст
больше шансов.

-- 
			George V. Kouryachy (aka Fr. Br. George)
			mailto:george at altlinux_ru


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-01-10 17:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-07 20:08 [devel] QI: git, экономия на трафике мнимая Anton Farygin
2007-01-10  7:28 ` Fr. Br. George
2007-01-10 13:46   ` Anton Farygin
2007-01-10 17:41     ` Fr. Br. George

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git