Extension:CodeReview/tr

From mediawiki.org
Jump to navigation Jump to search
MediaWiki extensions manual
OOjs UI icon advanced.svg
CodeReview
Release status: stable
Implementation Special page , API
Description Subversion destekli kod inceleme aracı
Author(s) Brion Vibber, Aaron Schulz, Alexandre Emsenhuber, Chad Horohoe, Sam Reed ve Roan Kattouw
Latest version 1.19.2 (2017-09-16)
Compatibility policy Snapshots releases along with MediaWiki. Master is not backwards compatible.
MediaWiki 1.25+
MediaWiki 1.36 Not formally tested
MediaWiki 1.34 Not formally tested
MediaWiki 1.32 Not formally tested
Database changes Yes
Tables code_authors
code_bugs
code_comment
code_paths
code_prop_changes
code_relations
code_repo
code_rev
code_signoffs
code_tags
License GNU General Public License 2.0 or later
Download
Değişiklik günlüğü
Example MediaWiki.org
  • $wgCodeReviewCommentWatcherName
  • $wgCodeReviewImportBatchSize
  • $wgCodeReviewMaxDiffSize
  • $wgCodeReviewFixmePerPath
  • $wgCodeReviewDisableFollowUpNotification
  • $wgCodeReviewAutoTagPath
  • $wgSubversionPassword
  • $wgCodeReviewListSpecialPage
  • $wgCodeReviewRC
  • $wgCodeReviewNewPerPath
  • $wgCodeReviewStates
  • $wgCodeReviewDeferredPaths
  • $wgSubversionUser
  • $wgCodeReviewENotif
  • $wgSubversionProxy
  • $wgCodeReviewProtectedStates
  • $wgCodeReviewRepoStatsCacheTime
  • $wgCodeReviewFlags
  • $wgSubversionOptions
  • $wgCodeReviewMaxDiffPaths
  • $wgCodeReviewShuffleTagCloud
  • $wgCodeReviewImgRegex
  • $wgCodeReviewCommentWatcherEmail
  • $wgSubversionProxyTimeout
  • repoadmin
  • codereview-use
  • codereview-add-tag
  • codereview-remove-tag
  • codereview-post-comment
  • codereview-set-status
  • codereview-signoff
  • codereview-associate
  • codereview-link-user
  • codereview-review-own
Translate the CodeReview extension if it is available at translatewiki.net

Check usage and version matrix.

Issues Open tasks · Report a bug

CodeReview uzantısı, bir MediaWiki kurulumundaki SVN işlemlerini incelemeye izin verir. Special:Code ve Special:RepoAdmin olmak üzere iki yeni özel sayfa ekler. Special: Code ana CodeReview arayüzüdür, oysa RepoAdmin özel sayfası nadiren yeni depolar oluşturmak için kullanılır.

Örnek[edit]

MediaWiki'nin kod incelemesi tarihsel olarak bu vikide (MediaWiki.org), Special:Code/MediaWiki sayfasında bu uzantı kullanılarak yapılmıştır.

MediaWiki, Mart 2012'de ana kod inceleme aracı olarak Gerrit ile SVN'den Git'e dönüştürüldü. Bunun doğrudan bir sonucu olarak, CodeReview uzantısı artık Wikimedia Vakfı tarafından korunmamaktadır.[1] Uzantı hâlâ işlevseldir ve üçüncü taraf vikilerde mükemmel şekilde kullanılabilir.

Kurulum[edit]

Bu talimatlarda temel parçalar eksik olabilir, bunları geliştirmekten çekinmeyin.
  • Download and place the file(s) in a directory called CodeReview in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'CodeReview' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

To users running MediaWiki 1.24 or earlier:

The instructions above describe the new way of installing this extension using wfLoadExtension(). If you need to install this extension on these earlier versions (MediaWiki 1.24 and earlier), instead of wfLoadExtension( 'CodeReview' );, you need to use:

require_once "$IP/extensions/CodeReview/CodeReview.php";

Bir depo kurmak için:

  1. repoadmin hakkıyla bir kullanıcı olarak oturum açmanız gerekir (varsayılan olarak bu, svnadmins grubunun bir üyesi olan bir kullanıcı anlamına gelir).
  2. Special:RepoAdmin sayfasına göz atın
  3. Giriş kutusuna bir depo adı girin ve "Oluştur" düğmesine basın
  4. Üç gerekli yolu girin; SVN, Bugzilla ve ViewVC yolları. Bu yollar, yerel yollar değil, geçerli URL'ler olmalıdır. Örneğin, http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 için SVN vb.
    • Bugzilla yolu, bir hatayı görüntülemek için tam URL olmalıdır ve $1 hata numarasını temsil eder (ör. http://www.example.com/path/to/bugzilla/show_bug.cgi?id=$1). Bu yol, kaydetme mesajlarınızdaki hata referanslarının uygun hata URL'sine bağlanmasına izin verir.
  5. Tamam düğmesine tıklayın
  6. Artık depo oluşturuldu ve SVN verilerini ona aktarmanız gerekecek. Bunu, CodeReview'un maintenance alt dizinindeki svnImport.php bakım betikle yapabilirsiniz. Çalıştırmak için şunu yazın: php svnImport.php YourRepoName
    • Çeşitli ana bilgisayar bulunamıyorsa ve bu tür hatalar alıyorsanız, $wgMaxShellMemory 'svn' komutuna (bugzilla:26867) atarken bilinen bir sorunu çözmek veya PECL svn modülü için ayarlayın
    • Betik, SVN istemcisinin komut satırından gelen İngilizce iletilere bağlıdır. SVN istemciniz farklı dillerde mesajlar çıkarsa, LANG, LC_ALL veya LANGUAGE gibi yerel değişkenlerinizi değiştirmeyi deneyin (Unix'te mevcut değerleri görmek için locale).
  7. İçe aktarma işlemi tamamlandıktan sonra, Special:Code/ProjenizinAdı üzerinden, ProjenizinAdı Special:RepoAdmin sayfasında verdiğiniz projenin adıdır.

Güncellemeleri otomatikleştirme[edit]

Subversion deponuzu, commit üzerinde MediaWiki API aracılığıyla CodeReview'a ping atacak şekilde ayarlayabilir ve sürekli güncel kalmasını sağlayabilirsiniz.

SVN sunucunuzdaki depo, post-commit kanca dosyasını bulacağınız bir hooks alt dizini vardır.

Şunun gibi bir satır ekleyin:

 # Hit CodeReview
 wget -q -O /dev/null --post-data="action=codeupdate&format=xml&repo=MyRepoName&rev=$2" \
   "http://wiki.example.com/api.php" &

Bu ping'e yanıt olarak, CodeReview sunucusu SVN deposundan geçerli revizyona kadar olan tüm güncellemeleri alır.

(Sunucuda wget yoksa, aynısını curl ile ancak biraz farklı bir komut satırı ile yapabilirsiniz. İsteği API'ye POST yapmanız gerektiğini ve anonim istemcilerin wiki'ye ve API'sine erişim iznine sahip olması gerektiğini unutmayın.)

Gereksinimler[edit]

Komut satırı SVN istemcisinin çalışan bir yüklemesi gereklidir ve svn PECL uzantısı önerilir.

Parametreler[edit]

Parametre adı Varsayılan değer Açıklama
$wgSubversionProxy false Uzak SVN deposuna doğrudan erişemiyorsanız, bunu bu eğlenceli küçük proxy aracını çalıştıran site dışı bir proxy olarak ayarlayabilirsiniz: http://svn.wikimedia.org/viewvc/mediawiki/trunk/tools/codereview-proxy/
$wgSubversionProxyTimeout 30 CodeReview proxy'si ($wgSubversionProxy) için saniye cinsinden zaman aşımı.
$wgSubversionOptions '--non-interactive --trust-server-cert' SVN PECL uzantısı mevcut değilse ve proxy kullanmıyorsak, SVN komut satırına geçmek için komut satırı seçenekleri. Buradaki varsayılan değerler, kimlik doğrulama gerekmediği sürece hem http: hem de https: depolarıyla çalışmaya izin vermelidir.
$wgCodeReviewImportBatchSize 400 Varsayılan SVN içe aktarma yığın boyutu nedir?
$wgCodeReviewShuffleTagCloud false Etiket bulutunun karıştırılıp karıştırılmayacağı (Special:Code/DeponuzunAdı/tag içinde görüntülenir).
$wgSubversionUser false Kapalı bir SVN çalıştırıyorsanız, bunu erişmesine izin verilen bir kullanıcının kullanıcı adıyla doldurun. Aksi takdirde, false bırakın. Bu yalnızca Subversion'a erişmek için kabuk yöntemi kullanılıyorsa gereklidir.
$wgSubversionPassword false Kapalı bir SVN çalıştırıyorsanız, bunu $wgSubversionUser adresinde tanımlanan hesabın parolasıyla doldurun. Aksi takdirde, false bırakın. Bu yalnızca Subversion'a erişmek için kabuk yöntemi kullanılıyorsa gereklidir.
$wgCodeReviewENotif false CodeReview e-posta bildirimleri etkinleştirilsin mi? Birisi kaydetmenin durumunu değiştirdiğinde, kaydetme hakkında bir yorum yayınladığında veya üzerinde bir takip revizyonu yaptığında bunu true olarak "spam" işleyicileri olarak ayarlamaktır.
$wgCodeReviewCommentWatcherEmail false Tüm yorumları göndermek için bunu bir e-posta listesine ayarlayın.
$wgCodeReviewCommentWatcherName 'CodeReview comments list' Listedeki e-postaların Kime: başlığında kullanılacak ad. $WgCodeReviewCommentWatcherEmail ayarlanmamışsa yoksayılır
$wgCodeReviewDisableFollowUpNotification false Belirli bir revizyonun tüm izleyicilerine otomatik bildirimleri, o revizyon için bir takip yapıldığında devre dışı bırakmak istiyorsanız, bu bayrağı doğru olarak ayarlayın. Herkes zaten taahhüt e-postalarını okurken veya mantıksız düzeyde yanlış pozitiflerle sonuçlanan birbirine gönderme yapan birden fazla deponuz varsa küçük depolar için kullanışlıdır. Yeni revizyonun hala bir takip olarak işaretleneceğini unutmayın. Bu ayar yalnızca e-postanın gönderilmesini durdurur.
$wgCodeReviewImgRegex '/\.(png|jpg|jpeg|gif)$/i' İstemci tarafında yan yana karşılaştırmalar için hangi görüntülerin kullanılabileceğini belirlemek için kullanılan normal ifade.
$wgCodeReviewMaxDiffSize 500000 Revizyon görünümünden çıkarılmadan önce maksimum fark metni boyutu
$wgCodeReviewMaxDiffPaths 20 Fark gerçekleştireceğimiz maksimum yol sayısı. Bir revizyon bundan daha fazla değiştirilmiş yol içeriyorsa, farkı almayı tamamen atlayacağız. Sınır olmadığını belirtmek için 0 olarak ayarlanabilir.
$wgCodeReviewDeferredPaths array() Anahtar, depo adıdır. Değer, bir normal ifade dizisidir. Bu dizilerdeki normal ifadelerle eşleşen tüm temel yolların varsayılan durumları yeni yerine ertelendi olarak ayarlanır. Deponun umursamadığınız bir kısmına sahipseniz faydalıdır.

Örneğin: $wgCodeReviewDeferredPaths = array( 'RepoName' => array( '/path/to/use', '/another/path/to/use' ) );

Daha fazla ilham almak için MediaWiki.org'un kullandığı yapılandırmanın eski bir sürümü göz atmak isteyebilirsiniz

$wgCodeReviewAutoTagPath array() Anahtar, depo adıdır. Değer, yolun anahtar değer çiftlerinden oluşan bir dizidir ve ardından etiketler. Kaydetme üzerine revizyona eklenecek etiket dizisi (veya 1 etiket için dizesi).

Örneğin: $wgCodeReviewAutoTagPath = array( 'RepoName' => array( '%^/path/to/use%' => 'sometag', '%^/another/path/to/use%' => array( 'tag1', 'tag2' ) ) );

$wgCodeReviewFixmePerPath array() Anahtar, depo adıdır. Değer, 'fixme' listesini almak için bir yol dizisidir. Bu, istatistikleri görüntülemek için kullanılır (yani, listelenen yolların her biri için 'fixme' durumunda olan revizyonların sayısı).

Örneğin: $wgCodeReviewFixmePerPath = array( 'RepoName' => array( '/path/to/use', '/another/path/to/use' ) );

Daha fazla ilham almak için MediaWiki.org'un kullandığı yapılandırmanın eski bir sürümü göz atmak isteyebilirsiniz.

$wgCodeReviewNewPerPath array() Anahtar, depo adıdır. Değer, 'new' listesinin alınacağı bir yol dizisidir. Bu, istatistikleri görüntülemek için kullanılır (yani, listelenen yolların her biri için 'new' durumda olan revizyonların sayısı).

Örneğin: $wgCodeReviewNewPerPath = array( 'RepoName' => array( '/path/to/use', '/another/path/to/use' ) );

Daha fazla ilham almak için MediaWiki.org'un kullandığı yapılandırmanın eski bir sürümü göz atmak isteyebilirsiniz.

$wgCodeReviewUDPAddress false UDP yorumu ve durum değişiklikleri bildirimi. Ayrıca ilgili temel MediaWiki yapılandırma değişkeni, $wgRC2UDPAddress sayfasına bakın.
$wgCodeReviewUDPPort false UDP yorumu ve durum değişiklikleri bildirimi. Ayrıca ilgili temel MediaWiki yapılandırma değişkeni, $wgRC2UDPPort sayfasına bakın.
$wgCodeReviewUDPPrefix (empty string) UDP yorumu ve durum değişiklikleri bildirimi. Ayrıca ilgili temel MediaWiki yapılandırma değişkeni, $wgRC2UDPPrefix sayfasına bakın.
$wgCodeReviewRepoStatsCacheTime 6 * 60 * 60 (=6 hours) Depo istatistikleri (Special:Code/DepoAdım/stats) saniye içinde önbelleğe ne kadar süreyle alınır
$wgCodeReviewStates array( 'new', 'fixme', 'reverted', 'resolved', 'ok', 'deferred', 'old' ) Bir revizyonun yapılabileceği olası durumlar. Yine de bir sistem mesajının [[MediaWiki:Code-status-STATUSNAMEGOESHERE]] olarak eklenmesi gerekecektir.
$wgCodeReviewProtectedStates array( 'ok', 'resolved' ) Revizyonlar, bir kullanıcının kendi revizyonunu değiştiremeyeceğini belirtir
$wgCodeReviewFlags array( 'inspected', 'tested' ) Bir kullanıcının kendisini bir revizyonu yapmış olarak işaretleyebileceği tüm işaretlerin listesi (başka bir deyişle, kapatma özelliği). Yine de [[MediaWiki:Code-signoff-flag-FLAGNAMEGOESHERE]] olarak bir sistem mesajının eklenmesi gerekecektir.

Kullanıcı hakları[edit]

Kullanıcı hakkı adı Bu hak varsayılan olarak verilen grup Açıklama
codereview-use * Special:Code sayfasına ve dolayısıyla alt sayfalarına erişmek (görüntülemek) için kullanıcı hakkı gereklidir. Varsayılan olarak herkese verilir.
codereview-add-tag user Taahhütlere etiket eklemek için kullanıcı hakkı gerekir.
codereview-remove-tag user Taahhütlerden etiketleri kaldırmak için kullanıcı hakkı gereklidir.
codereview-post-comment user Taahhütlere yorum gönderilmesine izin verir.
codereview-set-status user Bir kaydetme durumunun değiştirilmesine izin verir. Durumlar, $wgCodeReviewStates yapılandırma değişkeni tarafından tanımlanır.
codereview-signoff user Oturumu kapatma özelliğini kullanma izni verir. Kapatma, temelde incelediğiniz, test ettiğiniz veya belirli bir işlem için her ikisini birden yaptığınız diğer inceleyenlerin reklamını yapmaktır ve çıkış özelliği, kaydetmeyi Tamam olarak işaretleyecek kadar rahat olmayan kullanıcılar içindir.
codereview-associate user Revizyon ilişkilerinin yönetilmesine izin verir, yani hangi taahhüt önceki bir taahhüdün devamıdır, vb.
codereview-link-user user SVN hesaplarını viki hesaplarıyla ilişkilendirmeye izin verir (CR'nin e-postaları hangi adrese göndermesi gerektiğini bilmesi için CodeReview'un e-posta işlevi için gereklidir).
codereview-review-own (varsayılan olarak hiçbir grup bu hakka sahip değildir) Kullanıcıların kendi taahhütlerini gözden geçirebilmesi için gerekli kullanıcı hakkı.
repoadmin svnadmins Yeni depolar eklemek veya mevcut depoların ayarlarını değiştirmek için Special:RepoAdmin sayfasına erişmek için gereklidir. Kendinizi CodeReview uzantısı tarafından oluşturulan yeni svnadmins grubuna eklemek için, vikinizde Special:UserRights sayfasına ziyaret edin.

Sürüm geçmişi[edit]

Değişikliklerin tam listesine git adresinden ulaşılabilir. Aşağıdaki tablo, uzantı SVN'den Git'e taşındığından beri en önemli değişiklikleri özetlemeye çalışmaktadır.

Uzantı sürümü Sürüm kontrol sistemi revizyonu Sürüm tarihi Yorumlar
1.15 gerrit:76320 Temmuz Renameuser desteği eklendi. Veritabanı şeması değişikliği gerekli, yani önceki bir sürümden güncelliyorsanız, update.php dosyayı yeniden çalıştırmayı unutmayın (ve /extensions/CodeReview/maintenance/populateCaUserColumn.php dosyası da)!
1.14 gerrit:76282 30 Temmuz 2013 Yorum iç içe yerleştirme hatası düzeltildi (hata #46636).
1.13 gerrit:76090 26 Temmuz 2013 Küçük HTML oluşturma hatası düzeltildi.
1.12 gerrit:76083 26 Temmuz 2013 Bağlı işlevler kendi dosyalarına taşınır; işlevsel değişiklik yok.
1.11 gerrit:76045 26 Temmuz 2013 Sürüm dizesi eklendi. Special:Codd ve alt sayfalarında MediaWiki:CodeReview.css üzerinden özel CSS desteği eklendi (hata #16049).
r114011 16 Mart 2012 SVN döneminden CodeReview'de son değişiklik.

Notlar[edit]