Sun Apr 12 13:58:10 CEST 2009  [email protected]
  * Edit Front Page

Sun Apr 12 13:58:53 CEST 2009  [email protected]
  * Add Contribute page

Sun Apr 12 14:00:00 CEST 2009  [email protected]
  * Add Editing page

Sun Apr 12 14:00:23 CEST 2009  [email protected]
  * Add Easy page.

Sun Apr 12 14:00:55 CEST 2009  [email protected]
  * Add Download page.

Sun Apr 12 14:01:27 CEST 2009  [email protected]
  * Addd Smart Patches page.

Sun Apr 12 14:02:00 CEST 2009  [email protected]
  * Add Patch Theory directory.

Sun Apr 12 14:02:35 CEST 2009  [email protected]
  * Add Path Theory Index page.

Sun Apr 12 14:03:22 CEST 2009  [email protected]
  * Add Patch Theory Intro page.

Sun Apr 12 14:03:42 CEST 2009  [email protected]
  * Add Patch Theory Examples Revisited page.
New patches:

[Edit Front Page
[email protected]**20090412115810] hunk ./Front\32\Page.page 1
-Welcome to the Darcs Weekly News test wiki!
+What is Darcs?
+==============
+Darcs is a free, open source, source code management system with many
+fabulous features:
hunk ./Front\32\Page.page 6
-We are experimenting with a darcs-based instantiation of the gitit wiki engine.
+- **[Distributed]()** - Every user has access to the full command set. You can
+save, commit, branch and merge without ever connecting to a central server.
hunk ./Front\32\Page.page 9
-You can retrieve the darcs repository behind this wiki with
-  darcs get http://darcs.net/test-wiki
+- **[Smart](Smart Patches)** - **Smart Patches** is what makes darcs stand out
+above the rest. You can cherrypick, merge, apply patches in different orders,
+modify patches and Darcs will know how to do it. With darcs, you can apply patches
+in any order and you will always get the same result.
+
+- **[Easy]()** - Easy to learn. Easy to use. Easy branches. Easy merging.
hunk ./Front\32\Page.page 16
-And send patches in the usual way (darcs record followed by darcs send).
+<center>***Darcs is clever for you so you don't have to be...***</center>
+
+Test this wiki
+==============
+You can retrieve the darcs repository behind this wiki with
hunk ./Front\32\Page.page 22
-Note that the access code is "lambda".
+> darcs get http://darcs.net/test-wiki

[Add Contribute page
[email protected]**20090412115853] addfile ./Contribute.page
hunk ./Contribute.page 1
+*[note: this page is a merger of FrontPage and HowToHelp]*
+
+We are always looking for new volunteers. You don't have to be a Haskell geek
+to contribute. There is always a need for documentation, bug finding, etc.
+
+Documentation
+=============
+There is always a need for complete, clear, easy to understand documentation.
+To start, you should read the [Editing]() page to learn how to edit a Gitit
+wiki. Then write to the users list saying that you wish to contribute.
+
+Bugs and ideas
+==============
+You can contribute by just using Darcs in your own projects and reporting bugs
+and ideas. You can also help by sorting through existing bugs and ideas. For
+example, you can help us triage bugs and you can help organize and develop the
+darcs ideas.
+
+**Submit a bug**: Bonus points if you can produce a shell script that reproduces
+the bug, so we can add it to our test suite, and thus reduce the danger of the
+same bug reappearing later. Bugs should be reported in the
+[darcs bug tracker](http://bugs.darcs.net/).
+
+**Triage bugs**: Help sort bugs by level of importance ([learn more](BugTracker)).
+If there are no new bugs to triage, look for stale bug reports or check up on
+people we need follow-ups from, etc.
+
+**Ideas**: Ideas for darcs should be added to the [ideas for darcs](IdeasForDarcs)
+page where they can be developed. Or you can add a wish list item to the
+[bug tracker](http://bugs.darcs.net/).
+
+It is probably worth while writing to the users list to point out the bug or
+to discuss your idea.
+
+
+Development
+===========
+
+New developers
+--------------
+
+All developers
+--------------

[Add Editing page
[email protected]**20090412120000] addfile ./Editing.page
hunk ./Editing.page 1
+This page explains things you need to know to contribute to the Darcs wiki.
+
+# Markdown
+
+This wiki's pages are written in [pandoc]'s extended form of [markdown].
+If you're not familiar with markdown, you should start by looking
+at the [markdown "basics" page] and the [markdown syntax description].
+Consult the [pandoc User's Guide] for information about pandoc's syntax
+for footnotes, tables, description lists, and other elements not present
+in standard markdown.
+
+[pandoc]: http://johnmacfarlane.net/pandoc
+[pandoc User's Guide]: http://johnmacfarlane.net/pandoc/README.html
+[markdown]: http://daringfireball.net/projects/markdown
+[markdown "basics" page]: http://daringfireball.net/projects/markdown/basics
+[markdown syntax description]: http://daringfireball.net/projects/markdown/syntax 
+
+Markdown is pretty intuitive, since it is based on email conventions.
+Here are some examples to get you started:
+
+<table>
+<tr>
+<td>`*emphasized text*`</td>
+<td>*emphasized text*</td>
+</tr>
+<tr>
+<td>`**strong emphasis**`</td>
+<td>**strong emphasis**</td>
+</tr>
+<tr>
+<td>`` `literal text` ``</td>
+<td>`literal text`</td>
+</tr>
+<tr>
+<td>`\*escaped special characters\*`</td>
+<td>\*escaped special characters\*</td>
+</tr>
+<tr>
+<td>`[external link](http://google.com)`</td>
+<td>[external link](http://google.com)</td>
+</tr>
+<tr>
+<td>`![folder](/stylesheets/folder.png)`</td>
+<td>![folder](/stylesheets/folder.png)</td>
+</tr>
+<tr>
+<td>Wikilink: `[Front Page]()`</td>
+<td>Wikilink: [Front Page]()</td>
+</tr>
+<tr>
+<td>`H~2~O`</td>
+<td>H~2~O</td>
+</tr>
+<tr>
+<td>`10^100^`</td>
+<td>10^100^</td>
+</tr>
+<tr>
+<td>`~~strikeout~~`</td>
+<td>~~strikeout~~</td>
+</tr>
+<tr>
+<td>
+`$x = \frac{{ - b \pm \sqrt {b^2 - 4ac} }}{{2a}}$`
+</td>
+<td>
+$x = \frac{{ - b \pm \sqrt {b^2 - 4ac} }}{{2a}}$^[If this looks like
+code, it's because jsMath is
+not installed on your system.  Contact your administrator to request it.]
+</td>
+</tr>
+<tr>
+<td>
+`A simple footnote.^[Or is it so simple?]`
+</td>
+<td>
+A simple footnote.^[Or is it so simple?]
+</td>
+</tr>
+<tr>
+<td>
+<pre>
+> an indented paragraph,
+> usually used for quotations
+</pre>
+</td>
+<td>
+
+> an indented paragraph,
+> usually used for quotations
+
+</td>
+<tr>
+<td>
+<pre>
+    #!/bin/sh -e
+    # code, indented four spaces
+    echo "Hello world"
+</pre>
+</td>
+<td>
+
+    #!/bin/sh -e
+    # code, indented four spaces
+    echo "Hello world"
+
+</td>
+</tr>
+<tr>
+<td>
+<pre>
+* a bulleted list
+* second item
+    - sublist
+    - and more
+* back to main list
+    1. this item has an ordered
+    2. sublist
+        a) you can also use letters
+        b) another item
+</pre>
+</td>
+<td>
+
+* a bulleted list
+* second item
+    - sublist
+    - and more
+* back to main list
+    1. this item has an ordered
+    2. sublist
+        a) you can also use letters
+        b) another item
+
+</td>
+</tr>
+<tr>
+<td>
+<pre>
+Fruit        Quantity
+--------  -----------
+apples         30,200
+oranges         1,998
+pears              42
+
+Table:  Our fruit inventory
+</pre>
+</td>
+<td>
+
+Fruit        Quantity
+--------  -----------
+apples         30,200
+oranges         1,998
+pears              42
+
+Table:  Our fruit inventory
+
+</td>
+</tr>
+</table>
+
+For headings, prefix a line with one or more `#` signs:  one for a major heading,
+two for a subheading, three for a subsubheading.  Be sure to leave space before
+and after the heading.
+
+    # Markdown
+
+    Text...
+ 
+    ## Some examples...
+   
+    Text...
+
+## Wiki links
+
+Links to other wiki pages are formed this way:  `[Page Name]()`.
+(Gitit converts markdown links with empty targets into wikilinks.)
+
+To link to a wiki page using something else as the link text:
+`[something else](Page Name)`.
+
+Note that page names may contain spaces and some special characters.
+They need not be CamelCase.  CamelCase words are *not* automatically
+converted to wiki links.
+
+Wiki pages may be organized into directories.  So, if you have
+several pages on wine, you may wish to organize them like so:
+
+    Wine/Pinot Noir
+    Wine/Burgundy
+    Wine/Cabernet Sauvignon
+
+Note that a wiki link `[Burgundy]()` that occurs inside the `Wine`
+directory will link to `Wine/Burgundy`, and not to `Burgundy`.
+To link to a top-level page called `Burgundy`, you'd have to use
+`[Burgundy](/Burgundy)`.
+
+# Creating and modifying pages
+
+## Registering for an account
+
+In order to modify pages, you'll need to be logged in.  To register
+for an account, just click the "register" button in the bar on top
+of the screen.  You'll be asked to choose a username and a password,
+which you can use to log in in the future by clicking the "login"
+button.  While you are logged in, these buttons are replaced by
+a "logout so-and-so" button, which you should click to log out
+when you are finished.
+
+Note that logins are persistent through session cookies, so if you
+don't log out, you'll still be logged in when you return to the
+wiki from the same browser in the future.
+
+## Editing a page
+
+To edit a page, just double-click it, or click the "edit" button at
+the bottom right corner of the page.
+
+You can click "Preview" at any time to see how your changes will look.
+Nothing is saved until you press "Save."
+
+Note that you must provide a description of your changes.  This is to
+make it easier for others to see how a wiki page has been changed.
+
+## Creating a new page
+
+To create a new page, just create a wiki link that links to it, and
+click the link.  If the page does not exist, you will be editing it
+immediately.
+
+## Reverting to an earlier version
+
+If you click the "history" button at the bottom of the page, you will
+get a record of previous versions of the page.  You can see the differences
+between two versions by dragging one onto the other; additions will be
+highlighted in yellow, and deletions will be crossed out with a horizontal
+line.  Clicking on the description of changes will take you to the page
+as it existed after those changes.  To revert the page to the revision
+you're currently looking at, just click the "revert" button at the bottom
+of the page, then "Save". 
+
+## Deleting a page
+
+The "delete" button at the bottom of the page will delete a page.  Note
+that deleted pages can be recovered, since a record of them will still be
+accessible via the "activity" button on the top of the page.
+
+# Uploading files
+
+To upload a file--a picture, a PDF, or some other resource--click the
+"upload" button in the navigation bar.  You will be prompted to select
+the file to upload.  As with edits, you will be asked to provide a
+description of the resource (or of the change, if you are overwriting
+an existing file).
+
+Often you may leave "Name on wiki" blank, since the existing name of the
+file will be used by default.  If that isn't desired, supply a name.
+Note that uploaded files *must* include a file extension (e.g. `.pdf`).
+
+If you are providing a new version of a file that already exists on the
+wiki, check the box "Overwrite existing file." Otherwise, leave it
+unchecked.
+
+To link to an uploaded file, just use its name in a regular markdown link.
+For example, if you uploaded a picture `fido.jpg`, you can insert the
+picture into a page using the markdown:  `![fido](fido.jpg)`.
+If you uploaded a PDF `projection.pdf`, you can insert a link to it
+using:  `[projection](projection.pdf)`.
+

[Add Easy page.
[email protected]**20090412120023] addfile ./Easy.page
hunk ./Easy.page 1
+Easy Branches
+=============
+<table>
+  <tr>
+    <td>How do you make a branch?</td>
+    <td><pre>cp -r dir1 dir2</pre></td>
+  </tr>
+  <tr>
+    <td>Really?</td>
+    <td>Yes. In darcs every copy of a repository is a branch.</td>
+  </tr>
+</table>
+
+Easy Merging
+============
+<table>
+  <tr>
+    <td>How do you update a repo?</td>
+    <td><pre>darcs pull &lt;remote-repo&gt;</pre></td>
+  </tr>
+  <tr>
+    <td>How do you merge branches?</td>
+    <td><pre>darcs pull &lt;remote-repo&gt;</pre></td>
+  </tr>
+  <tr>
+    <td>Aren't those the same command?</td>
+    <td>Yes. Because every copy is a branch, updating and merging are the same thing.</td>
+  </tr>
+</table>
+
+Cheatsheet for CVS users
+========================
+<table>
+  <tr>
+    <td>Initialize a repository</td>
+    <td>`darcs init`</td>
+    <td>`cvs -d /cvsroot init`</td>
+  </tr>
+  <tr>
+    <td>Download a repo</td>
+    <td>`darcs get`</td>
+    <td>`cvs update`</td>
+  </tr>
+  <tr>
+    <td>Download remote changes</td>
+    <td>`darcs pull`</td>
+    <td>`cvs update`</td>
+  </tr>
+  <tr>
+    <td>Add a file/directory</td>
+    <td>`darcs add`</td>
+    <td>`cvs add`</td>
+  </tr>
+  <tr>
+    <td>Undo local changes</td>
+    <td>`darcs revert foo.c`</td>
+    <td>`rm foo.c && cvs update foo.c`</td>
+  </tr>
+  <tr>
+    <td>Save changes locally</td>
+    <td>`darcs record`</td>
+    <td rowspan="2">CVS cannot save changes locally.<br/>`cvs commit` saves to the server.</td>
+  </tr>
+  <tr>
+    <td>Send local changes</td>
+    <td>`darcs push`</td>
+  </tr>
+  <tr>
+    <td>Undo save</td>
+    <td>`darcs unrecord`</td>
+    <td>**N/A**</td>
+  </tr>
+  <tr>
+    <td>Remove a patch</td>
+    <td>`darcs obliterate`</td>
+    <td>**N/A**</td>
+  </tr>
+</table>
+

[Add Download page.
[email protected]**20090412120055] addfile ./Download.page
hunk ./Download.page 1
+*[note: This merges CompilingOnCygwin, Binaries and part of the darcs manual]*
+
+The current stable release is darcs 2.2, released in January 2009.
+
+Microsoft Windows
+=================
+Note: If you need SSH support, see [WindowsConfiguration]().
+<table>
+    <tr>
+        <th>Type</th>
+        <th>Version</th>
+        <th>Notes</th>
+    </tr>
+    <tr>
+        <td>Without Cygwin</td>
+        <td>[2.2.1](http://homepage.mac.com/kirby81_it/darcs/darcs-2.2.1-win1.zip)</td>
+        <td>With Curl.</td>
+    </tr>
+    <tr>
+        <td>Without Cygwin</td>
+        <td>[2.2.0](http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:bminllzdrpadzvyt54cbhotnam:jqafknaedfksjjq3xmkfpe4g4ppklctw3xwpszufol7zddyx5agq/darcsdir-w32-2.2.0.zip)</td>
+        <td>With SSH support files.</td>
+    </tr>
+    <tr>
+        <td>With Cygwin</td>
+        <td>[2.2.0](http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:bminllzdrpadzvyt54cbhotnam:jqafknaedfksjjq3xmkfpe4g4ppklctw3xwpszufol7zddyx5agq/darcsdir-cygwin-2.2.0.tar.bz2)</td>
+        <td>With SSH support files.</td>
+    </tr>
+</table>
+
+Mac OS X
+========
+<table>
+    <tr>
+        <th>Type</th>
+        <th>Version</th>
+        <th>Notes</th>
+    </tr>
+    <tr>
+        <td>Intel binary</td>
+        <td>[2.2.1](http://dark.ly/darcs-2.2.1-i386-darwin.bz2)</td>
+        <td>Requires Mac OS 10.5.</td>
+    </tr>
+    <tr>
+        <td>Intel binary</td>
+        <td>[2.1.2](http://www.fivesquaresoftware.com/code/Darcs-2.1.2-x86.mpkg.zip)</td>
+        <td>Supports Mac OS 10.4 and 10.5.<br/>Includes documentation and the bash completion file.</td>
+    </tr>
+    <tr>
+        <td>Fink (Intel and PPC)</td>
+        <td>[2.0.2](http://pdb.finkproject.org/pdb/package.php/darcs)</td>
+        <td>Requires Mac OS 10.4 or 10.5.</td>
+    </tr>
+    <tr>
+        <td>MacPorts</td>
+        <td>[2.2.0](http://trac.macports.org/browser/trunk/dports/devel/darcs)</td>
+        <td>If you don't have `perl` and `ghc` from MacPorts, it'll compile them.<br/>That can take several hours.</td>
+    </tr>
+    <tr>
+        <td>PPC binary</td>
+        <td>[1.0.9](http://www.fivesquaresoftware.com/code/Darcs-2.1.2-x86.mpkg.zip)<br/>(Older version)</td>
+        <td>Requires Mac OS 10.5<br/>Includes documentation and the bash completion file.</td>
+    </tr>
+    <tr>
+        <td>PPC binary</td>
+        <td>[1.0.9rc2](http://www.accela.net/~lucca/darcs-1.0.9rc2-macos10.4-ppc.tar.gz)<br/>(Older version)</td>
+        <td>Requires Mac OS 10.4 or 10.5.</td>
+    </tr>
+</table>
+
+GNU/Linux
+=========
+*[note: distributions sorted according to Distrowatch]*
+<table>
+    <tr>
+        <th colspan="2">Install option</th>
+        <th>Notes</th>
+    </tr>
+    <tr>
+        <td>Static binary</td>
+        <td>[2.2.1](http://repos.mornfall.net/darcs/darcs-2.2.0-ghc6.10-libwww-static.bin)</td>
+        <td>Should work in all versions of Linux.</td>
+    </tr>
+    <tr>
+        <td>Ubuntu</td>
+        <td><pre>apt-get install darcs</pre></td>
+        <td>You need to enable Universe.</td>
+    </tr>
+    <tr>
+        <td>openSUSE</td>
+        <td>[2.2.0](http://download.opensuse.org/repositories/devel:/tools:/scm/)<br/>(Older version)</td>
+        <td>For SLES9, SLES10 , 9.3, 10, 10.1, Factory</td>
+    </tr>
+    <tr>
+        <td>Fedora</td>
+        <td><pre>yum install darcs</pre></td>
+        <td>Darcs is located in [Fedora Extras](http://fedoraproject.org/wiki/Extras/UsingExtras)</td>
+    </tr>
+    <tr>
+        <td>Debian</td>
+        <td><pre>apt-get install darcs</pre></td>
+        <td></td>
+    </tr>
+    <tr>
+        <td>Mandriva</td>
+        <td><pre>urpmi darcs<br/>## Optional:<br/>urpmi bash-completion</pre></td>
+        <td>Ensure your urpmi is setup with contrib.</td>
+    </tr>
+    <tr>
+        <td>Arch Linux</td>
+        <td><pre>pacman -Sy darcs</pre></td>
+        <td></td>
+    </tr>
+    <tr>
+        <td>Gentoo</td>
+        <td><pre>emerge darcs</pre></td>
+        <td></td>
+    </tr>
+    <tr>
+        <td>Crux Linux</td>
+        <td>
+<pre>
+cd /etc/ports
+wget http://yhafri.club.fr/crux/yhafri.httpup
+prt-get depinst httpup && ports -u
+prt-get depinst ilenia && ilenia -U darcs</pre>
+</td>
+        <td></td>
+    </tr>
+    <tr>
+        <td>Frugalware</td>
+        <td><pre>pacman-g2 -Sy darcs</pre></td>
+        <td></td>
+    </tr>
+    <tr>
+        <td>GoboLinux</td>
+        <td><pre>Compile darcs</pre></td>
+        <td></td>
+    </tr>
+</table>
+
+Unix
+====
+
+<table>
+    <tr>
+        <th colspan="2">Install option</th>
+        <th>Notes</th>
+    </tr>
+    <tr>
+        <td>FreeBSD</td>
+        <td><pre>pkg_add -r darcs</pre></td>
+        <td>This may download and install other Haskell related ports.</td>
+    </tr>
+    <tr>
+        <td>NetBSD</td>
+        <td>Use pkgsrc. Darcs is located in pkgsrc/devel/darcs.</td>
+        <td>On x86, the static Linux binary works if you have COMPAT_LINUX.</td>
+    </tr>
+    <tr>
+        <td>OpenBSD</td>
+        <td>[2.1.0](http://teratorn.org/code/darcs-2.1.0-openbsd-i386.tar.gz) (dynamically linked binary).</td>
+        <td>Compiled with GHC 6.8.3 on OpenBSD 4.2.</td>
+    </tr>
+    <tr>
+        <td>OpenBSD</td>
+        <td>[2.1.0](http://teratorn.org/code/darcs-2.1.0-openbsd-i386-static.tar.gz) (statically linked binary).</td>
+        <td>Compiled with GHC 6.8.3 on OpenBSD 4.2.</td>
+    </tr>
+    <tr>
+        <td>DragonFlyBSD</td>
+        <td><pre>cd /usr/pkgsrc/devel/darcs && bmake install</pre></td>
+        <td>GHC is currently broken. Use a Linux binary.</td>
+    </tr>
+    <tr>
+        <td>Solaris Sparc</td>
+        <td>[1.0.8](http://www.accela.net/~lucca/darcs-1.0.8-solaris9-sparc.tar.gz) (Older version)</td>
+        <td>Dynamic and static binaries. GCC 2.95, GHC 6.4.1, Solaris 9</td>
+    </tr>
+</table>
+
+Compiling from Source
+=====================
+Darcs is written in [Haskell](http://www.haskell.org/), and to build it you
+need the Glasgow Haskell Compiler ([GHC](http://www.haskell.org/ghc/download.html))
+version 6.6 or later (see also [Installing GHC](http://www.haskell.org/ghc/docs/latest/html/users_guide/installing-bin-distrib.html)).
+
+Download the sources:
+
+<table>
+    <tr>
+        <th colspan="2">Download option</th>
+        <th>Notes</th>
+    </tr>
+    <tr>
+        <td>Tar Ball</td>
+        <td>[2.2.0](http://darcs.net/darcs-2.2.0.tar.gz)</td>
+        <td></td>
+    </tr>
+    <tr>
+        <td>Darcs repository</td>
+        <td><pre>darcs get --lazy http://darcs.net/</pre></td>
+        <td>You need to have darcs 2 already.</td>
+    </tr>
+</table>
+
+Compile Darcs:
+
+<table>
+    <tr>
+        <th>Target</th>
+        <th>Instructions</th>
+        <th>Notes</th>
+    </tr>
+    <tr>
+        <td>Mac OS X</td>
+        <td>Install the Apple Developer Tools and the ghc 6.6 package. Then follow the instructions for Unix/Linux.</td>
+        <td></td>
+    </tr>
+    <tr>
+        <td>Unix/Linux</td>
+        <td>
+<pre>
+./configure
+make
+# Optional, but recommended
+make test
+make install
+</pre>
+
+If your header files are installed in a non-standard location, you may need to
+define the CFLAGS and CPPFLAGS environment variables. e.g. on NetBSD, you may need:
+<pre>
+CFLAGS=-I/usr/pkg/include
+CPPFLAGS=-I/usr/pkg/include
+</pre>
+</td>
+        <td>
+**Prerequisites**: You need GHC, and probably GCC and GNU Make.<br/><br/>
+**Notes about Solaris**:<br/>
+* Use GCC 2.95 or 3.4+.<br/>
+* You may need add `-lposix4 -lpthread` to the LDFLAGS before ./configure<br/>
+* You may experience problems unless you configure with `--disable-optimize --disable-mmap`.</td>
+    </tr>
+    <tr>
+        <td>Cygwin</td>
+        <td>
+**Compile zlib**:<br/>
+Download [zlib](http://www.zlib.net/) and put it in a directory
+without spaces. Then run:
+<pre>
+cd c:/path/to/zlib/source
+export CC=c:/ghc/ghc-6.2.2/gcc.exe
+./configure
+make
+</pre>
+**Compile darcs**:
+<pre>
+export CC=c:/ghc/ghc-6.2.2/gcc.exe
+export CPPFLAGS=-Ic:/path/to/zlib/source
+export LDFLAGS=-Lc:/path/to/zlib/source
+autoconf
+./configure --without-libcurl --target=mingw
+make
+</pre>
+</td>
+        <td>
+**Prerequisites**: You need ghc. We will assume that ghc is installed in `c:/ghc/ghc-6.2.2`.
+<br/>
+**Important**: You must use the gcc that ships with ghc, not cygwin's native gcc.
+</td>
+    </tr>
+    <tr>
+        <td>FreeBSD</td>
+        <td><pre>cd /usr/ports/devel/darcs<br/>make [-DWITH_SERVER] install</pre></td>
+        <td>Be sure to use gmake instead of make.<br/>If you install the server, the CGI executable is `/usr/local/libexec/darcs/cgi-bin/darcs`, and the config file is `/usr/local/etc/darcs/darcs/cgi.conf`.</td>
+    </tr>
+    <tr>
+        <td>NetBSD</td>
+        <td>Use pkgsrc to install binary or build Darcs from sources. Darcs is
+		in directory pkgsrc/devel/darcs.</td>
+        <td></td>
+    </tr>
+</table>
+

[Addd Smart Patches page.
[email protected]**20090412120127] addfile ./Smart\32\Patches.page
hunk ./Smart\32\Patches.page 1
+*[note: this page merges content from WhyYouWantPatchTheory and PatchTheoryExample]*
+
+Smart Patches are coolest feature that darcs has to offer. They are key to
+Darcs' ease of use, easy branching and easy merging.
+
+Basic concept
+=============
+If you just want to use darcs, this is all you need to know about Smart Patches.
+Say you have the stable branch with three patches (let's call them A, B and C) in it:
+
+> Stable: A B C
+
+You create a development branch based on that and add some new patches:
+
+> Devel: A B C D E F
+
+Now you notice that F is an important bugfix that should go into the next stable
+release. But maybe F depends on some stuff you added with D, or with E? Darcs
+can figure out if a patch depends on another, and it can figure out how to
+adapt F to a branch without the other patches.
+
+<center>*Darcs will **always** find the smallest set of patches needed to
+satisfy dependencies.*</center>
+<center>*Darcs does not need to ask you what other patches it needs.*</center>
+<br/>
+Darcs may need to make changes to F to make it fit in the stable branch (e.g.
+change line numbers). We call the new patch F' because it does the
+same thing as F but in the context of a different tree:
+
+> Stable: A B C F'
+
+<center>*The idea of transforming patches (e.g. F to F') depending on context<br/>
+is the key idea behind darcs' Smart Patches.*</center>
+
+
+Example 1: Your first merge
+===========================
+Suppose that we are working on a recipe for scrambled eggs. We have the file
+`recipe.txt`:
+
+<blockquote>
+<pre>
+Break the egg shells.
+Whisk the raw eggs into a homogeneous liquid.
+Pour into a hot greased pan.
+Stir until cooked.
+</pre>
+</blockquote>
+
+Now suppose that Alice and Bob each add an item to the list independently.
+Alice adds the following patch:
+
+<table>
+  <tr>
+    <th>Patch A</th><th>Resulting file</th>
+  </tr>
+  <tr>
+<td>
+<blockquote>
+<pre>
+recipe.txt 3
++ Add salt.
+</pre>
+</blockquote>
+</td>
+<td>
+<blockquote>
+<pre>
+Break the egg shells.
+Whisk the raw eggs into a homogeneous liquid.
+<b>Add salt.</b>
+Pour into a hot greased pan.
+Stir until cooked.
+</pre>
+</blockquote>
+</td>
+  </tr>
+</table>
+
+Meanwhile, Bob adds the following patch:
+
+<table>
+  <tr>
+    <th>Patch B</th><th>Resulting file</th>
+  </tr>
+  <tr>
+<td>
+<blockquote>
+<pre>
+recipe.txt 5
++ Serve and eat.
+</pre>
+</blockquote>
+</td>
+<td>
+<blockquote>
+<pre>
+Break the egg shells.
+Whisk the raw eggs into a homogeneous liquid.
+Pour into a hot greased pan.
+Stir until cooked.
+<b>Serve and eat.</b>
+</pre>
+</blockquote>
+</td>
+  </tr>
+</table>
+
+
+What happens when Alice pulls patch B? If we leave B as it is we will insert
+"Serve and eat" before "Stir until cooked". Darcs figures out that it needs
+to modify B a little to make it work for Alice. We call the new patch B':
+
+<table>
+  <tr>
+    <th>Patch B'</th><th>Combined with Alice's patch</th>
+  </tr>
+  <tr>
+<td>
+<blockquote>
+<pre>
+recipe.txt 6
++ Serve and eat.
+</pre>
+</blockquote>
+</td>
+<td>
+<blockquote>
+<pre>
+Break the egg shells.
+Whisk the raw eggs into a homogeneous liquid.
+Add salt.
+Pour into a hot greased pan.
+Stir until cooked.
+<b>Serve and eat.</b>
+</pre>
+</blockquote>
+</td>
+  </tr>
+</table>
+
+<center>*The ability to turn B into B' reliably and predictably is the core<br/>
+feature of darcs' Smart Patches*</center>
+<br/>
+Darcs' Smart Patches are built upon a solid mathematical foundation called
+[Patch Theory](Patch Theory/Index). But you don't need to know Patch Theory to use
+darcs. You only need to know that darcs will be reliable and predictable.
+
+Example 2: Where other SCMs fear to thread
+==========================================
+This patch-oriented view is unique to darcs. The ability to transform patches
+to apply to a different source tree allows darcs to correctly deal with some
+situations which other SCMs would get wrong. Consider the following example
+using `git` (nothing against Git):
+
+<table>
+  <tr>
+    <th>Git</th><th>Darcs</th><th>Notes</th>
+  </tr>
+<tr>
+<td>
+<blockquote>
+<pre>
+mkdir b1
+cd b1
+git init
+echo 1 > num_file
+git add num_files
+git commit
+cd ..
+</pre>
+</blockquote>
+</td> <!-- --> <td>
+<blockquote>
+<pre>
+mkdir d1
+cd d1
+darcs init
+echo 1 > num_files
+darcs add num_files
+darcs record
+cd ..
+</pre>
+</blockquote>
+</td> <!-- --> <td>
+Create a new project.<br/>
+`num_files` says how many<br/>files exist in the project.
+</td>
+</tr>
+<!-- / / / / / / / / -->
+<tr>
+<td>
+<blockquote>
+<pre>
+git clone b1 b2
+cd b2
+echo 'hi' > foo
+echo 2 > num_files
+git add foo num_files
+git commit
+cd ..
+</pre>
+</blockquote>
+</td> <!-- --> <td>
+<blockquote>
+<pre>
+cp -r d1 d2
+cd d2
+echo 'hi' > foo
+echo 2 > num_files
+darcs add foo
+darcs record
+cd ..
+</pre>
+</blockquote>
+</td> <!-- --> <td>
+Create a new branch.<br/>
+Add file `foo`<br/>
+Update `num_files`<br/>
+</td>
+</tr>
+<!-- / / / / / / / / -->
+<tr>
+<td>
+<blockquote>
+<pre>
+cd b1
+echo 'hi' > bar
+echo 2 > num_files
+git add bar num_files
+git commit
+git pull ../b2
+</pre>
+</blockquote>
+</td> <!-- --> <td>
+<blockquote>
+<pre>
+cd d1
+echo 'hi' > bar
+echo 2 > num_files
+darcs add bar
+darcs record
+darcs pull ../d2
+</pre>
+</blockquote>
+</td> <!-- --> <td>
+Back in the first branch.<br/>
+Add file `bar`<br/>
+Update `num_files`<br/>
+Merge with branch 2.
+</td>
+</tr>
+</table>
+
+
+Git happily merges the branches, creating a broken repository (num_files has the
+value 2 but there are 3 files). On the other hand, Darcs correctly detects the
+potential conflict in having two patches tht make the same change.
+
+Most SCMs would get this wrong because they work by looking at differences
+between branches. The only difference between these branches is the files `foo`
+and `bar`, so the SCM happily merges. Darcs keeps track of individual patches.
+When merging, Darcs tries to apply the same patches to the new branch. This way,
+darcs can see that two patches are making the same change and issue a warning.
+
+
+If you wish to dig deeper
+=========================
+You don't need to know anything else about Smart Patches to use darcs.
+However, if you would like to dig deeper into the theory behind Smart Patches,
+you are welcome to read about [Patch Theory](Patch Theory/Index).
+
+

[Add Patch Theory directory.
[email protected]**20090412120200] adddir ./Patch\32\Theory

[Add Path Theory Index page.
[email protected]**20090412120235] addfile ./Patch\32\Theory/Index.page
hunk ./Patch\32\Theory/Index.page 1
-
+You don't need to know Patch Theory to use darcs. Patch Theory is just for geeks
+who want to know the theory behind darcs amazing Smart Patches. If you just want
+to use darcs, just read [Smart Patches](../Smart Patches).
+
+What you need to know
+=====================
+You should read the [Smart Patches](../Smart Patches) page before reading about
+Patch theory. It would help if you also have a little experience using darcs in
+a real project.
+
+Contents
+========
+- [Intro]() - Introduction to Patch Theory.
+- [Examples Revisited]() - A second look at the examples in the [Smart Patches](../Smart Patches) page.

[Add Patch Theory Intro page.
[email protected]**20090412120322] addfile ./Patch\32\Theory/Intro.page
hunk ./Patch\32\Theory/Intro.page 1
+*[note: this page merges content from the darcs manual]*
+
+<table>
+  <tr>
+    <td>Prev:[Index]()</td><td>Up:[Index]()</td><td>Next:[Examples Revisited]()</td>
+  </tr>
+</table>
+
+Remember matrices from school?
+==============================
+Did you learn matrix algebra in school? If you liked it, you can think of patch
+theory as being similar to matrix algebra. If you didn't like it, don't read
+this paragraph. :-)
+
+Primitive patches
+=================
+A primitive patch is the smallest possible patch that darcs can understand.
+Every patch is made up of one or more primitive patches. Primitive patches include:
+
+<table>
+  <tr>
+    <td>`Hunk`</td>
+    <td>The single most important primitive patch. It replaces a set of lines
+    by a different set of lines.</td>
+  </tr>
+  <tr>
+    <td>`Add File`</td>
+    <td>Adds a file.</td>
+  </tr>
+  <tr>
+    <td>`Remove File`</td>
+    <td>Removes a file.</td>
+  </tr>
+  <tr>
+    <td>`Add Dir`</td>
+    <td>Adds a directory.</td>
+  </tr>
+  <tr>
+    <td>`Remove Dir`</td>
+    <td>Removes a directory.</td>
+  </tr>
+  <tr>
+    <td>`Move`</td>
+    <td>Moves/renames a file or directory.</td>
+  </tr>
+</table>
+
+The exact list of primitive patches is not important. What is important is that
+any patch is made up of a combination of primitive patches.
+
+Rules for patches
+=================
+There are a few basic rules that patches follow:
+
+<table>
+  <tr>
+    <td>`Composition`</td>
+    <td>Patches are applied in sequence: ABCD means "patch A followed by patch B
+    followed by patch C ...".</td>
+  </tr>
+  <tr>
+    <td>`Inverse`</td>
+    <td>For every patch *P* there is a patch $P^{-1}$ such that $PP^{-1} = e$
+    where *e* is the "empty" patch.</td>
+  </tr>
+  <tr>
+    <td>`Commutation`</td>
+    <td>We say that patches *AB* commute if there exist patches **A\'** and
+    **B\'** which "do the same thing"[1] as A and B (resp) and **AB = B\'A\'**.
+    If no such A\' and B\' exist, we say that A is a **dependency** of B.</td>
+  </tr>
+</table>
+
+[1] The concept of "do the same thing" will be made rigorous in the next section.
+
+**Theorem 1**: The inverse of the composition of two patches is given by
+$(AB)^{-1} = B^{-1}A^{-1}$
+
+**Exercise**: Prove theorem 1.
+
+A closer look at commutation
+============================
+We need a more rigorous definition of commutation. For this, we note the following
+fact:
+
+<center>
+*Every patch A can be expressed as a `composition` of primitive patches: $A = P_1 P_2 P_3 ...$
+<br/>
+If we can define commutation for primitive patches, we obtain commutation for all patches.*
+</center>
+<br/>
+For example, if $A = P_1 P_2 P_3$ and $B = Q_1 Q_2 Q_3$ where all the *Ps* an *Qs*
+are primitive patches and they all commute, we can say:
+
+$AB = P_1 P_2 P_3 Q_1 Q_2 Q_3$<br/>
+$AB = P_1 P_2 Q_1' P_3' Q_2 Q_3$ (commute $P_3$ and $Q_1$)<br/>
+$AB = P_1 Q_1'' P_2' Q_2' P_3'' Q_3$ (commute more ...)<br/>
+...<br/>
+$AB = Q_1''' Q_2''' Q_3''' P_1''' P_2''' P_3'''$<br/>
+
+At this point we let $B' = Q_1''' Q_2''' Q_3'''$ and $A' =  P_1''' P_2''' P_3'''$
+and we have our commutation.
+
+
+At this point all that is left to do is to define commutation for primitive
+patches. We do this by defining commutation for every pair of primitive
+*patch types* - for example, a `Hunk` and a `Hunk`, or a `Hunk` and a `Move`.
+This is a straight forward, though tedious exercise. Here we write down
+commutation rules for two Hunks. The other cases are left as an exercise to
+the reader. First, a `Hunk` has the format:
+
+<table>
+<tr>
+<td>
+<pre>
+groceries.txt 3
+- Bananas.
+- Mangos.
++ Tomatoes.
+</pre>
+</td>
+<td>The Hunk has a file reference and a line reference followed by lines
+removed (-) and lines added (+).</td>
+</tr>
+</table>
+
+The commutation rules for two Hunks A and B are:
+
+
+* If A and B refer to different files, AB = BA (no change).
+* If A and B refer to the same file:
+    - If the lines overlap, they don't commute.
+    - If A and B refer to the same file, and the lines don't overlap:
+        - If B's line ref < A's line ref, change A's line ref by (#rows added by B - #rows removed by B).
+        - If B's line ref > A's line ref, change B's line ref by (#rows added by A - #rows removed by A).
+
+**Exercise**: Write down the commutation rules for a Hunk and a Move.
+
+Merging patches
+===============
+Now we are ready to look at merging. The merging mechanism relies on the follow
+theorem:
+
+**Theorem 2**: $AB' = BA'$ if and only if $B^{-1} A = A' B'^{-1}$, provided
+both commutations succeed.
+
+This can be proven by multiplying the first equation by $B^{-1}$ on the left
+and $B'^{-1}$ on the right. So how do we actually do a merge? A merge is needed
+when we have two trees with different patches:
+
+> Tree1 = X Y Z A<br/>
+> Tree2 = X Y Z B
+
+Merging these means finding patches B', A' such that `XYZAB' = XYZBA'`.
+This means that AB' = BA', which by theorem 2 means that $B^{-1} A = A' B'^{-1}$.
+Therefore, we can obtain A' and B' by commuting $B^{-1} A$.
+
+**Exercise**: How would you write the invest of a Hunk?

[Add Patch Theory Examples Revisited page.
[email protected]**20090412120342] addfile ./Patch\32\Theory/Examples\32\Revisited.page
hunk ./Patch\32\Theory/Examples\32\Revisited.page 1
-
+*[note: this page merges content from PatchTheoryExample and the darcs manual]*
+
+<table>
+  <tr>
+    <td>Prev:[Intro]()</td><td>Up:[Index]()</td><td>Next:[]()</td>
+  </tr>
+</table>
+
+In this section we are going to take a second look at the two examples we
+saw in the [Smart Patches](../Smart Patches) page and figure out why darcs
+behaves the way it does. Before reading this page you should be familiar with
+the contents of the [Patch Theory Intro](Intro) including the exercises.
+
+Example 1 revisited
+===================
+Now we have the theoretical foundation to take a second look at Example 1 in the
+introductory page [Smart Patches](../Smart Patches). In this example, we are
+developing a recipe for scrambled eggs. We have the file `recipe.txt`:
+
+<blockquote>
+<pre>
+Break the egg shells.
+Whisk the raw eggs into a homogeneous liquid.
+Pour into a hot greased pan.
+Stir until cooked.
+</pre>
+</blockquote>
+
+Now Alice and Bob each add a line to `recipe.txt`. We know now that adding a
+line to a file is a `Hunk`. This is what the two Hunks look like:
+
+<table>
+  <tr>
+    <th>Hunk A</th><th>Hunk B</th>
+  </tr>
+  <tr>
+<td>
+<blockquote>
+<pre>
+recipe.txt 3
++ Add salt.
+</pre>
+</blockquote>
+</td>
+<td>
+<blockquote>
+<pre>
+recipe.txt 5
++ Serve and eat.
+</pre>
+</blockquote>
+</td>
+  </tr>
+</table>
+
+In our example, Alice pull's Bob's patch. So we need to merge the two branches.
+In the previous section we learned how to merge: (1) Calculate $B^{-1}$,
+(2) Commute $B^{-1}$ and $A$. (3) Use $B^{-1} A = A' B'^{-1}$.
+
+<table>
+  <tr>
+    <th>$B^{-1}$</th><th>$B^{-1} A$</th><th>$A' B'^{-1}$</th>
+  </tr>
+  <tr>
+<td>
+<blockquote>
+<pre>
+recipe.txt 5
+- Serve and eat.
+</pre>
+</blockquote>
+</td>
+
+<td>
+<blockquote>
+<pre>
+recipe.txt 5
+- Serve and eat.
+</pre>
+</blockquote>
+<blockquote>
+<pre>
+recipe.txt 3
++ Add salt.
+</pre>
+</blockquote>
+</td>
+
+<td>
+<blockquote>
+<pre>
+recipe.txt 3
++ Add salt.
+</pre>
+</blockquote>
+<blockquote>
+<pre>
+recipe.txt 6
+- Serve and eat.
+</pre>
+</blockquote>
+</td>
+  </tr>
+</table>
+
+Now we can use $B'^{-1}$ to obtain $B'$:
+
+<table>
+  <tr>
+    <th>$B'^{-1}$</th><th>$B'$</th>
+  </tr>
+  <tr>
+<td>
+<blockquote>
+<pre>
+recipe.txt 6
+- Serve and eat.
+</pre>
+</blockquote>
+</td>
+
+<td>
+<blockquote>
+<pre>
+recipe.txt 6
++ Serve and eat.
+</pre>
+</blockquote>
+</td>
+  </tr>
+</table>
+
+And presto! We have obtained the B' we need to apply to Alice's tree in order
+to merge the two trees. Notice that this is the same B' that we saw back
+in the page on [Smart Patches](../Smart Patches).
+
+Example 2 revisited
+===================
+Example 2 is interesting because we want to figure out, not why a merge suceeds
+but why it it fails. We have two branches, and in each branch we make different
+changes:
+
+<table>
+  <tr>
+    <th colspan="2">Patch A</th><th colspan="2">Patch B</th>
+  </tr>
+  <tr>
+   <td>Patch A1:</td>
+   <td><blockquote><pre>`Add File` bar</pre></blockquote></td>
+   <td>Patch B1:</td>
+   <td><blockquote><pre>`Add File` foo</pre></blockquote></td>
+  </tr>
+  <tr>
+   <td>Patch A2:</td>
+   <td><blockquote><pre>bar 1<br/>+ hi</pre></blockquote></td>
+   <td>Patch B2:</td>
+   <td><blockquote><pre>foo 1<br/>+ hi</pre></blockquote></td>
+  </tr>
+  <tr>
+   <td>Patch A3:</td>
+   <td><blockquote><pre>num_files 1<br/>- 1<br/>+ 2</pre></blockquote></td>
+   <td>Patch B3:</td>
+   <td><blockquote><pre>num_files 1<br/>- 1<br/>+ 2</pre></blockquote></td>
+  </tr>
+</table>
+
+We try to appply patch B on top of patch A. (1) Calculate $B^{-1}$,
+(2) Commute $B^{-1}$ and $A$. (3) Use $B^{-1} A = A' B'^{-1}$.
+
+**Calculate** $B^{-1}$ using theorem 1:
+$B^{-1} = (B1 B2 B3)^{-1} = B3^{-1} B2^{-1} B1^{-1}$
+
+<table>
+  <tr>
+    <th colspan="2">Patch B</th><th colspan="2">Patch $B^{-1}$</th>
+  </tr>
+  <tr>
+   <td>Patch B1:</td>
+   <td><blockquote><pre>`Add File` foo</pre></blockquote></td>
+   <td>Patch $B3^{-1}$:</td>
+   <td><blockquote><pre>num_files 1<br/>- 2<br/>+ 1</pre></blockquote></td>
+  </tr>
+  <tr>
+   <td>Patch B2:</td>
+   <td><blockquote><pre>foo 1<br/>+ hi</pre></blockquote></td>
+   <td>Patch $B2^{-1}$:</td>
+   <td><blockquote><pre>foo 1<br/>- hi</pre></blockquote></td>
+  </tr>
+  <tr>
+   <td>Patch B3:</td>
+   <td><blockquote><pre>num_files 1<br/>- 1<br/>+ 2</pre></blockquote></td>
+   <td>Patch $B1^{-1}$:</td>
+   <td><blockquote><pre>`Remove File` foo</pre></blockquote></td>
+  </tr>
+</table>
+
+Then we try to commute $B^{-1} A = B3^{-1} B2^{-1} B1^{-1} A1 A2 A3$. We
+quickly run into a problem when we get to the step where we have to commute
+$B3^{-1}$ and $A3$ as they are boht Hunks that affect the same file and the
+same line. Therefore, the commutation fails and so the merge fails.

Context:

[Tweak darcs send instructions and give away the access code.
Eric Kow <[email protected]>**20090410234827
 Ignore-this: ad930f4ee744eec54b9896761db1e517
] 
[Fix conflict between changes from gwern and me.
Eric Kow <[email protected]>**20090410233856
 Ignore-this: e9556bd0cb1cf93b5e52b641e34f4775
] 
[2009-04-05
Guillaume Hoffmann <[email protected]>**20090405201241
 Ignore-this: ea1286d07db1353871f3d02f2c4dce38
] 
[use real name instead of email address
Guillaume Hoffmann <[email protected]>**20090329190624
 Ignore-this: 1b02353ef73bd9344a1a8d1fe37fbeb7
] 
[2009-03-29
Guillaume Hoffmann <[email protected]>**20090329185900
 Ignore-this: 6b958e329253b3ff6c56f2f47b6e1716
] 
[entries/2009-03-22
Guillaume Hoffmann <[email protected]>**20090322115706
 Ignore-this: 1e592b94017b87fd7035d89f2c2c8402
] 
[entries/2009-03-15
Guillaume Hoffmann <[email protected]>**20090315204111
 Ignore-this: 1bfba012e4be8159fd98ad36fae152ad
] 
[entries/2009-03-08
Guillaume Hoffmann <[email protected]>**20090308125015
 Ignore-this: 1bb10ed850704b8df46d59a785de171f
] 
[Rename FrontPage to 'Front Page'
Eric Kow <[email protected]>**20090215192824
 Ignore-this: 2afa590c5f49f7bec96a4a6dce576cc7
] 
[Front page for gitit
Eric Kow <[email protected]>**20090215192528
 Ignore-this: f99e5ccb2d39f2438d6dfbe05c99b01b
] 
[Rename all entries so far with a .page extension (for gitit)
Eric Kow <[email protected]>**20090215191108
 Ignore-this: 84c3f234fea46c2f89652dd8c761c2e8
] 
[entries/2009-03-01
Guillaume Hoffmann <[email protected]>**20090301205408
 Ignore-this: f29fffefb2a1bea4d773558abfcb6575
] 
[2009-02-23 oops, forgot the fundraising
Guillaume Hoffmann <[email protected]>**20090223083329
 Ignore-this: a3ce15cbda599ae79d0a0cb32a298043
] 
[2009-02-23
Guillaume Hoffmann <[email protected]>**20090223082118
 Ignore-this: a8bd3b10b22e39f936ccdd0f9fdf7fc9
] 
[entry 2009-02-13
Guillaume Hoffmann <[email protected]>**20090213160528
 Ignore-this: 585544e7ff0010890c1b577d6d153763
] 
[entry 2009-02-07
Guillaume Hoffmann <[email protected]>**20090207141152
 Ignore-this: d688bffee8f7074de755997050f55539
] 
[dwn #15
Guillaume Hoffmann <[email protected]>**20090131104509
 Ignore-this: be71c4b3912a3c83f80f41ea8e1220d3
] 
[Add the template (oops)
Eric Kow <[email protected]>**20090126120412
 Ignore-this: cb5bf57b0709d2c652000748b2a54ae2
] 
[Wibble
Eric Kow <[email protected]>**20090123180218
 Ignore-this: 37023dad89e48081351456cb5b373f02
] 
[Get rid of excess space in blog output
Eric Kow <[email protected]>**20090123180205
 Ignore-this: 3250a70a1c893c9ce30da4678199e853
] 
[dwn #14 - catch up edition
Eric Kow <[email protected]>**20090123175514
 Ignore-this: a047fcf79e7ed5140eb92fb571626d58
] 
[Tweak instructions for generating lastchanges
Eric Kow <[email protected]>**20090123175452
 Ignore-this: 1538782e03c013d88b74f5ea4607945c
] 
[foo
[email protected]**20090117190300
 Ignore-this: 6bdd0aa849634c8cd35c28d8e5e8d18a
] 
[foo
[email protected]**20090117190001
 Ignore-this: 92a1e811555a2aa1d25da0eec910c071
] 
[foo
[email protected]**20090117175048
 Ignore-this: b808d126678bddd2a85546636e16aa54
] 
[Make it a tad easier to get started
Eric Kow <[email protected]>**20090117141833
 Ignore-this: 85b84bd6769f90c6aec1c33957080c27
] 
[More thoughts on workflow (collecting news items)
Eric Kow <[email protected]>**20090117141607
 Ignore-this: 914ca360336fa1a3aa368996d3ed8a8d
] 
[Clarify README
Eric Kow <[email protected]>**20090116182254
 Ignore-this: 8fdec1d728dd29332b83232a19e93c7c
] 
[Tweak workflow
Eric Kow <[email protected]>**20090116182210
 Ignore-this: 3afd500fec18d7692295646a12d0530a
] 
[Rename getchanges to createstub
Eric Kow <[email protected]>**20090116182156
 Ignore-this: cfa24b2158a7cc3cf664daa4a4672ee2
] 
[getchanges.sh should only focus on getting the most recent changes
Eric Kow <[email protected]>**20090116175945
 Ignore-this: 1b7d7acc2704fe2e943f458b57a23da1
] 
[add automated bits to 2008-11-22
Jason Dagit <[email protected]>**20081123051747
 Ignore-this: b85341a4e17abb2f00cf52ab81e1436b
] 
[add entry for 2008-11-22
Jason Dagit <[email protected]>**20081123051516
 Ignore-this: 798ff5a9ae859da9f1696adb6597eb74
] 
[typo
Jason Dagit <[email protected]>**20081117081447] 
[formatting fixes for 2008-11-16
Jason Dagit <[email protected]>**20081117081123] 
[add 2008-11-16
Jason Dagit <[email protected]>**20081117013638] 
[update README
Jason Dagit <[email protected]>**20081117013624] 
[added note to readme
Jason Dagit <[email protected]>**20081111181725] 
[add a simple README
Jason Dagit <[email protected]>**20081111181546] 
[Actuaually, we have resolved an issue
Eric Kow <[email protected]>**20081107101233
 Ignore-this: 1a73cdfa52495e3bc4907a5666d0d274
] 
[dwn #11
Eric Kow <[email protected]>**20081107101043
 Ignore-this: 6dc4955b35c99c9b50f95181be84876
] 
[DWN #11 beginning 
Eric Kow <[email protected]>**20081107085702] 
[dwn #10
Eric Kow <[email protected]>**20081030143039] 
[Whoops! URL paste-o in dwn #9
Eric Kow <[email protected]>**20081023101542] 
[oops! missed a new contributor
Eric Kow <[email protected]>**20081023095750] 
[dwn #9
Eric Kow <[email protected]>**20081023095547] 
[wibble
Eric Kow <[email protected]>**20081016220550] 
[Improve dwn #8
Eric Kow <[email protected]>**20081016215534] 
[tweak to lastentry obtention
Eric Kow <[email protected]>**20081016190236] 
[dwn #8?
Eric Kow <[email protected]>**20081016190228] 
[dww #7 tweaks
Eric Kow <[email protected]>**20081016190218] 
[Tweak dwn #7
Eric Kow <[email protected]>**20081009222635] 
[dacrs weekly news #7
Eric Kow <[email protected]>**20081009221031] 
[Tweak the blog entry creation.
Eric Kow <[email protected]>**20081002163152] 
[More suggestions from Florent.
Eric Kow <[email protected]>**20081002160715] 
[Tweak #6 again (with Florent's ideas)
Eric Kow <[email protected]>**20081002160321] 
[Tweaks to dwn #6
Eric Kow <[email protected]>**20081002155841] 
[darcs weekly news #6
Eric Kow <[email protected]>**20081002155304] 
[Use a dumb perl script to help tweak the entry for my blog.
Eric Kow <[email protected]>**20080925103115] 
[Credit Vlad for the issue1041 fix
Eric Kow <[email protected]>**20080925094506] 
[wibble
Eric Kow <[email protected]>**20080925094255] 
[Add dwn #5
Eric Kow <[email protected]>**20080925094158] 
[Add one more news item for DWN #4
Eric Kow <[email protected]>**20080918102258] 
[DWN #4
Eric Kow <[email protected]>**20080918101757] 
[Call pandoc automatically with the right options.
Eric Kow <[email protected]>**20080918101732] 
[Drop last patch in parsechanges (redundant with last week).
Eric Kow <[email protected]>**20080918101651] 
[Whoops, misplaced links in dwn #3
Eric Kow <[email protected]>**20080910092207] 
[Use ReStructured Text in parsechanges.hs
Eric Kow <[email protected]>**20080910091524] 
[Add issue/patch entries for dwn #3
Eric Kow <[email protected]>**20080910091457] 
[dwn #3 progress
Eric Kow <[email protected]>**20080910090801] 
[News for dwn #3
Eric Kow <[email protected]>**20080910085713] 
[dwn #2 first draft
Eric Kow <[email protected]>**20080903082538] 
[Get changes from a named patch; not trusting dates.
Eric Kow <[email protected]>**20080903081219
 Patch date does not have any relation with push date.
] 
[Use reStructured text markup for dwn #2
Eric Kow <[email protected]>**20080903081033] 
[Reviewers for 2008-09-03
Eric Kow <[email protected]>**20080902220359] 
[Entry for dwn #2
Eric Kow <[email protected]>**20080901215747] 
[Use official http://darcs.net for changes.
Eric Kow <[email protected]>**20080827105314
 Avoid the mistake of grabbing anybody's draft code.
] 
[Avoid showing email address in output.
Eric Kow <[email protected]>**20080827104110] 
[Don't show email addresses in darcs news.
Eric Kow <[email protected]>**20080827104040
 Not a question of privacy, just prettiness
] 
[finish a sentence
Eric Kow <[email protected]>**20080827103734] 
[Integrate fancier issue output into first entry
Eric Kow <[email protected]>**20080827103525] 
[Fancier still.
Eric Kow <[email protected]>**20080827103451] 
[Fancier issue printing
Eric Kow <[email protected]>**20080827103233] 
[Bullets
Eric Kow <[email protected]>**20080827102231] 
[Wibble
Eric Kow <[email protected]>**20080827102159] 
[Wibble
Eric Kow <[email protected]>**20080827101930] 
[Fix script and pipe to parsechanges
Eric Kow <[email protected]>**20080827101915] 
[First week's entry
Eric Kow <[email protected]>**20080827101904] 
[Wibble
Eric Kow <[email protected]>**20080827100315] 
[Tweak first entry
Eric Kow <[email protected]>**20080827100206] 
[Case
Eric Kow <[email protected]>**20080827100202] 
[Begin entry for first darcs weekly news.
Eric Kow <[email protected]>**20080827100056] 
[Add archive of entries.
Eric Kow <[email protected]>**20080827095945] 
[Also print issues resolved.
Eric Kow <[email protected]>**20080827095922] 
[Initial version.
Eric Kow <[email protected]>**20080827094739] 
Patch bundle hash:
d7f736cef16d32f1ad680dd17492339a8a76a6c2
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to