You are here

Drupal专业开发指南 第21章 追踪Drupal代码变更

想检查开发小组中是否有人修改了核心文件?对于核心文件上所做的任何变更,想为其生成一个报告?cvs diff命令,根据代码的不同之处(也就是更新和修改),为用户生成一个逐行的输出。

 
注意Unix命令行上,diff命令(不是cvs diff命令)比较两个文件并为你显示变更。通过键入diff file1 file2,你就可以使用它了。cvs diff命令,比较的是本地文件与资源库中的文件,而不是比较两个本地文件。
 
    下面是运行cvs diff命令所得到的示例输出,这里使用了cvs diff –up:
 
Index: includes/mail.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/mail.inc,v
retrieving revision 1.8.2.2
diff -u -p -r1.8.2.2 mail.inc
--- includes/mail.inc 2 Apr 2008 08:41:30 -0000 1.8.2.2
+++ includes/mail.inc 15 May 2008 23:56:40 -0000
@@ -272,8 +272,8 @@ function drupal_html_to_text($string, $a
$string = _filter_htmlcorrector(filter_xss($string, $allowed_tags));
// Apply inline styles.
- $string = preg_replace('!</?(em|i)>!i', '/', $string);
- $string = preg_replace('!</?(strong|b)>!i', '*', $string);
+ $string = preg_replace('!</?(em|i)((?> +)[^>]*)?>!i', '/', $string);
+ $string = preg_replace('!</?(strong|b)((?> +)[^>]*)?>!i', '*', $string);
 
// Replace inline <a> tags with the text of link and a footnote.
// 'See <a href="http://drupal.org">the Drupal site</a>' becomes
 
    以单个加号(+)开头的行是添加进来的,而以单个减号(-)开头的行是被删除了的。它看起来像是有人修改了drupal_html_to_text()函数中的正则表达式。
    Drupal使用了unified diffs ,这由-u选项指出。这里也是用–p选项;这将在变更总结的后面输出函数的名字。当阅读这个输出时,它能帮你快速判定代码所在的函数,因为并不是所有的Drupal开发者都能够记住该行代码位于哪个函数中的。下面的这一行,取自前面的cvs diff输出,显示了受影响的函数:
 
@@ -272,8 +272,8 @@ function drupal_html_to_text($string, $a

老葛的Drupal培训班 Think in Drupal

Drupal版本: