If content is auto updated and linkchecker is not able to replace the link, the bundle is nevertheless saved as new revision with change notice without any content changes.

This can currently only happen if the urls in content are relative (../foo/../bar/) or absolute (/foo/bar). Full qualified urls are not affected at all, also not with html entities inside.

It looks somehow difficult to track these differences with fields and there is no object_diff() in php. A possible and fast solution may be creating a json representation of the objects with drupal_json_encode() before and after string replacements to compare them and if they do not match only a changed object can be saved. If the json result string may be too long we can hash them to compare.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

hass’s picture

Patch attached.

Status: Needs review » Needs work
hass’s picture

hass’s picture

Status: Needs review » Needs work
hass’s picture

hass’s picture

D6 version

hass’s picture

hass’s picture

Fixed clone bugs and removed useless complexity as the strings are not hashed how I thought to do it first...

D6: http://drupalcode.org/project/linkchecker.git/commit/9252a08
D7: http://drupalcode.org/project/linkchecker.git/commit/8fc6415

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.