stable

Clone or download

Read-only

request #22571 Last changeset is missing in certain cases on route GET /changesets

How to reproduce - Given a tracker with: - A file field - Another whatever field - Create an artifact without a file - Add a file and submit - Change the other field and submit - Use route REST artifact/:id/changesets ➡️ Now, the last changeset is displayed in the payload I did some test with blackfire to be sure to not degrade the performances. For my test, I used an artifact with 50 changesets, and I try to get all changesets at once. Without this patch: - Time: 2.46s - I/O: 402ms - CPU: 2.06s - SQL: 590ms / 1167 rq With the patch: - Time: 2.76s - I/O: 534ms - CPU: 2.23s - SQL: 772ms / 1475 rq Change-Id: I17ff3866a77b2bffd368903d8e6051905994d715

Modified Files

Name
M plugins/tracker/include/REST/Artifact/Changeset/ChangesetRepresentationBuilder.php +2 −5 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Tracker_Artifact_Changeset.class.php +22 −0 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Tracker_Artifact_Changeset_Null.class.php +8 −0 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Tracker_Artifact_Followup_Item.class.php +5 −0 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Tracker_Artifact_PriorityHistoryChange.class.php +8 −0 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/dao/Tracker_Artifact_Changeset_ValueDao.class.php +8 −0 Go to diff View file
A plugins/tracker/tests/rest/FileFieldArtifactChangeset/FileFieldArtifactChangesetTest.php +119 −0 Go to diff View file
M plugins/tracker/tests/rest/TrackerBase.php +48 −28 Go to diff View file
A plugins/tracker/tests/rest/_fixtures/FileFieldArtifactChangeset/project.xml +95 −0 Go to diff View file
A plugins/tracker/tests/rest/_fixtures/FileFieldArtifactChangeset/user_map.csv +1 −0 Go to diff View file
A plugins/tracker/tests/rest/_fixtures/FileFieldArtifactChangeset/users.xml +33 −0 Go to diff View file
M plugins/tracker/tests/unit/REST/Artifact/Changeset/ChangesetRepresentationBuilderTest.php +1 −0 Go to diff View file
M plugins/tracker/tests/unit/Tracker_Artifact_ChangesetTest.php +27 −1 Go to diff View file