git clone https://github.com/Evolveum/midpoint.git
Git
Git is a distributed version control and source code management software. It is a very powerful tool but its distributed nature makes it almost, but not quite, entirely unlike other source code management systems that the developers usually know.
Learning Git
There is an excellent online book about git. It is more than worth reading. At least first few chapters. If you are coming from the Subversion world there is a good crash course for Subversion users.
Getting Git Client
Linux users usually have git package right in their distribution. Following packages are recommended for Ubuntu Linux users:
-
git: basic command-line tool
-
gitk: GUI for browsing GUI history, etc.
-
git-gui: GUI for committing
Users that are "package management challenged" (mostly Windows users) can download git client here:
MidPoint Git Repository
Primary midPoint git repository is maintained at github:
HTTPS URL | https://github.com/Evolveum/midpoint.git | |
---|---|---|
SSH URL |
git@github.com:Evolveum/midpoint.git |
Browsing the Source Code and History
Github | https://github.com/Evolveum/midpoint | Github user interface. |
---|
Getting the Source Code
Read-only Public Access
Clone midPoint repository by using following command-line command
Git downloads the repository and provides access to the latest source code (master). Use the following command if you later want to update your source code to the latest version:
git pull
Pull Requests
You can cooperate in midPoint without a need for read-write access. You can use github user interface to "fork" midPoint. You do not need to ask for any permission to do this. Then you develop your contribution on that "fork". When the contribution is done then you issues a pull request. The pull request is a request to "pull" your contribution to the main midPoint development branch. The pull request will be received by the midPoint maintainer and you will be contacted about the next steps.
Read-write Developer Access
Read-write access to midPoint repository is appropriate for members of the core midPoint team and contributors that are contributing to midPoint frequently.
Make sure you have set up your git identity, e.g. by using the following command-line commands:
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
The developer access requires github account and the account needs to be added to the development team. Request the account if needed. Github is using SSH and HTTPS protocols to access the repository. For a long-term development it is perhaps best to use SSH and set up a proper SSH credentials before accessing the account. Setting up SSH key-pair authentication is the most convenient and perhaps also the most secure way.
Clone midPoint repository by using following command-line command:
git clone git@github.com:Evolveum/midpoint.git
Committing changes (skipping the staging area):
git commit -a
Pushing commits to server
git push
Updating changes from the server
git pull
Additional Repositories
-
playground is a place for experiments. Prototypes, ideas, unfinished parts or any other pieces of code in early development stages may be here. Most of that is laboratory stuff. Things may explode here.
-
midpoint-design is a place for architecture and design models, diagrams, documents, schemas, etc. It does not relate to any specific midPoint version, it may describe plans for quite a distant future, therefore it is not a part of main midpoint source code repository.
History
MidPoint source code was originally hosted in Subversion repository. Source code repository was migrated to git in March 2014.