Skip to content

Consider using git4idea to clone student submission #141

@Luro02

Description

@Luro02

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions