Thanks for the How-To. Maybe the reason there aren't many contributors is that very few people know what git is or what it might be good for. For sure I don't have a clue.

Git is a versioning system. ie it keeps track of the changes you make in a file or in a folder so you can know what is changed and why, and provide and easy way to go back if something is wrong or identify what exactly generated a problem.
There are many of these system. svn, mercurial and git are the most used. BarryK himself first created bones and then used fossil to track changes in woof development.
Git is arguably the most powerful of all and geared much more for collaboration with a lot of new features. The linux kernel and many other major projects use it.
Github is a web repository and interface for git-based projects, like woof-CE.

Oversimplifying, for the avid puppean it means in that instead of suggesting specific code changes in the forum can do that in git/github and a) make the life of a pupplet developer easier and b) get his/her name on the record.
For the pupplet developer, it means that whatever changes where made in the woof code can be shared with all the other developers easily and advance puppy in general.

In a nutshell, is something that makes it easy and efficient for people to truly collaborate in a project (in puppy "community edition" for example)_________________Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too

I feel very stupid. I've read step1-3, I created an account and I've downloaded puppylinux-woof-CE.d to my local HD. Now what? Still I can't figure out how to proceed.

This local puppylinux-woof-CE.d contains what status? It appears that the committed changes I see at Github are not included and that I instead have a copy of the same files that are contained in my Slacko 5.9. If that's true, wouldn't I then work on outdated files? And if it's not true, how do I make sure that my local copy is synced with the Github version?

How can I - in practical terms - change, test and upload a patch to Github? Let's say I want to patch the file /usr/local/petget/installpkg.sh. So I find the file in in my local ../puppylinux-woof-CE.d/woof-code/rootfs-skeleton/usr/local/petget/installpkg.sh.
My local ../puppylinux-woof-CE.d/ is just a bunch of files sitting on my HD, it's not a live productive environment and it's not a testing environment, so what is it? For making changes to a file I first need to have a test copy. Where do I put it? And when I have it, how do I test it "live"? I can always temporarily rename the current /usr/local/petget/installpkg.sh and replace it with my test copy. When I'm done I can save the changed file "somewhere" for later uppload to Github and rename the original /usr/local/petget/installpkg.sh. Sounds already terribly wrong....

Yes, what you get from git is just a directory of source files, as they currently exist in woof-CE.

So you are saying that these are the most recent files, right? But even then, if I have a local copy, this copy gets old and needs to be updated - preferable in real time. Sounds impossible. Makes me wonder why I would need a local copy at all. So I tried to do as much as possible online. To stay with my example, I just logged in to Github, went to my fork and made some changes to woof-code/rootfs-skeleton/usr/local/petget/installpkg.sh. I then pressed "commit", believing that this would save the changes to my own forked environment.. I can see the diff between the original and my changed file. I can also comment on the changes. Are these changes visible to other members? And when I'm content with my changes, would pushing the "pull request" button initiate a ...you guess what?

And when I'm content with my changes, would pushing the "pull request" button initiate a ...you guess what?

If you are happy with the diff, then try a "pull request".

I've never tried to modify my fork directly via github.
I always use a local test environment for my local version of the file. When I am happy that my changed file works, I then produce a "pull request" as outlined in my previous post, using the local changed version of the file that I used in testing.
Once the "pull request" is accepted or rejected, I delete my fork and my local clone. So next time I get a fresh fork and a fresh clone, that way I don't have to worry about keeping them updated.

Edit: I remembered why I clone a local copy of woof-ce.
I don't like to risk the possibility of introducing a typo into woof-ce by editing directly in github.
After successful testing, I "diff -u" the original version of the file with my modified version to produce a ".diff" file. I then use this ".diff" file to "patch" the woof-ce version of the file in my local git directory. Then I know that the code I tested is the code that ends up in woof-ce.

They may not notice, but the changes seem to be visible to anyone even without creating an account. Well , that's OK, only question is if it is more desirable to ask other members for comments at this stage or after a pull request.

The next problem: Now that I have committed my change, I can't edit the file any longer. I would like to add another change. How can I do this? Uncommit? The pencil icon which let me make the first change is not active anymore...

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum