Annotation of wikisrc/projects/project/cvs-migration.mdwn, revision 1.7

1.1       mspo        1: [[!template id=project
                      2: 
                      3: title="CVS Migration for NetBSD repos"
                      4: 
                      5: contact="""
                      6: [tech-repository](mailto:tech-repository@netbsd.org)
                      7: """
                      8: 
                      9: category="misc"
                     10: difficulty="hard"
                     11: 
                     12: description="""
1.7     ! schmonz    13: # Our decision matters
        !            14: 
        !            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.
        !            17: 
        !            18: # Our decision is not obvious
        !            19: 
        !            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 ;-).
        !            22: 
        !            23: # Our decision needs to be about the whole elephant
        !            24: 
        !            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.
        !            29: 
        !            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.
        !            39: 
        !            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.
        !            44: 
        !            45: # Our decision needs to be made together
        !            46: 
        !            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:
        !            50: 
        !            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.
        !            56: 
        !            57: # How you can help, right now
        !            58: 
        !            59: What are some considerations you think are important? Are they
        !            60: listed here? If not, edit this page and add them.
        !            61: 
        !            62: # Considerations
        !            63: 
        !            64: # Humans
        !            65: 
        !            66: ## People who administer Project resources
        !            67: 
        !            68: ## People who can commit directly to NetBSD
        !            69: 
        !            70: ## People who can't commit directly to NetBSD
        !            71: 
        !            72: # Other
        !            73: 
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.
                     77: 
                     78: NetBSD also hosts the pkgsrc repository which has many small files, many
                     79: "imports" and other technical challenges associated with VCS.
                     80: 
                     81: NetBSD also has various small internal repositories (like this wiki).
                     82: 
                     83: During the last twenty years tooling has improved the popular developer culture
                     84: has shifted to new workflows.
                     85: 
                     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?"
                    107: 
                    108: 
                    109: """
                    110: ]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb