-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
Description
The library used by Artemis4J (jgit) does a lot more than just cloning a submission. Things like spawning background threads, holding file locks and similar things discovered through #133 would necessitate spawning a separate process to keep it isolated from the other code.
I don't think this is easy to achieve, IntelliJ might interfere with this.
A much better solution is to use the IntelliJ infrastructure for cloning the repository. The library is already bundled, and used in several places to things like notifying it that the git repo has been initialized or that it was deleted.
Potential benefits of this are
- Not having to refresh the VFS, which IntelliJ relies on.
- It might make it easier to initialize the project
- Faster cloning, better defined threading behavior
- Improved reliability
Disadvantages might be
- Difficult to work with API? (Some IntelliJ parts are just awful to work with, Maven...)
- Might require too much time to implement for the potential benefits
- The Artemis4J code for cloning would be less frequently used, making it harder to detect potential issues introduced by updates
- More frequent breakages
- Would introduce more code to be maintained
Reactions are currently unavailable