[Gelistirici] pisi-svn

Faik Uygur faikuygur at gmail.com
26 Mar 2006 Paz 20:26:57 EEST


On Paz, 26 Mar 2006, S.Çağlar Onur wrote:

> Selamlar;

Selam,

> Kimse şahsi olarak üzerine alınmasın lütfen ama SVN'deki pisinin devamlı 
> bozuk/hatalı/yanlış çalışan ya da ne durumdaysa o durumda olmasından 3 
> revizyon aşağı, 5 revizyon yukarı hah burada bu çalışıyor ama aaa bu 
> patlıyorlardan çok sıkıldım hatta _bıktım_ artık.

Sadece durumu daha iyi anlayabilmek için soruyorum. :) Neden her an 
pisi'nin devel'deki son halini kullanma ihtiyacın oluyor? Bu ihtiyaç 
duyduğun yeni bir feature'dan mı kaynaklanıyor? Stable branch'a merge
edilmemiş bugfixlerden mi oluyor? devel'in son halini kullanıp aynı 
zamanda test olsun (bu durumda hiç zannetmiyorum ama :)), hem de 
feature'ları da kullanayım amaçlı mı?

> SVN'e commit etmenin amacı birşey yaparken başka şeyleri bozmak olmamalı, 
> tamam hatalar olabilir zaten SVN sürümü kullanmamızın sebebi bu hataları 
> bulmak ama her "svn up" dediğimde pisi başka yerinden pörtlüyor ve en azından 
> benim çalışmamı imkansız hale getiriyor. 

Buradan sanırım devel içinde de, hem devel'i çeşitli nedenlerle kullanan, 
hem de üzerinde geliştirme yapanlar için, belli bir stabilite'nin nasıl 
sağlanması gerektiğine dair bir sorun çıkıyor.

Geliştirici bir bugfix üzerinden çalışmak isterken diğer bir geliştirici aynı
anda bir feature ekliyor olabilir. 

Feature'ın eklenmesi uzun vadeli bir iş olduğu için, geliştirici feature'ın da 
kendi içinde  kararlı bir takım değişikliklerini zaman zaman commit etme 
ihtiyacı duyabilir. Ancak bu commitler çeşitli sorunların kaynağı olabilir ve
diğer geliştirici'nin/kullanicinin çalışmasını engelleyebilir.

Aynı şey bugfix'ler için de geçerli. Bazıları tek seferde halledilebilecek
ufak düzeltmeler iken, bazıları uygulama'da önemli değişiklikler gerektirebilir.

Özet olarak, bu tarz uzun vadeli işlerde, devel branch'ının da kendi içindeki
stabilitesinin sağlanabilmesine yönelik bir branching policy belirlenebileceğini
düşünüyorum. Nette çeşitli projelerde svn best practices aramaları yaptım. 
Herkes kendine göre çeşitli çözümler geliştirmiş tabi. Normal olarak birinin
iyi dediğine diğeri sıcak bakmıyor. Ama böyle bir ihtiyaç olduğu fikrine
katılınıyorsa buradan ortak bir karar çıkabilir tabi ki.

Sadece fikir vermesi açısından 

http://twistedmatrix.com/trac/wiki/BranchPolicy 

bir örnek olabilir. 

pisi için bu tarz biraz overkill oluyor tabi. Diğer bazı fikirler:

repos/pisi/people/faik/
trunk/pisi/people/faik/

Herkes kendi içinde birden fazla feature ile ya da bugfix ile uğraşabilir. 
Uzun vadeli ve devel'in stabilitesini ciddi anlamda bozacak işler buralarda
yapılabilir ve zamanı geldiğinde de ana trunk'a merge edilebilir.

> 
> Buna bir hal/çare bulur musunuz lütfen, pisi bu durumda olduğu sürece paket 
> yapamıyorum/güncelleyemiyorum ve evet buildfarm'da aynı durumda. 
> 
> Eğer bu durum böyle devam edecekse ve bu pisinin geliştirme süreci olacaksa, 
> ve yanlışı yapan bensem pisi'nin birkaç parçaya ayrılmasını öneriyorum 
> (pisi-build, pisi-install v.s gibi).

Şimdi tek bir uygulama'nın revizyonları ile boğuşurken, buna bir de bölünen 
uygulama'nın sürümleri arasındaki uyumsuzluklar ve onların da kendi içlerindeki 
sorunlar eklenebilir gibi geliyor.

Saygılar
-Faik



Gelistirici mesaj listesiyle ilgili daha fazla bilgi