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.
- PuTTYGen yazılımını açın, aşağılardaki "Parameters" bölümünden "SSH2 DSA" seçeneğini işaretleyin.
- "Generate" butonuna tıklayın.
- 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.
- 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.
- "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!
- "Save Private Key" butonuna tıklayın ve özel anahtarınızı (.ppk uzantısı ile) daha sonra bulabileceğiniz bir yere kaydedin.
- Ş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...
- Hesabınız sayfasına gidin.
- Sayfayı aşağı kaydırın ve "Host Access Information" kısmını bulun.
- Bu bölümü sadece bir projeye dahil iseniz göreceksiniz. "Edit SSH Keys for Shell/CVS" bağına tıklayın.
- 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.
- 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.
- 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.
- 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.
- 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.
- Proje üstünde işlem yapabilmek için projeye geliştirici olarak eklenmeniz gerekmektedir. Bir proje yöneticisi bunları yapabilir.
- 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.
- 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
- 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.
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.
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
- Eric Sink's Source Control HOWTO.
- SourceForge site dokümanları...
İ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