Migration of Bazaar to Git

From OpenPetra Wiki
Jump to navigation Jump to search

Description

This is just a proposal!

The idea is that the development and improvement of bazaar is not reliable anymore. See for this:

In 2009, we actually initially used Git for hosting the source code of OpenPetra! We still have some documentation for that in the wiki:

TODO

Document usage of git on these pages:

  • Produce some screencasts for Training for the developers

Costs of hosting private repositories

  • self hosted Gitlab
    • Open Source: no license fee
    • could run inside ICT
    • problem: need to maintain the server. needs quite some RAM. Ubuntu packages are available.
    • problem: make available to people from outside, Timotheus would not have a VPN access

Feature Comparison of Git Hosting

  • Launchpad
    • the way that the branches work with bazaar has not been fully ported to git yet. That would be an advantage, because the same words are used as with Bazaar.
    • see https://help.launchpad.net/Code/Git#What_will_be_supported.3F
    • it says: the interface for registering merge proposals is very rough
    • poor code browser
  • Github
    • state of the art
    • many people are used to it
    • Pull requests (similar to merge requests) work really nice, notices merge conflict before you can submit the pull request
    • very good code browser, revision browser
  • Gitlab
    • not as perfect as Github, but pretty well done. getting there!
    • web interface for browsing the code and revisions can be slow on big commits

Investigation of Launchpad Git Repositories

vi ~/.gitconfig
  [url "git+ssh://tpokorra@git.launchpad.net/"]
       insteadof = lp:
  [url "git+ssh://tpokorra@git.launchpad.net/~tpokorra/+git/"]
       insteadof = lpme:
mkdir test
cd test
git init
vi readme.md
git add readme.md
git commit -a -m "initial commit"
git remote add origin lpme:test
git push --set-upstream origin master

see result at:

useful git commands

# do not pull the whole history, but just the latest commit. save download bandwidth
git clone --depth=1 https://github.com/openpetra/openpetra.git myopenpetradirectory