mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 13:30:25 +02:00
phpBB updater now skips sole whitespace changes. This reduces the chance of conflicts tremendously.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10102 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -49,6 +49,8 @@ if (!defined('IN_PHPBB'))
|
||||
*/
|
||||
class diff_engine
|
||||
{
|
||||
var $skip_whitespace_changes = true;
|
||||
|
||||
function diff(&$from_lines, &$to_lines, $preserve_cr = true)
|
||||
{
|
||||
// Remove empty lines...
|
||||
@@ -176,6 +178,20 @@ class diff_engine
|
||||
$add[] = $to_lines[$yi++];
|
||||
}
|
||||
|
||||
// Here we are a bit naughty. Naughty Boy... Naughty Boy...
|
||||
// We check if delete and add is filled and only consist of one item
|
||||
if ($this->skip_whitespace_changes && sizeof($delete) == 1 && sizeof($add) == 1)
|
||||
{
|
||||
// Now we simply trim the string and see if the lines are identical
|
||||
// If they are identical we do not need to take them into account for the merge (less conflicts in phpBB)
|
||||
if (trim($delete[0]) === trim($add[0]))
|
||||
{
|
||||
// This line ensures the line found here is correctly copied later (remember: we naughty boys like loops)
|
||||
$xi--; $yi--; $this->xchanged[$xi] = $this->ychanged[$yi] = false;
|
||||
$delete = $add = array();
|
||||
}
|
||||
}
|
||||
|
||||
if ($delete && $add)
|
||||
{
|
||||
$edits[] = new diff_op_change($delete, $add);
|
||||
|
Reference in New Issue
Block a user