Replace , after add , before add komutlarini nasil anliyor ve uyguluyorsunuz ögrenebilir miyiz?...
iki dosya arasındaki farkı döken bir çalışma diff ile images alınma işlemi..
burada da aynen mod dosyalarındaki gibi satır numaraları verilir ancak o satır numaralarını pek de dikkate almayız ya da kısmi referans olarak algılarız birden fazla benzerlik varsa..
burada da öyle, o satır numaraları mod yazdıysak ya da elden kod ilavesi yaptıysak elbette ki şaşacaktır..
şimdi çok özetle ki buna binaen daha geniş zamanlıca yazılabilir..
! değişen kodlarımız..
+ ilave etmemiz gereken satırlar..
- ise çıkarılması gereken satırlar
phpBB-3.0.3-RC1_to_3.0.4-RC1 dosyasından bir örnek ;
- Kod: Tümünü seç
*** 63,69 ****
<p>{L_UPDATE_SUCCESS_EXPLAIN}</p>
<fieldset class="submit-buttons">
! <input class="button1" type="submit" name="check_again" value="{L_CHECK_FILES_AGAIN}" />
</fieldset>
</form>
--- 63,69 ----
<p>{L_UPDATE_SUCCESS_EXPLAIN}</p>
<fieldset class="submit-buttons">
! <input class="button1" type="submit" name="check_again" value="{L_CONTINUE_UPDATE}" />
</fieldset>
</form>
{L_CHECK_FILES_AGAIN}
{L_CONTINUE_UPDATE}
değişikligini görüyoruz.. satırları blok halde alıp öncesi ve sonrasını bizim diff algoritması ile anlayabilecegimiz şekilde kesip ( bu artık aynı satırların olamayacagı anlamına gelmektedir ) sunulması işlemidir..
693 - 706 satırları arasına biz şu satırları yerlestirecegiz ve 700-705 arasında olmuş olacak.. aslında belki de modunuz var bunlar 900. satırda da olabilir ama biz bu blogu baska yerde bulamayacagız ki bu nedenle burada sorun yok..
- Kod: Tümünü seç
*** 700,705 ****
--- 693,706 ----
$sql_where[] = 'f.forum_id = p.forum_id';
break;
}
+
+ if ($left_join_topics)
+ {
+ $sql_array['LEFT_JOIN'][$left_join_topics] = array(
+ 'FROM' => array(TOPICS_TABLE => 't'),
+ 'ON' => 'p.topic_id = t.topic_id'
+ );
+ }
$sql_array['WHERE'] = implode(' AND ', $sql_where);
$sql_array['GROUP_BY'] = ($group_by) ? (($type == 'posts') ? 'p.post_id' : 'p.topic_id') . ', ' . $sort_by_sql[$sort_key] : '';
üstte ekli olan satırlar ise + ile işaretli olan satırlardır..
burada $sql_array['WHERE'] = implode(' AND ', $sql_where); şu satırları belki birkaç yerde bulabilirsiniz ama $sql_array['GROUP_BY'] = ($group_by) ? (($type == 'posts') ? 'p.post_id' : 'p.topic_id') . ', ' . $sort_by_sql[$sort_key] : ''; şu satırları bulamazsınız.. diff işte bu algoritmayı gerceklestirir, yani size olusturmus oldugu blogu baska yerde bulamnayacaksınız.. ama bunun icine satır numarasını da sokuyor mu emin olmak lazım..
çok dar zamanda yazdıgımdan mutlaka hatalar olabilir..
şuradaki özellikle Context format kısmını gözden geçirebilir zaman olursa da ben türkçeleştirebilirim ya da sizler de eklerseniz fayda saglayabilir..
http://en.wikipedia.org/wiki/Diff#Context_format bu arada eger iki ornek dosya arasındaki farkı görmek isteyen olursa yardımcı olmak isterim, ufuk açmak adına..
bana istediginiz kadar uzunluktaki iki aynı ama biri üzerindeki oynanmış dosyanızı gönderirseniz size onu patchlanmış ( fark) olarak sunabilirim ve sizin bu diff konusunda daha ne düşünme durumunuz hasıl olabilir..