{hg, git} bisect + portage
Tuesday, June 15, 2010 3:47:24 PM
#!/bin/sh rm -rf /tmp/awesome* cp -rp ~sterkrig/tmp/awesome /tmp/awesome-3.4.999 rm -rf /tmp/awesome-3.4.999/.* cd /tmp tar cjf awesome-3.4.999.tar.bz2 awesome-3.4.999 mv -f awesome-3.4.999.tar.bz2 /usr/portage/distfiles chown portage:portage /usr/portage/distfiles/awesome-3.4.999.tar.bz2 chmod 664 /usr/portage/distfiles/awesome-3.4.999.tar.bz2 ebuild --force /usr/local/portage/x11-wm/awesome/awesome-3.4.999.ebuild manifest emerge awesome cd ~Что тут происходит:
- наши «снимки» из git будут считаться версией awesome 3.4.999 (мы ищем ошибку между 3.4.4 and 3.4.5), на самом деле это неважно;
- исходный код копируется в сторонку, .git подчищается, и с помощью tar мы получаем архив примерно того же свойства, что и у «официальных» версий;
- далее мы просто обновляем Manifest для нашего ebuild'а (который является простой копией awesome-3.4.5.ebuild из официального дерева Portage) и устанавливаем эту версию
P.S. А моя ошибка была исправлена в git через три дня после моего сообщения. А никто и не заметил, хе-хе.
- we'll treat git checkouts as awesome 3.4.999 (bisecting between 3.4.4 and 3.4.5), it really doesn't matter;
- sources are copied to other location, .git gets removed, and tar creates tarball similar to those of „official“ releases;
- next thing is to update manifest for our ebuild (it's just a copy of awesome-3.4.5.ebuild from the tree) and emerge it
P.S. And my bug was fixed three days after report. And nobody had noted it, hehe.








Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig # Thursday, March 22, 2012 7:21:17 PM
---
Пожалуй, лучшим вариантом будет использование переменной окружения `E${SCM_NAME}_COMMIT` и «живого» ебилда.