From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 10 Jan 2007 20:41:13 +0300 From: "Fr. Br. George" To: ALT Devel discussion list Message-ID: <20070110174110.GF89283@grep.po.cs.msu.su> Mail-Followup-To: "Fr. Br. George" , ALT Devel discussion list References: <45A15336.9040609@altlinux.com> <20070110072847.GC87439@grep.po.cs.msu.su> <45A4EE18.1090006@altlinux.com> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <45A4EE18.1090006@altlinux.com> User-Agent: Mutt/1.4.2.2i Subject: Re: [devel] =?koi8-r?b?UUk6IGdpdCwg3MvPzs/NydEgzsEg1NLBxsnLxSDNzsnN?= =?koi8-r?b?wdE=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jan 2007 17:41:14 -0000 Archived-At: List-Archive: List-Post: 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