[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: