<?xml version="1.0" encoding="UTF-8"?>
<commits type="array">
  <commit>
    <parents type="array">
      <parent>
        <id>2082a82f2ce593b1fcf3f8caede49645ffb597ce</id>
      </parent>
      <parent>
        <id>dbbd56f1031992593f129168006b6c2f8bae13ec</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/a930f33421e05ae92b20fcddf7fa3c32affc6e4a</url>
    <id>a930f33421e05ae92b20fcddf7fa3c32affc6e4a</id>
    <committed-date>2008-11-23T21:10:28-08:00</committed-date>
    <authored-date>2008-11-23T21:10:28-08:00</authored-date>
    <message>Merge branch 'cr/remote-update-v' into pu

* cr/remote-update-v:
  git-remote: add verbose mode to git remote update</message>
    <tree>c7bb69de4f092d219053f89512c8744edca49775</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e974401fd5844012377be6fb219d88e80939b8d9</id>
      </parent>
      <parent>
        <id>887bdbfa76c0ab2515aa5c1b2618430cb6720551</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/2082a82f2ce593b1fcf3f8caede49645ffb597ce</url>
    <id>2082a82f2ce593b1fcf3f8caede49645ffb597ce</id>
    <committed-date>2008-11-23T21:10:25-08:00</committed-date>
    <authored-date>2008-11-23T21:10:25-08:00</authored-date>
    <message>Merge branch 'mv/clone-strbuf' into pu

* mv/clone-strbuf:
  builtin_clone: use strbuf in cmd_clone()
  builtin-clone: use strbuf in clone_local() and copy_or_link_directory()
  builtin-clone: use strbuf in guess_dir_name()
  builtin-clone: fix a memory leak in cmd_clone()</message>
    <tree>2552d9fbb5dffa100723b1a5d8590534ce4aae6d</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>bd1fc0ed1568965c03eafaadd6cc36e64820b455</id>
      </parent>
      <parent>
        <id>777182b39f134acbec39a399c9c676d5b40c71be</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/e974401fd5844012377be6fb219d88e80939b8d9</url>
    <id>e974401fd5844012377be6fb219d88e80939b8d9</id>
    <committed-date>2008-11-23T21:10:15-08:00</committed-date>
    <authored-date>2008-11-23T21:10:15-08:00</authored-date>
    <message>Merge branch 'next' into pu

* next: (30 commits)
  remove the unused files interpolate.c and interpolate.h
  daemon: deglobalize variable 'directory'
  daemon: inline fill_in_extra_table_entries()
  daemon: use strbuf_expand() instead of interpolate()
  merge-recursive: use strbuf_expand() instead of interpolate()
  add strbuf_expand_dict_cb(), a helper for simple cases
  fast-export: use an unsorted string list for extra_refs
  Add new testcase to show fast-export does not always exports all tags
  sha1_file: avoid bogus &quot;file exists&quot; error message
  Fix misleading wording for git-cherry-pick
  Fix t4030-diff-textconv.sh
  Fix handle leak in sha1_file/unpack_objects if there were damaged object data
  compat/mingw.c: Teach mingw_rename() to replace read-only files
  Document levenshtein.c
  Fix deletion of last character in levenshtein distance
  t2104: touch portability fix
  Revert earlier series for &quot;kept packfile fix&quot;
  pack-objects: extend --local to mean ignore non-local loose objects too
  sha1_file.c: split has_loose_object() into local and non-local counterparts
  t7700: demonstrate mishandling of loose objects in an alternate ODB
  ...</message>
    <tree>e01498eb888f61f8aa1ab3609ccc63830d0a43a0</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>262f64fdc21a3203d0b02afe7cf6646ec334618a</id>
      </parent>
      <parent>
        <id>2075ffb58e3a2d46d9e7606010f7f943f2295376</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/777182b39f134acbec39a399c9c676d5b40c71be</url>
    <id>777182b39f134acbec39a399c9c676d5b40c71be</id>
    <committed-date>2008-11-23T21:09:42-08:00</committed-date>
    <authored-date>2008-11-23T21:09:42-08:00</authored-date>
    <message>Merge branch 'mv/fast-export' into next

* mv/fast-export:
  fast-export: use an unsorted string list for extra_refs
  Add new testcase to show fast-export does not always exports all tags</message>
    <tree>d495e9e1e99240c4987542fc488342e152cdc35b</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>fe58f5e954f5cf22e6fb1e659a6edd144d7f9a24</id>
      </parent>
      <parent>
        <id>850fb6ff81a151887043b7edd10681640b0e91c1</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/262f64fdc21a3203d0b02afe7cf6646ec334618a</url>
    <id>262f64fdc21a3203d0b02afe7cf6646ec334618a</id>
    <committed-date>2008-11-23T21:09:02-08:00</committed-date>
    <authored-date>2008-11-23T21:09:02-08:00</authored-date>
    <message>Merge branch 'st/levenshtein' into next

* st/levenshtein:
  Document levenshtein.c
  Fix deletion of last character in levenshtein distance</message>
    <tree>e747c901821c051759a78761e54a612dcc14477f</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>1c0345ea5542b22524baf897cee3676ac82eb909</id>
      </parent>
      <parent>
        <id>632f70178784291bd2974e07fdcd2b8e8608f252</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/fe58f5e954f5cf22e6fb1e659a6edd144d7f9a24</url>
    <id>fe58f5e954f5cf22e6fb1e659a6edd144d7f9a24</id>
    <committed-date>2008-11-23T21:08:58-08:00</committed-date>
    <authored-date>2008-11-23T21:08:58-08:00</authored-date>
    <message>Merge branch 'js/mingw-rename-fix' into next

* js/mingw-rename-fix:
  compat/mingw.c: Teach mingw_rename() to replace read-only files</message>
    <tree>3ac1cfe054b94e422d5cf873e4b79b6a27e21305</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>991d8f0e19d4fd850af85439ae265a5fb03395b4</id>
      </parent>
      <parent>
        <id>05689ce36ba78b474201d097ecc67913238b8d17</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/1c0345ea5542b22524baf897cee3676ac82eb909</url>
    <id>1c0345ea5542b22524baf897cee3676ac82eb909</id>
    <committed-date>2008-11-23T21:08:54-08:00</committed-date>
    <authored-date>2008-11-23T21:08:54-08:00</authored-date>
    <message>Merge branch 'nd/narrow' into next

* nd/narrow:
  t2104: touch portability fix</message>
    <tree>e49814eb85c87b366f1d5fa3f2d2d071d09e628a</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>c8e0b173dac84fe60431deeff28965dc502a304c</id>
      </parent>
      <parent>
        <id>ef3b38b445c183b2a07a6360de62908d312ade0f</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/991d8f0e19d4fd850af85439ae265a5fb03395b4</url>
    <id>991d8f0e19d4fd850af85439ae265a5fb03395b4</id>
    <committed-date>2008-11-23T20:53:52-08:00</committed-date>
    <authored-date>2008-11-23T20:53:52-08:00</authored-date>
    <message>Merge branch 'master' into next

* master:
  sha1_file: avoid bogus &quot;file exists&quot; error message
  Fix misleading wording for git-cherry-pick
  Fix t4030-diff-textconv.sh
  Fix handle leak in sha1_file/unpack_objects if there were damaged object data</message>
    <tree>cf99d8a8608647d417129400b7ae3569f62b081d</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>cbacbf4e55ba53d35567578d8c97fdea6b52e16a</id>
      </parent>
      <parent>
        <id>37a7744ffe31af785571858f7341d588a6c66784</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/ef3b38b445c183b2a07a6360de62908d312ade0f</url>
    <id>ef3b38b445c183b2a07a6360de62908d312ade0f</id>
    <committed-date>2008-11-23T20:36:54-08:00</committed-date>
    <authored-date>2008-11-23T20:36:54-08:00</authored-date>
    <message>Merge branch 'maint'

* maint:
  Fix misleading wording for git-cherry-pick</message>
    <tree>81f3713d6be793cea0cd340237f2d2911d112207</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>4320efe4c10e0ba59007f3551000298f9d69c2ea</id>
      </parent>
      <parent>
        <id>7de1950cb28cee7d6b1e9cdaf22f30ddcdc5bd01</id>
      </parent>
    </parents>
    <author>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/c8e0b173dac84fe60431deeff28965dc502a304c</url>
    <id>c8e0b173dac84fe60431deeff28965dc502a304c</id>
    <committed-date>2008-11-23T20:09:46-08:00</committed-date>
    <authored-date>2008-11-23T20:09:46-08:00</authored-date>
    <message>Merge branch 'rs/strbuf-expand' into next

