[devel] проблема с GIT...

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Ср Апр 26 12:59:58 MSD 2006


On Wed, Apr 26, 2006 at 11:27:27AM +0400, Alexey I. Froloff wrote:
> "git" can mean anything, depending on your mood.
> ...
> "goddamn idiotic truckload of sh*t": when it break
> 
> $ git ls-remote rsync://rsync.altlinux.ru/people/raorn/git/wmvolman.git
> 87d8caf0a9083c2adc2bcdad4d3a06bda7027caa        refs/heads/master
> 87d8caf0a9083c2adc2bcdad4d3a06bda7027caa        refs/heads/origin
> 393b5bd10c25972f6c0503ccb375a758c38dcd5e        refs/tags/v0.5
> $ git ls-remote ~/2alt/ftp.alt/git/wmvolman.git                        
> 87d8caf0a9083c2adc2bcdad4d3a06bda7027caa        HEAD
> 87d8caf0a9083c2adc2bcdad4d3a06bda7027caa        refs/heads/master
> 87d8caf0a9083c2adc2bcdad4d3a06bda7027caa        refs/heads/origin
> 393b5bd10c25972f6c0503ccb375a758c38dcd5e        refs/tags/v0.5

Действительно, по http и rsync HEAD не показывается:

$ git ls-remote git://www.kernel.org/pub/scm/linux/kernel/git/marcelo/linux-2.4.git
3c1e09e173e5fec7535a3795c4bc7870c8026ff3        HEAD
3c1e09e173e5fec7535a3795c4bc7870c8026ff3        refs/heads/master
e684f066dff5628bb61ad1912de6e8058b5b4c7d        refs/heads/net-2.4
da29f83b221f5f51ecbca931b856973e704710bb        refs/heads/sparc-2.4
e3b8d6f151669d62fbd55ab8367dd477418d40c9        refs/tags/v2.4.32
cbff79e43c1a47953098fdf3168dbc8320eba515        refs/tags/v2.4.32-pre1
a3bbfff57ea7fb30bda2d175d738516ed0ce67ae        refs/tags/v2.4.32-pre2
3e6c661ddb88083186ef55ced851d5a834bc34c0        refs/tags/v2.4.32-pre3
d53393237d7c6a04976a235420304b9b0a5063e0        refs/tags/v2.4.32-rc1
992133233c7a46beead186694c5e11d5eef0f9a8        refs/tags/v2.4.32-rc2
ab374f2f73a4991d811c4181c28589529f335c8c        refs/tags/v2.4.32-rc3
75d117d9bd191f4ef9222ec02edfc3f7a35c47bd        refs/tags/v2.4.33-pre1
dc3c23e28d20349c1055f51e30d6cbf59dd0c4fa        refs/tags/v2.4.33-pre2

$ git ls-remote http://www.kernel.org/pub/scm/linux/kernel/git/marcelo/linux-2.4.git
3c1e09e173e5fec7535a3795c4bc7870c8026ff3        refs/heads/master
e684f066dff5628bb61ad1912de6e8058b5b4c7d        refs/heads/net-2.4
da29f83b221f5f51ecbca931b856973e704710bb        refs/heads/sparc-2.4
e3b8d6f151669d62fbd55ab8367dd477418d40c9        refs/tags/v2.4.32
cbff79e43c1a47953098fdf3168dbc8320eba515        refs/tags/v2.4.32-pre1
a3bbfff57ea7fb30bda2d175d738516ed0ce67ae        refs/tags/v2.4.32-pre2
3e6c661ddb88083186ef55ced851d5a834bc34c0        refs/tags/v2.4.32-pre3
d53393237d7c6a04976a235420304b9b0a5063e0        refs/tags/v2.4.32-rc1
992133233c7a46beead186694c5e11d5eef0f9a8        refs/tags/v2.4.32-rc2
ab374f2f73a4991d811c4181c28589529f335c8c        refs/tags/v2.4.32-rc3
75d117d9bd191f4ef9222ec02edfc3f7a35c47bd        refs/tags/v2.4.33-pre1
dc3c23e28d20349c1055f51e30d6cbf59dd0c4fa        refs/tags/v2.4.33-pre2

$ git ls-remote rsync://rsync.kernel.org/pub/scm/linux/kernel/git/marcelo/linux-2.4.git
3c1e09e173e5fec7535a3795c4bc7870c8026ff3        refs/heads/master
e684f066dff5628bb61ad1912de6e8058b5b4c7d        refs/heads/net-2.4
da29f83b221f5f51ecbca931b856973e704710bb        refs/heads/sparc-2.4
e3b8d6f151669d62fbd55ab8367dd477418d40c9        refs/tags/v2.4.32
cbff79e43c1a47953098fdf3168dbc8320eba515        refs/tags/v2.4.32-pre1
a3bbfff57ea7fb30bda2d175d738516ed0ce67ae        refs/tags/v2.4.32-pre2
3e6c661ddb88083186ef55ced851d5a834bc34c0        refs/tags/v2.4.32-pre3
d53393237d7c6a04976a235420304b9b0a5063e0        refs/tags/v2.4.32-rc1
992133233c7a46beead186694c5e11d5eef0f9a8        refs/tags/v2.4.32-rc2
ab374f2f73a4991d811c4181c28589529f335c8c        refs/tags/v2.4.32-rc3
75d117d9bd191f4ef9222ec02edfc3f7a35c47bd        refs/tags/v2.4.33-pre1
dc3c23e28d20349c1055f51e30d6cbf59dd0c4fa        refs/tags/v2.4.33-pre2

> В случае с ssh:// (на работе клоню из дома) картина совпадает с
> локальным repo...
> 
> И git-clone поэтому не делает git-read-tree -m -u -v HEAD HEAD
> 
> Что я не так делаю?  Делал так:
> 
> По Everyday GIT / Individual Developer (Standalone) / Extract a
> tarball and create a working tree and a new repository to keep
> track of it.
> 
> $ tar zxf wmvolman.tar.gz
> $ cd wmvolman
> $ git-init-db
> $ git add .
> $ git commit -m 'import of wmvolman source tree.'
> $ git tag v0.5
> 
> Дальше mv .git .../wmvolman.git

Ещё надо бы chmod +x wmvolman.git/hooks/post-update (там делается вызов
git-update-server-info).

> $ git clone .../wmvolman.git wmvolman
> 
> edit/compile/test
> $ git add
> $ git commit
> $ git update-server-info

Это надо делать в том репозитории, который будет заливаться на ftp (лучше
всего через hooks/post-update).

> $ git push origin
> 
> Потом всё заливается на ftp...  И в какой-то момент HEAD пропал.
> Куда смотреть, что копать?

Похоже, поддержка rsync в git-clone немного сломана - HEAD там просто не
читается (при использовании http это там делается явно).  Впрочем, в
простейшем случае (когда HEAD указывает в refs/heads/master) git checkout
исправляет ситуацию.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060426/93496db3/attachment-0001.bin>


Подробная информация о списке рассылки Devel