Web sayfamız sadece phpBB 3.0.x sürümlerine destek vermektedir. Konu açmadan, ileti yazmadan önce lütfen site kuralları sayfamıza göz atınız.

CVS ve SF ile açık kaynak geliştirme için başlangıç rehberi

Forum kuralları
Makale ve yazılardan sonra sadece makale hataları, güncellemeler ile ilgili iletiler yazabilirsiniz, lütfen makale konusuyla ilgili soru sormayınız yardım istemeyiniz.

İsteyen herkes makale ekleyebilir, eklenen makaleler yetkili tarafından incelenip onaylanırsa yayına alınacaktır. Eklediğiniz makalelerde telif haklarına uymak zorunludur.

Sitedeki tüm yazı ve makaleler Creative Commons Attribution-NonCommercial-NoDerivs 2.5 lisansı ile korunmaktadır. Alıntı şartları sayfasını mutlaka okuyunuz.

CVS ve SF ile açık kaynak geliştirme için başlangıç rehberi

İleti ALEXIS 02 Nis 2007 22:07

CVS ve SourceForge ile açık kaynak geliştirme için hızlı başlangıç rehberi


Tanışma

Bu yazıda SourceForge de barındırdığımız açık kaynaklı projelerimizi CVS sistemi ile nasıl geliştirebileceğimizi anlatacağız. CVS, bir sürüm numaralandırma sistemidir ve bir ekip olarak aynı proje üstünde çalışmayı kolaylaştırır.

Feragat

Yazı benim kişisel tecrübelerimi de içerir. Windows için çeşitli CVS istemcileri olmasına rağmen, kolay olduğu için sadece TortoiseCVS yazılımını kullandım. Yine de, tecrübeli kullanıcılar için WinCVS yazılımını önerebilirim.

Yazılım

Başlamadan önce, lütfen aşağıdaki araç ve yazılımları indiriniz.
  • TortoiseCVS - Windows CVS istemcisi
  • PuTTYGen - SSH ahantarlarını oluşturmak için kullanacağımız yazılım
  • Pageant - SSH anahtarını bellekte muhafaza etmek için kullanacağımız yazılım


SSH Anahtarı Üretme

Bu adımda PuTTYGen ile SSH anahtarı oluşturacağız.

  1. PuTTYGen yazılımını açın, aşağılardaki "Parameters" bölümünden "SSH2 DSA" seçeneğini işaretleyin.

    Resim

  2. "Generate" butonuna tıklayın.
  3. Ekrandaki bildirileri takip edin ("Please generate some randomness by moving the mouse over the blank area", "Rastgele bir anahtar üretmek için farenizi ekranda dolaştırın"). İşlemler bittiğinde anahtar üretilmiş olacak.
  4. Anahtar oluşturma tamamlandığında, "Key comment" alanına mailto:username@shell.sf.net yazın, "username" yazan yeri kendi SourceForge.net adınız ile değiştirin. Bu açıklama anahtar kimlik tespitinde işe yarayacaktır.
  5. "Key passphrase" alanına bir parola yazın ve hemen altındaki alana da onay için aynı parolayı yazın. Parolayı sakın unutmayın ileride kullanacağız!

    Resim

  6. "Save Private Key" butonuna tıklayın ve özel anahtarınızı (.ppk uzantısı ile) daha sonra bulabileceğiniz bir yere kaydedin.
  7. Şimdi, genel anahtarımızı SourceForge'e göndereceğiz. PuTTYGen yazılımına dokunmadan açık tutun, çünkü biraz sonra lazım olacak.


Genel SSH Anahtarını SourceForge'e Gönderme

Bu aşamada CVS ile işlem yaparken her defasında, her dosya için tek tek parola istemesini engelleyeceğiz. Bunu yapabilmek için genel SSH anahtarımızın bir kopyasını SourceForge'e göndereceğiz. SourceForge'e oturum açın ve...

  1. Hesabınız sayfasına gidin.

    Resim

  2. Sayfayı aşağı kaydırın ve "Host Access Information" kısmını bulun.
  3. Bu bölümü sadece bir projeye dahil iseniz göreceksiniz. "Edit SSH Keys for Shell/CVS" bağına tıklayın.

    Resim

  4. Genel anahtarınızı gönderebileceğiniz bir form sayfası açılacak. Bu alana, halen açık olan PuTTYGen yazımındaki "Public key for pasting into OpenSSH authorized_keys file:" adı altında geçen genel anahtarı kopyalayıp yapıştırın.

    Resim

  5. Sayfa talimatlarına uyduğunuza emin olun. Birden fazla anahtar göndermek için her anahtarı ayrı bir satıra yazın. Her anahtar bir satır yer kaplaması gerekir.

    Resim

  6. Anahtarı yapıştırdıysanız "update" butonu ile işlemlerinizi bitiriniz.