* rs/strbuf-expand:
  remove the unused files interpolate.c and interpolate.h
  daemon: deglobalize variable 'directory'
  daemon: inline fill_in_extra_table_entries()
  daemon: use strbuf_expand() instead of interpolate()
  merge-recursive: use strbuf_expand() instead of interpolate()
  add strbuf_expand_dict_cb(), a helper for simple cases</message>
    <tree>96187ced2625b6275403468aef1635d75ed5c167</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a47551c3828f81ec88d5b0b3d05887f1a7a4233a</id>
      </parent>
    </parents>
    <author>
      <name>Ren&#233; Scharfe</name>
      <email>rene.scharfe@lsrfire.ath.cx</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/7de1950cb28cee7d6b1e9cdaf22f30ddcdc5bd01</url>
    <id>7de1950cb28cee7d6b1e9cdaf22f30ddcdc5bd01</id>
    <committed-date>2008-11-23T19:56:57-08:00</committed-date>
    <authored-date>2008-11-22T15:16:59-08:00</authored-date>
    <message>remove the unused files interpolate.c and interpolate.h

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>3b5f07a64f65ad5085537fec3e8f214c1efb0b71</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>d433ed0bb49b947e3bb05d6474cf328c75ffa57d</id>
      </parent>
    </parents>
    <author>
      <name>Ren&#233; Scharfe</name>
      <email>rene.scharfe@lsrfire.ath.cx</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/a47551c3828f81ec88d5b0b3d05887f1a7a4233a</url>
    <id>a47551c3828f81ec88d5b0b3d05887f1a7a4233a</id>
    <committed-date>2008-11-23T19:56:36-08:00</committed-date>
    <authored-date>2008-11-22T15:21:52-08:00</authored-date>
    <message>daemon: deglobalize variable 'directory'

Remove the global variable 'directory' and pass it as a parameter of
the two functions that use it instead, (almost) restoring their
interface to how it was before 49ba83fb67d9e447b86953965ce5f949c6a93b81.

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>c5f5c9ca22982993c7c3194debc2869b1d1c7085</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>9d7ca667466b9e1a8160d20cce7c06d09213ab6b</id>
      </parent>
    </parents>
    <author>
      <name>Ren&#233; Scharfe</name>
      <email>rene.scharfe@lsrfire.ath.cx</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/d433ed0bb49b947e3bb05d6474cf328c75ffa57d</url>
    <id>d433ed0bb49b947e3bb05d6474cf328c75ffa57d</id>
    <committed-date>2008-11-23T19:56:26-08:00</committed-date>
    <authored-date>2008-11-22T15:19:09-08:00</authored-date>
    <message>daemon: inline fill_in_extra_table_entries()

Having fill_in_extra_table_entries() as a separate function has no
advantage -- a function with no parameters and return values might as
well be an anonymous block of code.  Its name still refers to the table
of interpolate() which has been removed earlier, so it's better to
inline it at its only call site.

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>4a22b841c565d27ef336049b2adc996941edee5b</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ced621b2c15c3d3dd65dd1d7eec984f8546a4673</id>
      </parent>
    </parents>
    <author>
      <name>Ren&#233; Scharfe</name>
      <email>rene.scharfe@lsrfire.ath.cx</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/9d7ca667466b9e1a8160d20cce7c06d09213ab6b</url>
    <id>9d7ca667466b9e1a8160d20cce7c06d09213ab6b</id>
    <committed-date>2008-11-23T19:56:06-08:00</committed-date>
    <authored-date>2008-11-22T15:15:01-08:00</authored-date>
    <message>daemon: use strbuf_expand() instead of interpolate()

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>39d636bd5390728c40e2f1797bac0ca0661e8aa1</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>9b864e730bda0e028a85387fa568429724582f22</id>
      </parent>
    </parents>
    <author>
      <name>Ren&#233; Scharfe</name>
      <email>rene.scharfe@lsrfire.ath.cx</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/ced621b2c15c3d3dd65dd1d7eec984f8546a4673</url>
    <id>ced621b2c15c3d3dd65dd1d7eec984f8546a4673</id>
    <committed-date>2008-11-23T19:55:52-08:00</committed-date>
    <authored-date>2008-11-22T15:13:00-08:00</authored-date>
    <message>merge-recursive: use strbuf_expand() instead of interpolate()

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>332d3af816ed077b58c81a5beb459655008fb740</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>6fc4a7e546d5e2b0ce545f73b5c1829887db2462</id>
      </parent>
    </parents>
    <author>
      <name>Ren&#233; Scharfe</name>
      <email>rene.scharfe@lsrfire.ath.cx</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/9b864e730bda0e028a85387fa568429724582f22</url>
    <id>9b864e730bda0e028a85387fa568429724582f22</id>
    <committed-date>2008-11-23T19:55:47-08:00</committed-date>
    <authored-date>2008-11-22T15:09:30-08:00</authored-date>
    <message>add strbuf_expand_dict_cb(), a helper for simple cases

