Skip to content

Revcheck changes #175

Closed
Closed
@alfsb

Description

@alfsb

With the imminent implantation of #174 , I would like to make some changes. This issue discusses some minor issues that I think could be discussed in block.

IGNORE_EXTENSIONS_XML

The actual revcheck ignores files named extensions.xml that are autogenerated. But the way the ignore are constructed, the code also ignores some non-autogenerated, translatable files.

  • appendices/migration56/extensions.xml -- existent, translatable, not tracked;
  • install/windows/legacy/extensions.xml -- deleted on en/, may exist untracked on translations.

This is documented as IGNORE_EXTENSIONS_XML on PR above, and changing/removing this in the code will cause the files mentioned above to be tracked.

STATUS_COUNT_MISMATCH

The actual revcheck counts "outdated" files in two different ways;

RevTagProblem is counted towards as Old in one case, but files are shown in a separated listing (because it is impossible to generate diffs with invalid hashes). As aside, NotInEnTree is not counted at all in first case, and files in this situation are counted in the second case (default).

This causes a mismatch between translators totals and file summary, and other mismatch between Old counts and file listings.

To resolve this, I propose to change the "wip" column in Translator's summary to "misc", and so any status other than "ok" and "old"
to be counted here.

  • ok : files that are ready and hashes matches: count and listing for ok cases matches;
  • old: files that are ready and hashes mismatch: count and listing for old cases matches;
  • misc: any other case.

IGNORE_ONLY_WS_CHANGE (not commited)

On discussion about better diffs, I observed that is possible to analyse files changes to determine it has changed only in terms of ws, automatically with git diff -b, or by processing text files. This can alleviate the translation's efforts in two ways:

  1. To ignore "uninteresting" whitespaces changes, even if [skip-revcheck] was not utilized;
  2. To ignore "uninteresting" whitespaces changes buried in squashed commits, even if [skip-revcheck] was utilized.

The second point above needs more context. The actual behaviour of revcheck is to ignore all files in a squashed commit if one of the commits is marked [skip-revcheck]. This obviously causes problems (as documented here), and I'm planning to change this in the following weeks.

But instead of marking all files changed in squashed commits, an extra step for TranslatedOld files is to check if its changes are only uninteresting whitespace changes, so it is marked ok, even if the hashes does not match.

Discussion

All the changes above will change revcheck output, and will mark files synced or outdated differently, as result.

So... comments? In favor or against these changes? Push it in block or case by case?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions