Help make git-annex better!

user support

Hang out in git-annex ?support areas and answer user's questions. Don't be afraid to get an answer not 100% right, but avoid wild guesses. If you understand the basics of how git-annex works and know how to use it, you are ahead of many users, and can help them out tremendously.

wiki gardening

This website is a wiki, so you can edit and improve any page.

Or, write a new tip explaining how to accomplish something with git-annex.

advanced wiki editing

To make larger changes to the website, you can git clone git:// git-annex and will find the whole website source in doc/.

You can even git push doc-only changes back without authentication, since it is a wiki!

bug triage

People often file bugs on git-annex that are easily resolved by helping them with a problem, and perhaps writing some documentation.

Many bugs are also filed without enough information to reproduce the problem, and need to be tagged moreinfo and a comment posted asking the submitter for details.

Once a bug is confirmed to be reproducible, it becomes a lot easier to fix. So it's very helpful to highlight such bugs.

Joey spends a lot of time dealing with this kind of bug triage. If you can take the time to pick a bug that is not tagged as "confirmed" or "moreinfo" from the list of bugs, try to reproduce it and follow up either confirming that the problem exists, or asking the submitter for more info, you'll make Joey more productive!

You can add and modify tags by editing the bug's page with this wiki code:

[[!taglink  confirmed]]
[[!taglink  moreinfo]]

code contributions

download the source code, build it and send patches!

If you know Haskell, git-annex has lots of Haskell code that could be improved. See the coding style and have at it.

If you don't know Haskell, git-annex has many other coding opportunities. You could work to improve the Javascript and CSS of the git-annex webapp, or work on porting libraries needed by the Windows port.

To send patches, either include the patch in a bug report (small patch) or put up a branch in a git repository containing your changes.

learning some Haskell

Want to learn some Haskell to get hacking on git-annex?

As Haskell programs go, git-annex does not use too many advanced features. Learn You A Haskell will teach you enough to get started.

Of course git-annex does use monads, and particularly the `Annex``monad which gives access to its state about the git repository as well as lower-level IO.