Closed Bug 1185599 Opened 9 years ago Closed 7 years ago

Version control abstraction module

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ahal, Unassigned)

References

Details

Git is becoming more and more popular among developers, and we are starting to support it more and more in our tooling. We have several places in the tree that attempt to provide an abstraction layer over git vs hg:

* https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/mozharness/base/vcs
* https://dxr.mozilla.org/mozilla-central/source/python/mozversioncontrol
* https://dxr.mozilla.org/mozilla-central/source/testing/tools/autotry/autotry.py#35

Would be nice to have a standard module to implement this abstraction. The mozharness implementation is by far the most complete, but it is tightly coupled to the rest of mozharness.
I believe I expanded mozversioncontrol (which wasn't actually in use at the time) because I wanted something to use in `mach vendor rust`. Consolidating these various implementations would be nice, I'm not fussed where it winds up.
See Also: → 1394391
mozversioncontrol is the answer here. That package exists. What we haven't done is consolidate all VCS code to use it.

I do have a bit of code in bug 1393242 to refactor the API a bit. It is probably best holding off any major refactoring until that series lands because I switch the Repository class to use context managers to facilitate faster operations.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Agree mozversioncontrol is the right place for this, but I was planning to use this bug to do the actual consolidation. I guess I can file new bugs per module instead.
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.