Jelmer Vernooij [Sun, 30 May 2010 14:49:14 +0000 (16:49 +0200)]
Merge refactoring of report-status parsing.
Jelmer Vernooij [Sat, 29 May 2010 22:51:56 +0000 (00:51 +0200)]
Merge code cleanups from Dave.
Jelmer Vernooij [Sat, 29 May 2010 22:47:07 +0000 (00:47 +0200)]
Merge sorted_tree improvements.
Dave Borowitz [Tue, 11 May 2010 17:11:29 +0000 (10:11 -0700)]
Fix copyright in dul-web.
As with the rest of the files I authored, this one was authored at work
and so the copyright belongs to my employer.
Change-Id: Ib5405e7f3a4c2d166cdee28e372d76a1caaf7c00
Dave Borowitz [Tue, 11 May 2010 17:10:14 +0000 (10:10 -0700)]
Clean up file headers.
Fixed several typos that had been copied to multiple files. Reworded a
few file summaries. Removed trailing whitespace. Standardized one blank
line after GPL notice.
Change-Id: Id8ba51425dec66ebd71432b49341b464f6b589ac
Dave Borowitz [Tue, 4 May 2010 21:54:05 +0000 (14:54 -0700)]
Fix memory leak in C implementation of sorted_tree_items.
The tuples created by PyTuple_Pack did not have their refcounts
decreased before raising an exception.
Change-Id: Ic7b62c0fb008129d648d2c3bacfbc2d47260229b
Dave Borowitz [Tue, 4 May 2010 21:53:30 +0000 (14:53 -0700)]
Add tests for sorted_tree_items and C implementation.
Change-Id: I653763f8fce86e96d3dd10951a97e558e55003e8
Jelmer Vernooij [Sat, 22 May 2010 20:59:34 +0000 (22:59 +0200)]
release 0.6.0.
Jelmer Vernooij [Sat, 22 May 2010 20:57:59 +0000 (22:57 +0200)]
Add reminder to update NEWS to HACKING.
Jelmer Vernooij [Sat, 22 May 2010 20:57:12 +0000 (22:57 +0200)]
Update NEWS.
Jelmer Vernooij [Sat, 22 May 2010 20:11:18 +0000 (22:11 +0200)]
Merge some extra tests for packed ref deletion with no peeled refs
Jelmer Vernooij [Sat, 22 May 2010 20:07:07 +0000 (22:07 +0200)]
Merge fix for crash deleting a ref.
Jelmer Vernooij [Sat, 22 May 2010 19:55:20 +0000 (21:55 +0200)]
Merge fix for send pack when there is nothing to fetch from Augie.
Augie Fackler [Fri, 21 May 2010 20:59:25 +0000 (15:59 -0500)]
test_repository: test packed ref deletion with no peeled refs
Change-Id: I996f70f8f2433673a5ee74b8b0145035bf4809a2
Augie Fackler [Fri, 21 May 2010 16:34:05 +0000 (11:34 -0500)]
test_repository: clean up whitespace
Change-Id: I5b6406dd16b9e6d2cac2061dc3f0eeb8cebce3ce
Augie Fackler [Thu, 20 May 2010 23:59:27 +0000 (18:59 -0500)]
DiskRefsContainer: don't crash deleting a ref without peeled refs
It's a valid state to have loaded packed refs but not have any peeled
refs. Prior to this change, attempting to delete a tag in that
configuration would cause a traceback when checking 'if name in
self._peeled_refs' since self._peeled_refs was None.
Change-Id: I442d8dd4c97316c6295c9dbdace088feeedddd35
Augie Fackler [Thu, 20 May 2010 23:57:11 +0000 (18:57 -0500)]
repo: clean up whitespace
Augie Fackler [Fri, 14 May 2010 17:47:13 +0000 (12:47 -0500)]
client: fix send_pack when there is nothing to send
Includes a functional test that failed prior to this fix.
Change-Id: I7d95cff21c56a198a836479d8e88a3589e0f196c
Augie Fackler [Fri, 14 May 2010 17:47:12 +0000 (12:47 -0500)]
compat.test_client: test fetching packs
Change-Id: Ib7b271dd30265ea6633fece8c04566165fd8ce84
Jelmer Vernooij [Thu, 20 May 2010 10:28:18 +0000 (12:28 +0200)]
Remove PackData.__del__ as it causes reference loops; use PackData.close
instead.
Augie Fackler [Fri, 14 May 2010 17:47:10 +0000 (12:47 -0500)]
dulwich.client: fix fetch if no progress function is specified
Change-Id: I0627b9bea8d7259984fb6587a877bb027dde7367
Jelmer Vernooij [Mon, 17 May 2010 21:50:35 +0000 (23:50 +0200)]
Merge improvements and extra tests, mainly to deal better with creating non-bare repositories.
Augie Fackler [Fri, 14 May 2010 17:47:03 +0000 (12:47 -0500)]
client: move parsing report-status data into a method
This makes send_pack shorter and less indent-heavy, making a following change
which will require wrapping that code in a try/finally more readable.
Change-Id: I1e3d4d0d79ee61ec0b06dd2c4362c7b113072124
Jelmer Vernooij [Thu, 13 May 2010 09:26:38 +0000 (11:26 +0200)]
Make sure ids get updated when the object changes.
Jelmer Vernooij [Thu, 13 May 2010 09:23:54 +0000 (11:23 +0200)]
Add docstring.
Dave Borowitz [Mon, 3 May 2010 23:44:05 +0000 (16:44 -0700)]
Allow double-staging of files that are deleted in the index.
Change-Id: I92b75d09281d37c2486f77aa52680b8173379016
Dave Borowitz [Mon, 3 May 2010 23:39:10 +0000 (16:39 -0700)]
Move tests that build repos from scratch to their own class.
Change-Id: I7950ed60fedb7098c3db2a63cc1f9ba14d1c1fa2
Dave Borowitz [Mon, 3 May 2010 18:36:56 +0000 (11:36 -0700)]
Implement set_symbolic_ref separately in Disk/DictRefsContainer.
When writing tests, it became clear that the old implementation was broken.
Change-Id: Id98d7af0c92568d1faf555784214d0c1eb298feb
Dave Borowitz [Wed, 28 Apr 2010 17:43:08 +0000 (10:43 -0700)]
Clean up asserts in Tree.
Document the types of arguments to various tree methods instead of
asserting. In particular, these asserts were causing failures in
python2.4, when reading modes from the index resulted in a long rather
than an int. This is harmless, so the asserts were just dropped.
Change-Id: I4a8f8b1527e0fd9571ebdb760e09230f25ac3918
Dave Borowitz [Tue, 4 May 2010 18:20:23 +0000 (11:20 -0700)]
Convert tree mode to int when sorting.
This replaces the exact type check with the more pythonic (and
Python-2.4-compatible) PyNumber_Int, which is equivalent to int().
Change-Id: I142d9cfdf8250d9905a65756a95cf575ea81d377
Dave Borowitz [Wed, 28 Apr 2010 17:41:39 +0000 (10:41 -0700)]
Add non-bare repository tests.
These tests test building non-bare repos from scratch by manually
adding, staging, and committing files. Also fixed various bugs that the
tests exercise.
Change-Id: Ic5458b28f2e5e4534a7855f5be9562f4b59f5839
Dave Borowitz [Wed, 28 Apr 2010 19:36:22 +0000 (12:36 -0700)]
Fix RefsContainer.add_if_new to support dangling symrefs.
Change-Id: I411b60135c3374fefd03701db4bb0dc5d0644164
Dave Borowitz [Wed, 28 Apr 2010 17:34:31 +0000 (10:34 -0700)]
Treat non-existent index files as empty.
Change-Id: Id9738a8fc6d3e53c6ef5b5b8d4144aaa5cd0e075
Dave Borowitz [Sat, 24 Apr 2010 01:53:36 +0000 (18:53 -0700)]
Fix up and test DictRefsContainer.
Refactored RefsContainerTests to put common tests in a common base
class.
Change-Id: Id5bd5a0b88a98bd43404e742972ba111fe5d51f3
Jelmer Vernooij [Tue, 11 May 2010 08:17:54 +0000 (10:17 +0200)]
Cope with missing newlines in patches.
Jelmer Vernooij [Wed, 5 May 2010 10:40:01 +0000 (12:40 +0200)]
Merge cleanups and use of proper per-service capabilities from Augie.
Augie Fackler [Mon, 3 May 2010 03:25:42 +0000 (22:25 -0500)]
test_pack: simpler assertion that passes in more places
Change-Id: I224f251f791f1baf94910cc389797bf08139509a
Tay Ray Chuan [Sun, 2 May 2010 14:10:17 +0000 (16:10 +0200)]
When diffstat is available, dulwich.patch.write_commit_patch() adds the
diffstat followed by a "\n", just before the contents and version info.
The assertion in test_simple() assumes that this is always the case, and
breaks when the diffstat is absent.
Jelmer Vernooij [Sat, 1 May 2010 11:21:15 +0000 (13:21 +0200)]
Implement BaseRepo.__contains__.
Jelmer Vernooij [Fri, 30 Apr 2010 21:18:34 +0000 (23:18 +0200)]
Merge cleanups from Dave.
Dave Borowitz [Tue, 13 Apr 2010 23:29:46 +0000 (16:29 -0700)]
Add repository compat tests.
These tests ensure that dulwich and cgit think that the same repo has
the same set of refs and packed/loose objects.
Change-Id: Ie2f496e846228f3e9e30ff3eba031a3751bd3f62
Dave Borowitz [Fri, 16 Apr 2010 23:05:53 +0000 (16:05 -0700)]
Add SEEK_END to misc.py, since it was added in 2.5.
Change-Id: I9caa891e53423b444063b2801da4043489647703
Dave Borowitz [Tue, 6 Apr 2010 23:29:49 +0000 (16:29 -0700)]
Add a typedef for Py_ssize_t, which is not available in python <2.5.
Based on a suggestion at:
http://mail.python.org/pipermail/python-dev/2006-March/062561.html
Change-Id: I170c17eab8eaf586da1db329c96c015edd59314b
Dave Borowitz [Mon, 5 Apr 2010 23:55:28 +0000 (16:55 -0700)]
Refactor server code to allow custom handler classes.
Also changed to use the same default handler mapping in both TCP
and HTTP servers.
Change-Id: I2fb22768a58ca6f21888593467959bb4176e64e6
Dave Borowitz [Thu, 25 Mar 2010 22:13:36 +0000 (15:13 -0700)]
Clarify make_commit docstring and variable names.
Change-Id: Ifccc31a7bb78adcbb539f360cc62a1e76e7f7943
Dave Borowitz [Mon, 22 Mar 2010 21:59:48 +0000 (14:59 -0700)]
Fix yield in try/finally for python2.4 compatibility.
A yield statement in a try block with a finally clause was not supported
prior to python2.5; the same effect can be achieved with either a bare
except clause or an additional level of nesting.
Change-Id: Ib13a9f492feb69184a48e1013b6461ea643f0ebd
Dave Borowitz [Mon, 22 Mar 2010 21:59:06 +0000 (14:59 -0700)]
Fix "x if y else z" syntax for python2.4.
This syntax is not supported in python2.4, and is trivial to rewrite.
Change-Id: Ibbf46cd0276445c0cfb016c7b9b8e845125b4cad
Dave Borowitz [Mon, 22 Mar 2010 21:40:31 +0000 (14:40 -0700)]
Fix numerous style issues.
This largely fixes whitespace and imports, with a few typo fixes as
well. I only touched code that was previously touched by me, except in
the case of imports, where blame data is less useful.
Change-Id: Ie34063eb5abb3283a5b9b80fc902efca39159a97
Dave Borowitz [Mon, 22 Mar 2010 20:08:58 +0000 (13:08 -0700)]
Add __setitem__ to DictRefsContainer.
BaseRefsContainer assumes __setitem__, but it is not defined in the base
class. This was not a problem previously because DictRefsContainer was
not widely used, but that will change.
Change-Id: Ica0786e63ed2ef301c63671a5f3637048c0338f9
Dave Borowitz [Mon, 22 Mar 2010 16:44:10 +0000 (09:44 -0700)]
Add make_object and make_commit convenience functions to test utils.
These functions reduce typing needed to create objects for testing.
Instead of
test_object = Object()
test_object.attr1 = foo
test_object.attr2 = bar
we can now write
test_object = make_object(Object, attr1=foo, attr2=bar)
This is even more simplified for Commit objects, which have many
attributes, most of which we usually don't care about. Using make_commit
pre-populates attributes with some arbitrary default values, ensuring
commit objects can be serialized.
Updated relevant test code to use the new methods.
Change-Id: Id8266774efb56ef92a3db6cca42d3ec9d81fd2a0
Jelmer Vernooij [Fri, 30 Apr 2010 13:17:04 +0000 (15:17 +0200)]
Allow non-os file-like objects passed to ShaFile.from_file.
Jelmer Vernooij [Fri, 30 Apr 2010 12:52:51 +0000 (14:52 +0200)]
Distinguish between ShaFile.from_file and ShaFile.from_path.
Jelmer Vernooij [Fri, 30 Apr 2010 00:38:39 +0000 (02:38 +0200)]
Pass external object resolve function rather than full object store to ThinPackData constructor.
Jelmer Vernooij [Fri, 30 Apr 2010 00:35:44 +0000 (02:35 +0200)]
Merge Dave, highlights:
* fix thin pack handling
* more object checking
* test cleanups
* code cleanups
Jelmer Vernooij [Tue, 27 Apr 2010 21:21:40 +0000 (23:21 +0200)]
Merge use of constants for OFS/REF delta's.
Jelmer Vernooij [Mon, 26 Apr 2010 23:41:15 +0000 (01:41 +0200)]
Merge fix to write info/exclude rather than info/excludes file.
Travis Cline [Mon, 26 Apr 2010 22:36:41 +0000 (17:36 -0500)]
Fixed filename of initial .git/info/exclude
Augie Fackler [Sun, 25 Apr 2010 18:27:43 +0000 (13:27 -0500)]
client: raise an exception when send_pack fails
Change-Id: I55f6caa6f5c050f5feb556c3c21be18d3e57fcba
Augie Fackler [Mon, 3 May 2010 03:25:42 +0000 (22:25 -0500)]
client: Make SSHSubprocess slightly more forgiving for proto
Change-Id: I0c4ed84e0a261f90738220cf8fcb5c11102cf0a4
Augie Fackler [Sun, 25 Apr 2010 18:27:41 +0000 (13:27 -0500)]
dulwich.errors: cleanup whitespace
Change-Id: I9340c0187bc4bcf78da5aa009957007e99c14557
Augie Fackler [Sun, 25 Apr 2010 18:27:39 +0000 (13:27 -0500)]
client: advertise capabilities correctly per-service
git capabilities are per-service, and we should correctly advertise
capabilities to either upload-pack, receive-pack, or both.
Change-Id: Id6cf579fa698a10a56b43adc055fa6c0d25c6942
Dave Borowitz [Tue, 9 Mar 2010 19:44:14 +0000 (11:44 -0800)]
Do simple pack checking during receive-pack.
Call obj.check() for each object in a pack. This requires passing the
Pack object back from the various commit callbacks.
In the future, we might consider not even moving the pack in until after
has been checked. At the moment, however, the only way to complete a
thin pack is to move it in, so we must do that first. This results in a
garbage pack if the check fails, which would have to be cleaned up by
an eventual GC. However, since only corrupt objects (not packs) can be
written to disk, with the SHA of their corrupt contents, the chances of
actually hitting a corrupt object in practice are very small.
Change-Id: Ib6c6ae2846f77f6a6cd4849b9608c29886258673
Dave Borowitz [Tue, 9 Mar 2010 19:07:18 +0000 (11:07 -0800)]
Clean up index tests.
-Fix trailing whitespace.
-Fix SimpleIndexTestCase capitalization.
-Fix long line.
-Write files into temp dir instead of working directory.
This is the last of the tests that wrote into the working directory.
Change-Id: If8c194f645c93a68ff8493371ea712d7ca2da6dd
Dave Borowitz [Tue, 9 Mar 2010 18:53:09 +0000 (10:53 -0800)]
Clean up pack tests.
-Remove trailing whitespace.
-Fix long lines.
-Hard-code SHAs in their hexlified forms.
-Use '' consistently.
-Always write to temp directories instead of working directory.
-Various indentation and local var refactoring fixes.
-Moved TestHexToSha to test_objects.py, since those functions are from
objects.py.
-While we're in there, also removed trailing whitespace in pack.py.
Change-Id: I19f133e3d867f31fa75e28142593f84807fbc746
Dave Borowitz [Tue, 9 Mar 2010 17:33:04 +0000 (09:33 -0800)]
Clean up object store tests.
-Moved SpecificDiskObjectStoreTests into DiskObjectStoreTests.
-Use pythonic syntax instead of calling __methods__ directory.
-Whitespace cleanup.
Change-Id: I484954ec00e7319c42fdd2d5762af0b38a45b6c3
Dave Borowitz [Tue, 9 Mar 2010 01:22:01 +0000 (17:22 -0800)]
Change check() methods in pack.py to raise rather than return bools.
This makes Pack, PackIndex, and PackData consistent with the rest of
the check() methods recently added. Raising rather than returning makes
factoring out methods easier and exposes more information about the kind
of error that occurred. Moreover, in many cases, the correct default
behavior is probably to die anyway.
Change-Id: I87ab2b1e165c3c9e55727b25a49b1754c0ac4534
Dave Borowitz [Fri, 19 Mar 2010 02:46:25 +0000 (19:46 -0700)]
Hash packed objects without creating ShaFiles.
Recent changes to ShaFile result in parsing files when created from
strings. Since the packed object code was just using ShaFile for
computing a SHA, this change elminates that and hashes file contents
directly.
Change-Id: I70a14104fa896c248189f0839c24d02c48a43c4d
Dave Borowitz [Fri, 19 Mar 2010 01:15:04 +0000 (18:15 -0700)]
Simplify and fix thin pack resolving.
This change cuts down on passing around callbacks to resolve external
references by creating a ThinPackData class that has different semantics
for resolving ref deltas. In all cases except thin packs, PackData
objects have associated pack objects (added as a member variable in
this change), so we can use the index to resolve ref deltas if they
exist. ThinPackDatas, on the other hand, are constructed with an
ObjectStore that is used for external ref resolving. Since we now
make use of the pack index, we only have to deal with postponing shas
in ThinPackData.iterentries. Since this is the only method used for
constructing an index, we still have to be able to handle ref deltas to
objects later in the file.
Modified the compat tests (and one small error in server.py) to
successfully exercise this code, but still missing unit tests.
Change-Id: I244b92c00cbae8e30883c5de4dbf47a9195bd174
Dave Borowitz [Mon, 15 Mar 2010 19:19:32 +0000 (12:19 -0700)]
Replace ref delta/ofs delta magic numbers with constants.
Change-Id: I49dc3fd7897b2748e4b355ee4ae1345a87431733
Jelmer Vernooij [Sat, 17 Apr 2010 22:54:25 +0000 (00:54 +0200)]
Add PackStreamReader.{offset,__len__}, extract PackObjectIterator.
Jelmer Vernooij [Sat, 17 Apr 2010 22:40:37 +0000 (00:40 +0200)]
Move PackStreamReader to dulwich.pack.
Jelmer Vernooij [Sat, 17 Apr 2010 22:35:48 +0000 (00:35 +0200)]
Split generic pack reading code out of PackStreamVerifier.
Jelmer Vernooij [Sat, 17 Apr 2010 22:12:41 +0000 (00:12 +0200)]
Fix ordering of imports.
Jelmer Vernooij [Sat, 17 Apr 2010 22:09:23 +0000 (00:09 +0200)]
Remove unused imports.
Jelmer Vernooij [Fri, 16 Apr 2010 23:46:20 +0000 (01:46 +0200)]
Attempt to close index files properly.
Jelmer Vernooij [Fri, 16 Apr 2010 19:49:17 +0000 (21:49 +0200)]
Merge various pack improvements from Dave.
Dave Borowitz [Mon, 15 Mar 2010 19:19:19 +0000 (12:19 -0700)]
Clean up pack.py.
-Removed trailing whitespace.
-Fixed long lines.
-Various docstring cleanup.
Change-Id: I2ccde03bc56d0f69ba2e3be7e11b3effce2d30ed
Dave Borowitz [Thu, 11 Mar 2010 22:12:18 +0000 (14:12 -0800)]
Make the server decode a pack as it streams.
This, in combination with using recv() instead of read(), makes it so we
never do blocking reads past the end of the pack stream, even when the
client doesn't close the connection.
This is done via a PackStreamVerifier class that reads from a Protocol,
unpacks and counts objects, writes through to a file, and computes the
SHA-1 checksum on the fly. It is necessary because the only way we know
when the pack is supposed to end is by parsing the header and reading
the correct number of objects; otherwise, any further reads from the
client would hang.
Changed the Handler constructors to take a Protocol instead of taking
read and write callbacks separately. Modified some interfaces to utility
functions in pack.py so they can be used by the server-side code.
Change-Id: Id4d11e34658d1f00ad06e45330d0d128b367d8e5
Dave Borowitz [Thu, 11 Mar 2010 22:10:17 +0000 (14:10 -0800)]
Fix read_zlib_chunks to avoid appending junk data.
Adding junk data to the end of data fed to the zlib.decompressobj
creates the potential for zlib errors if a read doesn't fill the entire
buffer. This implementation is cleaner, and only requires the assumption
that there is some data in the read source after the zlib stream. Since
compressed streams in packfiles are always followed by either a new
packed object or the SHA-1 trailer, this assumption should be safe.
Added more robust tests for zlib reading with various buffer sizes.
Change-Id: I813d30997edf3e0c924eceac05675e0eb121b96c
Dave Borowitz [Thu, 11 Mar 2010 17:59:08 +0000 (09:59 -0800)]
Add ReceivableProtocol that supports recv() as well as read().
There are two different ways of dealing with reads beyond the end of a
TCP stream buffer. The usual rfile.read method blocks until exactly the
number of bytes (or EOF) are read. This causes deadlocks when we try to
do buffered reads from the stream. When reading a packfile. the cgit
client leaves the connection open, so EOF is never read.
The other method is to use the socket.recv method, which blocks until
at least one byte is read, then returns whatever is available (up to
bufsize).
ReceivableProtocol supports both ways of dealing with reads past the
end of a stream, which should be used in different contexts. Note that
currently the ReceivePackHandler code still deadlocks, since it doesn't
know when to stop calling recv.
Change-Id: I77bfea72bb09326d9946f64426637296d0389714
Dave Borowitz [Wed, 10 Mar 2010 20:36:51 +0000 (12:36 -0800)]
Strip excess whitespace from capabilities lines.
C git separates client capabilities during send-pack with both \0 and a
space, so we need to handle that as well. This change is significantly
more lenient, but the cgit behavior is not well-documented, so there may
be more corner cases. It's hard to imagine that the extra strip() will
actually result in capabilities lists being parsed incorrectly.
Change-Id: I74b734e146add683b4c1e4ea6b575f458ec25de7
Dave Borowitz [Wed, 10 Mar 2010 18:56:35 +0000 (10:56 -0800)]
Prevent server stack trace when the client request is a no-op.
The exception was not killing the server, just the connection, and was
technically correct since the server is supposed to close the connection
anyway when the client sends no wants. As a result, the compat tests
weren't failing.
A better long-term solution would be to modify the server used during
testing to stop serving if one request generates an exception.
Change-Id: I065463803f38175a50f364b11588929094a28aab
anatoly techtonik [Thu, 15 Apr 2010 17:53:31 +0000 (19:53 +0200)]
fix bug #557585 GitFile breaks dulwich on Windows
fix is to add os.O_BINARY flag as os.open doesn't open files as binary
on this platform by default
Jelmer Vernooij [Thu, 15 Apr 2010 17:51:21 +0000 (19:51 +0200)]
Cope with diffstat not being present in test_patch.
Jelmer Vernooij [Thu, 15 Apr 2010 17:01:08 +0000 (19:01 +0200)]
Add basic test for write_commit_patch.
Jelmer Vernooij [Thu, 15 Apr 2010 15:37:28 +0000 (17:37 +0200)]
Fix fastexport commit exporter, add test.
Jelmer Vernooij [Thu, 15 Apr 2010 14:55:47 +0000 (16:55 +0200)]
Add some basic tests for fastexport.
Dave Borowitz [Mon, 8 Mar 2010 18:47:05 +0000 (10:47 -0800)]
Correctly avoid parsing ShaFiles with fixed SHAs when calling sha().
This required some reworking of the _needs_* and _sha ivars. Improved
check() to force computing the SHA and verifying that it matches the
previously-set value. Added a test for this check.
Change-Id: I6782693d7d7708bc7c28f357c27419d51409b884
Jelmer Vernooij [Thu, 1 Apr 2010 00:34:02 +0000 (02:34 +0200)]
Initial work on a fastexport module.
Jelmer Vernooij [Fri, 16 Apr 2010 17:59:52 +0000 (19:59 +0200)]
Avoid double close when file has already gone away in abort().
Jelmer Vernooij [Fri, 16 Apr 2010 17:49:09 +0000 (19:49 +0200)]
Skip test_dest_opened on non-Windows platforms.
anatoly techtonik [Fri, 16 Apr 2010 17:25:52 +0000 (19:25 +0200)]
fix bug #557585 GitFile breaks dulwich on Windows
fix non-atomic os.rename() behavior on Windows that fails if target exists
added file.fancy_rename() that preserves source file is case rename fails
Jelmer Vernooij [Fri, 16 Apr 2010 01:35:57 +0000 (03:35 +0200)]
Avoid mixing iterators/readline.
Jelmer Vernooij [Fri, 16 Apr 2010 00:49:03 +0000 (02:49 +0200)]
add git_am_patch_split.
anatoly techtonik [Thu, 15 Apr 2010 17:53:31 +0000 (19:53 +0200)]
fix bug #557585 GitFile breaks dulwich on Windows
fix is to add os.O_BINARY flag as os.open doesn't open files as binary
on this platform by default
Jelmer Vernooij [Thu, 15 Apr 2010 17:51:21 +0000 (19:51 +0200)]
Cope with diffstat not being present in test_patch.
Jelmer Vernooij [Thu, 15 Apr 2010 17:01:08 +0000 (19:01 +0200)]
Add basic test for write_commit_patch.
Jelmer Vernooij [Thu, 15 Apr 2010 16:13:25 +0000 (18:13 +0200)]
merge support for generating fastexport streams.
Jelmer Vernooij [Thu, 15 Apr 2010 15:37:28 +0000 (17:37 +0200)]
Fix fastexport commit exporter, add test.
Jelmer Vernooij [Thu, 15 Apr 2010 14:55:47 +0000 (16:55 +0200)]
Add some basic tests for fastexport.