The new callback function strbuf_expand_dict_cb() can be used together
with strbuf_expand() if there is only a small number of placeholders
for static replacement texts.  It expects its dictionary as an array of
placeholder+value pairs as context parameter, terminated by an entry
with the placeholder member set to NULL.

The new helper is intended to aid converting the remaining calls of
interpolate().  strbuf_expand() is smaller, more flexible and can be
used to go faster than interpolate(), so it should replace the latter.

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>d7c43e556e2e2d7955a39c83bcb9e5e4d147ef0e</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>283b9532831fc0a86c40ac89e1e713b28dabb241</id>
      </parent>
    </parents>
    <author>
      <name>Johannes Schindelin</name>
      <email>Johannes.Schindelin@gmx.de</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/2075ffb58e3a2d46d9e7606010f7f943f2295376</url>
    <id>2075ffb58e3a2d46d9e7606010f7f943f2295376</id>
    <committed-date>2008-11-23T19:54:51-08:00</committed-date>
    <authored-date>2008-11-23T03:55:54-08:00</authored-date>
    <message>fast-export: use an unsorted string list for extra_refs

The list extra_refs contains tags and the objects referenced by them,
so that they can be handled at the end.  When a tag references a
commit, that commit is added to the list using the same name.

Also, the function handle_tags_and_duplicates() relies on the order
the items were added to extra_refs, so clearly we do not want to
use a sorted list here.

Noticed by Miklos Vajna.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Tested-by: Miklos Vajna &lt;vmiklos@frugalware.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>b672545c29496147ad52e81da41917e75582c107</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3eb91bfc0d2e0c8c67bd4ec62523deb849919dd9</id>
      </parent>
    </parents>
    <author>
      <name>Miklos Vajna</name>
      <email>vmiklos@frugalware.org</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/283b9532831fc0a86c40ac89e1e713b28dabb241</url>
    <id>283b9532831fc0a86c40ac89e1e713b28dabb241</id>
    <committed-date>2008-11-23T19:54:24-08:00</committed-date>
    <authored-date>2008-11-22T10:22:48-08:00</authored-date>
    <message>Add new testcase to show fast-export does not always exports all tags

Signed-off-by: Miklos Vajna &lt;vmiklos@frugalware.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>2a494cca03cc388b724ef6a38b86acc32dd9c379</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>797a51232c6e1741d0eace275cc03ab3c1e0c64d</id>
      </parent>
    </parents>
    <author>
      <name>Miklos Vajna</name>
      <email>vmiklos@frugalware.org</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/887bdbfa76c0ab2515aa5c1b2618430cb6720551</url>
    <id>887bdbfa76c0ab2515aa5c1b2618430cb6720551</id>
    <committed-date>2008-11-23T19:52:22-08:00</committed-date>
    <authored-date>2008-11-20T16:45:01-08:00</authored-date>
    <message>builtin_clone: use strbuf in cmd_clone()

Signed-off-by: Miklos Vajna &lt;vmiklos@frugalware.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>67429d5cd8e1e4326c8ff626941df3d40c282b7d</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ea072035fe3c4f4f503b87a34c2d638e5b78c14b</id>
      </parent>
    </parents>
    <author>
      <name>Miklos Vajna</name>
      <email>vmiklos@frugalware.org</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/797a51232c6e1741d0eace275cc03ab3c1e0c64d</url>
    <id>797a51232c6e1741d0eace275cc03ab3c1e0c64d</id>
    <committed-date>2008-11-23T19:52:22-08:00</committed-date>
    <authored-date>2008-11-20T16:45:00-08:00</authored-date>
    <message>builtin-clone: use strbuf in clone_local() and copy_or_link_directory()

Signed-off-by: Miklos Vajna &lt;vmiklos@frugalware.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>c06219c39c44ac678ed91144842804cf83891bf4</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>476e21bdbcc8780813ac9cb7ad4b3d8fbd34da5f</id>
      </parent>
    </parents>
    <author>
      <name>Miklos Vajna</name>
      <email>vmiklos@frugalware.org</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/ea072035fe3c4f4f503b87a34c2d638e5b78c14b</url>
    <id>ea072035fe3c4f4f503b87a34c2d638e5b78c14b</id>
    <committed-date>2008-11-23T19:52:22-08:00</committed-date>
    <authored-date>2008-11-20T16:44:59-08:00</authored-date>
    <message>builtin-clone: use strbuf in guess_dir_name()

Signed-off-by: Miklos Vajna &lt;vmiklos@frugalware.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>c2df4ad9b9773159b08bb21e1f917d265336723e</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>6fc4a7e546d5e2b0ce545f73b5c1829887db2462</id>
      </parent>
    </parents>
    <author>
      <name>Miklos Vajna</name>
      <email>vmiklos@frugalware.org</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/476e21bdbcc8780813ac9cb7ad4b3d8fbd34da5f</url>
    <id>476e21bdbcc8780813ac9cb7ad4b3d8fbd34da5f</id>
    <committed-date>2008-11-23T19:52:22-08:00</committed-date>
    <authored-date>2008-11-20T16:44:58-08:00</authored-date>
    <message>builtin-clone: fix a memory leak in cmd_clone()

Signed-off-by: Miklos Vajna &lt;vmiklos@frugalware.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>f31979efeb48204a45ef85d92b5fa7ed2eebb9eb</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3b91c30b763d972c5e133507ccc4b749dc2c6df5</id>
      </parent>
    </parents>
    <author>
      <name>Joey Hess</name>
      <email>joey@kitenet.net</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/cbacbf4e55ba53d35567578d8c97fdea6b52e16a</url>
    <id>cbacbf4e55ba53d35567578d8c97fdea6b52e16a</id>
    <committed-date>2008-11-23T19:44:19-08:00</committed-date>
    <authored-date>2008-11-20T10:56:28-08:00</authored-date>
    <message>sha1_file: avoid bogus &quot;file exists&quot; error message

This avoids the following misleading error message:

error: unable to create temporary sha1 filename ./objects/15: File exists

mkstemp can fail for many reasons, one of which, ENOENT, can occur if
the directory for the temp file doesn't exist. create_tmpfile tried to
handle this case by always trying to mkdir the directory, even if it
already existed. This caused errno to be clobbered, so one cannot tell
why mkstemp really failed, and it truncated the buffer to just the
directory name, resulting in the strange error message shown above.

Note that in both occasions that I've seen this failure, it has not been
due to a missing directory, or bad permissions, but some other, unknown
mkstemp failure mode that did not occur when I ran git again. This code
could perhaps be made more robust by retrying mkstemp, in case it was a
transient failure.

Signed-off-by: Joey Hess &lt;joey@kitenet.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>91dec4be3adffad7e665efb5d695ade2a9febd1c</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3eb91bfc0d2e0c8c67bd4ec62523deb849919dd9</id>
      </parent>
    </parents>
    <author>
      <name>Bryan Drewery</name>
      <email>bryan@shatow.net</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/37a7744ffe31af785571858f7341d588a6c66784</url>
    <id>37a7744ffe31af785571858f7341d588a6c66784</id>
    <committed-date>2008-11-23T19:32:39-08:00</committed-date>
    <authored-date>2008-11-19T21:11:42-08:00</authored-date>
    <message>Fix misleading wording for git-cherry-pick

Documentation for -n implies that -x is normally
used, however this is no longer true.

Signed-off-by: Bryan Drewery &lt;bryan@shatow.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>6ac7e3b302b3f1d13ba8b7bac4c535d894aeab41</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>f755bb996ba0540d668104d0e2d4e03bb71b560b</id>
      </parent>
    </parents>
    <author>
      <name>Alex Riesen</name>
      <email>raa.lkml@gmail.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/3b91c30b763d972c5e133507ccc4b749dc2c6df5</url>
    <id>3b91c30b763d972c5e133507ccc4b749dc2c6df5</id>
    <committed-date>2008-11-23T19:32:07-08:00</committed-date>
    <authored-date>2008-11-19T03:14:50-08:00</authored-date>
    <message>Fix t4030-diff-textconv.sh

Avoid passing cygwin pathnames to Perl. Some Perls have problems using them

Signed-off-by: Alex Riesen &lt;raa.lkml@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>8e9e1cbe3f1f406d755b5eaae69f06ec20a175d5</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>6fc4a7e546d5e2b0ce545f73b5c1829887db2462</id>
      </parent>
    </parents>
    <author>
      <name>Alex Riesen</name>
      <email>raa.lkml@gmail.com</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/f755bb996ba0540d668104d0e2d4e03bb71b560b</url>
    <id>f755bb996ba0540d668104d0e2d4e03bb71b560b</id>
    <committed-date>2008-11-23T19:31:05-08:00</committed-date>
    <authored-date>2008-11-19T03:14:05-08:00</authored-date>
    <message>Fix handle leak in sha1_file/unpack_objects if there were damaged object data

