Projects/MoveToGit/Layout: Difference between revisions

    From KDE TechBase
    (initial documentation of modules vs split)
     
    Line 1: Line 1:
    ==Definitions==
    ==Definitions==
    modules:
    modules:
    -each SC module is one repository.
    *each SC module is one repository.
    -each extragear application is one repository.
    *each extragear application is one repository.
    -kdereview and playground are implemented with individual repos and/or branches?
    *kdereview and playground are implemented with individual repos and/or branches?
    -tarballs??
    *tarballs??


    split:
    split:
    -each SC application is one repository.
    *each SC application is one repository.
    -kdelibs and pimlibs are one repo each. kdebase is split how?
    *kdelibs and pimlibs are one repo each. kdebase is split how?
    -extragear and review/playground as above.
    *extragear and review/playground as above.
    -tarballs??
    *tarballs??


    ==Comparison==
    ==Comparison==

    Revision as of 20:50, 8 September 2010

    Definitions

    modules:

    • each SC module is one repository.
    • each extragear application is one repository.
    • kdereview and playground are implemented with individual repos and/or branches?
    • tarballs??

    split:

    • each SC application is one repository.
    • kdelibs and pimlibs are one repo each. kdebase is split how?
    • extragear and review/playground as above.
    • tarballs??

    Comparison

    Pros for each option (cons are rephrased as a pro for the other one) Note: no mention of the magnitude of each point has been made yet.

    svn2git

    modules: -some work has already been done on creating module repos -moves within modules can be ignored

    split:

    Reviewboard

    modules: -less projects to choose from when submitting a patch? [web only, not an issue with post-review] -no namespacing issue

    split: -if something moves to another module, no changes are needed

    comments: -the reviewer groups won't be affected

    Redmine

    modules: -no namespacing issue

    split: -source code links are automatically available on each applicaton page, instead of the module page

    gitolite

    modules: -no namespacing issue

    split: -easier to find projects

    git

    modules: -projects can keep their interdependencies, module-wide libraries and so on -less server space

    split: -moving a project (eg. to unmaintained) moves its whole history

    user workflow

    modules: -keeps a sense of community by having a whole module kept together -increases passive testing of trunk (more people to notice if the build's broken) -lower barrier to hacking on other projects in the module -easier to refactor a module [rare] -less downloading & disk space for those who want entire modules

    split: -less downloading & disk space for people who only want a small part of a module -easier to get started on one little app? -easier to avoid being exposed to unstable versions of other projects [I think that's a bit selfish though]

    comments: -kdesrc-build, build-tool and mr make it easy to handle large numbers of repos, although there's still room for improvement on userfriendliness.

    releases

    modules: -closer to what we have with svn??

    split: