Eclipse is highly recommended to whoever wants to contribute to the development of DENOPTIM. The DENOPTIM repository includes .project
and .classpath
. So you can easily import the entire DENOPTIM project into Eclipse.
Nice guidelines can be found in the Internet. For instance, see (https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project/). Here is a summary of how to go with making changes to the source using the functionality provided by Git:
-
Fork the
master
branch. The easiest is to use theFork
button on the top right to make your own copy. This will eventually open the GitHub page of our copy ofmaster
in your browser. -
Get a local copy. Use the
Clone or download
button to get the URL and use it in this command:cd git clone
-
Add the original repo as an upstream to grab changes made by others to the original branch while you work on your branch.
cd DENOPTIM git remote add upstream https://github.com/denoptim-project/DENOPTIM.git
-
Get the local copy of the software working fine before you make any change. Compile all your branch and run all tests. Make sure it's all working. If not, identify and possibly solve the problem or ask for help. Do not proceed unless it's all working fine.
-
Make a branch for the changes you want to introduce:
git checkout master git pull upstream master git push origin master git checkout -b <name_of_branch>
-
Now you can do what you want to contribute. If you add new functionality or just new keywords, please add proper documentation and tests with data that can be distributed under the DENOPTIM license (no proprietary material). Commit to your branch with proper commit messages.
-
Unless you are introducing major changes that are incompatible with previous version, you must incorporate changes made by others to the original
master
, and resolve potential conflicts:git pull upstream master git push origin master
-
When you are done, run all tests and make sure your changes are being tested. If not, create new tests.
-
Create a pull request to your copy of
master
git push -u origin <name_of_branch>
-
In the web page of the browser you'll find a
Compare & pull request
button that will allow you to compare the changes you have made and request the inclusion of those changes in the originalmaster
branch.