Jelmer Vernooij [Sat, 19 Jul 2014 19:00:42 +0000 (21:00 +0200)]
Add porcelain for branch delete/list/create.
Jelmer Vernooij [Sat, 19 Jul 2014 17:56:38 +0000 (19:56 +0200)]
Merge dul-web into dulwich command.
Jelmer Vernooij [Sat, 19 Jul 2014 17:35:08 +0000 (19:35 +0200)]
Use optparse to handle options in dulwich.web.main, support --port and --listen_address arguments.
Jelmer Vernooij [Sat, 19 Jul 2014 17:31:57 +0000 (19:31 +0200)]
Drop handling of python installations without wsgiref, as dulwich no longer supports them.
Jelmer Vernooij [Tue, 15 Jul 2014 21:16:31 +0000 (23:16 +0200)]
Update NEWS, add check for validity of shas passed to GraphWalker.ack.
Mike Edgar [Tue, 15 Jul 2014 19:45:18 +0000 (15:45 -0400)]
Strip newline from final ACKed SHA while fetching packs.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Jelmer Vernooij [Tue, 15 Jul 2014 21:11:16 +0000 (23:11 +0200)]
In dulwich.tests.test_object_store, use real sha lengths.
Jelmer Vernooij [Mon, 14 Jul 2014 20:04:20 +0000 (22:04 +0200)]
Update NEWS.
Robert Brown [Mon, 14 Jul 2014 15:23:51 +0000 (11:23 -0400)]
Limit delta copy length to 64K.
Version 2 packs are not supposed to contain delta copy opcodes that
encode lengths larger than 64K, so do not create them. Version 3 packs
allow longer copy operations, but Dulwich and C Git always create
version 2 packs.
Jelmer Vernooij [Wed, 2 Jul 2014 23:54:37 +0000 (01:54 +0200)]
Add tests for adding empty thin packs to object stores.
Jelmer Vernooij [Wed, 2 Jul 2014 23:48:42 +0000 (01:48 +0200)]
Add extra check for bytes to read in compute_file_sha.
David Ostrovsky [Thu, 19 Jun 2014 14:58:56 +0000 (16:58 +0200)]
Fix typo in method description
David Ostrovsky [Thu, 19 Jun 2014 14:14:06 +0000 (16:14 +0200)]
Remove tags from list of missing documentation
Jelmer Vernooij [Wed, 18 Jun 2014 23:17:39 +0000 (01:17 +0200)]
Merge branch 'with' of git://github.com/garyvdm/dulwich
Jelmer Vernooij [Wed, 18 Jun 2014 23:17:11 +0000 (01:17 +0200)]
Merge branch 'travis' of git://github.com/garyvdm/dulwich
Gary van der Merwe [Wed, 18 Jun 2014 15:15:12 +0000 (17:15 +0200)]
Use stderr.splitlines rather than Popen(universal_newlines=True)
The reason for this is that universal_newlines takes the Popen files out of
bytes mode on python3.
Gary van der Merwe [Wed, 18 Jun 2014 12:08:43 +0000 (14:08 +0200)]
Travis: use system site packages in virtualenv.
Gary van der Merwe [Wed, 4 Jun 2014 10:10:22 +0000 (12:10 +0200)]
Use with statement rather than try: finaly: x.close().
Jelmer Vernooij [Wed, 18 Jun 2014 00:25:10 +0000 (02:25 +0200)]
Install fastimport, mock and gevent from the apt repository so they don't have to be downloaded.
Gary van der Merwe [Tue, 17 Jun 2014 17:25:34 +0000 (19:25 +0200)]
Add all test requirements to setup.py. Use setup.py test on travis.
Gary van der Merwe [Mon, 16 Jun 2014 12:03:42 +0000 (14:03 +0200)]
NEWS entry for windows test fixes.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Gary van der Merwe [Tue, 3 Jun 2014 19:51:42 +0000 (21:51 +0200)]
Get git-daemon to run on windows in test_suite.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Gary van der Merwe [Wed, 4 Jun 2014 13:42:46 +0000 (15:42 +0200)]
Make get_transport_and_path return a local client for windows abs paths.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Gary van der Merwe [Tue, 3 Jun 2014 19:51:02 +0000 (21:51 +0200)]
Correctly handle socket.timeout on windows.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Augie Fackler [Wed, 11 Jun 2014 19:30:00 +0000 (15:30 -0400)]
Makefile: run tests with PYTHONHASHSEED=random
This will make it harder to check in tests that have dependencies on
Python's default hash ordering.
Change-Id: Id9ddba57b2f3a489d28605443510bbebc198c921
Augie Fackler [Wed, 11 Jun 2014 19:30:20 +0000 (15:30 -0400)]
test_porcelain: fix test that is flaky with hash randomization enabled
Change-Id: I297971a9b686374c5ed0c114703d923cb4e685ea
Jelmer Vernooij [Mon, 9 Jun 2014 23:32:00 +0000 (01:32 +0200)]
Add note about using dulwich.diff_tree.
Jelmer Vernooij [Mon, 9 Jun 2014 23:16:07 +0000 (01:16 +0200)]
Add basic 'status' support to bin/dulwich.
Jelmer Vernooij [Mon, 9 Jun 2014 23:15:43 +0000 (01:15 +0200)]
Allow passing in repo to porcelain.status.
Jelmer Vernooij [Mon, 9 Jun 2014 23:02:47 +0000 (01:02 +0200)]
Handle SIGINT signals in dulwich script.
Jelmer Vernooij [Mon, 9 Jun 2014 23:00:30 +0000 (01:00 +0200)]
Add porcelain for receive-pack and upload-pack.
Jelmer Vernooij [Sun, 8 Jun 2014 21:47:41 +0000 (23:47 +0200)]
Start on 0.9.8.
Jelmer Vernooij [Sun, 8 Jun 2014 21:45:02 +0000 (23:45 +0200)]
Release 0.9.7.
Jelmer Vernooij [Sat, 7 Jun 2014 02:10:21 +0000 (04:10 +0200)]
Add porcelain 'daemon'.
Remove dul-daemon script, and replace with 'dulwich daemon'.
Jelmer Vernooij [Sat, 7 Jun 2014 01:54:24 +0000 (03:54 +0200)]
Add some tests for FileSystemBackend and DictBackend.
Jelmer Vernooij [Sat, 7 Jun 2014 01:51:03 +0000 (03:51 +0200)]
Remove --backend option from dulwich.server.main.
Jelmer Vernooij [Sat, 7 Jun 2014 01:38:40 +0000 (03:38 +0200)]
Add default values for outstreams in dulwich.porcelain.
Jelmer Vernooij [Sat, 7 Jun 2014 01:09:43 +0000 (03:09 +0200)]
Update NEWS.
Robert Brown [Fri, 6 Jun 2014 23:11:51 +0000 (19:11 -0400)]
Fix logic for extra adds of identical files.
Additionally, add a test.
Jelmer Vernooij [Sat, 7 Jun 2014 00:06:02 +0000 (02:06 +0200)]
Move the swift backend to dulwich/contrib.
Subcommands for initializing repositories on swift are now available
from the dulwich.contrib.swift module. In the future, we could
expose this functionality as a dulwich-swift script. The main reason
I haven't done this yet is to keep it clear that this script is in
contrib.
Fabien Boucher [Wed, 7 May 2014 16:18:37 +0000 (18:18 +0200)]
Openstack Swift backend support for bare repositories
This patch adds a new SwiftRepo object that inherits of
BaseRepo. The SwiftRepo object knows how to deal with
git repositories stored on an Openstack object storage
Swift.
Regular filesystems are the defacto backend for Git
repositories but suffers of some limitations in term of
availability and scalability. Using Swift as backend, Git
objects are duplicated in multiple replica, that improves a lot
the disponibity of your repositories, avoids the downtime
due to infrastructure maintenance and also avoids the need to
configure backups. Extending a regular filesystem where
your repositories are stored can be risky and can leads to
downtime. With Swift as backend, extending the storage size
is transparent.
For more details have a look to the README.swift file
provided by this patch.
Fabien Boucher [Sat, 7 Jun 2014 00:10:53 +0000 (02:10 +0200)]
Cherry-pick addition of --listen_address/--port argument from dulwich.server from
a3be3876043e6bf14617a5584287de1e099dcabf.
Jelmer Vernooij [Fri, 6 Jun 2014 22:17:13 +0000 (00:17 +0200)]
Disable test_delta_large_object for the moment, since it is slow.
Augie Fackler [Thu, 5 Jun 2014 14:21:03 +0000 (10:21 -0400)]
compat/test_pack: add test that proves large copies in a delta encode correctly
Change-Id: I1a6104344cd960c62273539546cf1581510707f3
Jelmer Vernooij [Fri, 6 Jun 2014 22:04:47 +0000 (00:04 +0200)]
Update NEWS.
Augie Fackler [Wed, 4 Jun 2014 22:20:27 +0000 (18:20 -0400)]
compat/test_pack: add test that proves we correctly handle medium-sized objects
What I mean by "medium" in this case is that they're big enough to
require three bytes worth of length information in a copy operation,
but not big enough to require decomposing a copy operation into
multiple sequential copy operations.
Change-Id: I82c28bf8bae5c5c9ed06b79f7380bcdcf4c501e3
Jelmer Vernooij [Fri, 6 Jun 2014 21:50:58 +0000 (23:50 +0200)]
For the moment, keep deltification disabled - but add a flag to enable it.
Augie Fackler [Tue, 3 Jun 2014 18:55:17 +0000 (14:55 -0400)]
pack.write_pack_objects: when packing, actually build deltas
This results in producing smaller packs. Includes a test that verifies
the resulting pack contains a delta and passes git-verify-pack's
checks.
Change-Id: I63f875cfe412ad727bc1364e3ed0a2b1d7214260
Augie Fackler [Tue, 3 Jun 2014 18:53:02 +0000 (14:53 -0400)]
compat/test_pack: extract parsing of git-verify-pack output
A future test will want to reuse this same logic.
Change-Id: Icd36632331a514479cf8a89cdb0932a9eaf57e08
Augie Fackler [Tue, 3 Jun 2014 19:21:48 +0000 (15:21 -0400)]
pack.write_pack_data: when writing OFS_DELTA entries, write correct offset
The old code wrote the OFS_DELTA offset as the offset from the start
of the pack file, which is
wrong. git.git/Documentation/technical/pack-format.txt states that the
offset is the number of bytes before the current object header that
the base object header starts, which is what we now write.
A future patch will exercise this code by enabling the writing of
deltas during packing.
Change-Id: Ie8431339e4ca3a6cc4e1969b90150b7a6e464d4c
Jelmer Vernooij [Fri, 6 Jun 2014 20:54:46 +0000 (22:54 +0200)]
Add tests for encode functions.
Augie Fackler [Thu, 5 Jun 2014 14:24:46 +0000 (10:24 -0400)]
pack.create_delta: fix copy operations that are larger than 2^24 bytes
This correctly decomposes copies of sequences longer than 2^24 into
smaller copy operations, so that really big blobs in a repository
don't result in corrupt packs.
Note that difflib.SequenceMatcher is worst-case O(n^2) on its input,
so this is very slow. We may want to add an optional parameter to the
packing code that specifies a maximum size to deltify (beyond that
size we'd just include fulltexts in the packfile.)
This will be tested by a follow-up change after we enable
deltification in our pack-building code, as the easiest way to prove
this works correctly involves building a pack and feeding it to
git-verify-pack.
Change-Id: Ic30fa433a2f3b88ddb1aacfe4788dbd47b2e4490
Augie Fackler [Thu, 5 Jun 2014 14:26:53 +0000 (10:26 -0400)]
pack.create_delta: correctly encode copy operations up to 2^24 in size
At present we still produce incorrect results for operations larger
than this size. That defect will be fixed in a follow-up to this
change.
Change-Id: Id63b500ae514caa4339063cde2d6486309a8a056
Augie Fackler [Wed, 4 Jun 2014 20:25:02 +0000 (16:25 -0400)]
pack.create_delta: rename a couple of variables to make the code clearer
Change-Id: I5fed216800445277d6e069e0b20051006330d405
Augie Fackler [Wed, 4 Jun 2014 20:03:15 +0000 (16:03 -0400)]
pack.create_delta: move encode_size to not be a nested function
No functional change, just tidies things up a little bit.
Change-Id: I48810dec9788584812dabe36976de60d24fce498
Augie Fackler [Tue, 3 Jun 2014 15:26:49 +0000 (11:26 -0400)]
pack: enhance docstring on deltify_pack_objects
Change-Id: If208d523b3d7bb4d83f7ded2fec47d5c1052bbf0
Gary van der Merwe [Tue, 3 Jun 2014 17:22:35 +0000 (19:22 +0200)]
Add .gitattributes files to force fast-export data for tests to checkout with lf line endings.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Gary van der Merwe [Thu, 5 Jun 2014 13:04:26 +0000 (15:04 +0200)]
Skip side-band-64k TCP server tests on windows if cgit not >= 1.9.3.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Jelmer Vernooij [Thu, 5 Jun 2014 00:55:47 +0000 (02:55 +0200)]
Merge branch 'octal-numbers' of git://github.com/garyvdm/dulwich
Jelmer Vernooij [Thu, 5 Jun 2014 00:04:17 +0000 (02:04 +0200)]
Add write_error argument to GitClient.archive().
Jelmer Vernooij [Wed, 4 Jun 2014 23:55:48 +0000 (01:55 +0200)]
Skip porcelain archive test when c git is not available.
Jelmer Vernooij [Wed, 4 Jun 2014 23:40:31 +0000 (01:40 +0200)]
Merge branch 'python3-close-files' of git://github.com/garyvdm/dulwich
Gary van der Merwe [Wed, 4 Jun 2014 09:27:48 +0000 (11:27 +0200)]
News entry for file object closing.
Gary van der Merwe [Wed, 4 Jun 2014 09:26:31 +0000 (11:26 +0200)]
Close file objects.
Gary van der Merwe [Wed, 4 Jun 2014 09:02:01 +0000 (11:02 +0200)]
Close files for Pack objects.
Gary van der Merwe [Wed, 4 Jun 2014 07:30:09 +0000 (09:30 +0200)]
Close files for Protocol objects.
Jelmer Vernooij [Wed, 4 Jun 2014 01:12:43 +0000 (03:12 +0200)]
Fix another potential XSS issue, and add test for the previous one.
Gary van der Merwe [Tue, 3 Jun 2014 06:48:50 +0000 (08:48 +0200)]
Fix octal number literals.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Jelmer Vernooij [Tue, 3 Jun 2014 23:49:27 +0000 (01:49 +0200)]
Merge branch 'service-name-xss' of git://github.com/durin42/dulwich
Dave Borowitz [Fri, 26 Oct 2012 20:17:20 +0000 (15:17 -0500)]
web: don't echo back invalid service names
This prevents potential XSS attacks, which could have injected
arbitrary content under a domain by echoing back the unsupported
service name.
Gary van der Merwe [Tue, 3 Jun 2014 08:53:41 +0000 (10:53 +0200)]
Use byte literal in test_pack.py so that module can be imported in py3.
Gary van der Merwe [Tue, 3 Jun 2014 08:52:31 +0000 (10:52 +0200)]
Alter itertools import statement so that 2to3 fixes it.
Gary van der Merwe [Wed, 9 Apr 2014 11:29:47 +0000 (13:29 +0200)]
Use 2to3 in setup.py.
Gary van der Merwe [Tue, 3 Jun 2014 06:48:50 +0000 (08:48 +0200)]
Fix octal number literals.
Jelmer Vernooij [Tue, 3 Jun 2014 01:35:32 +0000 (03:35 +0200)]
Merge branch 'py3k' of git://github.com/Ormod/dulwich
Jelmer Vernooij [Sun, 1 Jun 2014 18:35:33 +0000 (20:35 +0200)]
index: Fix IndexEntry to not include name.
Gary van der Merwe [Sun, 1 Jun 2014 22:20:42 +0000 (00:20 +0200)]
NEWS entry for python3 changes.
Gary van der Merwe [Sun, 1 Jun 2014 21:54:27 +0000 (23:54 +0200)]
Use for loop instead of map.
Gary van der Merwe [Sun, 1 Jun 2014 07:50:44 +0000 (09:50 +0200)]
Stop using more deprecated test methods.
Jelmer Vernooij [Sun, 1 Jun 2014 22:05:46 +0000 (00:05 +0200)]
Add 'make before-push' target.
Jelmer Vernooij [Sun, 1 Jun 2014 21:03:50 +0000 (23:03 +0200)]
Add pep8 make target and fix some pep8ness.
Jelmer Vernooij [Sun, 1 Jun 2014 20:36:19 +0000 (22:36 +0200)]
Add 'flakes' target invoking pyflakes, and fix some pyflakes warnings.
Jelmer Vernooij [Sun, 1 Jun 2014 20:18:26 +0000 (22:18 +0200)]
Remove pylint config.
Fabien Boucher [Sun, 1 Jun 2014 18:14:53 +0000 (20:14 +0200)]
Add dulwich.greenthreads module.
Hannu Valtonen [Sat, 31 May 2014 16:09:48 +0000 (19:09 +0300)]
setup: Make setup.py also work on py3k on OS X
Hannu Valtonen [Sat, 31 May 2014 16:10:21 +0000 (19:10 +0300)]
py3k: These need to return a value since in Py3k they're no longer void
Python 2.x shouldn't care about it though the signature is void there.
As exhibited in error:
dulwich/_diff_tree.c:449:2: error: non-void function 'init_diff_tree'
should return a value [-Wreturn-type]
Hannu Valtonen [Sat, 31 May 2014 16:42:28 +0000 (18:42 +0200)]
py3k: Go through all uses of itertools and make them work on py3k
Hannu Valtonen [Sat, 31 May 2014 14:03:44 +0000 (16:03 +0200)]
tests: Change assertEquals to be py3k compatible assertEqual.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Gary van der Merwe [Sat, 24 May 2014 23:03:03 +0000 (01:03 +0200)]
In Protocol.read_pkt_line, assert the length of the data read matches the length prefix.
Gary van der Merwe [Sun, 18 May 2014 21:42:23 +0000 (23:42 +0200)]
Correctly handle binascii.Error.
Gary van der Merwe [Fri, 18 Apr 2014 12:31:49 +0000 (14:31 +0200)]
Use for loop instead of map when not iterating.
In PY3, map returns an iterator, so the funcion never gets called.
Gary van der Merwe [Sun, 18 May 2014 12:53:07 +0000 (14:53 +0200)]
Use assertEqual rather than assertEquals as the latter is deprecated.
Gary van der Merwe [Wed, 9 Apr 2014 11:10:43 +0000 (13:10 +0200)]
Make next methods available as __next__.
Gary van der Merwe [Thu, 3 Apr 2014 19:18:11 +0000 (21:18 +0200)]
Use int division `//` insted of float division `/`.
Gary van der Merwe [Thu, 3 Apr 2014 18:42:45 +0000 (20:42 +0200)]
Use io module instead of file.
Gary van der Merwe [Sun, 18 May 2014 11:42:22 +0000 (13:42 +0200)]
Fix octal literals.
Michael K [Sat, 10 May 2014 12:44:09 +0000 (14:44 +0200)]
print(): Switch from statement to funtion.
Michael K [Sat, 10 May 2014 10:06:14 +0000 (12:06 +0200)]
Use the print() function in Makefile.
Use the print() function rather than the print statement in the
Makefile.
Jelmer Vernooij [Sat, 24 May 2014 14:46:03 +0000 (16:46 +0200)]
Move logic for creating blog from path to dulwich.index.
Jelmer Vernooij [Sat, 24 May 2014 14:34:25 +0000 (16:34 +0200)]
Add test to make sure unmodified files don't show up in get_unstaged_changes.