Annotation of wikisrc/projects/project/cvs-migration.mdwn, revision 1.7
1.1 mspo 1: [[!template id=project
3: title="CVS Migration for NetBSD repos"
1.7 ! schmonz 13: # Our decision matters
! 15: You're reading this because you care about the future of NetBSD and
! 16: you understand that good tools act as a force multiplier.
! 18: # Our decision is not obvious
! 20: If it were, we'd have made it already (and wouldn't be disagreeing
! 21: so persistently about which one it needs to be ;-).
! 23: # Our decision needs to be about the whole elephant
! 25: We all understand the basics of using source control. This level
! 26: of understanding is necessary but not sufficient to make an informed
! 27: decision about whether to migrate any or all of NetBSD's repositories
! 28: to another VCS, and if so which, or how.
! 30: Our choice of VCS carries implications not only about how developers
! 31: hack on NetBSD, but also about how non-developers contribute and
! 32: become developers, and how Project sysadmins keep our valuable code
! 33: secure. Therefore, any choice of VCS other than the default (sticking
! 34: with CVS for a while longer) necessarily implies that as a group,
! 35: we all need to learn how we're going to do what we expect to need
! 36: to do. Not all of this learning needs to happen before we can make
! 37: a reasonably confident decision for our Project. But if we want to
! 38: arrive at consensus, much of it does.
! 40: There is no available choice of VCS that entirely avoids tradeoffs
! 41: for us. Therefore, to choose intelligently, we must first consider
! 42: all the tradeoffs we can think of, then decide which ones we can
! 43: live with and which we cannot.
! 45: # Our decision needs to be made together
! 47: We're a community. The only way a complicated, interconnected set
! 48: of changes like this can be implemented is for us to arrive at rough
! 49: consensus that some particular VCS:
! 51: - is sufficiently well suited to our project's needs in theory,
! 52: - is sufficiently easily adapted to our needs in practice,
! 53: - has a sufficiently fail-safe migration plan,
! 54: - is worth the effort to switch, and
! 55: - has volunteers to do the work.
! 57: # How you can help, right now
! 59: What are some considerations you think are important? Are they
! 60: listed here? If not, edit this page and add them.
! 62: # Considerations
! 64: # Humans
! 66: ## People who administer Project resources
! 68: ## People who can commit directly to NetBSD
! 70: ## People who can't commit directly to NetBSD
! 72: # Other
1.1 mspo 74: NetBSD is one of the first projects to use internet-available source control.
75: It has been using CVS since the very beginning of the project (over 21 years)
76: and the repository is vast.
78: NetBSD also hosts the pkgsrc repository which has many small files, many
79: "imports" and other technical challenges associated with VCS.
81: NetBSD also has various small internal repositories (like this wiki).
83: During the last twenty years tooling has improved the popular developer culture
84: has shifted to new workflows.
86: The purpose of this project is to identify:
1.3 mspo 87:
1.2 mspo 88: * existing 'workflows' in common use among developers
1.7 ! schmonz 89: * (example): [[dholland/hgnb]]
1.2 mspo 90: * existing 'tooling' within NetBSD the organization
1.4 wiki 91: * how much memory/disk is required to host NetBSD?
1.5 jnemeth 92: * how are backups performed?
1.6 tron 93: * can the tools be cross-build?
1.2 mspo 94: * security requirements like
1.4 wiki 95: * how do we validate commits?
96: * how do we ensure commits originated from developers?
1.2 mspo 97: * release engineering requirements such as
1.4 wiki 98: * how does a pullup request work?
99: * how do we ensure the correct files are included in the correct release branches?
1.5 jnemeth 100: * how do we checkout a release branch
101: * how do we look at the history of a release branch
102: * how do we get different revisions of a file on a branch
1.1 mspo 103:
104: major parts of the technical work like "how to convert FROM CVS to git/hg/fossil"
105: has already been done, which is why we are able to now ask "how would the project
106: continue to function?"
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb