[SCM] Website for Isaac project branch, ikiwiki, updated. 94eec38e6dc86ab8139ac54ab62c8ebb5e895957
Mildred Ki'Lya
silkensedai at online.fr
Thu Sep 10 20:32:34 UTC 2009
The following commit has been merged in the ikiwiki branch:
commit 94eec38e6dc86ab8139ac54ab62c8ebb5e895957
Author: Mildred Ki'Lya <silkensedai at online.fr>
Date: Thu Sep 10 22:32:26 2009 +0200
Added page for Git and updated styles and sidebar
diff --git a/community/git.mdwn b/community/git.mdwn
new file mode 100644
index 0000000..7073a8f
--- /dev/null
+++ b/community/git.mdwn
@@ -0,0 +1,239 @@
+git
+===
+
+Nice settings for Git
+---------------------
+
+To configure git, you can either use the `git config --global KEY VALUE` command
+or manually edit `~/.gitconfig`.
+
+Tell git who you are:
+ git config --global user.name "FirstName LastName"
+ git config --global user.email "user at example.com"
+
+To enable auto-detection for number of threads to use (good for multi-CPU or
+multi-core computers) for packing repositories, use:
+
+ git config --global pack.threads 0
+
+To disable the rename detection limit (which is set "pretty low" according to
+Linus, "just to not cause problems for people who have less memory in their
+machines than kernel developers tend to have"), use:
+
+ git config --global diff.renamelimit 0
+
+To automatically detect when a local branch is connected to a remote branch (the
+`--track` option of `git branch`):
+
+ git config --global branch.autosetupmerge true
+
+Or, to turn all color options on (with git 1.5.5+), use:
+
+ git config --global color.ui auto
+
+Setup some nice aliases:
+
+ git config --global alias.ci commit
+ git config --global alias.co checkout
+ git config --global alias.st status
+ git config --global alias.df diff
+
+To get the code in the ancestor in merge conflicts (in addition to the two
+version being merged):
+
+ git config --global merge.conflictstyle diff3
+
+You can get more nice options in
+[$ cheat git](http://cheat.errtheblog.com/s/git). There are also nice tricks to
+be learnt at [git ready](http://gitready.com/).
+
+Setup ssh for Git
+-----------------
+
+First, configure ssh so it connects to alioth with the correct username. Modify
+`~/.ssh/config` to have something like:
+
+ Host alioth.debian.org git.debian.org
+ User aliothname-guest
+
+You don't need to type your password every time. You can setup ssh keys. In
+order to do that, you need to have generated ssh keys. If you have a file named
+`~/.ssh/id_rsa` or `~/.ssh/id_dsa` with the matching `id_rsa.pub` or
+`id_dsa.pub`, you have generated your keys. if not, just run `ssk-keygen` and
+accept the default choices.
+
+Now, you have to tell alioth of your public keys, just run:
+
+ cat ~/.ssh/*.pub
+
+And paste the result in the
+[field reserved for it](https://alioth.debian.org/account/editsshkeys.php) in
+your alioth user account.
+
+Lisaac Git Repositories
+-----------------------
+
+All the alioth git repositories are to be found in the
+[alioth git page](http://git.debian.org), just search for the string `lisaac/`.
+
+To get your copy of the git repositories, you can just run:
+
+ git clone git+ssh://git.debian.org/git/lisaac/benchmarks.git
+ git clone git+ssh://git.debian.org/git/lisaac/compiler.git
+ git clone git+ssh://git.debian.org/git/lisaac/documentation.git
+ git clone git+ssh://git.debian.org/git/lisaac/scripts.git
+ git clone git+ssh://git.debian.org/git/lisaac/website.git
+ git clone git+ssh://git.debian.org/git/lisaac/tutorial.git
+ git clone git+ssh://git.debian.org/git/lisaac/programs/action-simulation.git
+ git clone git+ssh://git.debian.org/git/lisaac/programs/java2lisaac.git
+ git clone git+ssh://git.debian.org/git/lisaac/programs/sanglier.git
+ git clone git+ssh://git.debian.org/git/lisaac/libraries/expat-binding.git
+ git clone git+ssh://git.debian.org/git/lisaac/libraries/lua-binding.git
+ git clone git+ssh://git.debian.org/git/lisaac/libraries/opengl-binding.git
+ git clone git+ssh://git.debian.org/git/lisaac/libraries/sdl-binding.git
+ git clone git+ssh://git.debian.org/git/lisaac/libraries/math.git
+ git clone git+ssh://git.debian.org/git/lisaac/libraries/freetype.git
+ git clone git+ssh://git.debian.org/git/lisaac/libraries/examples.git
+
+You can find more information about the website git repository on the
+[[website|website]] page.
+
+Git Tools
+---------
+
+`gitk` is a graphical tool that let you view the history of the repository and
+what happened at each commit.
+
+`git gui` or `git citool` is a graphical interface to `git add` and
+`git commit`. With it you can easily commit the changed files in your working
+directory. It is very useful if you want to be very specific in what you commit
+and what you don't. For example, you can commit only some files and leave other
+uncomitted. or even choose which lines in a file you ant to commit.
+
+Git Commands
+------------
+
+* `git checkout`: checkout a specific revision or a specific branch. Modify your
+ working copy.
+* `git add`: mark files to be comitted.
+* `git status`: see what you are about to commit
+* `git commit`: commit files you marked with git add
+* `git commit`: commit all modified files
+* `git rm`: remove a file from the repository
+* `git mv`: move a file in the repository
+* `git diff`: see the modifications you won't be comitting
+* `git diff --staged`: see the modifications that are about to be comitted
+* `git pull`: merge your local branch with a remote repository
+* `git push`: push your modifications to a remote repository
+* `git stash`: tempoary store the modifications you made for later use (read the
+ help)
+
+Git branches
+------------
+
+Branches in git can either be local or remote. Local branches is where you work,
+and remote branches keep track of the branch of foreign repositories. The
+repository you cloned is generally called `origin`, hence all the branches of
+this repository will be prefixed by `origin/`.
+
+Even if they are called remote branches, no operation on them require an
+internet connexion, except when you want to synchronize them with the remote
+repository.
+
+You can view your local branches using:
+
+ git branch
+
+And you can see remote branches using:
+
+ git branch -r
+
+When you clone the repository, only the main branch (usually called `master`,
+but it may be different for some repositories) will be imported as a local
+branch.
+
+If you want to work on a specific branch, you must have a local branch to
+represent it. To create a local branch you can use:
+
+ git checkout --track -b branchname origin/branchname
+
+### Import the remote changes in the local repository ###
+
+Since there are local and remote branches, you might want to
+* either update the remote branches, this won't change your local branches and
+ your work,
+* or update the remote branches and the local branches that correspond to them.
+ This might perform a merge to resolve conflicts.
+
+For the first option, just run:
+
+ git fetch
+
+If you want to update your local branches as well (and risk a merge):
+
+ git pull
+
+You might want to rebase instead of merge (read the rebase sectionb below). Then you would write:
+
+ git pull --rebase
+
+Or you can run `git fetch` and then merge manually using:
+
+ git merge origin/branchname
+
+### Push your changes on the remote repository ###
+
+For the push to work, you need to have your local branch up to date with the
+latest commit on the remote repository. A `git pull` will do nicely. Then you
+can just run:
+
+ git push
+
+Rebasing
+--------
+
+Rebasing is a feature of git that let you have a cleaner history. Instead of
+having different branches you merge, the history will be linear without merge.
+having a linear history makes it easier to read and easier to detect where a bug
+was introduced.
+
+Rebasing is great but has a major drawback. It remove your old commits and
+rewrite them. So, the commit identifier (sha-1) changes. As a consequence if you
+published your work and someone used what you did, this might create problems.
+So, as a general rule, dont rebase when you published your changes (pushed
+them).
+
+Rebase works just as `git merge`, but instead you write `git rebase`. For
+example you can do:
+
+ git rebase origin/branchname
+
+to have all the new commits on the current local branches be applied on top of
+the latest commit on the remote branch `branchname`.
+
+You can also tell `git pull` to perform a rebase instead of a merge:
+
+ git pull --rebase
+
+### Interactive rebase ###
+
+You can reorder the commits you bade using interactive rebase. Just use
+`git log` or `gitk` to identify the sha-1 of the oldest commit you ant to change
+and run:
+
+ git rebase -i commit-identifier
+
+It will pop up an identifier, and you can reorder the commits as you want. There
+are also other options you might want to discover.
+
+Links
+-----
+
+* [Git ready](http://gitready.com/): tips for git (there are interesting links to other sites as well)
+* [Git Book](http://book.git-scm.com/)
+* [Git - SVN Crash Course](http://git.or.cz/course/svn.html): if you know subversion better than anything else
+* [gittutorial(7) Manual Page](http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html) and
+ [gittutorial-2(7) Manual Page](http://www.kernel.org/pub/software/scm/git/docs/gittutorial-2.html)
+* [Git for Computer Scientists](http://eagain.net/articles/git-for-computer-scientists/): how git store the data
+* [Git Internals](http://peepcode.com/products/git-internals-pdf): understanding git fully (9$ e-book)
+
diff --git a/community/git/website.mdwn b/community/git/website.mdwn
new file mode 100644
index 0000000..a867d47
--- /dev/null
+++ b/community/git/website.mdwn
@@ -0,0 +1,47 @@
+Work on the Website
+===================
+
+This page describes how to update this website.
+
+This website is managed using [[Git|git]] and [ikiwiki](http://ikiwiki.info/)
+version 3. Older versions of ikiwiki won't work. The wiki syntax is
+[markdown](http://daringfireball.net/projects/markdown/syntax). Please take time
+to look at these links.
+
+The Git Repository
+------------------
+
+First, you need to clone the website repository:
+
+ git clone git+ssh://git.debian.org/git/lisaac/website.git
+
+This will give you the branch `master`. This repository contains also other
+branches:
+
+* `master` is used for the old website
+* `ikiwiki` is for the ikiwiki website
+* `ikiwiki-compiled` is for internal use by scripts only. it contains the html
+ version of the ikiwiki website.
+
+Modify the ikiwiki website
+--------------------------
+
+You just have to checkout the ikiwiki branch. If you don't have a local
+`ikiwiki` branch, just create it:
+
+ git checkout --track -b ikiwiki origin/ikiwiki
+
+Then, you can modify the wiki pages (*.mdwn files).
+
+When you have finished, you can just run:
+
+ make
+
+This will give you an html version of the website in the `html/` directory. If
+you want to publish the changes, just run:
+
+ make send
+
+This will create a new commit on the `ikiwiki-compiled` branch and push it on
+the server. When you push on the server, it will update the website
+automatically.
\ No newline at end of file
diff --git a/html b/html
index c08a7f3..da9f4d0 160000
--- a/html
+++ b/html
@@ -1 +1 @@
-Subproject commit c08a7f3f40dd0103f9d4aef35c82a043a72f4931
+Subproject commit da9f4d0032ee749179f4e18ce248f1eaa5a6747f
diff --git a/images/anchor.png b/images/anchor.png
new file mode 100644
index 0000000..e1eecb1
Binary files /dev/null and b/images/anchor.png differ
diff --git a/images/email.png b/images/email.png
new file mode 100644
index 0000000..14d69ac
Binary files /dev/null and b/images/email.png differ
diff --git a/images/external.png b/images/external.png
new file mode 100644
index 0000000..224d272
Binary files /dev/null and b/images/external.png differ
diff --git a/images/link.png b/images/link.png
new file mode 100644
index 0000000..364d7e8
Binary files /dev/null and b/images/link.png differ
diff --git a/local.css b/local.css
index 339305f..97a848b 100644
--- a/local.css
+++ b/local.css
@@ -83,6 +83,10 @@ body {
font-size: 1.2em;
border-bottom: 2px solid #c0c0c0;
}
+#sidebar ul, #sidebar ol {
+ margin-left: 0;
+ padding-left: 1em;
+}
#logos {
text-align: center;
@@ -161,3 +165,31 @@ h2 {
margin-right: 2em;
padding-left: 1em;
}
+
+pre, tt, code, tr.changeinfo, #blogform {
+ color: inherit;
+ background-color: #f6f6f0;
+}
+
+pre {
+ margin: 0 7em 0 2em;
+ padding: 0.5em 0 0.5em 0.5em;
+}
+
+
+/*a:before{
+ content: url(images/link.png);
+}*/
+a[href^="http://"]:after, a[href^="https://"]:after, a[href^="ftp://"]:after,
+a[href^="gopher://"]:after, a.external:after {
+ content: " " url(images/external.png);
+}
+a[href^="mailto:"]:before{
+ content: url(images/email.png) " ";
+}
+a[href^="#"]:after{
+ content: " " url(images/anchor.png);
+}
+a.nodecoration:before, a.nodecoration:after, #logos a:before, #logos a:after {
+ content: normal;
+}
\ No newline at end of file
diff --git a/sidebar/community.mdwn b/sidebar/community.mdwn
index b193897..460ba01 100644
--- a/sidebar/community.mdwn
+++ b/sidebar/community.mdwn
@@ -1,3 +1,9 @@
-[[Community|community]]
+[[Community|/community]]
=======================
+* [[Community|/community]]
+* [[Git|/community/git]]
+ * [[Website|/community/git/website]]
+* [Mailing lists](https://alioth.debian.org/mail/?group_id=100200)
+* [Bug Tracker](https://alioth.debian.org/tracker/?group_id=100200)
+* [Alioth Page](https://alioth.debian.org/projects/lisaac/)
--
Website for Isaac project
More information about the Lisaac-commits
mailing list