Note: The guide below assumes that you want to setup Git to participate in SVEditor development. Some portions of the below do not apply if you are using Git in read-only mode to get access to the latest and greatest SVEditor source.
SVEditor uses GitHub for Git repository hosting. Sign up for an account here: https://github.com/signup/free
Eclipse provides support for Git via the EGit set of plug-ins. Egit has been part of Eclipse since Eclipse version 4.5.x. If not installed in your copy of Eclipse, install EGit from your development Eclipse environment. Select Help->Install New Software.
The EGit user guide is here: http://wiki.eclipse.org/EGit/User_Guide
Installing the command-line version of Git may be helpful. Instructions for installing Git can be found here:
Git is a distributed version control system that has been gaining popularity with Open Source projects due to its features that facilitate decentralized development.
In a version control system, such as Subversion or CVS, there is one central source repository. Developers with commit access to the repository can modify the repository directly -- committing source to repository, creating branches, and merging branches. Developers without commit access must submit their changes to the project source via more indirect means -- perhaps by creating a patch file and submitting it for consideration to one of the project maintainers.
In a distributed version control system, there are multiple repositories. Developers with commit access to the primary repository can modify the repository at will. Developers without commit access to the primary repository can create a 'fork' of the primary repository. This, effectively, creates a derived repository that is linked to the primary repository. The developer can now modify the source in the derived repository, all the while receiving updates from the primary repository when desired. When a feature in a derived repository is complete, a 'pull' request is sent to the maintainer of the primary repository. At this point, the maintainer can review the proposed changes, provide feedback, and finally 'pull' the code for the completed feature from the derived repository.
This section describes how to setup a Git repository for development.
Forking the SVEditor Repository
The primary SVEditor Git repository is hosted on GitHub here: https://github.com/mballance/sveditor
Adding the Git Repository to Eclipse
Specifying the Upstream Repository
We've specified how to access our developer's fork of the SVEditor repository. We now need to specify how to access the primary repository so we can obtain updates.
[[Image:create_remote_upstream_url.gif]]
Once the remote repository is cloned and connected to the primary repository, we can import the SVEditor projects into Eclipse.
Centralized version-control systems, such as Subversion, implement a single-step commit operation. Git, effectively implements a two-step commit operation.
You can commit multiple local changes and push them to your central development repository with a single 'push'.
Once you're happy with a particular set of bug fixes ore improvements to SVEditor, you will want to submit them back to the primary SVEditor repository. This is done by sending a Pull Request via GitHub.
When a change is applied to the master SVEditor repository, you will want to fetch that to your development repository. This can be done via the following steps.
The local development repository is now up-to-date with changes from the master SVEditor repository.