Skip to content
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.

Commit

Permalink
docs: add decision record for master branch split
Browse files Browse the repository at this point in the history
  • Loading branch information
christopappas committed Dec 4, 2023
1 parent 5fbdb99 commit fa565fd
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions docs/decisions/0008-master-branch-split.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
8. Master branch split from 2u/main
------------------------------------------------------------

Status
------

Accepted

Context
-------

Both 2U and Openedx use ecommerce's master branch for releases. Occasionally, changes
specific to 2U's business case are merged into code, which also influences the structure
of the code that the community runs, even if the changes are not relevant or beneficial
to the community at large.

Additionally, 2U has internal compliance checks that can slow the release cycle of
major changes to ecommerce (e.g. django 4.2). This puts Openedx at risk of releasing
with deprecated packages.

Decision
--------

A new protected branch will be created named "2u/main", which 2U will continue to use
as its own main branch, while leaving "master" branch to the community.

Consequences
------------

This allows the community to move forward with contributions on "master" without risk of
breaking functionality for 2U or 2U committing changes to "master" that are irrelevant or
otherwise inappropriate for the community's use case.

Because protected branches in ecommerce require a user with Write access to the repository,
the "master" branch will now require someone from the community to review and manage
code contributions to that branch.

Rejected Alternatives
---------------------

Repo fork
~~~~~~~~~

Why not fork the repo entirely? 2U and the community use a shared set of tools for
working in development environments. While working from separate branches and repo
forks are functionally equivalent, working in separate branches allows for
minimal updates to shared tooling to support this change. One can simply checkout a
branch name, without needing the tooling to be updated to know about non Openedx
git remotes.

This is not a one way door, and if we decide later the a proper repo fork is a better
solution, then we are open to making adjustments.

0 comments on commit fa565fd

Please sign in to comment.