GP-3551 Added support for internal project link-files with improved link

support within project data tree. Linked-folders are now supported.
Addressed link-support issues related to various actions.  Revised
link-file storage to use smaller non-DB storage. This change does impact
the Ghidra Server.
This commit is contained in:
ghidra1 2025-04-25 15:44:03 -04:00
parent 7482131bcc
commit 1aa7b089c0
209 changed files with 10096 additions and 3050 deletions

View file

@ -102,6 +102,8 @@ public class RepositoryFileUpgradeScript extends GhidraScript {
}
private int listCheckouts(DomainFolder folder) throws IOException, CancelledException {
// Avoid following folder-links so we don't count the same file more than once.
// Link-files will never be in a checked-out state.
int count = 0;
for (DomainFile df : folder.getFiles()) {
monitor.checkCancelled();
@ -115,8 +117,8 @@ public class RepositoryFileUpgradeScript extends GhidraScript {
}
private int listCheckouts(DomainFile df) throws IOException {
if (!df.isVersioned()) {
return 0;
if (!df.isVersioned() || df.isLink()) {
return 0; // ignore non-versioned files and link-files
}
int count = 0;
for (ItemCheckoutStatus checkout : df.getCheckouts()) {