diff options
-rw-r--r-- | CONTRIBUTING.md | 65 | ||||
-rw-r--r-- | DEVELOPING | 93 |
2 files changed, 65 insertions, 93 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b71829c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,65 @@ +# Contributing to Jim + +Please take a moment to review this document in order to make the contribution +process easy and effective for everyone involved. + +Following these guidelines helps to communicate that you respect the time of +the developers managing and developing this open source project. In return, +they should reciprocate that respect in addressing your issue, assessing +changes, and helping you finalize your pull requests. + +## Bug reports and Feature requests + +The [issue tracker](https://github.com/msteveb/jimtcl/issues) is the preferred channel for bug reports +and features requests. + +## Discussions + +If you wish to open a broader topic for discussion, consider using a [discussion topic](https://github.com/msteveb/jimtcl/discussions) + +## Pull requests + +[Pull requests](https://github.com/msteveb/jimtcl/pulls) are always welcome + +If you have never created a pull request before, [Here is a great tutorial](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) +on how to create a pull request. + +1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork, + and configure the remotes: + + ``` + # Clone your fork of the repo into the current directory + git clone https://github.com/<your-username>/<repo-name> + # Navigate to the newly cloned directory + cd <repo-name> + # Assign the original repo to a remote called "upstream" + git remote add upstream https://github.com/msteveb/jimtcl.git + ``` + +2. If you cloned a while ago, get the latest changes from upstream: + + ``` + git checkout master + git pull upstream master + ``` + +3. Create a new topic branch (off the main project development branch) to + contain your feature, change, or fix: + + ```bash + git checkout -b <topic-branch-name> + ``` + +4. Make sure to update, or add to the tests when appropriate. + Run `make test` to check that all tests pass after you've made changes. + +5. If you added or changed a feature, please add documentation to jim_tcl.txt. + +6. Push your topic branch up to your fork: + + ```bash + git push origin <topic-branch-name> + ``` + +7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) + with a clear title and description. diff --git a/DEVELOPING b/DEVELOPING deleted file mode 100644 index 5156b28..0000000 --- a/DEVELOPING +++ /dev/null @@ -1,93 +0,0 @@ -Working on Jim -============== - -Jim's sources are kept in Git Version Control System. Global repository of -Jim project is placed on this Web site: - - http://repo.or.cz/w/jimtcl.git - -There are two ways of contributing to Jim project. First is suited for -one-time fixes and small corrections. The second is more appropriate -for long-term contributors interested in Jim internals. - -Small changes -============= - -For small modifications, procedure of preparing a traditional 'patch' -is enough. In order to prepare a patch, you first have to obtain the -most recent copy of Jim Tcl. This can be done with following command: - - git clone http://repo.or.cz/r/jimtcl.git - -After entering newly created directory you can easily correct/fix/modify -files. Once finished, patch can be easily generated: - - git diff > my_patch_fixing_x_y.patch - -If working without Git system, you'll have to backup files first, modify -the original files and obtain a patch manually: - - cp jim.c jim.c.ORIGINAL - - [...] <- modifications go here - - diff -u jim.c.ORIGINAL jim.c > my_patch_fixing_z.patch - -Bigger changes -============== - -In order to help extending and correcting Jim in a long term basis, one -needs to create separate fork of Jim project and maintain his changes in a -separate copy of a repository. - -By visiting this site, you'll have a chance to fork a project. This can -be easily done with "fork" link. Form that will show up next refers to -the project that is about to be started. The only thing that has to be -taken care of is the project mode -- it should be "push mode". - -Once the project is created one must add a user that will actually -start committing new files to the repo. It can also be done through the -WWW interface, so nothing more is necessary. - -Once finished with setting up a project on the WWW panel, one can -start playing with actual import of the files. In order to obtain copy -of Jim sources, we have to clone the repository: - - git clone http://repo.or.cz/r/jimtcl.git - -Now, we must push fresh copy of Jim to your project URL: - - git push <URL> master - -So for example for me it was: - - git push ssh://repo.or.cz/srv/git/jimtcl/wkoszek.git master - -In order to add file we type "git add <file>". For remove, we do "git rm -<file>". To remove all local changes that aren't in a repository you do "git -reset --hard HEAD". Once inserted, files have to be committed with "git commit --a". Once done with commits for today, "git push" can be used to propagate -changes from your local disk to the remote repository. - -Right now you can verify whether this works by trying to clone your -project's repository somewhere else, this time using anonymous HTTP -access: - - git clone http://repo.or.cz/r/jimtcl/wkoszek.git - -Review, testing and publishing -============================== - -Notification of work that can be considered finished is more than welcome on -Jim-devel mailing list: - - http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel - -Patches prepared with the procedures presented above are welcome. Before -submitting patches, you can verify that your changes didn't bring any -regressions to the Jim. In order to do so, sample regression tests have -been implemented. You can execute them by typing: - - make test - -All tests should succeed. |