# How to Contribute to This Wiki There are essentially three possibilities. They are outlined below. Some general hints; just as in software projects: * Do independent changes *separately*: don't aggregate changes that don't belong together. * Install your changes *early* and *often*: don't hold your contribution back until you think it is perfect. If you are editing the source files from a git checkout you can nevertheless have them get rendered to html pages: $ wiki/render_locally [...] scanning HowToContributeToThisWiki.mdwn rendering HowToContributeToThisWiki.mdwn Now open `wiki.rendered/index.html' to browse the wiki pages. ## Edit Via the Web Interface When you found a page you want to work on, just follow the *Edit* link on the top of the page. When doing this for the first time, this will first transfer you to a page where you have to create a wiki account. After logging in, you can edit the wiki pages. ## Do an Anonymous Checkout of the git Repository *Not yet available.* Check out the wiki. $ git clone git://flubber.bddebian.com/wiki [dest] If you omit *[dest]* it will default to *wiki*. Then you can work on these files. $ cd wiki/ $ emacs Hurd/NextHurd.mdwn $ git commit Hurd/NextHurd.mdwn [...] $ emacs Hurd/DesignGoals.mdwn $ git commit Hurd/DesignGoals.mdwn [...] $ [...] Prepare to publish your changes. $ git-format-patch -M -B origin 0001-Be-a-bit-more-expressive.patch [...] See through the prepared **.patch* files and simply delete those you don't want to pulish. Finally, publish the good ones. If you have a local mail transfer agent running, this is as simple follows. $ git-send-email --to web-hurd@gnu.org *.patch [...] If you don't have an mta running, you'll have to find another way: either post the **.patch* files to or upload them somewhere for us to download from. ## Do a Read-write Checkout of the git Repository For being able to do that you need a [[shell_account_on_*flubber*|Hurd/PublicHurdBoxen]]. (It's very much recommenable that you set up your local *ssh* configuration as advised on that page.) Check out the wiki. $ git clone flubber:~wiki/wiki [dest] If you omit *[dest]* it will default to *wiki*. Then you can work on these files. $ cd wiki/ $ emacs Hurd/NextHurd.mdwn $ git commit Hurd/NextHurd.mdwn [...] $ emacs Hurd/DesignGoals.mdwn $ git commit Hurd/DesignGoals.mdwn [...] $ [...] Remember that at this stage your commits have only been installed into your personal working copy. So you finally explicitly have to install your changes into the master repository. $ git push updating 'refs/heads/master' from d83f93f34b69633ca1afb588001df7addd708faf to c0b8171de9c69e029bf998aafd4682105c217eb8 Generating pack... [...] Updating web pages. This may up to a few minutes at the utmost...