Use current commit SHA when requesting IDE file tree and contents
What does this MR do?
Use the commit SHA instead of the branch ID to request data for the file tree and raw files in the IDE. The SHA is obtained as the most recent commit in the branch at the moment the branch is first loaded, then remains the same until the branch is changed or the window is refreshed. This is done to prevent unusual file behaviour that could occur if another user edits the files while the IDE is open.
This is a fix for issue #29451 (closed) and #30929 (closed) (since both depend on each other).
For #30929 (closed), I did this:
When a renamed file is loaded in the WebIDE, an error occurs. WebIDE doesn't handle renamed files when loading diffs. I added a case to fetch the file by its old path in MR's history so that the diff loads fine.
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation created/updated or follow-up review issue created -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team