Forum: Projeler turna RSS
Proje Sahibinde Kodlar Barınsın Diğerleri Çatallama İle Edinsin
Sayfa:  1  2  sonraki 
canalpay (Moderatör) #1
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Proje Sahibinde Kodlar Barınsın Diğerleri Çatallama İle Edinsin
Mengü ile konuşurken daha iyi öğrendiğim github'ta digitalmars'ın dmd'sinde bile gördüğüm bir olanak olan Pull Requests olanağını bizde kullanalım.

Projenin bir lideri olsun. Bence zaten böyle işleri bildiğinden ya Ali Bey ya da Mengü olabilir. Proje onun tarafından barınsın ve biz ondan çatallama yöntemi ile edinelim.

Kodları kendi depomuzda barındırıp kendi depomuza gönderelim. Eğer yeterli olduğunu düşündüğümüz anda Puul Request ile kodları proje yöneticisine devretsin. Proje yöneticisi kodları doğru ve yeterli bulursa eklesin.

Böylece Git ile gönderirken acaba hatalı kod mu gönderiyorum diye bir endişe kalmaz. Hem rekabet içinde daha doğruyu buluruz hem herkes kod yazmış olur hem de kendimizi zorlamış ve geliştirmiş oluruz. Ve bunlar olurken asla projenin seviyesi düşmez.

Tabiki eğer olursa git'te bu pull request işini anlatan bir konu açmanız gerekecek.

Sizce?
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4391 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bence mantıklı. Sabırsızlıkla öğretilmeyi bekliyorum. ;)

Ali
Kadir Can #3
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Ben o zaman turna'yı çatallayayım mı?

Bir de pişti'yi çatallamak istiyorum.
Mengu (Moderatör) #4
Kullanıcı başlığı: NONSERVIAM
Üye Tem 2009 tarihinden beri · 347 mesaj · Konum: Dersaadet
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #2
mevcut projeyi ali ustad forklasin.

ardindan clone islemini yapsin.

sizler mevcut repolarinizi silin. ali ustaddan fork edin.
http://www.mengu.net - some kind of monster
acehreli (Moderatör) #5
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4391 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ay üstüme iilik saalık! Bilen yapsın; ben kenardan seyredicem. :p

Ali
canalpay (Moderatör) #6
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
acehreli:
Ay üstüme iilik saalık! Bilen yapsın; ben kenardan seyredicem. :p

Zaten kenardan seydeceksiniz. Kim daha iyi yazmış diye :-p Beğenmezseniz kendiniz yazacaksınız :-)

Mengu:
mevcut projeyi ali ustad forklasin.

ardindan clone islemini yapsin.

sizler mevcut repolarinizi silin. ali ustaddan fork edin.
Bunu yaparken projenin geçmişide silinmiyor değil mi? Çok güzel :-) Biz Ali Beyi bekliyoruz.

Belge burada: http://help.github.com/pull-requests/

Bize gerekli olan tarafı yeni konuda anlatırsınız :-)
canalpay (Moderatör) #7
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bir de pişti'yi çatallamak istiyorum.

code.google.com'a da aktarmıştım. Senide ekledim. İstediğin gibi değiştirip istediğin gibi işler yapabilirsin.

http://code.google.com/p/pisti/
acehreli (Moderatör) #8
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4391 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben bu konuyu anlamış değilim.

Herkesin kendi dalı üzerinde çalışması kavramını anlıyorum. Böylece herkes çok sayıda değişiklik yapıyor ve başkalarını beklemeden adım adım kendi işine devam ediyor.

Ama bir noktada Ahmet Barış'ın çalıştığı konuya ihtiyaç duyunca onun söylediği değişiklikleri pull mu ediyor?

Bu arada Cem kendi başına devam ediyor diyelim. İhtiyacı olunca Ahmet'le Barış'ın hangi kodlarını alıyor?

Proje sahibinin rolü ne? Onun kendi dalı bütün bu olanlardan habersiz mi? Sonunda o her şeyi bir araya mı getiriyor? Karışıklıklar olmuyor mu? :)

Hiçbir fikrim yok! :D

Ali
Mengu (Moderatör) #9
Kullanıcı başlığı: NONSERVIAM
Üye Tem 2009 tarihinden beri · 347 mesaj · Konum: Dersaadet
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
acehreli:
Ben bu konuyu anlamış değilim.

Herkesin kendi dalı üzerinde çalışması kavramını anlıyorum. Böylece herkes çok sayıda değişiklik yapıyor ve başkalarını beklemeden adım adım kendi işine devam ediyor.

Ama bir noktada Ahmet Barış'ın çalıştığı konuya ihtiyaç duyunca onun söylediği değişiklikleri pull mu ediyor?

Bu arada Cem kendi başına devam ediyor diyelim. İhtiyacı olunca Ahmet'le Barış'ın hangi kodlarını alıyor?

Proje sahibinin rolü ne? Onun kendi dalı bütün bu olanlardan habersiz mi? Sonunda o her şeyi bir araya mı getiriyor? Karışıklıklar olmuyor mu? :)

Hiçbir fikrim yok! :D

Ali

ustad, soyle aciklayayim:

- icimizde d'yi en iyi bilen sensin, dolayisiyla proje sende.

- kendi repolarimizda yazdigimiz kodu bittikten sonra sana pull request gonderiyoruz.

- sen code review yapiyorsun.

- begendiysen sendeki repoyla birlestiriyorsun, begenmediysen bugun git, yarin gel diyorsun.

saygilar, sevgiler.
http://www.mengu.net - some kind of monster
doganaydin #10
Kullanıcı başlığı: Doğan Aydın
Üye Şub 2011 tarihinden beri · 7 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Mengu on 2011-02-20, 02:20:
acehreli:
Ben bu konuyu anlamış değilim.

Herkesin kendi dalı üzerinde çalışması kavramını anlıyorum. Böylece herkes çok sayıda değişiklik yapıyor ve başkalarını beklemeden adım adım kendi işine devam ediyor.

Ama bir noktada Ahmet Barış'ın çalıştığı konuya ihtiyaç duyunca onun söylediği değişiklikleri pull mu ediyor?

Bu arada Cem kendi başına devam ediyor diyelim. İhtiyacı olunca Ahmet'le Barış'ın hangi kodlarını alıyor?

Proje sahibinin rolü ne? Onun kendi dalı bütün bu olanlardan habersiz mi? Sonunda o her şeyi bir araya mı getiriyor? Karışıklıklar olmuyor mu? :)

Hiçbir fikrim yok! :D

Ali

ustad, soyle aciklayayim:

- icimizde d'yi en iyi bilen sensin, dolayisiyla proje sende.

- kendi repolarimizda yazdigimiz kodu bittikten sonra sana pull request gonderiyoruz.

- sen code review yapiyorsun.

- begendiysen sendeki repoyla birlestiriyorsun, begenmediysen bugun git, yarin gel diyorsun.

saygilar, sevgiler.
Selam, şöyle bir şey de var. Kodlar çatallandığı zaman çatallanan repolarla orjinal reponun ayrı geçmişleri oluyor. Mesela ben a deposunu çatalladığımda a deposunun sahibi değişiklikler yapmaya devam ediyor ama bu değişiklikler benim çatalladığım repoyu etkilemiyor. Daha sonra ben a reposunun asıl sahibine pull request gönderdiğim zaman benim değişikliklerimle asıl repodaki değişiklikler hiç birleştirilmeyecek bir hal alabiliyor. Veya aynı dosya aynı satır üzerinde farklı değişiklikler yapıldıysa repolarda çakışma oluyor ve bu çakışma çözülmeden birleştirme işlemi yapılamıyor, veya zorlamayla eski dosya tamamen siliniyor yerine benim dosyam geliyor bu da asıl dosyada yapılan değişikliklerin tamamen yok olmasına sebep oluyor. Bunu önlemek için basitçe bir geliştirme planı yapılabilir veya bu dilde iyi olan biri ekstradan çakışmaları çözmekle uğraşabilir.( Tabii her yapılacak değişiklikten önce çatallanan reponun orijinal repoyla güncellenmesi gerekli. )
acehreli (Moderatör) #11
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4391 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
git gibi "distributed" sistemlere karşı görünmek istemem. Birileri gerek görmüş işte. Biz svn kullandığımız halde kendi özel git depolarını kullanan arkadaşlar da var. Örneğin birisi kodu svn'den alıyor ve kendi git dünyasında istediği gibi çalışıyor. Sonra da oluşturduğu kod değişikliklerini yine svn'e gönderiyor.

Yani aşağıdakileri git'e karşı olduğum için değil, farklı bir hikaye olarak anlatıyorum.

Normalde ise işler şöyle yürüyor: Tek ana dal var. (Aslında her sürümün kendi dalı da var ama bunlar normalde bir daha hiç ana dala birleşmiyorlar.)

- Ali ana dalın bir görüntüsünü alıyor (bunu bir kere yapıyor)

Sonra örneğin bir hata temizliği için;

- elindeki ana dal görüntüsünü tazeliyor; işe elindeki eski görüntüyle başlaması mantıklı olmaz, çünkü son tazelediğinden beri bir sürü değişiklik olmuştur

- değişikliklerini yapıyor, programı deniyor

- herşey yolunda gidince değişiklikleri ana dala gönderiyor; doganaydin'ın bahsettiği çakışma riski burada da var: Ali çalışırken ana dal değişmiş olabilir ve göndermeye çalıştığı dosyaların aynı satırlarına başkaları dokunmuş olabilir

Bu durumda Ali, ana dalın görüntüsünü tekrar tazeliyor ve çakışmaları yerel olarak çözüyor. Ve gidermiş olduğu hem asıl hatanın değişikliklerini hem de bu çakışmanın çözümünü ana dala gönderiyor. (Çok küçük olasılıkla yine çakışma olabilir.)

Yukarıdaki yöntem ana dalın hep sağlıklı halde bulunmasına yardım ediyor. Bütün programcılar aynı şekilde çalıştıkları için ana dal hep güncel oluyor.

Bazen ise çok büyük değişikliklerden önce ana dal çatallanıyor ve bir grup insan o dal üzerinde çalışıyorlar. Yukarıda ana dal için anlattıklarım aynen bu dal için de geçerli: o programcı grubu bu dalı sağlıklı tutuyor. En sonunda da onların dalı olduğu gibi ana dala tekrar bağlanıyor; yani onların yapmış oldukları bütün değişiklikler de artık ana dala gelmiş oluyorlar. (O dal artık kapatılıyor.) Tabii büyük bir iş olduğu için o daha dertli oluyor.

Çatallama yöntemi birbirlerinden güzelce ayrılabilen projelere daha uygun. Örneğin o pogramcı grubunun çalıştığı daldaki çoğu değişiklik ana dalda bulunmayan bir klasör altında oluşuyor. Onun için oradaki kodların zaten çakışma riskleri bulunmuyor.

Neyse; bu da böyle başka bir yöntem. :)

Ali
doganaydin #12
Kullanıcı başlığı: Doğan Aydın
Üye Şub 2011 tarihinden beri · 7 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Ben genelde üstünde çalışmak istediğim projeleri küçük-büyük çatallarım. Benim projelerim üstünde çalışmak isteyenlere de çatallamasını söylerim. Bana göre çatallama işlemiyle ana kod daha temiz kalıyor. Çünkü diğer kişinin ne şekilde çalıştığını bilemem veya nasıl kod yazabildiğini. Diğer kişi de beni bilemez veya herkesi projeye dahil etmek istemez. Eğer pull requestler sık sık değerlendirilir ve merge edilirlerse sorunsuz bir şekilde ilerliyor.
acehreli (Moderatör) #13
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4391 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
'Pull request'leri ben kabul edeceksem projenin sahibi mi olmam gerekiyor? Şu andaki sahibi canalpay.

Şunlardan hangisini yapıyoruz?

a) Can projeyi bana veriyor (mümkün bile mi)

b) Ben çatallıyorum ve herkes 'pull request'i bu çatala gönderiyor; Can'ın başlattığı ana dal Can'ın çatalı olarak kabul ediliyor

c) Başka bir şey :)

Ne yapacağımı söyleyin de 'pull request'leri keyifle geri çevirmeye başlayayım. :p

Ali
Mengu (Moderatör) #14
Kullanıcı başlığı: NONSERVIAM
Üye Tem 2009 tarihinden beri · 347 mesaj · Konum: Dersaadet
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
catallama mevzusunu gosteren bir screencast kaydettim: http://ompldr.org/vN2loOQ/out-1.ogv

simdi, projenin son halini sen forkluyorsun ustad. ardindan can kendisindeki repoyu ucuruyor ve hepimiz senden cekiyoruz ve pull requestler sana geliyor. :)
http://www.mengu.net - some kind of monster
canalpay (Moderatör) #15
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ne yapacağımı söyleyin de 'pull request'leri keyifle geri çevirmeye başlayayım. :p

Yalnız şöyle bir kural olsun. Request geri çevreildiğinde nedeni açıklanacak. Yeni biçimde istenecek. Belirli bir müddet boyunca o biçime getirilemez ise proje sahibi kendi yazacak :-D


Görevler verildiğinde görevi yerine getirme zamanıda verilsin. Yoksa proje çok soğuyacak.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Sayfa:  1  2  sonraki 
Forum: Projeler turna RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-04-30, 15:29:48 (UTC -07:00)