Anahtarı gönderdikten sonra bir gecikme olacaktır, bu yüzden sabırlı olun.


Pageant Yazılımını Devreye Almak

Pageant yazılımı sistem tepsisinde çalışan küçük bir servistir. Amacı SSH anahtarlarını sürekli bellekte tutarak her defasında parola girmenizi engellemektir. Sadece yazılımı ilk çalıştırdığınızda size parola soracaktır.

  1. Pageant yazılımını çalıştırdıktan sonra, sistem tepsisindeki ikona çift tıklayarak yazılımın penceresini her zaman görebilirsiniz.

    Resim

  2. Basitçe "Add Key" butonuna tıklayın ve daha önce oluşturduğunuz özel anahtarınızı (*.ppk) bulup ekleyin. Bu kadar!


Bir Modülü Çıkartmak

Bu nokta için önceki tüm işlemleri yapmış olmanız gerekmekte (pageant çalışır durumda). Aşağıdaki talimatlar önceden oluşturulmuş bir projeye bağlantı kurmayı ve kendi makinemize aktarmayı anlatır.

  1. Proje üstünde işlem yapabilmek için projeye geliştirici olarak eklenmeniz gerekmektedir. Bir proje yöneticisi bunları yapabilir.
  2. Windows Explorer ile çalışma yapacağınız proje dizinine sağ tıklayın ve "CVS Checkout" komutunu seçin. Bu komut CVS deki dosyaları kendi bilgisayarımıza, kendi çalışma alanımıza aktarmaya yarar.

    Resim

  3. SourceForge kullanıcı adınız ve projenin UNIX adına gereksinim duyacaksınız. Örneğin, kullanıcı adınız "angelside" ise (bu olamaz, çünkü o benim), çalıştığınız proje adı "projeadi" ve çalışacağınız modül "phpbb3-portal" ise, aşağıdaki bilgileri gireceksiniz.
    • Protocol: Secure Shell (:ext)
    • Server: projeadi.cvs.sourceforge.net
    • Directory: /cvsroot/phpbb3-portal
    • Username: angelside

    Resim

  4. Projenin bir kopyasının kendi makinenize aktarılmasını bekleyin.


Değişiklikleri Güncellemek

Modülü sadece bir defa kendi makinemize aktarın (checkout işlemi). İlgili kod değişikliklerini yaptıktan sonra, diğer geliştiricilerin yapılan güncellemeleri görebilmesi için kendi bilgisayarınızdaki proje dizinine "CVS Update" komutunu uygulayın. Bu, değişiklikleri göndermeden önce değişiklik yapıldığını bildirmek için iyi bir fikirdir.

Resim



Değişiklikleri Göndermek

Değişiklik yaptığınız dosyaların ikonu turuncu bir ikon olacaktır. Değişiklikleri uygulamak/göndermek için, turuncu ikonlu dosyalara sağ tıklayın ve "CVS commit" komutunu uygulayın. Lütfen bilgilendirici bir yorum girdiğinize emin olun. Bu yorum diğer geliştiriciler tarafından görülecek ve gerekli ayarlar yapıldıysa mail listelerine gönderilen e-postalarda da yer alacaktır.

Resim


Eğer birden fazla değişiklik yaptıysanız, projenin kök dizini sağ tıklayın ve "CVS commit" komutunu uygulayın. Tüm değişiklik yapılan dosyaların bir listesi açılacaktır. Listeden değişiklikleri yapacağınız dosyayı seçebilir veya tamamını gönderebilirsiniz.


Dosya Eklemek

Eğer projeye yeni bir dosya eklemek istiyorsanız, yeni dosyanızı kendi makinenizdeki proje dizini içinde oluşturun ve bu dosyaya önce "CVS add" komutunu sonra da "CVS commit" komutunu uygulayın.


Geliştirici Olmadan Yama Göndermek

Eğer bir geliştiri erişimiz yoksa, projeye yama göndererek katkıda bulunabilirsiniz. Bir çok SourceForge proje sitesinde, "Patch" bölümü altında yama gönderme imkanı vardır. Nasıl yama gönderileceğini ve onaylanacağını öğrenmek için aşağıdaki makaleden yararlanabilirsiniz "Using a Windows version of GNU Patch.exe with CVS and Diff Files".


Daha fazla bilgi için


İsimler ve anlamları

Modül: CVS root sisteminde bulunan her ayrı dizine, her ayrı projeye verilen isimdir.
CVS Checkout: Modül çıkarma; CVS sistemindeki bir modülü kendi bilgisayarımıza aktarma işlemi
CVS Update: Localde yapılan değişiklikeri CVS'ye işler, ancak herhangi bir dosya göndermez.
CVS Commit: Localde yapılan değişiklikleri CVS'ye gönderir.
Public key: Genel anahtar, bunu diğer insanlar ile paylaşabiliriz.
Private key: Özel anahtar, sadece bizde kalacak, genel anahtarı verdiğimiz yer/kişi ile parola yazmadan kimlik tespit etmeye yarar.


Sonuç

Hızlı bir başlangıç ile TortoiseCVS [1.8.30] yazılımı ile SourceForge CVS sisteminin nasıl kullanılacağını anlattım. Eğer bir hata veya eksiklik varsa lütfen irtibata geçin.

--------------------------------------------------------
Makale Hakkında

Tercüme: Sevdin Filiz
Orijinal yazı: http://haacked.com/archive/2005/05/12/Q ... Forge.aspx
ALEXIS
yönetici
yönetici

Kullanıcı avatarı

İleti: 3628
Kayıt: 03 Arl 2006 08:57
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3

Başkası tarafından değiştirilen dosya

İleti ALEXIS 02 Nis 2007 22:10

Başkası tarafından değiştirilen bir dosya üzerine kendi dosyamı atmayı denedim. "conflicts" gibi bir hata verdi, ve "C" ile işaretlenen dosyaların değiştiğini, değişiklikleri el ile yapmamı söyledi. Üzerinde çalıştığım dosyayı kırmızı "!" ile işaretlemiş ve değiştirdiğim şöyle bazı bilgiler eklemiş (site adını değişmiştim)

Kod: Tümünü seç
<<<<<<< sürüm denetimi modülü [1.0.0a].txt
## Yazar    : Sevdin Filiz < N/A > (angelside) http://www.canversoft.net
## Sürüm    : 1.0.0a   (phpBB 3.0.B5)
=======
## Yazar    : Sevdin Filiz < N/A > (angelside) http://www.phpbbturkiye.net
## Sürüm    : 1.0.0a   (phpBB 3.0.B5)
>>>>>>> 1.6
ALEXIS
yönetici
yönetici

Kullanıcı avatarı

İleti: 3628
Kayıt: 03 Arl 2006 08:57
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3

Başkası tarafından değiştirilen dosya

İleti ALEXIS 02 Nis 2007 22:11

CVS de önemli olan çok kişilikli bir takım çalışmasıdır. Benim asıl görmek istediğim, başkalarının değişikliklerini yazılım görebilmekti. Bu işi yapmasını umduğum "show edited files..." seçeneği bunu gerçekleştiremedi.

Ancak yaptığımız grup çalışmalarında buna pek gerek olmadığını gördük, çünkü CVS sistemi yapılan değişiklikleri her iki tarafta da birleştiriyor (merge).

Yaptığımız test şu şekildeydi: İki farklı kişi CVS deki bir dosyayı peş peşe güncelledi. İkinci düzenleme yapan ile birinci düzenleme birleştirildi ve hem CVS alanına, hemde ikinci düzenlemeyi yapanın yerel dosyasına yazıldı.
ALEXIS
yönetici
yönetici

Kullanıcı avatarı

İleti: 3628
Kayıt: 03 Arl 2006 08:57
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3


Diğer


Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

cron