Re: Depo problemi
* Mehmet Türker [2004-03-15 15:23:20+0200]
> Depoya po dosyası atmak istediğimde şöyle bir hata alıyorum:
>
> # svn-tr ci man-db
>
> Log message unchanged or not specified
> a)bort, c)ontinue, e)dit
> c
> mturker-guest@alioth.debian.org's password:
> Sending man-db/debian/po/tr.po
> Transmitting file data .svn: Commit failed (details follow):
> svn: Base checksum mismatch on '/trunk/po-debconf/man-db/debian/po/tr.po':
> expected: 619235e537e2631800d148885036da4c
> actual: b797f7d14a7e85c2dcfd69947d6ba5ac
>
> Diğerlerinde de bu hatayı alıyorum, mesela shadow. svn cleanup ta yaptım ama hala aynı.
Uzerinde calistigin kopya (WC) bir sekilde bozulmus. Yani bu sorun
uzaktaki depoyla degil lokaldeki calisma kopyasiyla alakali. Bu
sorundan dolayi yaptigin diger commit'de sonuclanmamis ve depoda bir
lock birakmis (tamamen veri butunlugunu saglamak icin), aldigin ikinci
hata mesaji onu soyluyor.
Depoyu recover yaptim. r23 itibarıyla shadow paketi guncellenmis
gozukuyor. Yaptigin diger commit'ler yukaridaki problemlerden dolayi
gerceklesmemis. Simdi senden sunu yapmani isteyecegim. Mevcut calisma
dizinini bir yere yedekle ve depoyu tekrar checkout yap. Bu sabah
depoya -henuz duyurusunu yapmadigim- cok sey ekledim. Bu yuzden deponun
butununu degil sadece uzerinde calisacagin kismini almani oneririm, aksi
halde yuklu bir download seni bekliyor. Soyle bir sey uygun:
svn-tr co po:// po-debconf://
Calisma kopyasi tazelendikten sonra (tercihen mc gibi bir aracla) eski
yedeklenmis calisma kopyasinda bulunan commit edilememis dosyalari
(netbase, man-db?) yeni kopyada ilgili yerlere overwrite olarak kaydet
ve tekrar commit yap.
Onceki lokal kopyanin neden bozuldugunu bilmiyorum. Genel bir tavsiye
olrak sunu soyleyebilirim . Elinizdeki calisma dizininde sed, awk vb.
araclarla toplu islem yapmaktan kacinin, yanlis dosyalar
degistirilebilir. Ozellikle WC'de (working copy) her alt dizinde
bulunan .svn dizinlerine asla dokunmayin :-) Ayni anda sadece bir dosya
uzerinde calisin ve kopyanin diger bolumlerine dokunmamaya dikkat edin.
Shadow cevirisi icin tesekkurler, eline saglik... Digerlerini de
bekliyoruz.
P.S. Bilgi olmasi icin Ozgur'e not. Bu recover islemi sirasinda
svnadmin birkac kere kilitlendi (veya bir islemin tamamlanmasi icin
bekledi). svn/db dizinini inceledigimde Mehmet'in uzerine kayitli
log'lar gordum. Bir turlu recover yapamayinca careyi klasik bir yontemi
uygulamakta buldum:
mv svn svn.old
cp -a svn.old svn
... recover
chmod -R g+ws svn
rm -rf svn.old
Hepsi bu kadar, depo geri dondu. Bu sabah post-commit kancasina
'hot-backups' betigini eklemistim. Bu betik her commit sonrasinda
backups/ dizini altinda basariyla bitmis son commit'e ait butun bir
depoyu yedekliyor. Yani sorun yukaridaki komutlarla asilamasaydi bile
cok cok bir revizyon kaybederek yedeklerden geri yukleme yapabilecektik.
--
roktas
Reply to: