ide-probe icon indicating copy to clipboard operation
ide-probe copied to clipboard

Resolve duplication regarding Git setups

Open lukaszwawrzyk opened this issue 4 years ago • 0 comments

We have at least 3 places that refer to git that I recall:

  • Setting workspace from git
  • Fetching pants from git (in pants plugin repo)
  • Fetching a plugin from git sources to build it

Some of these only allow to specify uri and optionally branch, some also allow for tag or commit. They all are used from .conf files. I think all of them are part of broader ADT.

It would be really useful to have just one GitReference class/trait with variants to specify tag, branch, ref or anything relevant for fetching some revision of source, and also to have a robust method to clone it, cache it and setup in some place (as we have it implemented separately for each of these cases).

This refactoring will not only cleanup the code, enable commit cloning in case of building plugins from sources but also make it easy to setup custom configuratble actions in fixtures that use git (like setting up pants from sources).

lukaszwawrzyk avatar Jul 31 '20 11:07 lukaszwawrzyk