It's the different if statements that concern me.
```php
if ($config['track_post_revisions'] && !empty($data['original_post_data']) && (($data['poster_id'] == $user->data['user_id'] &&  || $auth->acl_getf('m_edit', $data['forum_id'])))
```

```php
if ($config['track_post_revisions'] || $data['post_edit_reason'] || (!$auth->acl_get('m_edit', $data['forum_id']) && ($post_mode == 'edit' || $post_mode == 'edit_first_post')))
```
By putting the code under if (isset($sql_data[POST_REVISIONS_TABLE]['sql'])), it ensures that it's only incremented when a new revision is added (even if other code is added later that changes behavior).