This is an RFC for an enhancement in JSS upstream.
I'd like to prune away some of the old branches in JSS upstream and create a process around adding and removing branches in the future. For reference, here is a list of current branches and their last commit dates as of the time of writing.
What I propose is the following:
Leave the following version branches:
v4.4.x
JSS_4_4_BRANCH
v4.5.x
master
x
Whenever master diverges from the last major/minor version (e.g., when v4.6.x is started from v4.5.x or v5.x.y is started from v4.x.y), we use the last v4.5.x release's tag as the starting point for the v4.5.x branch.
v4.6.x
v5.x.y
v4.x.y
dev
jss-archive
jss
git remote add archive https://github.com/dogtagpki/jss-archive git fetch --all git checkout archive/OLD_BRANCH
Benefits:
rawhide
Downsides:
Thoughts?
/cc: @mharmsen, @cfu, @jmagne, @edewata, @dmoluguw, @emaldonado (updated: 10/09/2018 by @cipherboy)
While I understand the desire to do this, it should be understood that JSS is a project that has been around for over 20 years.
Consequently, while it may be exceedlingly rare, there are times when one needs to go looking for something that may have been checked-in to an extremely old branch (but never to the master).
Two things have been a part of my lengthy experience:
* If you throw something away, the odds of you actually "needing" it in the future increase dramatically. * Alternatively, if you archive something, the odds are that you will never actually "need" to reference it in the future.
That being said, I far prefer to have something archived that no one will probably ever need to look at, rather than just throwing something away permanently.
In short, I would be perfectly fine with this approach of pruning branches going forward as long as there exists an archived version of the tree and all of its branches PRIOR to any pruning taking place.
my 2 cents
Metadata Update from @mharmsen: - Custom field component adjusted to None - Custom field feature adjusted to None - Custom field origin adjusted to None - Custom field proposedmilestone adjusted to None - Custom field proposedpriority adjusted to None - Custom field reviewer adjusted to None - Custom field type adjusted to None - Custom field version adjusted to None
Thanks for the reply, @mharmsen!
I do agree that having an archive would be safest and appreciate your recommendation. I'll update the main document, but what I'd suggest is a jss-archive repository that archives Mozilla's mercurial repository on GitHub. This will contain all of the branches that we'd remove from the main jss repository in case we ever need to reference them.
By archiving the Mozilla repository, this'd give us the benefit of keeping a backup copy in case Mozilla decides to remove jss in the future. I think we can do it in such a way that we start from our upstream jss repository and check it out at the point in time that JSS was branched. This'd give us the benefit of having the same commit hashes between jss and jss-archive.
I've open an archive repository on my GitHub: https://github.com/cipherboy/jss-archive -- if this is suitable, I'll transfer ownership to Dogtag PKI. Note how commit 6c67e535cd40ab1cdbe529579b15481d509be886 exists in both jss-archive and Dogtagpki/jss. I'll work on pulling tags as well.
6c67e535cd40ab1cdbe529579b15481d509be886
Dogtagpki/jss
Yes, a transfer of ownership of jss-archive to Dogtag PKI is prudent think to do.
Okay, after validating that the jss-archive repository has all the old branches from jss and no commits are missing (i.e., they have the same hashes), I've gone ahead and removed most of the old branches from the upstream jss repository.
The remaining branches are:
gh-pages
The candidates for removal are:
JMAGNE_CANDLEPIN_BRANCH
JSS_EXPERIMENTAL_BRANCH
JSS_EXPERIMENTAL2_BRANCH
BUG1322364_BRANCH
BUG1307859_BRANCH
Note that all of the above branches are present in jss-archive.
The candidates for removal are: JSS_EXPERIMENTAL_BRANCH -- I'd like confirmation from both @jmagne and @emaldonado before removing this branch. It looks like there are various bugfixes in this branch that aren't in master and aren't in the JSS_4_4_BRANCH: https://github.com/dogtagpki/jss/compare/master...JSS_EXPERIMENTAL_BRANCH
JSS_EXPERIMENTAL_BRANCH -- I'd like confirmation from both @jmagne and @emaldonado before removing this branch. It looks like there are various bugfixes in this branch that aren't in master and aren't in the JSS_4_4_BRANCH: https://github.com/dogtagpki/jss/compare/master...JSS_EXPERIMENTAL_BRANCH
Yes, it can be removed. Likely experimental work @jmagne and were carrying on, he can confirm.
JSS_EXPERIMENTAL2_BRANCH -- I'd like confirmation from @emaldonado before removing this branch.
Yes, it's safe to remove.
BUG1322364_BRANCH -- I'd like confirmation from @emaldonado and @jmagne before > Don't know as I'm not authorized to access bug #1322364.
You should have access to 1322364: it is against Mozilla's BZ, not Red Hat's: https://bugzilla.mozilla.org/show_bug.cgi?id=1322364
It appears to be releasing JSS v4.4.x, which has been done. (RH'z BZ is unrelated to JSS so that's why I suspected Mozilla's BZ). I've gone ahead and removed that branch.
Hearing no objections from @jmagne, and seeing as how the branches are available with the jss-archive, these three branches have been removed from upstream and this RFC is now complete.
Metadata Update from @cipherboy: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.