Migration of Bazaar to Git: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 13: Line 13:
== TODO ==
== TODO ==
* Costs of hosting a private repository of git on Launchpad, github and on other available git hosting platforms need to be looked at.
* Costs of hosting a private repository of git on Launchpad, github and on other available git hosting platforms need to be looked at.
* Investigate how Launchpad Git repositories work. Investigate if Github, other git hosting platforsm or own hosted gitlab is more suitable.
** see [[#Costs of hosting private repositories]]
* Investigate how Launchpad Git repositories work.  
** see [[#Investigation of Launchpad Git Repositories]]
** see [[#Investigation of Launchpad Git Repositories]]
* Investigate if Github, other git hosting platforms or own hosted gitlab is more suitable.
** investigate the varying features these hosting platforms have to offer
** investigate the varying features these hosting platforms have to offer
* Integrate git in VisualStudio and SharpDevelop
** see [[#Feature Comparison of Git Hosting]]
* Clients: Integrate git in VisualStudio and SharpDevelop, [https://tortoisegit.org/ TortoiseGit] in Windows Explorer, [https://desktop.github.com/ Github Desktop]
* Document conversion from bzr to git and keeping the history. see http://www.pokorra.de/2013/10/mirror-a-bazaar-repository-from-launchpad-to-github/
* Document conversion from bzr to git and keeping the history. see http://www.pokorra.de/2013/10/mirror-a-bazaar-repository-from-launchpad-to-github/
* Jenkins: use git instead of bzr
* Jenkins: use git instead of bzr
Line 27: Line 30:
* [[How to work with git on the command line]]
* [[How to work with git on the command line]]
* [[How to work with git through the GUI on Windows]]
* [[How to work with git through the GUI on Windows]]
* Produce some screencasts for Training for the developers
== Costs of hosting private repositories ==
* Launchpad
** https://launchpad.net/+tour/join-launchpad#commercial
** 250 USD per year plus 20% VAT if you are in the EU
* Github
** https://github.com/pricing
** personal plan: Micro: 7 USD per month, 84 USD per year
** organisation plan: Bronce: 25 USD per month, 300 USD per year
** difference between personal and organisational: https://help.github.com/articles/what-s-the-difference-between-user-and-organization-accounts/
*** mainly: multiple admins
* Gitlab.com
** https://about.gitlab.com/gitlab-com/
** free without support
** Unlimited private and public repositories
** Unlimited private collaborators
* Gitlab hosted by Timotheus
** https://git.solidcharity.com
** 200 Euro per year
* 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 ==
== Investigation of Launchpad Git Repositories ==
Line 39: Line 89:
  cd test
  cd test
  git init
  git init
  vi Readme.txt
  vi readme.md
  git add Readme.txt
  git add readme.md
  git commit -a -m "initial commit"
  git commit -a -m "initial commit"
  git remote add origin lpme:test
  git remote add origin lpme:test

Latest revision as of 12:31, 10 September 2015

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