I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit b98254b2 authored by meeh's avatar meeh
Browse files

Updating README.md making contribution/hacking guide/docs more available,

this is specially important for our GitHub impression which I suspect most 
coders will have their first meeting with I2P on. The documentation is far from
done but it should make value for any new developer by this time so I've decided 
to push them. It losly describes our build systems, and has a monotone cheat sheet 
which always has an "git equalent" so it's easier to handle for people used to git.
parent e8ac24be
No related branches found
No related tags found
No related merge requests found
# Readme for hacking on the source
## Build systems
The build system of I2P today is a bit mixed.
In the old days, and at least for relasing we actually use
the old `ant` tool. For the new Browser Bundle launcher, as
well as the Mac OSX launcher the `sbt` tool from the Scala
world was used cause it gives some increadibly effictive plugins
and logic to build them while keeping a relation to the old build
system.
We also have Gradle partly implemented, much work, but not all. Meeh
which is writing this readme is guessing we'll end up with a combination
of Gradle and SBT in the end when we know what kind of structure we want.
## Browsing around the source code
If you're new at this, which we all was at one point, I'll have some tips.
* Check out our [README.DIRECTORIES.md](README.DIRECTORIES.md) to learn ore
about where you'll find I2P's different parts in the codebase.
* For me (Meeh), it worked well to run `find . -type f -name '*Runner.java'`
from the source tree root, and take a look at the files that get listed. A lot
of hints of how this is peaced together lies there.
## The .. Monotone part
Check out [README.MONOTONECHEATSHEET.md](README.MONOTONECHEATSHEET.md) file.
# Monotone cheatsheet
**Slogan:** *Saving you hours reading old manuals*
For most of us developers using git, one of the columns will have an example of
how certain things are done in git, to easier know what to do in monotone.
## Commands
Command | Git cmd (which give same info) | Description
------ | ----------------------------- | ------------
`mtn ls unknown` | `git status` | List untracked files.
`mtn status` | `git status` | List untracked files. (Please note that `mtn status` do NOT list unknown files.)
`mtn mv [src] [dest]` | `git mv [src] [dest]` | Move a traced directory or file.
`mtn add -R [files..]` | `git add [files..]` | Adds a file to the workspace. Please use -R when it's directories.
`mtn ci [-k devkey] [files..]` | `git commit -s [files...]` | Sign and commit a patch.
`mtn -d [mtndb] pull [-k devkey] [server]` | `git pull [servername] [branchname]` | Pulls new patches from a remote server.
`mtn -d [mtndb] push [-k devkey] [server]` | `git push [servername] [branchname]` | Pushes your patches to a remote server.
`mtn update -r t:TAGNAME` | `git checkout TAGNAME` | Check out an tag in current working directory.
`mtn list tag` | `git tag -l` | List tags in the repo.
`mtn di -r t:TAGNAME` | `git diff TAGNAME` | Show you the diff between the choosen tag and current head.
TBA...
Contributions are welcome!
...@@ -17,6 +17,10 @@ FAQ: https://geti2p.net/faq ...@@ -17,6 +17,10 @@ FAQ: https://geti2p.net/faq
API: http://docs.i2p-projekt.de/javadoc/ API: http://docs.i2p-projekt.de/javadoc/
or run 'ant javadoc' then start at build/javadoc/index.html or run 'ant javadoc' then start at build/javadoc/index.html
## How to contribute / Hack on I2P
Please check out [README.HACKING.md](README.HACKING.md)
## Building packages from source ## Building packages from source
To get development branch from source control: https://geti2p.net/newdevelopers To get development branch from source control: https://geti2p.net/newdevelopers
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment