[darcs-devel] patch: add Windows installation/configuration README

zooko at zooko.com zooko at zooko.com
Thu Jan 12 07:20:52 PST 2006


A Windows user requested that a README be included in the package.  Here is the contents of the README (scraped off of the wiki).

New patches:

[add installation/configuration instructions for Windows  users
zooko at zooko.com**20051229185842] {
adddir ./doc
adddir ./doc/Windows
addfile ./doc/Windows/WindowsConfiguration.html
hunk ./doc/Windows/WindowsConfiguration.html 1
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+<meta name="robots" content="index,nofollow">
+
+
+<title>WindowsConfiguration - DarcsWiki</title>
+
+<script type="text/javascript">
+<!--// common functions
+
+// We keep here the state of the search box
+searchIsDisabled = false;
+
+function searchChange(e) {
+    // Update search buttons status according to search box content.
+    // Ignore empty or whitespace search term.
+    var value = e.value.replace(/\s+/, '');
+    if (value == '' || searchIsDisabled) { 
+        searchSetDisabled(true);
+    } else {
+        searchSetDisabled(false);
+    }
+}
+
+function searchSetDisabled(flag) {
+    // Enable or disable search
+    document.getElementById('fullsearch').disabled = flag;
+    document.getElementById('titlesearch').disabled = flag;
+}
+
+function searchFocus(e) {
+    // Update search input content on focus
+    if (e.value == 'Search') {
+        e.value = '';
+        e.style.color = 'black';
+        searchIsDisabled = false;
+    }
+}
+
+function searchBlur(e) {
+    // Update search input content on blur
+    if (e.value == '') {
+        e.value = 'Search';
+        e.style.color = 'gray';
+        searchIsDisabled = true;
+    }
+}
+
+function actionsMenuInit(title) {
+    // Initiliaze action menu
+    for (i = 0; i < document.forms.length; i++) {
+        var form = document.forms[i];
+        if (form.className == 'actionsmenu') {
+            // Check if this form needs update
+            var div = form.getElementsByTagName('div')[0];
+            var label = div.getElementsByTagName('label')[0];
+            if (label) {
+                // This is the first time: remove label and do buton.
+                div.removeChild(label);
+                var dobutton = div.getElementsByTagName('input')[0];
+                div.removeChild(dobutton);
+                // and add menu title
+                var select = div.getElementsByTagName('select')[0];
+                var item = document.createElement('option');
+                item.appendChild(document.createTextNode(title));
+                item.value = 'show';
+                select.insertBefore(item, select.options[0]);
+                select.selectedIndex = 0;
+            }
+        }
+    }
+}
+//-->
+</script>
+
+<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/wiki/modern/css/common.css">
+<link rel="stylesheet" type="text/css" charset="utf-8" media="darcs" href="/wiki/modern/css/darcs.css">
+<link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="/wiki/modern/css/screen.css">
+<link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="/wiki/modern/css/print.css">
+<link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="/wiki/modern/css/projection.css">
+
+<link rel="Start" href="/DarcsWiki/FrontPage">
+<link rel="Alternate" title="Wiki Markup" href="/DarcsWiki/WindowsConfiguration?action=raw">
+<link rel="Alternate" media="print" title="Print View" href="/DarcsWiki/WindowsConfiguration?action=print">
+<link rel="Search" href="/DarcsWiki/FindPage">
+<link rel="Index" href="/DarcsWiki/TitleIndex">
+<link rel="Glossary" href="/DarcsWiki/WordIndex">
+<link rel="Help" href="/DarcsWiki/HelpOnFormatting">
+</head>
+
+<body  lang="en" dir="ltr">
+
+<div id="header">
+<div id="logo"><a href="/DarcsWiki/FrontPage"><img src="http://darcs.net/logos/logo.png" alt="DarcsWiki"></a></div>
+
+<form id="searchform" method="get" action="">
+<div>
+<input type="hidden" name="action" value="fullsearch">
+<input type="hidden" name="context" value="180">
+<label for="searchinput">Search:</label>
+<input id="searchinput" type="text" name="value" value="" size="20"
+    onfocus="searchFocus(this)" onblur="searchBlur(this)"
+    onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search">
+<input id="titlesearch" name="titlesearch" type="submit"
+    value="Titles" alt="Search Titles">
+<input id="fullsearch" name="fullsearch" type="submit"
+    value="Text" alt="Search Full Text">
+</div>
+</form>
+<script type="text/javascript">
+<!--// Initialize search form
+var f = document.getElementById('searchform');
+f.getElementsByTagName('label')[0].style.display = 'none';
+var e = document.getElementById('searchinput');
+searchChange(e);
+searchBlur(e);
+//-->
+</script>
+
+<ul id="username"><li><a href="/DarcsWiki/UserPreferences">Login</a></li></ul>
+
+
+<ul id="navibar">
+<li class="wikilink"><a href="/DarcsWiki/FrontPage">FrontPage</a></li>
+<li class="wikilink"><a href="/DarcsWiki/RecentChanges">RecentChanges</a></li>
+<li class="wikilink"><a href="/DarcsWiki/FindPage">FindPage</a></li>
+<li class="wikilink"><a href="/DarcsWiki/HelpContents">HelpContents</a></li>
+<li class="current"><a href="/DarcsWiki/WindowsConfiguration">WindowsConfiguration</a></li>
+</ul>
+
+<div id="pageline"><hr style="display:none;"></div>
+
+<ul class="editbar">
+<li><a href="/DarcsWiki/WindowsConfiguration?action=edit">Edit</a></li>
+<li><a href="/DarcsWiki/WindowsConfiguration?action=diff">Show Changes</a></li>
+<li><a href="/DarcsWiki/WindowsConfiguration?action=info">Get Info</a></li>
+<li>
+<form class="actionsmenu" method="get" action="">
+<div>
+    <label>More Actions:</label>
+    <select name="action"
+        onchange="if ((this.selectedIndex != 0) &&
+                      (this.options[this.selectedIndex].disabled == false)) {
+                this.form.submit();
+            }
+            this.selectedIndex = 0;">
+        <option value="raw">Show Raw Text</option>
+<option value="print">Show Print View</option>
+<option value="refresh">Delete Cache</option>
+<option value="show" disabled class="disabled">--------</option>
+<option value="AttachFile" disabled class="disabled">Attachments</option>
+<option value="SpellCheck">Check Spelling</option>
+<option value="LikePages">Show Like Pages</option>
+<option value="LocalSiteMap">Show Local Site Map</option>
+<option value="show" disabled class="disabled">--------</option>
+<option value="RenamePage" disabled class="disabled">Rename Page</option>
+<option value="DeletePage" disabled class="disabled">Delete Page</option>
+    </select>
+    <input type="submit" value="Do">
+</div>
+<script type="text/javascript">
+<!--// Init menu
+actionsMenuInit('More Actions:');
+//-->
+</script>
+</form>
+</li>
+</ul>
+
+</div>
+
+<div id="page" lang="en" dir="ltr"><!-- start page -->
+
+
+<h1 id="title"><a title="Click to do a full-text search for this title" href="/DarcsWiki/WindowsConfiguration?action=fullsearch&amp;value=linkto%3A%22WindowsConfiguration%22&amp;context=180">WindowsConfiguration</a></h1>
+<div lang="en" id="content" dir="ltr">
+<a id="top"></a>
+<p>Darcs can be run from the standard Windows command shell, cmd.exe, or from inside Cygwin.  These two methods are slightly different due to differences in path names (drive letters, path separators). </p>
+
+<h3 id="head-9f03879760515a501cd254cbf1c8fbd8cd21686f">Without Cygwin</h3>
+
+<ul>
+<li><p> Download the pre-packaged darcs and putty from <a class="external" href="http://zooko.com/darcsdir-w32-1.0.5a.zip"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://zooko.com/darcsdir-w32-1.0.5a.zip</a> and unzip it. Let us refer to the resulting directory (including the path to it) as <em>DARCSDIR</em>. </p>
+<ul>
+<li><p> Add <em>DARCSDIR</em> to the end of your path (Windows XP): </p>
+<ul>
+<li><p> Right click on 'My Computer'. </p>
+</li>
+<li><p> Choose 'Properties'. </p>
+</li>
+<li><p> Click the 'Advanced' tab. </p>
+</li>
+<li><p> Click 'Environment variables' </p>
+</li>
+<li><p> Find the 'PATH' environment variable and choose to edit it. </p>
+</li>
+<li><p> Add ';<em>DARCSDIR</em> ' to the end of the 'PATH' environment variable. </p>
+</li>
+<li><p> Save and close the windows. </p>
+</li>
+</ul>
+</li>
+<li class="gap"><p> If you want to use darcs over ssh you need to set up <strong>passwordless</strong> ssh login. Darcs over ssh is required to push patches to a remote machine. </p>
+<ul>
+<li><p> On <a class="external" href="http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8</a> it is described how to generate a pair of keys. </p>
+</li>
+<li><p> Place the public key according to the guide and make sure the permissions are right. </p>
+</li>
+<li><p> To make ssh use your private key automatically (this is necessary since we are setting up passwordless ssh login) you need to start 'pageant'. Therefore: </p>
+<ul>
+<li><p> Create a new shortcut in the 'Start -&gt; All programs -&gt; Startup' menu. (These programs are automatically executed on login.) </p>
+</li>
+<li><p> The shortcut shall execute ' <em>DARCSDIR</em>/pageant.exe PATH-TO-THE-PRIVATE-KEY'.  Note that since PATH-TO-THE-PRIVATE-KEY may contains spaces, it may be necessary to put quotes around it.  It never hurts to put quotes around it. </p>
+</li>
+<li><p> Log out and log in again to check that 'pageant' automatically starts up. </p>
+</li>
+<li><p> Check that the key is loaded: double click the icon in the system tray. If there is listed one key, it should be fine. If no keys are listed, check the shortcut. </p>
+</li>
+</ul>
+</li>
+<li><p> If everything went well, the final check is executing "ssh USERNAME at HOST". If you get logged into the host you are done. If you are asked to enter your password then it is not working.  Double-check that 'pageant' is started and the key is loaded, then go back through this process to figure out what went wrong. </p>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+<h3 id="head-cf531bb1403d89c34575f6948badf116642d0967">With Cygwin</h3>
+
+<ul>
+<li><p> Download the pre-packaged darcs and putty from <a class="external" href="http://zooko.com/darcsdir-cygwin-1.0.5a.tar.bz2"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://zooko.com/darcsdir-cygwin-1.0.5a.tar.bz2</a> and untar it. </p>
+</li>
+<li><p> Add the resulting "darcsdir" directory to the end of your path. </p>
+</li>
+<li><p> If you want to use darcs over ssh you need to set up <strong>passwordless</strong> ssh login. Darcs over ssh is required to push patches to a remote machine. Note that you have to set up a <strong>new</strong> ssh configuation using the putty executables in the darcsdir directory -- darcs will <strong>not</strong> use cygwin ssh nor your current cygwin ssh configuration. </p>
+<ul>
+<li><p> On <a class="external" href="http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8</a> it is described how to generate a pair of keys. </p>
+</li>
+<li><p> Place the public key according to the guide and make sure the permissions are right. </p>
+</li>
+<li><p> To make ssh use your private key automatically (this is necessary since we are setting up passwordless ssh login) you need to start 'pageant.exe', passing the path to the private key as the argument to pageant.exe. </p>
+</li>
+<li><p> Check that the key is loaded: double click the icon in the system tray. If there is listed one key, it should be fine. If no keys are listed, check the shortcut. </p>
+</li>
+<li><p> If everything went well, the final check is executing "darcsdir/ssh.exe USERNAME at HOST" (note: this is the putty ssh executable that came in the darcsdir-cygwin.tar.bz2 package, <strong>not</strong> your normal cygwin ssh, which is usually found in /usr/bin/ssh.exe). If you get logged into the host you are done. If you are asked to enter your password then it is not working.  Double-check that 'pageant' is started and the key is loaded, then go back through this process to figure out what went wrong. </p>
+</li>
+</ul>
+</li>
+</ul>
+
+<h3 id="head-0cab20b3eccdefad9d640e0b5be0784e99352ab1">The Manual Process -- try this if you want a newer version of darcs than the pre-packaged version supplied above</h3>
+
+<p>The basics (with or without Cygwin): </p>
+<ul>
+<li><p> Download the latest darcs win32 binary from <a class="external" href="http://glozer.net/darcs/"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://glozer.net/darcs/</a> </p>
+</li>
+</ul>
+<p>Pushing patches to a remote server requires a SSH implementation such as putty <a class="external" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://www.chiark.greenend.org.uk/~sgtatham/putty/</a> which supports both SCP and SFTP.  Interactive password prompting will not work because the SSH clients are executed by darcs, so public key (AKA passwordless) authentication must be configured.  For a putty-oriented tutorial see <a class="external" href="http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8</a>. </p>
+<p>To enable access of remote repositories over ssh (with or without Cygwin, if you want to use ssh): </p>
+<ul>
+<li><p> Download pagent.exe, puttygen.exe, plink.exe, sftp.exe, and pscp.exe from <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</a> </p>
+</li>
+<li><p> Put darcs.exe, plink.exe, pscp.exe, sftp.exe, pagent.exe, and puttygen.exe in an empty directory. </p>
+</li>
+<li><p> Rename plink.exe to ssh.exe and pscp.exe to scp.exe.  Ensure that all these .exe files have permissions that allow you to execute them.  If you are using cygwin, you can use "chmod ugo+x FILENAME" to enable execute permissions for each file. </p>
+</li>
+<li><p> Set up passwordless ssh login as described on this page: <a href="http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8</a> </p>
+</li>
+</ul>
+<p>Finally (without Cygwin): </p>
+<ul>
+<li><p> Add the directory where you stored the executables at the beginning of your path. </p>
+</li>
+</ul>
+<p>Finally (with Cygwin): </p>
+<ul>
+<li><p> Download <a class="external" href="http://abridgegame.org/repos/darcs/cygwin-wrapper.bash"><img src="/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11"> cygwin-wrapper.bash</a>, a cygwin bash script; put it in /usr/local/darcsdir-cygwin (directory as seen by cygwin), put all of the ssh .exe's mentioned above into the same directory.  Rename the darcs.exe to "realdarcs.exe".  Rename cygwin-wrapper.bash to "darcs".  Add /usr/local/darcsdir-cygwin to the end of your path.  Don't put /usr/local/darcsdir-cygwin at the beginning, because that directory contains executables such as "ssh.exe" which you probably don't want to execute when you execute "ssh" on the bash command-line.  Make sure you don't have any other "darcs" executables earlier in your path.  (Hint: enter the commands "type darcs" and "type ssh" at the bash command-line.) </p>
+</li>
+</ul>
+
+<h3 id="head-097c1075967a661ccfb808ccc9afacf185f31f01">Solving problems with SSH</h3>
+
+<p>(This section entitled "Solving problems with SSH" is someone else's version of the same sort of hack described in the item above entitled "Finally (with Cygwin)".) (I had some problems with <tt>darcs&nbsp;push</tt> via SSH, so I decided to write this paragraph - maybe it will help someone) </p>
+<p>For some reason, putting PuTTY's renamed files in darcs directory didn't work in my case. Firstly, I kept getting <tt>Host&nbsp;key&nbsp;verification&nbsp;failed</tt> error. It turned out that win32 darcs tried using Cygwin's <tt>ssh</tt> instead the one from PuTTY. Disabling <tt>ssh</tt> command from Cygwin gave me another error message: <tt>sh:&nbsp;/usr/bin/ssh:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</tt>. This is when I realized darcs didn't want to use ssh.exe located in its directory. After some research I found a solution: </p>
+<ul>
+<li><p> Put plink.exe, pscp.exe, sftp.zip, pagent.exe, and puttygen.exe in any directory you like, extract sftp.exe. </p>
+</li>
+<li><p> Set environment variables: </p>
+<ul>
+<li><p> DARCS_SSH = x:\path\to\plink.exe </p>
+</li>
+<li><p> DARCS_SCP = x:\path\to\pscp.exe </p>
+</li>
+<li><p> DARCS_SFTP = x:\path\to\sftp.exe </p>
+</li>
+</ul>
+</li>
+</ul>
+<p>If your path contains spaces, you may experience problems (Darcs reports that it cannot find the command "C:\Program", for example).  A work-around is to make sure that the commands are found through the %PATH% variable, and then you can set the commands without their paths: </p>
+<ul>
+<li><p> set PATH=%PATH%;C:\Program Files\PuTTY </p>
+</li>
+<li><p> set DARCS_SSH=plink.exe </p>
+</li>
+<li><p> set DARCS_SCP=pscp.exe </p>
+</li>
+<li><p> set DARCS_SFTP=psftp.exe </p>
+</li>
+</ul>
+<p>Note that I am using the normal PuTTY installation in this last example. </p>
+<p>Also remember that Windows does not use account names the same way as Windows.  Your repository is therefore going to look like this: username at hostname:path </p>
+<a id="bottom"></a>
+
+</div>
+<p id="pageinfo" class="info" lang="en" dir="ltr">last edited 2005-12-29 18:00:38 by <span title="24.215.95.202=blk-215-95-202.eastlink.ca">blk-215-95-202</span></p>
+
+</div> <!-- end page -->
+
+
+<div id="footer">
+<ul class="editbar">
+<li><a href="/DarcsWiki/WindowsConfiguration?action=edit">Edit</a></li>
+<li><a href="/DarcsWiki/WindowsConfiguration?action=diff">Show Changes</a></li>
+<li><a href="/DarcsWiki/WindowsConfiguration?action=info">Get Info</a></li>
+<li>
+<form class="actionsmenu" method="get" action="">
+<div>
+    <label>More Actions:</label>
+    <select name="action"
+        onchange="if ((this.selectedIndex != 0) &&
+                      (this.options[this.selectedIndex].disabled == false)) {
+                this.form.submit();
+            }
+            this.selectedIndex = 0;">
+        <option value="raw">Show Raw Text</option>
+<option value="print">Show Print View</option>
+<option value="refresh">Delete Cache</option>
+<option value="show" disabled class="disabled">--------</option>
+<option value="AttachFile" disabled class="disabled">Attachments</option>
+<option value="SpellCheck">Check Spelling</option>
+<option value="LikePages">Show Like Pages</option>
+<option value="LocalSiteMap">Show Local Site Map</option>
+<option value="show" disabled class="disabled">--------</option>
+<option value="RenamePage" disabled class="disabled">Rename Page</option>
+<option value="DeletePage" disabled class="disabled">Delete Page</option>
+    </select>
+    <input type="submit" value="Do">
+</div>
+<script type="text/javascript">
+<!--// Init menu
+actionsMenuInit('More Actions:');
+//-->
+</script>
+</form>
+</li>
+</ul>
+
+<ul id="credits">
+<li><a href="http://moinmoin.wikiwikiweb.de/">MoinMoin Powered</a></li>
+<li><a href="http://www.python.org/">Python Powered</a></li>
+<li><a href="http://validator.w3.org/check?uri=referer">Valid HTML 4.01</a></li>
+</ul>
+
+
+</div>
+<ul id="timings">
+<li>getACL = 0.009s</li>
+<li>run = 0.209s</li>
+<li>send_page = 0.208s</li>
+<li>send_page_content = 0.015s</li>
+<li>total = 0.226s</li>
+</ul>
+</body>
+</html>
+
addfile ./doc/Windows/WindowsConfiguration.txt
hunk ./doc/Windows/WindowsConfiguration.txt 1
+   Link: [1]start
+   Link: [2]Wiki Markup (alternate)
+   Link: [3]Print View (alternate, print)
+   Link: [4]search
+   Link: [5]index
+   Link: [6]glossary
+   Link: [7]help
+   [8]DarcsWiki
+   Search: [9]_____________________ [10][ Titles ] [11][ Text ]
+
+     * [12]Login
+
+     * [13]FrontPage
+     * [14]RecentChanges
+     * [15]FindPage
+     * [16]HelpContents
+     * [17]WindowsConfiguration
+
+   --------------------------------------------------------------------------
+
+     * [18]Edit
+     * [19]Show Changes
+     * [20]Get Info
+     * More Actions: [[21]___________________] [22][ Do ]
+
+                            [23]WindowsConfiguration
+
+   Darcs can be run from the standard Windows command shell, cmd.exe, or from
+   inside Cygwin. These two methods are slightly different due to differences
+   in path names (drive letters, path separators).
+
+  Without Cygwin
+
+     * Download the pre-packaged darcs and putty from [24][WWW][25]
+       http://zooko.com/darcsdir-w32-1.0.5a.zip and unzip it. Let us refer to
+       the resulting directory (including the path to it) as DARCSDIR.
+
+          * Add DARCSDIR to the end of your path (Windows XP):
+
+               * Right click on 'My Computer'.
+
+               * Choose 'Properties'.
+
+               * Click the 'Advanced' tab.
+
+               * Click 'Environment variables'
+
+               * Find the 'PATH' environment variable and choose to edit it.
+
+               * Add ';DARCSDIR ' to the end of the 'PATH' environment
+                 variable.
+
+               * Save and close the windows.
+
+          * If you want to use darcs over ssh you need to set up passwordless
+            ssh login. Darcs over ssh is required to push patches to a remote
+            machine.
+
+               * On [26][WWW][27]
+                 http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8 it
+                 is described how to generate a pair of keys.
+
+               * Place the public key according to the guide and make sure
+                 the permissions are right.
+
+               * To make ssh use your private key automatically (this is
+                 necessary since we are setting up passwordless ssh login)
+                 you need to start 'pageant'. Therefore:
+
+                    * Create a new shortcut in the 'Start -> All programs ->
+                      Startup' menu. (These programs are automatically
+                      executed on login.)
+
+                    * The shortcut shall execute ' DARCSDIR/pageant.exe
+                      PATH-TO-THE-PRIVATE-KEY'. Note that since
+                      PATH-TO-THE-PRIVATE-KEY may contains spaces, it may be
+                      necessary to put quotes around it. It never hurts to
+                      put quotes around it.
+
+                    * Log out and log in again to check that 'pageant'
+                      automatically starts up.
+
+                    * Check that the key is loaded: double click the icon in
+                      the system tray. If there is listed one key, it should
+                      be fine. If no keys are listed, check the shortcut.
+
+               * If everything went well, the final check is executing "ssh
+                 USERNAME at HOST". If you get logged into the host you are
+                 done. If you are asked to enter your password then it is not
+                 working. Double-check that 'pageant' is started and the key
+                 is loaded, then go back through this process to figure out
+                 what went wrong.
+
+  With Cygwin
+
+     * Download the pre-packaged darcs and putty from [28][WWW][29]
+       http://zooko.com/darcsdir-cygwin-1.0.5a.tar.bz2 and untar it.
+
+     * Add the resulting "darcsdir" directory to the end of your path.
+
+     * If you want to use darcs over ssh you need to set up passwordless ssh
+       login. Darcs over ssh is required to push patches to a remote machine.
+       Note that you have to set up a new ssh configuation using the putty
+       executables in the darcsdir directory -- darcs will not use cygwin ssh
+       nor your current cygwin ssh configuration.
+
+          * On [30][WWW][31]
+            http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8 it is
+            described how to generate a pair of keys.
+
+          * Place the public key according to the guide and make sure the
+            permissions are right.
+
+          * To make ssh use your private key automatically (this is necessary
+            since we are setting up passwordless ssh login) you need to start
+            'pageant.exe', passing the path to the private key as the
+            argument to pageant.exe.
+
+          * Check that the key is loaded: double click the icon in the system
+            tray. If there is listed one key, it should be fine. If no keys
+            are listed, check the shortcut.
+
+          * If everything went well, the final check is executing
+            "darcsdir/ssh.exe USERNAME at HOST" (note: this is the putty ssh
+            executable that came in the darcsdir-cygwin.tar.bz2 package, not
+            your normal cygwin ssh, which is usually found in
+            /usr/bin/ssh.exe). If you get logged into the host you are done.
+            If you are asked to enter your password then it is not working.
+            Double-check that 'pageant' is started and the key is loaded,
+            then go back through this process to figure out what went wrong.
+
+  The Manual Process -- try this if you want a newer version of darcs than the
+  pre-packaged version supplied above
+
+   The basics (with or without Cygwin):
+
+     * Download the latest darcs win32 binary from [32][WWW][33]
+       http://glozer.net/darcs/
+
+   Pushing patches to a remote server requires a SSH implementation such as
+   putty [34][WWW][35] http://www.chiark.greenend.org.uk/~sgtatham/putty/
+   which supports both SCP and SFTP. Interactive password prompting will not
+   work because the SSH clients are executed by darcs, so public key (AKA
+   passwordless) authentication must be configured. For a putty-oriented
+   tutorial see [36][WWW][37]
+   http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8.
+
+   To enable access of remote repositories over ssh (with or without Cygwin,
+   if you want to use ssh):
+
+     * Download pagent.exe, puttygen.exe, plink.exe, sftp.exe, and pscp.exe
+       from [38][WWW][39]
+       http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
+
+     * Put darcs.exe, plink.exe, pscp.exe, sftp.exe, pagent.exe, and
+       puttygen.exe in an empty directory.
+
+     * Rename plink.exe to ssh.exe and pscp.exe to scp.exe. Ensure that all
+       these .exe files have permissions that allow you to execute them. If
+       you are using cygwin, you can use "chmod ugo+x FILENAME" to enable
+       execute permissions for each file.
+
+     * Set up passwordless ssh login as described on this page: [40][WWW][41]
+       http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+
+   Finally (without Cygwin):
+
+     * Add the directory where you stored the executables at the beginning of
+       your path.
+
+   Finally (with Cygwin):
+
+     * Download [42][WWW][43] cygwin-wrapper.bash, a cygwin bash script; put
+       it in /usr/local/darcsdir-cygwin (directory as seen by cygwin), put
+       all of the ssh .exe's mentioned above into the same directory. Rename
+       the darcs.exe to "realdarcs.exe". Rename cygwin-wrapper.bash to
+       "darcs". Add /usr/local/darcsdir-cygwin to the end of your path. Don't
+       put /usr/local/darcsdir-cygwin at the beginning, because that
+       directory contains executables such as "ssh.exe" which you probably
+       don't want to execute when you execute "ssh" on the bash command-line.
+       Make sure you don't have any other "darcs" executables earlier in your
+       path. (Hint: enter the commands "type darcs" and "type ssh" at the
+       bash command-line.)
+
+  Solving problems with SSH
+
+   (This section entitled "Solving problems with SSH" is someone else's
+   version of the same sort of hack described in the item above entitled
+   "Finally (with Cygwin)".) (I had some problems with darcs push via SSH, so
+   I decided to write this paragraph - maybe it will help someone)
+
+   For some reason, putting PuTTY's renamed files in darcs directory didn't
+   work in my case. Firstly, I kept getting Host key verification failed
+   error. It turned out that win32 darcs tried using Cygwin's ssh instead the
+   one from PuTTY. Disabling ssh command from Cygwin gave me another error
+   message: sh: /usr/bin/ssh: No such file or directory. This is when I
+   realized darcs didn't want to use ssh.exe located in its directory. After
+   some research I found a solution:
+
+     * Put plink.exe, pscp.exe, sftp.zip, pagent.exe, and puttygen.exe in any
+       directory you like, extract sftp.exe.
+
+     * Set environment variables:
+
+          * DARCS_SSH = x:\path\to\plink.exe
+
+          * DARCS_SCP = x:\path\to\pscp.exe
+
+          * DARCS_SFTP = x:\path\to\sftp.exe
+
+   If your path contains spaces, you may experience problems (Darcs reports
+   that it cannot find the command "C:\Program", for example). A work-around
+   is to make sure that the commands are found through the %PATH% variable,
+   and then you can set the commands without their paths:
+
+     * set PATH=%PATH%;C:\Program Files\PuTTY
+
+     * set DARCS_SSH=plink.exe
+
+     * set DARCS_SCP=pscp.exe
+
+     * set DARCS_SFTP=psftp.exe
+
+   Note that I am using the normal PuTTY installation in this last example.
+
+   Also remember that Windows does not use account names the same way as
+   Windows. Your repository is therefore going to look like this:
+   username at hostname:path
+
+   last edited 2005-12-29 18:00:38 by blk-215-95-202
+
+     * [44]Edit
+     * [45]Show Changes
+     * [46]Get Info
+     * More Actions: [[47]___________________] [48][ Do ]
+
+     * [49]MoinMoin Powered
+     * [50]Python Powered
+     * [51]Valid HTML 4.01
+
+     * getACL = 0.012s
+     * run = 0.261s
+     * send_page = 0.259s
+     * send_page_content = 0.004s
+     * total = 0.289s
+
+References
+
+   Visible links
+   1. http://darcs.net/DarcsWiki/FrontPage
+   2. http://darcs.net/DarcsWiki/WindowsConfiguration?action=raw
+   3. http://darcs.net/DarcsWiki/WindowsConfiguration?action=print
+   4. http://darcs.net/DarcsWiki/FindPage
+   5. http://darcs.net/DarcsWiki/TitleIndex
+   6. http://darcs.net/DarcsWiki/WordIndex
+   7. http://darcs.net/DarcsWiki/HelpOnFormatting
+   8. http://darcs.net/DarcsWiki/FrontPage
+  12. http://darcs.net/DarcsWiki/UserPreferences
+  13. http://darcs.net/DarcsWiki/FrontPage
+  14. http://darcs.net/DarcsWiki/RecentChanges
+  15. http://darcs.net/DarcsWiki/FindPage
+  16. http://darcs.net/DarcsWiki/HelpContents
+  17. http://darcs.net/DarcsWiki/WindowsConfiguration
+  18. http://darcs.net/DarcsWiki/WindowsConfiguration?action=edit
+  19. http://darcs.net/DarcsWiki/WindowsConfiguration?action=diff
+  20. http://darcs.net/DarcsWiki/WindowsConfiguration?action=info
+  23. Click to do a full-text search for this title
+	http://darcs.net/DarcsWiki/WindowsConfiguration?action=fullsearch&value=linkto%3A%22WindowsConfiguration%22&context=180
+  24. http://zooko.com/darcsdir-w32-1.0.5a.zip
+  25. http://zooko.com/darcsdir-w32-1.0.5a.zip
+  26. http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+  27. http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+  28. http://zooko.com/darcsdir-cygwin-1.0.5a.tar.bz2
+  29. http://zooko.com/darcsdir-cygwin-1.0.5a.tar.bz2
+  30. http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+  31. http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+  32. http://glozer.net/darcs/
+  33. http://glozer.net/darcs/
+  34. http://www.chiark.greenend.org.uk/~sgtatham/putty/
+  35. http://www.chiark.greenend.org.uk/~sgtatham/putty/
+  36. http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+  37. http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+  38. http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
+  39. http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
+  40. http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+  41. http://www.tartarus.org/~simon/puttydoc/Chapter8.html#C8
+  42. http://abridgegame.org/repos/darcs/cygwin-wrapper.bash
+  43. http://abridgegame.org/repos/darcs/cygwin-wrapper.bash
+  44. http://darcs.net/DarcsWiki/WindowsConfiguration?action=edit
+  45. http://darcs.net/DarcsWiki/WindowsConfiguration?action=diff
+  46. http://darcs.net/DarcsWiki/WindowsConfiguration?action=info
+  49. http://moinmoin.wikiwikiweb.de/
+  50. http://www.python.org/
+  51. http://validator.w3.org/check?uri=referer
}

Context:

[Do not document "darcs query manifest" twice.
Erik Schnetter <schnetter at cct.lsu.edu>**20051222125103] 
[Rename git.c to gitlib.c
Erik Schnetter <schnetter at cct.lsu.edu>**20051222115318
 
 On case-insensitive file systems, the source files Git.lhs and git.c
 lead to the same object file git.o.  Renaming git.c to gitlib.c solves
 this problem.
] 
[Remove periods from the AC_MSG_CHECKING call for the release state.
Matt Kraai <kraai at ftbfs.org>**20051220174536] 
[Implementation of help command
Eric Kow <eric.kow at loria.fr>**20051218172558
 (RT #307)
 
 Provides a command to display usage information on the screen.
  darcs help           = darcs --help
  darcs help --verbose = darcs --extended-help
  darcs help command   = darcs command --help
 
 This implementation understands abbreviated commands and subcommands.
 Slightly refactors darcs.lhs.
 
] 
[reorganize comments (and add a comment) in Depends.lhs.
David Roundy <droundy at darcs.net>**20051218122029] 
[fix bug in doesDirectoryReallyExist.
David Roundy <droundy at darcs.net>**20051020121710
 We were failing with an exception if there was no such object.  The error
 message was:
 
 Fail: getSymbolicLinkStatus: does not exist
] 
[fix type of foreign calls in FastPackedString.
David Roundy <droundy at darcs.net>**20050920125800] 
[rename RepoTypes to PatchSet.
David Roundy <droundy at darcs.net>**20050917133920] 
[remove PatchSequence, which has long been obsolete.
David Roundy <droundy at darcs.net>**20050917133313
 The patch removes remaining vestiges of PatchSequence, which was obsoleted
 long ago by PatchSet (which stores patches in the opposite order (better
 for lazy use) and which has additional information about tags that allows
 us to avoid looking at old history.
] 
[correction for send.sh test
Eric Kow <eric.kow at loria.fr>**20051218095652
 previously failed on (at least) MacOS X 10.3.9
 
] 
[RemoteApply no longer depends on cd, use --repodir instead.
vborja at thehatcher.com**20051110140430
 
 This is a minor change to make darcs no longer use cd
 before applying patches to a remote repository. 
 Now the --repodir option for the apply command is used.
 
 This patch came from a hack to rssh[http://sf.net/projects/rssh]
 to allow using darcs as a restricted command without depending
 on the cd binary.
 http://sf.net/tracker/index.php?func=detail&aid=1351939&group_id=65349&atid=510643
] 
[Support signed push
Esa Ilari Vuokko <ei at vuokko.info>**20051129082159] 
[Fix typo in multirepo pull.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051217201918] 
[Fix merge conflicts.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051217201903] 
[add changelog entry for multirepo pull.
David Roundy <droundy at darcs.net>**20051215122808] 
[add support for pulling from multiple repositories simultaneously.
David Roundy <droundy at darcs.net>**20050919125012] 
[Use POSIX-style option for 'head', instead of obsolescent syntax
Marnix Klooster <marnix.klooster at gmail.com>**20051216111731] 
[Clarify wording for changes that can't be unreverted
me at JonathonMah.com**20051216151120] 
[Set attachment filename when sending a patch bundle by e-mail.
Zachary P. Landau <kapheine at divineinvasion.net>**20051217195009] 
[save long comment file if a test fails during record
Zachary P. Landau <kapheine at divineinvasion.net>**20051216023948] 
[modernize amend-record.pl to be more portable.
Mark Stosberg <mark at summersault.com>**20050402133417
 
 This depends on the new "echo_to_darcs()" function in Test::Darcs
] 
[implementation of --set-scripts-executable on local darcs get
kow at loria.fr**20051210215122
 proposed fix for issue38
 
 The --set-scripts-executable flag is normally evaluated when you apply
 patches.  But when you do a local darcs get, no patches are applied.
 So as a solution, we traverse the directory on local darcs get , and set
 any script files to be executable. 
 
 Note: one flaw in this patch is that it duplicates the definition of
 what a script is -- a file that starts with #! -- in PatchApply.lhs and
 Get.lhs.  It might be good to refactor these somehow.
 
] 
[extended set-scripts-executable test
kow at loria.fr**20051210200615
 added check for local darcs get (issue 38) as well as initial sanity check
  
] 
[Fix merge conflicts.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051214223217] 
[Add --subject flag to 'darcs send'
Joeri van Ruth <jvr at blub.net>**20051205120301] 
[print out the patch name when a test fails.
Zachary P. Landau <kapheine at divineinvasion.net>**20051205055109] 
[Fix mistyped /dev/null, fixes --sendmail-command in Windows
Esa Ilari Vuokko <ei at vuokko.info>**20051129160120] 
[Use \ as path separator for GnuPG in Windows -- makes apply --verify work
Esa Ilari Vuokko <ei at vuokko.info>**20051129164533] 
[make dangers and recommended use of "Amend" clearer in the docs.
Mark Stosberg <mark at summersault.com>**20051213140523
 
 I think it's important to be clearer about when it's appropriate to use 'amend',
 so I moved some notes into the short and mid-length help texts.
] 
[update web page to reflect 1.0.5 as latest stable source.
Tommy Pettersson <ptp at lysator.liu.se>**20051213111137] 
[fix handling of absolute paths containing drive letters
Will <will at glozer.net>**20051208054737
 This fixes issue 47 where paths containing drive letters (i.e. on windows)
 are not treated as absolute paths.
] 
[bump version to 1.0.6pre1
Tommy Pettersson <ptp at lysator.liu.se>**20051208092839] 
[revert maybe_relink and atomic_create to original C code.
David Roundy <droundy at darcs.net>**20051208131213] 
[resolve conflicts between stable and unstable.
David Roundy <droundy at darcs.net>**20051206134818] 
[Merge changes
Ian Lynagh <igloo at earth.li>**20051008225210] 
[fix mkstemp implementation for win32
Peter Strand <peter at zarquon.se>**20050810211303] 
[Implement parts of System.Posix.(IO|Files) for win32
peter at zarquon.se**20050809200433] 
[implement RawMode with library functions instead of ffi
peter at zarquon.se**20050809200148] 
[call hsc2hs without output filename argument
peter at zarquon.se**20050808220444] 
[Rename compat.c to c_compat.c to avoid object filename conflict with Compat.hs
peter at zarquon.se**20050731114011] 
[Move atomic_create/sloppy_atomic_create to Compat
Ian Lynagh <igloo at earth.li>**20050730141703] 
[Split the raw mode stuff out into its own .hsc file. Windows needs some TLC
Ian Lynagh <igloo at earth.li>**20050730134030] 
[Move maybe_relink out of compat.c
Ian Lynagh <igloo at earth.li>**20050730131205] 
[Remove is_symlink
Ian Lynagh <igloo at earth.li>**20050730122255] 
[Move mkstemp to Compat.hs
Ian Lynagh <igloo at earth.li>**20050730020918] 
[Start Compat.hs, and move stdout_is_a_pipe from compat.c
Ian Lynagh <igloo at earth.li>**20050730004829] 
[TAG 1.0.5
Tommy Pettersson <ptp at lysator.liu.se>**20051207112730] 
[add changelog entry
Tommy Pettersson <ptp at lysator.liu.se>**20051207112704] 
[bump version to 1.0.5
Tommy Pettersson <ptp at lysator.liu.se>**20051204161803] 
[TAG 1.0.5rc2
Tommy Pettersson <ptp at lysator.liu.se>**20051204152416] 
[add changelog entries
Tommy Pettersson <ptp at lysator.liu.se>**20051204151312] 
[bump version to 1.0.5rc2
Tommy Pettersson <ptp at lysator.liu.se>**20051204150926] 
[skip tests that fail because of windows or msys
Will <will at glozer.net>**20051204035855] 
[use autoconf to determine which GHC modules to use
Will <will at glozer.net>**20051204022613
 GNUmakefile had the util and text packages hard coded, but the util package
 appears to be missing from the current ghc-6-4-branch.  Instead of hard
 coding packages, use autoconf to include them when necessary.
] 
[use System.Posix.sleep and fix the win32 implementation
Will <will at glozer.net>**20051204002859
 Make Lock.lhs use the sleep function from System.Posix rather than importing
 the C implementation.  Also fix the the win32 implementation to call SleepEx
 rather than sleep from unistd.h which has been deprecated in recent versions
 of mingw.
] 
[Make --help and --list-commands ignore other options
kow at loria.fr**20051204001207
 Proposed implementation of issue34 on the wishlist.
 
 If --help is one of the options you provide, then darcs prints
 the help and does nothing else, no matter what order you put
 the options in.  Similar behaviour for --list-commands.
 
] 
[Make send --ouput - to print to stdout
Esa Ilari Vuokko <ei at vuokko.info>**20051129201708] 
[Support apply --verify for bundles signed by GnuPG in Windows
Esa Ilari Vuokko <ei at vuokko.info>**20051126223238] 
[TAG 1.0.5rc1
Tommy Pettersson <ptp at lysator.liu.se>**20051125191739] 
[add some changelog entries
Tommy Pettersson <ptp at lysator.liu.se>**20051125191633] 
[remove tabs from darcs source file
Tommy Pettersson <ptp at lysator.liu.se>**20051120200002] 
[Added a test for changes --context patch selection.
Daniel Bünzli <daniel.buenzli at epfl.ch>**20051120170157] 
[Emacs ediff-merge example and explanation of --external-merge.
Dave Love <fx at gnu.org>**20051117154924] 
[Fix patch selection for command changes --context
Daniel Bünzli <daniel.buenzli at epfl.ch>**20051117145112] 
[fix bug in amInRepository.
David Roundy <droundy at darcs.net>**20051117131208
 This is the bug that causes issue9.  I'm a bit uncertain about this
 patch--it looks obvious, but this is pretty subtle code.
] 
[fix bug where darcs tries to delete open tempfile on win32
Will <will at glozer.net>**20051117023516] 
[bump version to 1.0.5rc1
Tommy Pettersson <ptp at lysator.liu.se>**20051117111128] 
[Fixed documentation of DARCS_GET_HTTP with curl.
Daniel Bünzli <daniel.buenzli at epfl.ch>**20051117062547] 
[add --dont-edit-description opposite to --edit-description.
David Roundy <droundy at darcs.net>**20051116115632] 
[Flag superfluous input using Test::Builder
Florian Weimer <fw at deneb.enyo.de>**20051112160533
 
 This change makes sure that the test case that triggers this error
 condition fails in a clean way (especially if test planning is not used,
 but it should work with plans as well).
] 
[English and markup fixes.
Dave Love <fx at gnu.org>**20051114224845] 
[update web page to reflect 1.0.4 as latest stable source.
David Roundy <droundy at darcs.net>**20051113210144] 
[TAG 1.0.4
David Roundy <droundy at darcs.net>**20051113134431] 
[bump version number to 1.0.4.
David Roundy <droundy at darcs.net>**20051112170053] 
[fix, move default markings of Query Manifest flags right
Tommy Pettersson <ptp at lysator.liu.se>**20051112185325
 Files are included and dirs are not, by default.
] 
[make determine_release_state.pl work properly for actual releases.
David Roundy <droundy at darcs.net>**20051112171734] 
[add note in docs about bug with DARCS_DONT_ESCAPE_ISPRINT with GHC 6.4
Tommy Pettersson <ptp at lysator.liu.se>**20051112153628] 
[set DARCS_EDITOR in send.sh so darcs won't actually call a real editor.
David Roundy <droundy at darcs.net>**20051112145118] 
[Add BUGS section.
Dave Love <fx at gnu.org>**20051112135212
 The info should also be added to the manual somewhere appropriate.
] 
[Add bug address to help text.
Dave Love <fx at gnu.org>**20051112105924] 
[fix bug in darcs_completion when you match the "." character.
David Roundy <droundy at darcs.net>**20051112140357] 
[add a few more changelog entries.
David Roundy <droundy at darcs.net>**20051111133638] 
[fix bug in code for external conflict resolution.
David Roundy <droundy at darcs.net>**20051111132557] 
[spelling fix in docs.
David Roundy <droundy at darcs.net>**20051111123035] 
[use substrPS for more robust searching for the patch bundle hash.
David Roundy <droundy at darcs.net>**20051110145918] 
[speed up replace by first checking on each line if there might be a match.
David Roundy <droundy at darcs.net>**20051110143047
 The idea is that if there is no substring match, there won't be a token
 match, and we can save huge amounts of time.  On my very simple test
 (replacing if with fi in all of darcs' files), the speedup took us from 30
 seconds to 3 seconds to pull.
] 
[implement FastPackedString.substrPS, which searches for a substring.
David Roundy <droundy at darcs.net>**20051110140311] 
[make pull.pl work on MacOS X using ugly hack.
droundy at abridgegame.org**20051109131645
 For some reason ghc on MacOX X gives an Unknown error 0 where it ought to
 give a "permission denied" error.  This change just makes us recognize this
 and turns the test failure into a TODO check.
] 
[add a couple of changelog entries.
David Roundy <droundy at darcs.net>**20051108132617] 
[make sftp honor the SSH_PORT env variable.
David Roundy <droundy at darcs.net>**20051108131847] 
[Fix spurious failure of the revert test case
Florian Weimer <fw at deneb.enyo.de>**20051107195237
 
 "darcs revert -a" does not require confirmation.
] 
[Check for excess input in test cases
Florian Weimer <fw at deneb.enyo.de>**20051107195045
 
 This change also fixes a latent race condition (by adding a call to
 waitpid): darcs might not have run to completion when echo_to_darcs
 returns.
] 
[During tests, do not exit silently when a write fails
Florian Weimer <fw at deneb.enyo.de>**20051107194913] 
[Avoid putting a wrongly-named directory in dist tarball if the name we wanted already exists in $TMPDIR
Simon McVittie <http://www.pseudorandom.co.uk/>**20051106145821] 
[fix example in doc to work with version 1.0.3 and above
Tommy Pettersson <ptp at lysator.liu.se>**20051106232940
 Discovered and fix suggested by Pavel Pisa.
] 
[update version number to 1.0.4rc3.
David Roundy <droundy at darcs.net>**20051108120613] 
[TAG 1.0.4rc2
David Roundy <droundy at darcs.net>**20051106121631] 
[rewrite hunk application code to reinstate consistency checking.
David Roundy <droundy at darcs.net>**20051105190307
 In the optimization, Ian dropped checking that the "old" state of the file
 matches what the patch thinks.  This works fine until a repository becomes
 corrupt, at which point it makes the corruption harder to pinpoint (and
 makes it able to sneak by longer without being seen).
] 
[mark as TODO a merge bug that was uncovered by another bugfix.
David Roundy <droundy at darcs.net>**20051105184800
 This doesn't look like a pleasant bug, but the fix is a real fix, which I
 want to get into the stable release.
] 
[add test for newlineless patches.
David Roundy <droundy at darcs.net>**20051105171242] 
[fix bug in record --ask-deps
David Roundy <droundy at darcs.net>**20051103014858
 This fixes the "pull_firsts_middles called badly" bug.  It's a bit of an
 ugly hack to work around the Ian's ugly hack that makes:
 $ echo a | darcs record -m foo
 as memory-efficient (and time-efficient, too) as
 $ darcs record --all -m foo
 I do have some ideas how we might be able to avoid some of this
 ugliness...
] 
[add changelog entry for RT#476 bugfix.
David Roundy <droundy at darcs.net>**20051102145144] 
[Implement caching of git sequences in GitRepo.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051031132139] 
[Reorganized command overview in manual.
dbindner at truman.edu**20051029153655] 
[Remove obsolete comment.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051027183940] 
[Use gitCommitDatePS instead of gitCommitDate when choosing Git ancestors.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051027182421] 
[Use PackedStrings when parsing Git authors.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051027182400] 
[Use the new breakFirstPairPS instead of break2PS.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051027180138] 
[Change breakFirstPairPS to return slightly larger strings.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051027180107] 
[properly quote paths so that paths with spaces in them are okay
zooko at zooko.com**20051121195057] 
[fix up debug printouts in cygwin-wrapper.bash
zooko at zooko.com**20051115011712] 
[smoother invocation of cygwin-wrapper.bash -- it detects fully-qualified path to itself by leading /
zooko at zooko.com**20051115011702] 
[Use packed strings when parsing Git commits.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051026005323] 
[Implement break2PS.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051026005236] 
[Choose better ancestors for Git merges.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051025215522
 The common ancestor will be chosen optimally assuming that the Git
 ancestry graph is a semilattice and commit dates are monotonic.  If
 the Git ancestry graph is unstructured, the youngest ancestor will
 be chosen.
 
 If Git dates are not ordered, all bets are off.
 
 The algorithm is at least O(h*w^2), where h is the height of the
 ancestry graph and w is the number of ancestors, but profiling shows
 that this doesn't matter much -- commuting patches is what takes all
 the time.
] 
[Implement gitCommitDate.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051025213832] 
[Clarify docs for building darcs-git.
Juliusz Chroboczek <jch at pps.jussieu.fr>**20051025231344] 
[give better error messages when cloning trees
David Roundy <droundy at darcs.net>**20051020124139
 Also make cloneSubTree ignore nonexistent objects.  I belive this solves
 the issue with bug #562.
] 
[fix html package inclusion in user manual
Andres Loeh <loeh at iai.uni-bonn.de>**20051013200817] 
[improve command-line help for put.
David Roundy <droundy at darcs.net>**20051014115911] 
[add warning to docs about inefficiency of put.
David Roundy <droundy at darcs.net>**20051013124058] 
[add the new put command to list in doc
Tommy Pettersson <ptp at lysator.liu.se>**20051013103518] 
[update documentation on matching ranges
Tommy Pettersson <ptp at lysator.liu.se>**20051012163804
 The matching patch at either end of a range is included in the output.
] 
[document DARCS_DONT_ESCAPE_TRAILING_CR
Tommy Pettersson <ptp at lysator.liu.se>**20051012140458] 
[fix typo
Tommy Pettersson <ptp at lysator.liu.se>**20051010190733] 
[avoid duplicated code for constructing patch bundles in Push.
David Roundy <droundy at darcs.net>**20051011123752] 
[remove *.ko files from the default boring regexps.
David Roundy <droundy at darcs.net>**20051011131624
 They could be Korean translations rather than kernel modules.
] 
[add changelog entry for #544.
David Roundy <droundy at darcs.net>**20051009115143] 
[fix bug #544, caused by outputing changes --context with escaping and coloring.
David Roundy <droundy at darcs.net>**20051009114941] 
[add test for bug #544
David Roundy <droundy at darcs.net>**20051009114914] 
[bump version to 1.0.4rc2
Tommy Pettersson <ptp at lysator.liu.se>**20051010164926] 
[TAG 1.0.4rc1
Tommy Pettersson <ptp at lysator.liu.se>**20051008101653] 
Patch bundle hash:
38637a6932a36948f646d64bc869f3054e751987





More information about the darcs-devel mailing list