Migration of Bazaar to Git: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 19: Line 19:
** investigate the varying features these hosting platforms have to offer
** investigate the varying features these hosting platforms have to offer
** see [[#Feature Comparison of Git Hosting]]
** see [[#Feature Comparison of Git Hosting]]
* Integrate git in VisualStudio and SharpDevelop
* 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 30: 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 ==
== Costs of hosting private repositories ==
Line 61: Line 63:
== Feature Comparison of Git Hosting ==
== Feature Comparison of Git Hosting ==
* Launchpad
* Launchpad
** the way that the branches work with bazaar has not been fully ported to git yet.  
** 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
** see https://help.launchpad.net/Code/Git#What_will_be_supported.3F
** it says: the interface for registering merge proposals is very rough
** it says: the interface for registering merge proposals is very rough
Line 69: Line 71:
** state of the art
** state of the art
** many people are used to it
** many people are used to it
** Pull requests work really nice, notices merge conflict before you can submit the pull request
** 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
** very good code browser, revision browser



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