In the case of bad packed object CRC, unuse_pack wasn't called after
check_pack_crc which calls use_pack.

Signed-off-by: Alex Riesen &lt;raa.lkml@gmail.com&gt;
Acked-by: Nicolas Pitre &lt;nico@cam.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>ed4e9a04d59f4c960f6c671e8fde9cd34a909ab0</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3eb91bfc0d2e0c8c67bd4ec62523deb849919dd9</id>
      </parent>
    </parents>
    <author>
      <name>Johannes Sixt</name>
      <email>j6t@kdbg.org</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/632f70178784291bd2974e07fdcd2b8e8608f252</url>
    <id>632f70178784291bd2974e07fdcd2b8e8608f252</id>
    <committed-date>2008-11-23T19:26:42-08:00</committed-date>
    <authored-date>2008-11-19T08:25:27-08:00</authored-date>
    <message>compat/mingw.c: Teach mingw_rename() to replace read-only files

On POSIX, rename() can replace files that are not writable. On Windows,
however, read-only files cannot be replaced without additional efforts:
We have to make the destination writable first.

Since the situations where the destination is read-only are rare, we do not
make the destination writable on every invocation, but only if the first
try to rename a file failed with an &quot;access denied&quot; error.

Signed-off-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>f47e781f5332c4cca45dde264a4b700e0b53a2ee</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>13c6bcd49f8151438aa3302b8764c6f8d42441e2</id>
      </parent>
    </parents>
    <author>
      <name>Johannes Schindelin</name>
      <email>Johannes.Schindelin@gmx.de</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/850fb6ff81a151887043b7edd10681640b0e91c1</url>
    <id>850fb6ff81a151887043b7edd10681640b0e91c1</id>
    <committed-date>2008-11-23T19:23:34-08:00</committed-date>
    <authored-date>2008-11-20T05:27:27-08:00</authored-date>
    <message>Document levenshtein.c

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>aa18591bf1e3eff73b68030e00422c1a5d6b1bac</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>6fc4a7e546d5e2b0ce545f73b5c1829887db2462</id>
      </parent>
    </parents>
    <author>
      <name>Samuel Tardieu</name>
      <email>sam@rfc1149.net</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/13c6bcd49f8151438aa3302b8764c6f8d42441e2</url>
    <id>13c6bcd49f8151438aa3302b8764c6f8d42441e2</id>
    <committed-date>2008-11-23T19:23:33-08:00</committed-date>
    <authored-date>2008-11-18T10:53:26-08:00</authored-date>
    <message>Fix deletion of last character in levenshtein distance

Without this change, &quot;git tags&quot; will not suggest &quot;git tag&quot;
(it will only suggest &quot;git status&quot;), and &quot;git statusx&quot; will
not suggest anything.

Signed-off-by: Samuel Tardieu &lt;sam@rfc1149.net&gt;
Acked-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>d9c510e443f19528b17d62127f84c9308d4391d3</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>85cbb129f5511e8d4141e4b36ab51cdefd1a3b60</id>
      </parent>
    </parents>
    <author>
      <name>Jeff King</name>
      <email>peff@peff.net</email>
    </author>
    <url>http://github.com/rtyler/slide-git/commit/05689ce36ba78b474201d097ecc67913238b8d17</url>
    <id>05689ce36ba78b474201d097ecc67913238b8d17</id>
    <committed-date>2008-11-23T19:11:07-08:00</committed-date>
    <authored-date>2008-11-18T03:33:16-08:00</authored-date>
    <message>t2104: touch portability fix

Some versions of touch support the syntax:

  touch [MMDDhhmm[yy]] file...

which makes the first argument an optional time
specification. They can get confused by

  touch 1 2 foo bar

as they assume that '1' is a bogus time specification. This
is broken, for example, with /bin/touch on Solaris 8.

We can work this round by referring to file &quot;1&quot; as &quot;./1&quot;.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;</message>
    <tree>9cfe381efb4e26bbc236e93c06a6bbe5b1bb1fd1</tree>
    <committer>
      <name>Junio C Hamano</name>
      <email>gitster@pobox.com</email>
    </committer>
  </commit>
</commits>
