1
0
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:
Meik Sievertsen
2009-09-04 14:50:05 +00:00
parent ba2fb956de
commit 186abf0798
2 changed files with 17 additions and 0 deletions

View File

@@ -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);