diff options
author | Wojciech A. Koszek <wkoszek@laptop.freebsd.czest.pl> | 2010-01-31 20:28:40 +0000 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-02-01 13:20:27 +0100 |
commit | eabbce2c45b3c67b8aa30447347dacb9dc5397df (patch) | |
tree | e023372736a904a6cb23145142ec67d3c88545fa /DEVELOPING | |
parent | 255881e20fc3d8005b388729e7fe0cf1c8f23b86 (diff) | |
download | jimtcl-eabbce2c45b3c67b8aa30447347dacb9dc5397df.zip jimtcl-eabbce2c45b3c67b8aa30447347dacb9dc5397df.tar.gz jimtcl-eabbce2c45b3c67b8aa30447347dacb9dc5397df.tar.bz2 |
Bring some notes about how Jim project works.
Diffstat (limited to 'DEVELOPING')
-rw-r--r-- | DEVELOPING | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/DEVELOPING b/DEVELOPING new file mode 100644 index 0000000..5a88e43 --- /dev/null +++ b/DEVELOPING @@ -0,0 +1,93 @@ +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 commiting new files to the repo. It can also be done throught +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 commited 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 anonymount 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: + + https://lists.berlios.de/mailman/listinfo/jim-devel + +Patches prepared with the procedures presented abore 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: + + ./jim test.tcl + +All tests should succeed. |