commit - ccc1a85a49ff69d4e0d7bdefeadb0d6f45948203
commit + 23a986ac9b36c32b5cda8e3fd4aa6a74e0638665
blob - 5978a2d7b2cfd50022ab25839db4ac94c33be44f
blob + 655f17555d0d6375fdd1c5f19dcc1994e54fd185
--- bin/dul-receive-pack
+++ bin/dul-receive-pack
# License, Version 2.0.
#
-from dulwich.porcelain import receive_pack
import os
import sys
+from dulwich.porcelain import receive_pack
+
if len(sys.argv) < 2:
sys.stderr.write("usage: %s <git-dir>\n" % os.path.basename(sys.argv[0]))
sys.exit(1)
blob - bfc74892868d13839cfc6f7223ce5e9754355f71
blob + 547779266014fdba406a5e52646de2fa6b9a447e
--- bin/dul-upload-pack
+++ bin/dul-upload-pack
# License, Version 2.0.
#
-from dulwich.porcelain import upload_pack
import os
import sys
+from dulwich.porcelain import upload_pack
+
if len(sys.argv) < 2:
sys.stderr.write("usage: %s <git-dir>\n" % os.path.basename(sys.argv[0]))
sys.exit(1)
blob - 1c3d298b61b13e78654c33b0ac9d6ce138153c45
blob + 523887ae6953f83486740acd18523de0e187e021
--- bin/dulwich
+++ bin/dulwich
import sys
from dulwich.cli import main
+
sys.exit(main(sys.argv[1:]))
blob - 375e394ca9ad09b2a6f624f61034d780d79fcaab
blob + 5cf1bb3231ba0e5bc5edd0cdf96ff53a2e47906b
--- dulwich/archive.py
+++ dulwich/archive.py
import posixpath
import stat
-import tarfile
import struct
-from os import SEEK_END
-from io import BytesIO
+import tarfile
from contextlib import closing
+from io import BytesIO
+from os import SEEK_END
class ChunkedBytesIO:
blob - 52dd47408048903e9b085e5e14b4c1d20491bf35
blob + c7029ea47d6f6e00f4e92c923f7573c644d92749
--- dulwich/bundle.py
+++ dulwich/bundle.py
"""Bundle format support.
"""
-from typing import Dict, List, Tuple, Optional, Union, Sequence
+from typing import Dict, List, Optional, Sequence, Tuple, Union
+
from .pack import PackData, write_pack_data
blob - 2595a2d28d8420bfdb25de6670bc1d282fc41ca1
blob + 74590c1f702b3e36cf0dc6d94516da09968c4648
--- dulwich/cli.py
+++ dulwich/cli.py
a way to test Dulwich.
"""
-import os
-import sys
-from getopt import getopt
import argparse
import optparse
+import os
import signal
-from typing import Dict, Type, Optional
+import sys
+from getopt import getopt
+from typing import Dict, Optional, Type
from dulwich import porcelain
-from dulwich.client import get_transport_and_path, GitProtocolError
+from dulwich.client import GitProtocolError, get_transport_and_path
from dulwich.errors import ApplyDeltaError
from dulwich.index import Index
from dulwich.objectspec import parse_commit
blob - 4a2a83350706f7cfa28e7581baf9d6a1c97aefbb
blob + 1f14f34b6940dd6ba890efcb0f36201d61590890
--- dulwich/client.py
+++ dulwich/client.py
* include-tag
"""
-from contextlib import closing
-from io import BytesIO, BufferedReader
import logging
import os
import select
import socket
import subprocess
import sys
-from typing import (
- Any,
- Callable,
- Dict,
- List,
- Iterable,
- Iterator,
- Optional,
- Set,
- Tuple,
- IO,
- Union,
- TYPE_CHECKING,
-)
+from contextlib import closing
+from io import BufferedReader, BytesIO
+from typing import (IO, TYPE_CHECKING, Any, Callable, Dict, Iterable, Iterator,
+ List, Optional, Set, Tuple, Union)
+from urllib.parse import quote as urlquote
+from urllib.parse import unquote as urlunquote
+from urllib.parse import urljoin, urlparse, urlunparse, urlunsplit
-from urllib.parse import (
- quote as urlquote,
- unquote as urlunquote,
- urlparse,
- urljoin,
- urlunsplit,
- urlunparse,
-)
-
if TYPE_CHECKING:
import urllib3
import dulwich
-from dulwich.config import get_xdg_config_home_path, Config, apply_instead_of
-from dulwich.errors import (
- GitProtocolError,
- NotGitRepository,
- SendPackError,
-)
-from dulwich.protocol import (
- HangupException,
- _RBUFSIZE,
- agent_string,
- capability_agent,
- extract_capability_names,
- CAPABILITY_AGENT,
- CAPABILITY_DELETE_REFS,
- CAPABILITY_INCLUDE_TAG,
- CAPABILITY_MULTI_ACK,
- CAPABILITY_MULTI_ACK_DETAILED,
- CAPABILITY_OFS_DELTA,
- CAPABILITY_QUIET,
- CAPABILITY_REPORT_STATUS,
- CAPABILITY_SHALLOW,
- CAPABILITY_SYMREF,
- CAPABILITY_SIDE_BAND_64K,
- CAPABILITY_THIN_PACK,
- CAPABILITIES_REF,
- KNOWN_RECEIVE_CAPABILITIES,
- KNOWN_UPLOAD_CAPABILITIES,
- COMMAND_DEEPEN,
- COMMAND_SHALLOW,
- COMMAND_UNSHALLOW,
- COMMAND_DONE,
- COMMAND_HAVE,
- COMMAND_WANT,
- SIDE_BAND_CHANNEL_DATA,
- SIDE_BAND_CHANNEL_PROGRESS,
- SIDE_BAND_CHANNEL_FATAL,
- PktLineParser,
- Protocol,
- TCP_GIT_PORT,
- ZERO_SHA,
- extract_capabilities,
- parse_capability,
- pkt_line,
-)
-from dulwich.pack import (
- write_pack_from_container,
- UnpackedObject,
- PackChunkGenerator,
- PACK_SPOOL_FILE_MAX_SIZE,
-)
-from dulwich.refs import (
- read_info_refs,
- PEELED_TAG_SUFFIX,
- _import_remote_refs,
-)
+from dulwich.config import Config, apply_instead_of, get_xdg_config_home_path
+from dulwich.errors import GitProtocolError, NotGitRepository, SendPackError
+from dulwich.pack import (PACK_SPOOL_FILE_MAX_SIZE, PackChunkGenerator,
+ UnpackedObject, write_pack_from_container)
+from dulwich.protocol import (_RBUFSIZE, CAPABILITIES_REF, CAPABILITY_AGENT,
+ CAPABILITY_DELETE_REFS, CAPABILITY_INCLUDE_TAG,
+ CAPABILITY_MULTI_ACK,
+ CAPABILITY_MULTI_ACK_DETAILED,
+ CAPABILITY_OFS_DELTA, CAPABILITY_QUIET,
+ CAPABILITY_REPORT_STATUS, CAPABILITY_SHALLOW,
+ CAPABILITY_SIDE_BAND_64K, CAPABILITY_SYMREF,
+ CAPABILITY_THIN_PACK, COMMAND_DEEPEN,
+ COMMAND_DONE, COMMAND_HAVE, COMMAND_SHALLOW,
+ COMMAND_UNSHALLOW, COMMAND_WANT,
+ KNOWN_RECEIVE_CAPABILITIES,
+ KNOWN_UPLOAD_CAPABILITIES,
+ SIDE_BAND_CHANNEL_DATA, SIDE_BAND_CHANNEL_FATAL,
+ SIDE_BAND_CHANNEL_PROGRESS, TCP_GIT_PORT,
+ ZERO_SHA, HangupException, PktLineParser,
+ Protocol, agent_string, capability_agent,
+ extract_capabilities, extract_capability_names,
+ parse_capability, pkt_line)
+from dulwich.refs import PEELED_TAG_SUFFIX, _import_remote_refs, read_info_refs
from dulwich.repo import Repo
-
# url2pathname is lazily imported
url2pathname = None
def _win32_peek_avail(handle):
"""Wrapper around PeekNamedPipe to check how many bytes are available."""
- from ctypes import byref, wintypes, windll
+ from ctypes import byref, windll, wintypes
c_avail = wintypes.DWORD()
c_message = wintypes.DWORD()
def clone(self, path, target_path, mkdir: bool = True, bare=False, origin="origin",
checkout=None, branch=None, progress=None, depth=None):
"""Clone a repository."""
- from .refs import _set_origin_head, _set_default_branch, _set_head
+ from .refs import _set_default_branch, _set_head, _set_origin_head
if mkdir:
os.mkdir(target_path)
blob - ed0a493edccb5e0acdc795875c337ea4f82c5035
blob + cc60d9cf5eae4733226126bfbd3b569f34e1f95e
--- dulwich/cloud/gcs.py
+++ dulwich/cloud/gcs.py
import tempfile
from ..object_store import BucketBasedObjectStore
-from ..pack import PackData, Pack, load_pack_index_file, PACK_SPOOL_FILE_MAX_SIZE
+from ..pack import (PACK_SPOOL_FILE_MAX_SIZE, Pack, PackData,
+ load_pack_index_file)
-
# TODO(jelmer): For performance, read ranges?
blob - 88b8d106cea7e6c2a6c7833bb158b11b12a15d2a
blob + 9b92f946642f1a60cd839833f8e878e9650cd0b4
--- dulwich/config.py
+++ dulwich/config.py
import os
import sys
-from typing import (
- BinaryIO,
- Iterable,
- Iterator,
- KeysView,
- List,
- MutableMapping,
- Optional,
- Tuple,
- Union,
- overload,
-)
+from typing import (BinaryIO, Iterable, Iterator, KeysView, List,
+ MutableMapping, Optional, Tuple, Union, overload)
from dulwich.file import GitFile
-
SENTINEL = object()
blob - 9246e6219310868139ba04f314a7f89122fd8bfc
blob + 5c9bfc3fa64353848b2b96a2cafbb9b98152c277
--- dulwich/contrib/diffstat.py
+++ dulwich/contrib/diffstat.py
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
-import sys
import re
-from typing import Optional, Tuple, List
+import sys
+from typing import List, Optional, Tuple
# only needs to detect git style diffs as this is for
# use with dulwich
blob - bb58d75c4c5fb3c566f6650b10e8eab1c9510dc4
blob + 73068f9e4cd253353985fb252533f8c341278440
--- dulwich/contrib/requests_vendor.py
+++ dulwich/contrib/requests_vendor.py
from requests import Session
-from dulwich.client import AbstractHttpGitClient, HTTPUnauthorized, HTTPProxyUnauthorized, default_user_agent_string
-from dulwich.errors import NotGitRepository, GitProtocolError
+from dulwich.client import (AbstractHttpGitClient, HTTPProxyUnauthorized,
+ HTTPUnauthorized, default_user_agent_string)
+from dulwich.errors import GitProtocolError, NotGitRepository
class RequestsHttpGitClient(AbstractHttpGitClient):
blob - e2f9625a256c98145d615e4932a54ebc082a9d2a
blob + 9f961a6968e4bde16f4fd42516659664b9ae4cec
--- dulwich/contrib/swift.py
+++ dulwich/contrib/swift.py
# TODO(fbo): Second attempt to _send() must be notified via real log
# TODO(fbo): More logs for operations
+import json
import os
+import posixpath
import stat
-import zlib
+import sys
import tempfile
-import posixpath
-
import urllib.parse as urlparse
-
-from io import BytesIO
+import zlib
from configparser import ConfigParser
+from io import BytesIO
+
from geventhttpclient import HTTPClient
-from dulwich.greenthreads import (
- GreenThreadsMissingObjectFinder,
-)
-
+from dulwich.greenthreads import GreenThreadsMissingObjectFinder
from dulwich.lru_cache import LRUSizeCache
-from dulwich.objects import (
- Blob,
- Commit,
- Tree,
- Tag,
- S_ISGITLINK,
-)
-from dulwich.object_store import (
- PackBasedObjectStore,
- PACKDIR,
- INFODIR,
-)
-from dulwich.pack import (
- PackData,
- Pack,
- PackIndexer,
- PackStreamCopier,
- write_pack_header,
- compute_file_sha,
- iter_sha1,
- write_pack_index_v2,
- load_pack_index_file,
- read_pack_header,
- _compute_object_size,
- unpack_object,
- write_pack_object,
-)
+from dulwich.object_store import INFODIR, PACKDIR, PackBasedObjectStore
+from dulwich.objects import S_ISGITLINK, Blob, Commit, Tag, Tree
+from dulwich.pack import (Pack, PackData, PackIndexer, PackStreamCopier,
+ _compute_object_size, compute_file_sha, iter_sha1,
+ load_pack_index_file, read_pack_header,
+ unpack_object, write_pack_header,
+ write_pack_index_v2, write_pack_object)
from dulwich.protocol import TCP_GIT_PORT
-from dulwich.refs import (
- InfoRefsContainer,
- read_info_refs,
- write_info_refs,
-)
-from dulwich.repo import (
- BaseRepo,
- OBJECTDIR,
-)
-from dulwich.server import (
- Backend,
- TCPGitServer,
-)
-
-import json
-
-import sys
-
+from dulwich.refs import InfoRefsContainer, read_info_refs, write_info_refs
+from dulwich.repo import OBJECTDIR, BaseRepo
+from dulwich.server import Backend, TCPGitServer
"""
# Configuration file sample
blob - b34ad77de57682ad4bd54e25204ffd0816e4fd66
blob + bec712ffbab3abf209f2ee2b8e8f0db1b9d661e2
--- dulwich/contrib/test_paramiko_vendor.py
+++ dulwich/contrib/test_paramiko_vendor.py
import socket
import threading
-
-from dulwich.tests import TestCase
-
from io import StringIO
from unittest import skipIf
+from dulwich.tests import TestCase
+
try:
import paramiko
except ImportError:
blob - 52b420a942b8dcf7a2b1d26131a6127646af1406
blob + a1bd2813ad5e848d28549b16134d9d0daddc8fa6
--- dulwich/contrib/test_swift.py
+++ dulwich/contrib/test_swift.py
"""Tests for dulwich.contrib.swift."""
+import json
import posixpath
-
-from time import time
from io import BytesIO, StringIO
-
+from time import time
from unittest import skipIf
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.test_object_store import (
- ObjectStoreTests,
-)
-from dulwich.objects import (
- Blob,
- Commit,
- Tree,
- Tag,
- parse_timezone,
-)
-
-import json
+from dulwich.objects import Blob, Commit, Tag, Tree, parse_timezone
+from dulwich.tests import TestCase
+from dulwich.tests.test_object_store import ObjectStoreTests
missing_libs = []
blob - 461f75f80d1fda5589fcb49bcce975b91e6c4ae3
blob + 2d2ca91c6d842fa944ab9d086593e05aaf848200
--- dulwich/contrib/test_swift_smoke.py
+++ dulwich/contrib/test_swift_smoke.py
"""
import os
-import unittest
-import tempfile
import shutil
+import tempfile
+import unittest
import gevent
from gevent import monkey
monkey.patch_all()
-from dulwich import ( # noqa:E402
- server,
- repo,
- index,
- client,
- objects,
-)
+from dulwich import client, index, objects, repo, server # noqa:E402
from dulwich.contrib import swift # noqa:E402
blob - 5156800fe8def62d6cae796f08df3cdc7ee393e5
blob + 6ba691b59e601f082022e4a3280a055b94ed35a2
--- dulwich/diff_tree.py
+++ dulwich/diff_tree.py
"""Utilities for diffing files and trees."""
-from collections import (
- defaultdict,
- namedtuple,
-)
-
+import stat
+from collections import defaultdict, namedtuple
from io import BytesIO
from itertools import chain
-import stat
-from typing import List, Dict, Optional
+from typing import Dict, List, Optional
-from dulwich.objects import (
- S_ISGITLINK,
- TreeEntry,
- Tree,
-)
+from dulwich.objects import S_ISGITLINK, Tree, TreeEntry
-
# TreeChange type constants.
CHANGE_ADD = "add"
CHANGE_MODIFY = "modify"
_count_blocks_py = _count_blocks
try:
# Try to import C versions
- from dulwich._diff_tree import ( # type: ignore
- _is_tree,
- _merge_entries,
- _count_blocks,
- )
+ from dulwich._diff_tree import (_count_blocks, _is_tree, # type: ignore
+ _merge_entries)
except ImportError:
pass
blob - e6fa896832f5911b5d0f0e9465b8e15bd56369f9
blob + 7c16b3ea6b681aa4396cd4dcfaddd593cc6eb43b
--- dulwich/fastexport.py
+++ dulwich/fastexport.py
"""Fast export/import functionality."""
-from dulwich.index import (
- commit_tree,
-)
-from dulwich.objects import (
- Blob,
- Commit,
- Tag,
- ZERO_SHA,
-)
-from dulwich.object_store import (
- iter_tree_contents,
-)
-from fastimport import (
- commands,
- errors as fastimport_errors,
- parser,
- processor,
-)
-
import stat
+from fastimport import commands
+from fastimport import errors as fastimport_errors
+from fastimport import parser, processor
+from dulwich.index import commit_tree
+from dulwich.object_store import iter_tree_contents
+from dulwich.objects import ZERO_SHA, Blob, Commit, Tag
+
+
def split_email(text):
(name, email) = text.rsplit(b" <", 1)
return (name, email.rstrip(b">"))
blob - e15278e7c7a4c3eec5139427fcf5720b06ea3a4a
blob + 1fcbcd6f6a12c7c877d0e599959136323cc32b18
--- dulwich/graph.py
+++ dulwich/graph.py
Implementation of merge-base following the approach of git
"""
-from typing import Deque
from collections import deque
+from typing import Deque
def _find_lcas(lookup_parents, c1, c2s):
blob - 4a56f46ef02872dde132dd716563f9041644c6d1
blob + e416df7a289b69fb12f631168deb92e50ac23217
--- dulwich/greenthreads.py
+++ dulwich/greenthreads.py
import gevent
from gevent import pool
-from dulwich.objects import (
- Commit,
- Tag,
-)
-from dulwich.object_store import (
- MissingObjectFinder,
- _collect_ancestors,
- _collect_filetree_revs,
-)
+from dulwich.object_store import (MissingObjectFinder, _collect_ancestors,
+ _collect_filetree_revs)
+from dulwich.objects import Commit, Tag
def _split_commits_and_tags(obj_store, lst, *, ignore_unknown=False, pool=None):
blob - e4d27648c5863caf186bdb64f40dbd0114b5bdcb
blob + 5ceffc4230f4389d054b772c8ec89939573fb4ec
--- dulwich/hooks.py
+++ dulwich/hooks.py
import os
import subprocess
-from dulwich.errors import (
- HookError,
-)
+from dulwich.errors import HookError
class Hook:
blob - eed363696651eea552493e2f53a2697e71dd74a7
blob + c7c9f616c41f56e0a917484a3f05dbaeaf2ee590
--- dulwich/ignore.py
+++ dulwich/ignore.py
import os.path
import re
-from typing import (
- BinaryIO,
- Iterable,
- List,
- Optional,
- TYPE_CHECKING,
- Dict,
- Union,
-)
+from typing import (TYPE_CHECKING, BinaryIO, Dict, Iterable, List, Optional,
+ Union)
if TYPE_CHECKING:
from dulwich.repo import Repo
-from dulwich.config import get_xdg_config_home_path, Config
+from dulwich.config import Config, get_xdg_config_home_path
def _translate_segment(segment: bytes) -> bytes:
blob - 4b13df9eb1147da3efc5e3906ceffad403b82581
blob + bfd7da39a6eada661c7a6843f9706c06d1bb622a
--- dulwich/index.py
+++ dulwich/index.py
import stat
import struct
import sys
-from typing import (
- Any,
- BinaryIO,
- Callable,
- Dict,
- List,
- Optional,
- Iterable,
- Iterator,
- Tuple,
- Union,
-)
+from typing import (Any, BinaryIO, Callable, Dict, Iterable, Iterator, List,
+ Optional, Tuple, Union)
from dulwich.file import GitFile
-from dulwich.objects import (
- Blob,
- S_IFGITLINK,
- S_ISGITLINK,
- Tree,
- hex_to_sha,
- sha_to_hex,
- ObjectID,
-)
-from dulwich.object_store import iter_tree_contents
-from dulwich.pack import (
- SHA1Reader,
- SHA1Writer,
- ObjectContainer,
-)
-
+from dulwich.object_store import iter_tree_contents
+from dulwich.objects import (S_IFGITLINK, S_ISGITLINK, Blob, ObjectID, Tree,
+ hex_to_sha, sha_to_hex)
+from dulwich.pack import ObjectContainer, SHA1Reader, SHA1Writer
# TODO(jelmer): Switch to dataclass?
IndexEntry = collections.namedtuple(
blob - bc9f914b78a2db4e086ec3a444f4b070ada77045
blob + ea66c655778ea4ef222849dc5ddfceacce215893
--- dulwich/lru_cache.py
+++ dulwich/lru_cache.py
#
"""A simple least-recently-used (LRU) cache."""
-
-from typing import Generic, TypeVar, Optional, Callable, Dict, Iterable, Iterator
+from typing import (Callable, Dict, Generic, Iterable, Iterator, Optional,
+ TypeVar)
_null_key = object()
blob - dcbb8d8601fb565df7a97da77232808dbbe6975e
blob + 8888696eb32096633c2186145ded8b46ab4e66d2
--- dulwich/object_store.py
+++ dulwich/object_store.py
"""Git object store interfaces and implementation."""
-from contextlib import suppress
-from io import BytesIO
import os
import stat
import sys
import warnings
+from contextlib import suppress
+from io import BytesIO
+from typing import (Callable, Dict, Iterable, Iterator, List, Optional,
+ Sequence, Set, Tuple, cast)
-from typing import Callable, Dict, List, Optional, Tuple, Iterator, Set, Iterable, Sequence, cast
-
try:
from typing import Protocol
except ImportError: # python << 3.8
from typing_extensions import Protocol # type: ignore
-from dulwich.errors import (
- NotTreeError,
-)
+from dulwich.errors import NotTreeError
from dulwich.file import GitFile
-from dulwich.objects import (
- ObjectID,
- Commit,
- ShaFile,
- Tag,
- Tree,
- Blob,
- ZERO_SHA,
- hex_to_sha,
- sha_to_hex,
- hex_to_filename,
- S_ISGITLINK,
- TreeEntry,
- object_class,
- valid_hexsha,
-)
-from dulwich.pack import (
- ObjectContainer,
- Pack,
- PackData,
- PackHint,
- PackInflater,
- PackFileDisappeared,
- UnpackedObject,
- extend_pack,
- load_pack_index_file,
- iter_sha1,
- full_unpacked_object,
- generate_unpacked_objects,
- pack_objects_to_data,
- write_pack_index,
- write_pack_data,
- PackIndexer,
- PackStreamCopier,
- PackedObjectContainer,
- PACK_SPOOL_FILE_MAX_SIZE,
-)
+from dulwich.objects import (S_ISGITLINK, ZERO_SHA, Blob, Commit, ObjectID,
+ ShaFile, Tag, Tree, TreeEntry, hex_to_filename,
+ hex_to_sha, object_class, sha_to_hex,
+ valid_hexsha)
+from dulwich.pack import (PACK_SPOOL_FILE_MAX_SIZE, ObjectContainer, Pack,
+ PackData, PackedObjectContainer, PackFileDisappeared,
+ PackHint, PackIndexer, PackInflater,
+ PackStreamCopier, UnpackedObject, extend_pack,
+ full_unpacked_object, generate_unpacked_objects,
+ iter_sha1, load_pack_index_file,
+ pack_objects_to_data, write_pack_data,
+ write_pack_index)
from dulwich.protocol import DEPTH_INFINITE
from dulwich.refs import PEELED_TAG_SUFFIX, Ref
blob - b5909c97bd4f1352371fb741b0fbf9f0d6f09170
blob + 54dad1a28e6e553b9328e1677078fe80bc1a757c
--- dulwich/objects.py
+++ dulwich/objects.py
"""Access to base git objects."""
import binascii
-from io import BytesIO
-from collections import namedtuple
import os
import posixpath
import stat
-from typing import (
- Optional,
- Dict,
- Iterable,
- Union,
- Type,
- Iterator,
- List,
-)
import warnings
import zlib
-from _hashlib import HASH
+from collections import namedtuple
from hashlib import sha1
+from io import BytesIO
+from typing import Dict, Iterable, Iterator, List, Optional, Type, Union
+
+from _hashlib import HASH
-from dulwich.errors import (
- ChecksumMismatch,
- NotBlobError,
- NotCommitError,
- NotTagError,
- NotTreeError,
- ObjectFormatException,
- FileFormatException,
-)
+from dulwich.errors import (ChecksumMismatch, FileFormatException,
+ NotBlobError, NotCommitError, NotTagError,
+ NotTreeError, ObjectFormatException)
from dulwich.file import GitFile
-
ZERO_SHA = b"0" * 40
# Header fields for commits
blob - 044e65809841079ebc98cb8ebe5ec15e50005259
blob + 95e5d1718f15aad4e0d34e272fd7a4eec94a926f
--- dulwich/objectspec.py
+++ dulwich/objectspec.py
"""Object specification."""
-from typing import Union, List, Tuple
+from typing import List, Tuple, Union
def to_bytes(text):
blob - 435565fbe3796931c52644f31208f03a57ee4c69
blob + 6dd8ba484fd5d35b923e5307556454df49fdcab1
--- dulwich/pack.py
+++ dulwich/pack.py
a pointer in to the corresponding packfile.
"""
-from collections import defaultdict
-
import binascii
+from collections import defaultdict, deque
from contextlib import suppress
from io import BytesIO, UnsupportedOperation
-from collections import (
- deque,
-)
+
try:
from cdifflib import CSequenceMatcher as SequenceMatcher
except ModuleNotFoundError:
from difflib import SequenceMatcher
-import struct
-from itertools import chain
-
import os
+import struct
import sys
-from typing import Optional, Callable, Tuple, List, Deque, Union, Iterable, Iterator, Dict, TypeVar, Generic, Sequence, Set, BinaryIO
+from itertools import chain
+from typing import (BinaryIO, Callable, Deque, Dict, Generic, Iterable,
+ Iterator, List, Optional, Sequence, Set, Tuple, TypeVar,
+ Union)
try:
from typing import Protocol
from typing_extensions import Protocol # type: ignore
import warnings
-
+import zlib
from hashlib import sha1
-from os import (
- SEEK_CUR,
- SEEK_END,
-)
+from os import SEEK_CUR, SEEK_END
from struct import unpack_from
-import zlib
try:
import mmap
if sys.platform == "Plan9":
has_mmap = False
-from dulwich.errors import (
- ApplyDeltaError,
- ChecksumMismatch,
-)
+from dulwich.errors import ApplyDeltaError, ChecksumMismatch
from dulwich.file import GitFile
-from dulwich.lru_cache import (
- LRUSizeCache,
-)
-from dulwich.objects import (
- ShaFile,
- ObjectID,
- hex_to_sha,
- sha_to_hex,
- object_header,
-)
-
+from dulwich.lru_cache import LRUSizeCache
+from dulwich.objects import (ObjectID, ShaFile, hex_to_sha, object_header,
+ sha_to_hex)
OFS_DELTA = 6
REF_DELTA = 7
try:
- from dulwich._pack import ( # type: ignore # noqa: F811
- apply_delta,
- bisect_find_sha,
- )
+ from dulwich._pack import (apply_delta, # type: ignore # noqa: F811
+ bisect_find_sha)
except ImportError:
pass
blob - 3652e33424e0937c1a3cb683458755689c7d5951
blob + 37555616de107718f1c1c5ac6343ca4015480f55
--- dulwich/patch.py
+++ dulwich/patch.py
on.
"""
-from difflib import SequenceMatcher
import email.parser
import time
-from typing import Union, TextIO, BinaryIO, Optional
+from difflib import SequenceMatcher
+from typing import BinaryIO, Optional, TextIO, Union
-from dulwich.objects import (
- Blob,
- Commit,
- S_ISGITLINK,
-)
+from dulwich.objects import S_ISGITLINK, Blob, Commit
from dulwich.pack import ObjectContainer
FIRST_FEW_BYTES = 8000
blob - daf6b6297fe85abdfeab3a58f4592559aa8b2514
blob + b5074b74b48c50818bb5642b4a1dde101ea94cc6
--- dulwich/porcelain.py
+++ dulwich/porcelain.py
Functions should generally accept both unicode strings and bytestrings
"""
-from collections import namedtuple
-from contextlib import (
- closing,
- contextmanager,
-)
-from io import BytesIO, RawIOBase
import datetime
import os
-from pathlib import Path
import posixpath
import stat
import sys
import time
-from typing import (
- Optional,
- Tuple,
- Union,
-)
+from collections import namedtuple
+from contextlib import closing, contextmanager
+from io import BytesIO, RawIOBase
+from pathlib import Path
+from typing import Optional, Tuple, Union
-from dulwich.archive import (
- tar_stream,
-)
-from dulwich.client import (
- get_transport_and_path,
-)
-from dulwich.config import (
- Config,
- ConfigFile,
- StackedConfig,
- read_submodules,
-)
-from dulwich.diff_tree import (
- CHANGE_ADD,
- CHANGE_DELETE,
- CHANGE_MODIFY,
- CHANGE_RENAME,
- CHANGE_COPY,
- RENAME_CHANGE_TYPES,
-)
-from dulwich.errors import (
- SendPackError,
-)
-from dulwich.graph import (
- can_fast_forward,
-)
+from dulwich.archive import tar_stream
+from dulwich.client import get_transport_and_path
+from dulwich.config import Config, ConfigFile, StackedConfig, read_submodules
+from dulwich.diff_tree import (CHANGE_ADD, CHANGE_COPY, CHANGE_DELETE,
+ CHANGE_MODIFY, CHANGE_RENAME,
+ RENAME_CHANGE_TYPES)
+from dulwich.errors import SendPackError
+from dulwich.graph import can_fast_forward
from dulwich.ignore import IgnoreFilterManager
-from dulwich.index import (
- blob_from_path_and_stat,
- get_unstaged_changes,
- build_file_from_blob,
- _fs_to_tree_path,
-)
-from dulwich.object_store import (
- tree_lookup_path,
-)
-from dulwich.objects import (
- Commit,
- Tag,
- format_timezone,
- parse_timezone,
- pretty_format_tree_entry,
-)
-from dulwich.objectspec import (
- parse_commit,
- parse_object,
- parse_ref,
- parse_reftuples,
- parse_tree,
-)
-from dulwich.pack import (
- write_pack_index,
- write_pack_from_container,
-)
-from dulwich.patch import write_tree_diff
-from dulwich.protocol import (
- Protocol,
- ZERO_SHA,
-)
-from dulwich.refs import (
- LOCAL_BRANCH_PREFIX,
- LOCAL_TAG_PREFIX,
- _import_remote_refs,
-)
+from dulwich.index import (_fs_to_tree_path, blob_from_path_and_stat,
+ build_file_from_blob, get_unstaged_changes)
+from dulwich.object_store import tree_lookup_path
+from dulwich.objects import (Commit, Tag, format_timezone, parse_timezone,
+ pretty_format_tree_entry)
+from dulwich.objectspec import (parse_commit, parse_object, parse_ref,
+ parse_reftuples, parse_tree)
+from dulwich.pack import write_pack_from_container, write_pack_index
+from dulwich.patch import write_tree_diff
+from dulwich.protocol import ZERO_SHA, Protocol
+from dulwich.refs import (LOCAL_BRANCH_PREFIX, LOCAL_TAG_PREFIX,
+ _import_remote_refs)
from dulwich.repo import BaseRepo, Repo
-from dulwich.server import (
- FileSystemBackend,
- TCPGitServer,
- ReceivePackHandler,
- UploadPackHandler,
- update_server_info as server_update_server_info,
-)
-
+from dulwich.server import (FileSystemBackend, ReceivePackHandler,
+ TCPGitServer, UploadPackHandler)
+from dulwich.server import update_server_info as server_update_server_info
# Module level tuple definition for status output
GitStatus = namedtuple("GitStatus", "staged unstaged untracked")
address: Optional address to listen on (defaults to ::)
port: Optional port to listen on (defaults to 80)
"""
- from dulwich.web import (
- make_wsgi_chain,
- make_server,
- WSGIRequestHandlerLogger,
- WSGIServerLogger,
- )
+ from dulwich.web import (WSGIRequestHandlerLogger, WSGIServerLogger,
+ make_server, make_wsgi_chain)
backend = FileSystemBackend(path)
app = make_wsgi_chain(backend)
blob - 2013a0b14437c3e7d8e8e27adef3b40793520923
blob + 82d7c93ba44596757c0cfb1bb5c5e26dae3d0375
--- dulwich/protocol.py
+++ dulwich/protocol.py
"""Generic functions for talking the git smart server protocol."""
from io import BytesIO
-from os import (
- SEEK_END,
-)
+from os import SEEK_END
import dulwich
-from dulwich.errors import (
- HangupException,
- GitProtocolError,
-)
+from dulwich.errors import GitProtocolError, HangupException
TCP_GIT_PORT = 9418
blob - 0574ddc3db51423099b3a32dedf6b59e9a810170
blob + edab42b7aa96cecf5ccd5f3493de76d3fceee3b9
--- dulwich/reflog.py
+++ dulwich/reflog.py
import collections
-from dulwich.objects import (
- format_timezone,
- parse_timezone,
- ZERO_SHA,
-)
+from dulwich.objects import ZERO_SHA, format_timezone, parse_timezone
Entry = collections.namedtuple(
"Entry",
blob - 1fc178af8699bbec8acab64786a05c1d2d6e3244
blob + e424674780d730e402427d7999c92765528b20e3
--- dulwich/refs.py
+++ dulwich/refs.py
"""Ref handling.
"""
-from contextlib import suppress
import os
-from typing import Dict, Optional
import warnings
+from contextlib import suppress
+from typing import Dict, Optional
-from dulwich.errors import (
- PackedRefsException,
- RefFormatError,
-)
-from dulwich.objects import (
- git_line,
- valid_hexsha,
- ZERO_SHA,
- Tag,
- ObjectID,
-)
+from dulwich.errors import PackedRefsException, RefFormatError
+from dulwich.file import GitFile, ensure_dir_exists
+from dulwich.objects import ZERO_SHA, ObjectID, Tag, git_line, valid_hexsha
from dulwich.pack import ObjectContainer
-from dulwich.file import (
- GitFile,
- ensure_dir_exists,
-)
Ref = bytes
blob - d331e04e8141219df0f6cf6c4311443114a1429a
blob + a0839bdb675fbf5e928aa5ed3675169d4631af0c
--- dulwich/repo.py
+++ dulwich/repo.py
"""
-from io import BytesIO
import os
-import sys
import stat
+import sys
import time
-from typing import (
- Optional,
- BinaryIO,
- Callable,
- Tuple,
- TYPE_CHECKING,
- FrozenSet,
- List,
- Dict,
- Union,
- Iterable,
- Set
-)
import warnings
+from io import BytesIO
+from typing import (TYPE_CHECKING, BinaryIO, Callable, Dict, FrozenSet,
+ Iterable, List, Optional, Set, Tuple, Union)
-
if TYPE_CHECKING:
# There are no circular imports here, but we try to defer imports as long
# as possible to reduce start-up time for anything that doesn't need
from dulwich.config import StackedConfig, ConfigFile
from dulwich.index import Index
-from dulwich.errors import (
- NoIndexPresent,
- NotBlobError,
- NotCommitError,
- NotGitRepository,
- NotTreeError,
- NotTagError,
- CommitError,
- RefFormatError,
- HookError,
-)
-from dulwich.file import (
- GitFile,
-)
-from dulwich.object_store import (
- DiskObjectStore,
- MemoryObjectStore,
- MissingObjectFinder,
- PackBasedObjectStore,
- ObjectStoreGraphWalker,
- peel_sha,
-)
-from dulwich.objects import (
- check_hexsha,
- valid_hexsha,
- Blob,
- Commit,
- ShaFile,
- Tag,
- Tree,
- ObjectID,
-)
-from dulwich.pack import (
- generate_unpacked_objects
-)
-
-from dulwich.hooks import (
- Hook,
- PreCommitShellHook,
- PostCommitShellHook,
- CommitMsgShellHook,
- PostReceiveShellHook,
-)
-
+from dulwich.errors import (CommitError, HookError, NoIndexPresent,
+ NotBlobError, NotCommitError, NotGitRepository,
+ NotTagError, NotTreeError, RefFormatError)
+from dulwich.file import GitFile
+from dulwich.hooks import (CommitMsgShellHook, Hook, PostCommitShellHook,
+ PostReceiveShellHook, PreCommitShellHook)
from dulwich.line_ending import BlobNormalizer, TreeBlobNormalizer
-
-from dulwich.refs import ( # noqa: F401
- Ref,
- ANNOTATED_TAG_SUFFIX,
- LOCAL_BRANCH_PREFIX,
- LOCAL_TAG_PREFIX,
- serialize_refs,
- check_ref_format,
- RefsContainer,
- DictRefsContainer,
- InfoRefsContainer,
- DiskRefsContainer,
- read_packed_refs,
- read_packed_refs_with_peeled,
- write_packed_refs,
- SYMREF,
- _set_default_branch,
- _set_head,
- _set_origin_head,
-)
-
+from dulwich.object_store import (DiskObjectStore, MemoryObjectStore,
+ MissingObjectFinder, ObjectStoreGraphWalker,
+ PackBasedObjectStore, peel_sha)
+from dulwich.objects import (Blob, Commit, ObjectID, ShaFile, Tag, Tree,
+ check_hexsha, valid_hexsha)
+from dulwich.pack import generate_unpacked_objects
+from dulwich.refs import (ANNOTATED_TAG_SUFFIX, # noqa: F401
+ LOCAL_BRANCH_PREFIX, LOCAL_TAG_PREFIX, SYMREF,
+ DictRefsContainer, DiskRefsContainer,
+ InfoRefsContainer, Ref, RefsContainer,
+ _set_default_branch, _set_head, _set_origin_head,
+ check_ref_format, read_packed_refs,
+ read_packed_refs_with_peeled, serialize_refs,
+ write_packed_refs)
CONTROLDIR = ".git"
OBJECTDIR = "objects"
Returns: `Config` instance for this repository
"""
- from dulwich.config import StackedConfig, ConfigFile
+ from dulwich.config import ConfigFile, StackedConfig
local_config = self.get_config()
backends: List[ConfigFile] = [local_config]
fs_paths = [fs_paths]
fs_paths = list(fs_paths)
- from dulwich.index import (
- blob_from_path_and_stat,
- index_entry_from_stat,
- index_entry_from_directory,
- _fs_to_tree_path,
- )
+ from dulwich.index import (_fs_to_tree_path, blob_from_path_and_stat,
+ index_entry_from_directory,
+ index_entry_from_stat)
index = self.open_index()
blob_normalizer = self.get_blob_normalizer()
fs_paths: a list of files to unstage,
relative to the repository path
"""
- from dulwich.index import (
- IndexEntry,
- _fs_to_tree_path,
- )
+ from dulwich.index import IndexEntry, _fs_to_tree_path
index = self.open_index()
try:
Args:
tree: Tree SHA to reset to, None for current HEAD tree.
"""
- from dulwich.index import (
- build_index_from_tree,
- validate_path_element_default,
- validate_path_element_ntfs,
- )
+ from dulwich.index import (build_index_from_tree,
+ validate_path_element_default,
+ validate_path_element_ntfs)
if tree is None:
head = self[b"HEAD"]
blob - b97d33048f27a3d47af4b0d3edae818b1534211e
blob + 8831e16b98652b5f86e2eb94f2d4be432aa0e2b7
--- dulwich/server.py
+++ dulwich/server.py
"""
import collections
-from functools import partial
import os
import socket
import sys
import time
-from typing import List, Tuple, Dict, Optional, Iterable, Set
+from functools import partial
+from typing import Dict, Iterable, List, Optional, Set, Tuple
try:
from typing import Protocol as TypingProtocol
except ImportError: # python < 3.8
from typing_extensions import Protocol as TypingProtocol # type: ignore
+import socketserver
import zlib
-import socketserver
-
-from dulwich.archive import tar_stream
-from dulwich.errors import (
- ApplyDeltaError,
- ChecksumMismatch,
- GitProtocolError,
- HookError,
- NotGitRepository,
- UnexpectedCommandError,
- ObjectFormatException,
-)
from dulwich import log_utils
-from dulwich.objects import (
- Commit,
- ObjectID,
- valid_hexsha,
-)
-from dulwich.object_store import (
- peel_sha,
-)
-from dulwich.pack import (
- write_pack_from_container,
- ObjectContainer,
- PackedObjectContainer,
-)
-from dulwich.protocol import (
- BufferedPktLineWriter,
- capability_agent,
- CAPABILITIES_REF,
- CAPABILITY_AGENT,
- CAPABILITY_DELETE_REFS,
- CAPABILITY_INCLUDE_TAG,
- CAPABILITY_MULTI_ACK_DETAILED,
- CAPABILITY_MULTI_ACK,
- CAPABILITY_NO_DONE,
- CAPABILITY_NO_PROGRESS,
- CAPABILITY_OFS_DELTA,
- CAPABILITY_QUIET,
- CAPABILITY_REPORT_STATUS,
- CAPABILITY_SHALLOW,
- CAPABILITY_SIDE_BAND_64K,
- CAPABILITY_THIN_PACK,
- COMMAND_DEEPEN,
- COMMAND_DONE,
- COMMAND_HAVE,
- COMMAND_SHALLOW,
- COMMAND_UNSHALLOW,
- COMMAND_WANT,
- MULTI_ACK,
- MULTI_ACK_DETAILED,
- Protocol,
- ReceivableProtocol,
- SIDE_BAND_CHANNEL_DATA,
- SIDE_BAND_CHANNEL_PROGRESS,
- SIDE_BAND_CHANNEL_FATAL,
- SINGLE_ACK,
- TCP_GIT_PORT,
- ZERO_SHA,
- ack_type,
- extract_capabilities,
- extract_want_line_capabilities,
- symref_capabilities,
- format_ref_line,
- format_shallow_line,
- format_unshallow_line,
- format_ack_line,
- NAK_LINE,
-)
-from dulwich.refs import (
- RefsContainer,
- PEELED_TAG_SUFFIX,
- write_info_refs,
-)
-from dulwich.repo import (
- BaseRepo,
- Repo,
-)
-
+from dulwich.archive import tar_stream
+from dulwich.errors import (ApplyDeltaError, ChecksumMismatch,
+ GitProtocolError, HookError, NotGitRepository,
+ ObjectFormatException, UnexpectedCommandError)
+from dulwich.object_store import peel_sha
+from dulwich.objects import Commit, ObjectID, valid_hexsha
+from dulwich.pack import (ObjectContainer, PackedObjectContainer,
+ write_pack_from_container)
+from dulwich.protocol import (CAPABILITIES_REF, CAPABILITY_AGENT,
+ CAPABILITY_DELETE_REFS, CAPABILITY_INCLUDE_TAG,
+ CAPABILITY_MULTI_ACK,
+ CAPABILITY_MULTI_ACK_DETAILED,
+ CAPABILITY_NO_DONE, CAPABILITY_NO_PROGRESS,
+ CAPABILITY_OFS_DELTA, CAPABILITY_QUIET,
+ CAPABILITY_REPORT_STATUS, CAPABILITY_SHALLOW,
+ CAPABILITY_SIDE_BAND_64K, CAPABILITY_THIN_PACK,
+ COMMAND_DEEPEN, COMMAND_DONE, COMMAND_HAVE,
+ COMMAND_SHALLOW, COMMAND_UNSHALLOW, COMMAND_WANT,
+ MULTI_ACK, MULTI_ACK_DETAILED, NAK_LINE,
+ SIDE_BAND_CHANNEL_DATA, SIDE_BAND_CHANNEL_FATAL,
+ SIDE_BAND_CHANNEL_PROGRESS, SINGLE_ACK,
+ TCP_GIT_PORT, ZERO_SHA, BufferedPktLineWriter,
+ Protocol, ReceivableProtocol, ack_type,
+ capability_agent, extract_capabilities,
+ extract_want_line_capabilities, format_ack_line,
+ format_ref_line, format_shallow_line,
+ format_unshallow_line, symref_capabilities)
+from dulwich.refs import PEELED_TAG_SUFFIX, RefsContainer, write_info_refs
+from dulwich.repo import BaseRepo, Repo
logger = log_utils.getLogger(__name__)
blob - 2b0c3697e479f8115e023ae3e58bbf6014660bad
blob + e0d5af799a514d6454f59cb6a1455a78c0757a09
--- dulwich/stash.py
+++ dulwich/stash.py
import os
from dulwich.file import GitFile
-from dulwich.index import (
- commit_tree,
- iter_fresh_objects,
-)
+from dulwich.index import commit_tree, iter_fresh_objects
from dulwich.reflog import drop_reflog_entry, read_reflog
-
DEFAULT_STASH_REF = b"refs/stash"
blob - 5bc44c27cdd444437b8d31b0fba3b9b086b65ed5
blob + c7137ac2d74dc01b86f461fadcdd58f59498f5c9
--- dulwich/submodule.py
+++ dulwich/submodule.py
"""
from typing import Iterator, Tuple
+
from .object_store import iter_tree_contents
from .objects import S_ISGITLINK
blob - 0adbc6049f4b6b1ce414eb14daa963dc75b30697
blob + 6a9bbcf54b7d834597c5bda5a22f1446566cfb2c
--- dulwich/tests/__init__.py
+++ dulwich/tests/__init__.py
import subprocess
import sys
import tempfile
-
-
# If Python itself provides an exception, use that
import unittest
-from unittest import ( # noqa: F401
- SkipTest,
- TestCase as _TestCase,
- skipIf,
- expectedFailure,
-)
+from unittest import SkipTest
+from unittest import TestCase as _TestCase # noqa: F401
+from unittest import expectedFailure, skipIf
class TestCase(_TestCase):
import dulwich.client
import dulwich.config
import dulwich.index
- import dulwich.reflog
- import dulwich.repo
- import dulwich.server
import dulwich.patch # noqa: F401
tutorial = [
"remote",
"conclusion",
]
- tutorial_files = ["../../docs/tutorial/%s.txt" % name for name in tutorial]
+ tutorial_files = [f"../../docs/tutorial/{name}.txt" for name in tutorial]
def setup(test):
test.__old_cwd = os.getcwd()
blob - a88d7ebed8003ef93f22f33ffc1a848f440d7cc3
blob + a7eb9576771665337751c93f5a65f35b8c36deec
--- dulwich/tests/compat/server_utils.py
+++ dulwich/tests/compat/server_utils.py
import socket
import tempfile
-from dulwich.repo import Repo
from dulwich.objects import hex_to_sha
-from dulwich.protocol import (
- CAPABILITY_SIDE_BAND_64K,
-)
-from dulwich.server import (
- ReceivePackHandler,
-)
-from dulwich.tests.utils import (
- tear_down_repo,
-)
-from dulwich.tests.compat.utils import (
- run_git_or_fail,
-)
-from dulwich.tests.compat.utils import require_git_version
+from dulwich.protocol import CAPABILITY_SIDE_BAND_64K
+from dulwich.repo import Repo
+from dulwich.server import ReceivePackHandler
+from dulwich.tests.compat.utils import require_git_version, run_git_or_fail
+from dulwich.tests.utils import tear_down_repo
class _StubRepo:
blob - 05aa84ec2945c2580641492f4d5c20f171b91900
blob + 02ab6c0a887864fd54fbdd96cf2418a586f5b7f5
--- dulwich/tests/compat/test_client.py
+++ dulwich/tests/compat/test_client.py
"""Compatibility tests between the Dulwich client and the cgit server."""
import copy
-from io import BytesIO
+import http.server
import os
import select
import signal
import tarfile
import tempfile
import threading
-
+from io import BytesIO
from urllib.parse import unquote
-import http.server
-
-from dulwich import (
- client,
- file,
- index,
- protocol,
- objects,
- repo,
-)
-from dulwich.tests import (
- SkipTest,
- expectedFailure,
-)
-from dulwich.tests.compat.utils import (
- CompatTestCase,
- check_for_daemon,
- import_repo_to_dir,
- rmtree_ro,
- run_git_or_fail,
- _DEFAULT_GIT,
-)
-
+from dulwich import client, file, index, objects, protocol, repo
+from dulwich.tests import SkipTest, expectedFailure
+from dulwich.tests.compat.utils import (_DEFAULT_GIT, CompatTestCase,
+ check_for_daemon, import_repo_to_dir,
+ rmtree_ro, run_git_or_fail)
if sys.platform == "win32":
import ctypes
blob - 73c0a15a6370a40cddb1848ceb753bc42ad48a0a
blob + 040c4c327e6e420a315bda48f4aa9bf143f7291e
--- dulwich/tests/compat/test_pack.py
+++ dulwich/tests/compat/test_pack.py
import shutil
import tempfile
-from dulwich.pack import (
- write_pack,
-)
-from dulwich.objects import (
- Blob,
-)
-from dulwich.tests import (
- SkipTest,
-)
-from dulwich.tests.test_pack import (
- a_sha,
- pack1_sha,
- PackTests,
-)
-from dulwich.tests.compat.utils import (
- require_git_version,
- run_git_or_fail,
-)
+from dulwich.objects import Blob
+from dulwich.pack import write_pack
+from dulwich.tests import SkipTest
+from dulwich.tests.compat.utils import require_git_version, run_git_or_fail
+from dulwich.tests.test_pack import PackTests, a_sha, pack1_sha
_NON_DELTA_RE = re.compile(b"non delta: (?P<non_delta>\\d+) objects")
blob - c0b0f72e77584693abc65dd8b9bced34ffaff708
blob + aabda17cef2118213f2d83ebbe0c365772b62258
--- dulwich/tests/compat/test_patch.py
+++ dulwich/tests/compat/test_patch.py
#
"""Tests related to patch compatibility with CGit."""
-from io import BytesIO
import os
import shutil
import tempfile
+from io import BytesIO
from dulwich import porcelain
-from dulwich.repo import (
- Repo,
-)
-from dulwich.tests.compat.utils import (
- CompatTestCase,
- run_git_or_fail,
-)
+from dulwich.repo import Repo
+from dulwich.tests.compat.utils import CompatTestCase, run_git_or_fail
class CompatPatchTestCase(CompatTestCase):
blob - 62349905117a246f721de71b5905d1f6a7ea3a2b
blob + 14c7fcf18312c25d0551c9f50782c71dd96c18ca
--- dulwich/tests/compat/test_porcelain.py
+++ dulwich/tests/compat/test_porcelain.py
from unittest import skipIf
from dulwich import porcelain
-from dulwich.tests.utils import (
- build_commit_graph,
-)
-from dulwich.tests.compat.utils import (
- run_git_or_fail,
- CompatTestCase,
-)
-from dulwich.tests.test_porcelain import (
- PorcelainGpgTestCase,
-)
+from dulwich.tests.compat.utils import CompatTestCase, run_git_or_fail
+from dulwich.tests.test_porcelain import PorcelainGpgTestCase
+from dulwich.tests.utils import build_commit_graph
@skipIf(platform.python_implementation() == "PyPy" or sys.platform == "win32", "gpgme not easily available or supported on Windows and PyPy")
blob - a42e5677fa5f7b8bc75c083fc0caf6a70dd8c8ea
blob + c0191e0f9a547660a602592213ab0532b3b57e3b
--- dulwich/tests/compat/test_repository.py
+++ dulwich/tests/compat/test_repository.py
"""Compatibility tests for dulwich repositories."""
-from io import BytesIO
-from itertools import chain
import os
import tempfile
+from io import BytesIO
+from itertools import chain
-from dulwich.objects import (
- hex_to_sha,
-)
-from dulwich.repo import (
- check_ref_format,
- Repo,
-)
-from dulwich.tests.compat.utils import (
- require_git_version,
- rmtree_ro,
- run_git_or_fail,
- CompatTestCase,
-)
+from dulwich.objects import hex_to_sha
+from dulwich.repo import Repo, check_ref_format
+from dulwich.tests.compat.utils import (CompatTestCase, require_git_version,
+ rmtree_ro, run_git_or_fail)
class ObjectStoreTestCase(CompatTestCase):
blob - 15b8f42e87f0b28ce0d265eebe670be2b36db02c
blob + 7fc5026db1f0e23c249d2d5fc3ddce48f34c6d46
--- dulwich/tests/compat/test_server.py
+++ dulwich/tests/compat/test_server.py
Ctrl-C'ed. On POSIX systems, you can kill the tests with Ctrl-Z, "kill %".
"""
-import threading
import os
import sys
+import threading
-from dulwich.server import (
- DictBackend,
- TCPGitServer,
-)
+from dulwich.server import DictBackend, TCPGitServer
from dulwich.tests import skipIf
-from dulwich.tests.compat.server_utils import (
- ServerTests,
- NoSideBand64kReceivePackHandler,
-)
-from dulwich.tests.compat.utils import (
- CompatTestCase,
- require_git_version,
-)
+from dulwich.tests.compat.server_utils import (NoSideBand64kReceivePackHandler,
+ ServerTests)
+from dulwich.tests.compat.utils import CompatTestCase, require_git_version
@skipIf(sys.platform == "win32", "Broken on windows, with very long fail time.")
blob - 70cd6617bcd265b21f3ded5024bafa8cf33caad9
blob + 378c6f57b12084cf27f1d9fb9aa926b68114cba0
--- dulwich/tests/compat/test_utils.py
+++ dulwich/tests/compat/test_utils.py
"""Tests for git compatibility utilities."""
-from dulwich.tests import (
- SkipTest,
- TestCase,
-)
+from dulwich.tests import SkipTest, TestCase
from dulwich.tests.compat import utils
blob - 258b489c6cfdc9ffc304d26ec9b6fb0a1fa89ea3
blob + bf5754fb41c45cf1947531fd65ef7b7b94d3d7fd
--- dulwich/tests/compat/test_web.py
+++ dulwich/tests/compat/test_web.py
Ctrl-C'ed. On POSIX systems, you can kill the tests with Ctrl-Z, "kill %".
"""
-import threading
-from wsgiref import simple_server
import sys
+import threading
from typing import Tuple
+from wsgiref import simple_server
-from dulwich.server import (
- DictBackend,
- UploadPackHandler,
- ReceivePackHandler,
-)
-from dulwich.tests import (
- SkipTest,
- skipIf,
-)
-from dulwich.web import (
- make_wsgi_chain,
- HTTPGitApplication,
- WSGIRequestHandlerLogger,
- WSGIServerLogger,
-)
+from dulwich.server import DictBackend, ReceivePackHandler, UploadPackHandler
+from dulwich.tests import SkipTest, skipIf
+from dulwich.tests.compat.server_utils import (NoSideBand64kReceivePackHandler,
+ ServerTests)
+from dulwich.tests.compat.utils import CompatTestCase
+from dulwich.web import (HTTPGitApplication, WSGIRequestHandlerLogger,
+ WSGIServerLogger, make_wsgi_chain)
-from dulwich.tests.compat.server_utils import (
- ServerTests,
- NoSideBand64kReceivePackHandler,
-)
-from dulwich.tests.compat.utils import (
- CompatTestCase,
-)
-
@skipIf(sys.platform == "win32", "Broken on windows, with very long fail time.")
class WebTests(ServerTests):
"""Base tests for web server tests.
blob - 4f4e1374561513a61e65a52f4bb934bd248954f6
blob + d823d2349e554cc40b195e51896d0c073b4980f2
--- dulwich/tests/compat/utils.py
+++ dulwich/tests/compat/utils.py
import time
from typing import Tuple
-from dulwich.repo import Repo
from dulwich.protocol import TCP_GIT_PORT
-
-from dulwich.tests import (
- SkipTest,
- TestCase,
-)
+from dulwich.repo import Repo
+from dulwich.tests import SkipTest, TestCase
_DEFAULT_GIT = "git"
_VERSION_LEN = 4
blob - 936759e01d08454de856aeeddad5ae0a1695756d
blob + bf188026b8c55e19f3b7445bbc30cecd65d3781f
--- dulwich/tests/test_archive.py
+++ dulwich/tests/test_archive.py
"""Tests for archive support."""
-from io import BytesIO
-import tarfile
import struct
+import tarfile
+from io import BytesIO
from unittest import skipUnless
from dulwich.archive import tar_stream
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- Blob,
- Tree,
-)
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.utils import (
- build_commit_graph,
-)
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import Blob, Tree
+from dulwich.tests import TestCase
+from dulwich.tests.utils import build_commit_graph
try:
from unittest.mock import patch
blob - fc5e022dcd692840f0dadaae729cbe5057aa1bfb
blob + 82148488183c11edcf5e048d80f9b8e7fe3acb7d
--- dulwich/tests/test_blackbox.py
+++ dulwich/tests/test_blackbox.py
"""Blackbox tests for Dulwich commands."""
-import tempfile
import shutil
+import tempfile
-from dulwich.repo import (
- Repo,
-)
-from dulwich.tests import (
- BlackboxTestCase,
-)
+from dulwich.repo import Repo
+from dulwich.tests import BlackboxTestCase
class GitReceivePackTests(BlackboxTestCase):
blob - 34edefbf4fb33d5c445db4648b5bf140782b8834
blob + 22c4d0efb59cc47b24af35471fe3bc8de3ccc05d
--- dulwich/tests/test_bundle.py
+++ dulwich/tests/test_bundle.py
"""Tests for bundle support."""
-from io import BytesIO
import os
import tempfile
+from io import BytesIO
-from dulwich.tests import (
- TestCase,
-)
+from dulwich.bundle import Bundle, read_bundle, write_bundle
+from dulwich.pack import PackData, write_pack_objects
+from dulwich.tests import TestCase
-from dulwich.bundle import (
- Bundle,
- read_bundle,
- write_bundle,
-)
-from dulwich.pack import (
- PackData,
- write_pack_objects,
-)
-
class BundleTests(TestCase):
def test_roundtrip_bundle(self):
origbundle = Bundle()
blob - 64fefbd8b59bd9330da1c9087e3d5f9d58b5a89d
blob + 8ab424912994e7ed625fab216a1b937b93ec7afe
--- dulwich/tests/test_client.py
+++ dulwich/tests/test_client.py
# License, Version 2.0.
#
-from io import BytesIO
import base64
import os
-import sys
import shutil
+import sys
import tempfile
import warnings
-
-from urllib.parse import (
- quote as urlquote,
- urlparse,
-)
-
+from io import BytesIO
from unittest.mock import patch
+from urllib.parse import quote as urlquote
+from urllib.parse import urlparse
import dulwich
-from dulwich import (
- client,
-)
-from dulwich.client import (
- InvalidWants,
- LocalGitClient,
- TraditionalGitClient,
- TCPGitClient,
- SSHGitClient,
- HttpGitClient,
- FetchPackResult,
- ReportStatusParser,
- SendPackError,
- StrangeHostname,
- SubprocessSSHVendor,
- PLinkSSHVendor,
- HangupException,
- GitProtocolError,
- check_wants,
- default_urllib3_manager,
- get_credentials_from_store,
- get_transport_and_path,
- get_transport_and_path_from_url,
- parse_rsync_url,
- _remote_error_from_stderr,
-)
-from dulwich.config import (
- ConfigDict,
-)
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.protocol import (
- TCP_GIT_PORT,
- Protocol,
-)
-from dulwich.pack import (
- pack_objects_to_data,
- write_pack_data,
- write_pack_objects,
-)
+from dulwich import client
+from dulwich.client import (FetchPackResult, GitProtocolError, HangupException,
+ HttpGitClient, InvalidWants, LocalGitClient,
+ PLinkSSHVendor, ReportStatusParser, SendPackError,
+ SSHGitClient, StrangeHostname, SubprocessSSHVendor,
+ TCPGitClient, TraditionalGitClient,
+ _remote_error_from_stderr, check_wants,
+ default_urllib3_manager,
+ get_credentials_from_store, get_transport_and_path,
+ get_transport_and_path_from_url, parse_rsync_url)
+from dulwich.config import ConfigDict
from dulwich.objects import Commit, Tree
-from dulwich.repo import (
- MemoryRepo,
- Repo,
-)
-from dulwich.tests import skipIf
-from dulwich.tests.utils import (
- open_repo,
- tear_down_repo,
- setup_warning_catcher,
-)
+from dulwich.pack import (pack_objects_to_data, write_pack_data,
+ write_pack_objects)
+from dulwich.protocol import TCP_GIT_PORT, Protocol
+from dulwich.repo import MemoryRepo, Repo
+from dulwich.tests import TestCase, skipIf
+from dulwich.tests.utils import (open_repo, setup_warning_catcher,
+ tear_down_repo)
class DummyClient(TraditionalGitClient):
blob - dbdb6318239573ffb9b933f7002f1ada02a043ad
blob + ed49f38c550a0fa56c1a52ce5df3013a24452ff0
--- dulwich/tests/test_config.py
+++ dulwich/tests/test_config.py
from unittest import skipIf
from unittest.mock import patch
-from dulwich.config import (
- ConfigDict,
- ConfigFile,
- StackedConfig,
- _check_section_name,
- _check_variable_name,
- _format_string,
- _escape_value,
- _parse_string,
- parse_submodules,
- apply_instead_of,
-)
-from dulwich.tests import (
- TestCase,
-)
+from dulwich.config import (ConfigDict, ConfigFile, StackedConfig,
+ _check_section_name, _check_variable_name,
+ _escape_value, _format_string, _parse_string,
+ apply_instead_of, parse_submodules)
+from dulwich.tests import TestCase
class ConfigFileTests(TestCase):
blob - 7bb90e56df3e207bf7337bb4133fc9c5506c9b48
blob + 046f46bd59ad5f5395e0632dab2d79e93d1f4abc
--- dulwich/tests/test_credentials.py
+++ dulwich/tests/test_credentials.py
from urllib.parse import urlparse
from dulwich.config import ConfigDict
-from dulwich.credentials import (
- match_partial_url,
- match_urls,
- urlmatch_credential_sections,
-)
+from dulwich.credentials import (match_partial_url, match_urls,
+ urlmatch_credential_sections)
from dulwich.tests import TestCase
blob - 511554087060d18932e03ca20914e046ce340197
blob + 0be756f98a7c8036bb0c9038ec4d7ec726d137c3
--- dulwich/tests/test_diff_tree.py
+++ dulwich/tests/test_diff_tree.py
"""Tests for file and tree diff utilities."""
from itertools import permutations
-from dulwich.diff_tree import (
- CHANGE_MODIFY,
- CHANGE_RENAME,
- CHANGE_COPY,
- CHANGE_UNCHANGED,
- TreeChange,
- _merge_entries,
- _merge_entries_py,
- tree_changes,
- tree_changes_for_merge,
- _count_blocks,
- _count_blocks_py,
- _similarity_score,
- _tree_change_key,
- RenameDetector,
- _is_tree,
- _is_tree_py,
-)
-from dulwich.index import (
- commit_tree,
-)
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- ShaFile,
- Blob,
- TreeEntry,
- Tree,
-)
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.utils import (
- F,
- make_object,
- functest_builder,
- ext_functest_builder,
-)
+
+from dulwich.diff_tree import (CHANGE_COPY, CHANGE_MODIFY, CHANGE_RENAME,
+ CHANGE_UNCHANGED, RenameDetector, TreeChange,
+ _count_blocks, _count_blocks_py, _is_tree,
+ _is_tree_py, _merge_entries, _merge_entries_py,
+ _similarity_score, _tree_change_key,
+ tree_changes, tree_changes_for_merge)
+from dulwich.index import commit_tree
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import Blob, ShaFile, Tree, TreeEntry
+from dulwich.tests import TestCase
+from dulwich.tests.utils import (F, ext_functest_builder, functest_builder,
+ make_object)
class DiffTestCase(TestCase):
blob - e3a26018557297ddfada8e6d196fe5640d71319f
blob + 644ddd4acd75952e9691b97913d6eee09346fdc4
--- dulwich/tests/test_fastexport.py
+++ dulwich/tests/test_fastexport.py
# License, Version 2.0.
#
-from io import BytesIO
import stat
+from io import BytesIO
-
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- Blob,
- Commit,
- Tree,
- ZERO_SHA,
-)
-from dulwich.repo import (
- MemoryRepo,
-)
-from dulwich.tests import (
- SkipTest,
- TestCase,
-)
-from dulwich.tests.utils import (
- build_commit_graph,
-)
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import ZERO_SHA, Blob, Commit, Tree
+from dulwich.repo import MemoryRepo
+from dulwich.tests import SkipTest, TestCase
+from dulwich.tests.utils import build_commit_graph
class GitFastExporterTests(TestCase):
blob - d1067d7ba53b4b2218acf34126ddf6bbe3869154
blob + cca943b4b001d5de7089e31f80dddaa012714b54
--- dulwich/tests/test_file.py
+++ dulwich/tests/test_file.py
import tempfile
from dulwich.file import FileLocked, GitFile, _fancy_rename
-from dulwich.tests import (
- SkipTest,
- TestCase,
-)
+from dulwich.tests import SkipTest, TestCase
class FancyRenameTests(TestCase):
blob - e367e7290d8d2cc0d2345abf3adb63badd69c4c6
blob + 4f30fe5a76873c591f7dc0e9930e28b2e652cbb6
--- dulwich/tests/test_grafts.py
+++ dulwich/tests/test_grafts.py
"""Tests for graftpoints."""
import os
-import tempfile
import shutil
+import tempfile
from dulwich.errors import ObjectFormatException
+from dulwich.objects import Tree
+from dulwich.repo import (MemoryRepo, Repo, parse_graftpoints,
+ serialize_graftpoints)
from dulwich.tests import TestCase
-from dulwich.objects import (
- Tree,
-)
-from dulwich.repo import (
- parse_graftpoints,
- serialize_graftpoints,
- MemoryRepo,
- Repo,
-)
def makesha(digit):
blob - 3fb85ba737cea0c9dadd9fbe30fc2e9b052464f7
blob + d4be7f171be5e91716590b5ba60be62caba4906f
--- dulwich/tests/test_graph.py
+++ dulwich/tests/test_graph.py
"""Tests for dulwich.graph."""
+from dulwich.graph import _find_lcas, can_fast_forward
+from dulwich.repo import MemoryRepo
from dulwich.tests import TestCase
from dulwich.tests.utils import make_commit
-from dulwich.repo import MemoryRepo
-from dulwich.graph import _find_lcas, can_fast_forward
-
class FindMergeBaseTests(TestCase):
@staticmethod
def run_test(dag, inputs):
blob - 7f956d5785e08abe9fa3bf809e8a671d51bbe110
blob + 79cdc7bc76e4bcc0688878cb84ea83718eb6993c
--- dulwich/tests/test_greenthreads.py
+++ dulwich/tests/test_greenthreads.py
import time
-from dulwich.tests import (
- skipIf,
- TestCase,
-)
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- Commit,
- Blob,
- Tree,
- parse_timezone,
-)
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import Blob, Commit, Tree, parse_timezone
+from dulwich.tests import TestCase, skipIf
try:
import gevent # noqa: F401
gevent_support = False
if gevent_support:
- from dulwich.greenthreads import (
- GreenThreadsMissingObjectFinder,
- )
+ from dulwich.greenthreads import GreenThreadsMissingObjectFinder
skipmsg = "Gevent library is not installed"
blob - f1a067b86b952c593193e1efe9a94329d2d81803
blob + ebd8098bedfb6bf5d8b7697efb7f2f3b46650ea5
--- dulwich/tests/test_hooks.py
+++ dulwich/tests/test_hooks.py
"""Tests for executing hooks."""
import os
-import stat
import shutil
+import stat
import sys
import tempfile
from dulwich import errors
-
-from dulwich.hooks import (
- PreCommitShellHook,
- PostCommitShellHook,
- CommitMsgShellHook,
-)
-
+from dulwich.hooks import (CommitMsgShellHook, PostCommitShellHook,
+ PreCommitShellHook)
from dulwich.tests import TestCase
blob - 3dbd0de9a5dfe5162ed4b00a1137bb208ee0eb66
blob + b7f1d38b8341204ea9c553f56e173b91ea668e57
--- dulwich/tests/test_ignore.py
+++ dulwich/tests/test_ignore.py
"""Tests for ignore files."""
-from io import BytesIO
import os
import re
import shutil
import tempfile
-from dulwich.tests import TestCase
+from io import BytesIO
-from dulwich.ignore import (
- IgnoreFilter,
- IgnoreFilterManager,
- IgnoreFilterStack,
- Pattern,
- match_pattern,
- read_ignore_patterns,
- translate,
-)
+from dulwich.ignore import (IgnoreFilter, IgnoreFilterManager,
+ IgnoreFilterStack, Pattern, match_pattern,
+ read_ignore_patterns, translate)
from dulwich.repo import Repo
+from dulwich.tests import TestCase
-
POSITIVE_MATCH_TESTS = [
(b"foo.c", b"*.c"),
(b".c", b"*.c"),
blob - 0031d58ff7a6e52c0987df395210d2312ad3ffbe
blob + 0ff4d8b9053e368c3ab0c27726d6463542d6327a
--- dulwich/tests/test_index.py
+++ dulwich/tests/test_index.py
"""Tests for the index."""
-from io import BytesIO
import os
import shutil
import stat
import struct
import sys
import tempfile
+from io import BytesIO
-from dulwich.index import (
- Index,
- build_index_from_tree,
- cleanup_mode,
- commit_tree,
- get_unstaged_changes,
- index_entry_from_stat,
- read_index,
- read_index_dict,
- validate_path_element_default,
- validate_path_element_ntfs,
- write_cache_time,
- write_index,
- write_index_dict,
- _tree_to_fs_path,
- _fs_to_tree_path,
- IndexEntry,
-)
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- Blob,
- Commit,
- Tree,
- S_IFGITLINK,
-)
+from dulwich.index import (Index, IndexEntry, _fs_to_tree_path,
+ _tree_to_fs_path, build_index_from_tree,
+ cleanup_mode, commit_tree, get_unstaged_changes,
+ index_entry_from_stat, read_index, read_index_dict,
+ validate_path_element_default,
+ validate_path_element_ntfs, write_cache_time,
+ write_index, write_index_dict)
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import S_IFGITLINK, Blob, Commit, Tree
from dulwich.repo import Repo
-from dulwich.tests import (
- TestCase,
- skipIf,
-)
+from dulwich.tests import TestCase, skipIf
def can_symlink():
blob - c7b3edf8e6b14d6065ba4d74aea3550efc5eb0f9
blob + f2720684651af0198131cab4fdccfb4dff6687c8
--- dulwich/tests/test_lfs.py
+++ dulwich/tests/test_lfs.py
"""Tests for LFS support."""
-from . import TestCase
-from ..lfs import LFSStore
import shutil
import tempfile
+from ..lfs import LFSStore
+from . import TestCase
+
class LFSTests(TestCase):
def setUp(self):
super().setUp()
blob - b36236b46150cac7eb930005e2f762e400c1f550
blob + 6f54d4b3b749573716f33b550fe9620c71699bd7
--- dulwich/tests/test_line_ending.py
+++ dulwich/tests/test_line_ending.py
"""Tests for the line ending conversion."""
-from dulwich.line_ending import (
- normalize_blob,
- convert_crlf_to_lf,
- convert_lf_to_crlf,
- get_checkin_filter_autocrlf,
- get_checkout_filter_autocrlf,
-)
+from dulwich.line_ending import (convert_crlf_to_lf, convert_lf_to_crlf,
+ get_checkin_filter_autocrlf,
+ get_checkout_filter_autocrlf, normalize_blob)
from dulwich.objects import Blob
from dulwich.tests import TestCase
blob - 74fb848291178e8cd036b00e96506fdf46c6daf6
blob + 14551efcb9e260ef508ad524c96a7d58c0ee4458
--- dulwich/tests/test_lru_cache.py
+++ dulwich/tests/test_lru_cache.py
"""Tests for the lru_cache module."""
-from dulwich import (
- lru_cache,
-)
-from dulwich.tests import (
- TestCase,
-)
+from dulwich import lru_cache
+from dulwich.tests import TestCase
class TestLRUCache(TestCase):
blob - bd44689b4e6acf1f13af795e0a43402fa4b25a0e
blob + 08a882a50924fa6180256562055ed5e6aa8a3e0a
--- dulwich/tests/test_mailmap.py
+++ dulwich/tests/test_mailmap.py
"""Tests for dulwich.mailmap."""
from io import BytesIO
-
from unittest import TestCase
from dulwich.mailmap import Mailmap, read_mailmap
blob - c971db37c0ed0e4c10d39a49a4baefac4c32fa9c
blob + ba4eb76a37894f8aa0dd9f9bd43a9a674559814c
--- dulwich/tests/test_missing_obj_finder.py
+++ dulwich/tests/test_missing_obj_finder.py
# License, Version 2.0.
#
-from dulwich.object_store import (
- MemoryObjectStore,
- MissingObjectFinder,
-)
-from dulwich.objects import (
- Blob,
-)
+from dulwich.object_store import MemoryObjectStore, MissingObjectFinder
+from dulwich.objects import Blob
from dulwich.tests import TestCase
-from dulwich.tests.utils import (
- make_object,
- make_tag,
- build_commit_graph,
-)
+from dulwich.tests.utils import build_commit_graph, make_object, make_tag
class MissingObjectFinderTest(TestCase):
blob - fc0abf09129ffe6ecae73a7bbfecbdf53d600cf7
blob + 7ab7fd99a5751f7906443603095cc3feb90ee6e4
--- dulwich/tests/test_object_store.py
+++ dulwich/tests/test_object_store.py
"""Tests for the object store interface."""
-from contextlib import closing
-from io import BytesIO
-from unittest import skipUnless
import os
import shutil
import stat
import sys
import tempfile
+from contextlib import closing
+from io import BytesIO
+from unittest import skipUnless
-from dulwich.index import (
- commit_tree,
-)
-from dulwich.errors import (
- NotTreeError,
-)
-from dulwich.objects import (
- sha_to_hex,
- Blob,
- Tree,
- TreeEntry,
- EmptyFileException,
- SubmoduleEncountered,
- S_IFGITLINK,
-)
-from dulwich.object_store import (
- DiskObjectStore,
- MemoryObjectStore,
- OverlayObjectStore,
- ObjectStoreGraphWalker,
- commit_tree_changes,
- iter_tree_contents,
- peel_sha,
- read_packs_file,
- tree_lookup_path,
-)
-from dulwich.pack import (
- REF_DELTA,
- write_pack_objects,
-)
+from dulwich.errors import NotTreeError
+from dulwich.index import commit_tree
+from dulwich.object_store import (DiskObjectStore, MemoryObjectStore,
+ ObjectStoreGraphWalker, OverlayObjectStore,
+ commit_tree_changes, iter_tree_contents,
+ peel_sha, read_packs_file, tree_lookup_path)
+from dulwich.objects import (S_IFGITLINK, Blob, EmptyFileException,
+ SubmoduleEncountered, Tree, TreeEntry, sha_to_hex)
+from dulwich.pack import REF_DELTA, write_pack_objects
from dulwich.protocol import DEPTH_INFINITE
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.utils import (
- make_object,
- make_tag,
- build_pack,
-)
+from dulwich.tests import TestCase
+from dulwich.tests.utils import build_pack, make_object, make_tag
try:
from unittest.mock import patch
blob - daf344f8f344d1fe3012a6f1c0042f898cdd7674
blob + 2da115eed6dae68005cfab67193f423407a680f4
--- dulwich/tests/test_objects.py
+++ dulwich/tests/test_objects.py
# TODO: Round-trip parse-serialize-parse and serialize-parse-serialize tests.
-from io import BytesIO
import datetime
-from itertools import (
- permutations,
-)
import os
import stat
from contextlib import contextmanager
+from io import BytesIO
+from itertools import permutations
-from dulwich.errors import (
- ObjectFormatException,
-)
-from dulwich.objects import (
- Blob,
- Tree,
- Commit,
- ShaFile,
- Tag,
- TreeEntry,
- format_timezone,
- hex_to_sha,
- sha_to_hex,
- hex_to_filename,
- check_hexsha,
- check_identity,
- object_class,
- parse_timezone,
- pretty_format_tree_entry,
- parse_tree,
- _parse_tree_py,
- sorted_tree_items,
- _sorted_tree_items_py,
- MAX_TIME,
-)
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.utils import (
- make_commit,
- make_object,
- functest_builder,
- ext_functest_builder,
-)
+from dulwich.errors import ObjectFormatException
+from dulwich.objects import (MAX_TIME, Blob, Commit, ShaFile, Tag, Tree,
+ TreeEntry, _parse_tree_py, _sorted_tree_items_py,
+ check_hexsha, check_identity, format_timezone,
+ hex_to_filename, hex_to_sha, object_class,
+ parse_timezone, parse_tree,
+ pretty_format_tree_entry, sha_to_hex,
+ sorted_tree_items)
+from dulwich.tests import TestCase
+from dulwich.tests.utils import (ext_functest_builder, functest_builder,
+ make_commit, make_object)
a_sha = b"6f670c0fb53f9463760b7295fbb814e965fb20c8"
b_sha = b"2969be3e8ee1c0222396a5611407e4769f14e54b"
blob - 22340eb6cf86efc545ce1edbce9b3784d5f065e7
blob + cf539b33b480694d87a8f9cfa7b687345983bbb7
--- dulwich/tests/test_objectspec.py
+++ dulwich/tests/test_objectspec.py
# TODO: Round-trip parse-serialize-parse and serialize-parse-serialize tests.
-from dulwich.objects import (
- Blob,
-)
-from dulwich.objectspec import (
- parse_object,
- parse_commit,
- parse_commit_range,
- parse_ref,
- parse_refs,
- parse_reftuple,
- parse_reftuples,
- parse_tree,
-)
+from dulwich.objects import Blob
+from dulwich.objectspec import (parse_commit, parse_commit_range, parse_object,
+ parse_ref, parse_refs, parse_reftuple,
+ parse_reftuples, parse_tree)
from dulwich.repo import MemoryRepo
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.utils import (
- build_commit_graph,
-)
+from dulwich.tests import TestCase
+from dulwich.tests.utils import build_commit_graph
class ParseObjectTests(TestCase):
blob - be3579e940386a0d850b3d544bde8672e03471df
blob + 2e943609986c7ea6ebc3589588190336f10efdc4
--- dulwich/tests/test_pack.py
+++ dulwich/tests/test_pack.py
"""Tests for Dulwich packs."""
-from io import BytesIO
-from hashlib import sha1
import os
import shutil
import sys
import tempfile
import zlib
+from hashlib import sha1
+from io import BytesIO
-from dulwich.errors import (
- ApplyDeltaError,
- ChecksumMismatch,
-)
-from dulwich.file import (
- GitFile,
-)
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- hex_to_sha,
- sha_to_hex,
- Commit,
- Tree,
- Blob,
-)
-from dulwich.pack import (
- OFS_DELTA,
- REF_DELTA,
- MemoryPackIndex,
- Pack,
- PackData,
- apply_delta,
- create_delta,
- deltify_pack_objects,
- load_pack_index,
- UnpackedObject,
- read_zlib_chunks,
- write_pack_header,
- write_pack_index_v1,
- write_pack_index_v2,
- write_pack_object,
- write_pack,
- unpack_object,
- compute_file_sha,
- PackStreamReader,
- DeltaChainIterator,
- _delta_encode_size,
- _encode_copy_operation,
-)
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.utils import (
- make_object,
- build_pack,
-)
+from dulwich.errors import ApplyDeltaError, ChecksumMismatch
+from dulwich.file import GitFile
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import Blob, Commit, Tree, hex_to_sha, sha_to_hex
+from dulwich.pack import (OFS_DELTA, REF_DELTA, DeltaChainIterator,
+ MemoryPackIndex, Pack, PackData, PackStreamReader,
+ UnpackedObject, _delta_encode_size,
+ _encode_copy_operation, apply_delta,
+ compute_file_sha, create_delta, deltify_pack_objects,
+ load_pack_index, read_zlib_chunks, unpack_object,
+ write_pack, write_pack_header, write_pack_index_v1,
+ write_pack_index_v2, write_pack_object)
+from dulwich.tests import TestCase
+from dulwich.tests.utils import build_pack, make_object
pack1_sha = b"bc63ddad95e7321ee734ea11a7a62d314e0d7481"
blob - 38aac88f64c2b9be1578d7f151269b1520b00bf1
blob + c202017fd341c228234bcc6f2a9e0373ccf081db
--- dulwich/tests/test_patch.py
+++ dulwich/tests/test_patch.py
from io import BytesIO, StringIO
-from dulwich.objects import (
- Blob,
- Commit,
- S_IFGITLINK,
- Tree,
-)
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.patch import (
- get_summary,
- git_am_patch_split,
- write_blob_diff,
- write_commit_patch,
- write_object_diff,
- write_tree_diff,
-)
-from dulwich.tests import (
- SkipTest,
- TestCase,
-)
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import S_IFGITLINK, Blob, Commit, Tree
+from dulwich.patch import (get_summary, git_am_patch_split, write_blob_diff,
+ write_commit_patch, write_object_diff,
+ write_tree_diff)
+from dulwich.tests import SkipTest, TestCase
class WriteCommitPatchTests(TestCase):
blob - a4b65d6dc49a5a8876ffdfd0cea07636699eed24
blob + 155225cca3dfc6e6d95732ebc029bb15be86f7e9
--- dulwich/tests/test_porcelain.py
+++ dulwich/tests/test_porcelain.py
"""Tests for dulwich.porcelain."""
import contextlib
-from io import BytesIO, StringIO
import os
import platform
import re
import tempfile
import threading
import time
+from io import BytesIO, StringIO
from unittest import skipIf
from dulwich import porcelain
from dulwich.diff_tree import tree_changes
-from dulwich.errors import (
- CommitError,
-)
-from dulwich.objects import (
- Blob,
- Tag,
- Tree,
- ZERO_SHA,
-)
-from dulwich.repo import (
- NoIndexPresent,
- Repo,
-)
-from dulwich.server import (
- DictBackend,
-)
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.utils import (
- build_commit_graph,
- make_commit,
- make_object,
-)
-from dulwich.web import (
- make_server,
- make_wsgi_chain,
-)
+from dulwich.errors import CommitError
+from dulwich.objects import ZERO_SHA, Blob, Tag, Tree
+from dulwich.repo import NoIndexPresent, Repo
+from dulwich.server import DictBackend
+from dulwich.tests import TestCase
+from dulwich.tests.utils import build_commit_graph, make_commit, make_object
+from dulwich.web import make_server, make_wsgi_chain
try:
import gpg
blob - 8875154dd0eeae61f8f57bf5b0842a69ae1a404c
blob + 1ad66ff2449b1a87dc3f5f1f07bab5dabab95352
--- dulwich/tests/test_protocol.py
+++ dulwich/tests/test_protocol.py
from io import BytesIO
-from dulwich.errors import (
- HangupException,
-)
-from dulwich.protocol import (
- GitProtocolError,
- PktLineParser,
- Protocol,
- ReceivableProtocol,
- extract_capabilities,
- extract_want_line_capabilities,
- ack_type,
- SINGLE_ACK,
- MULTI_ACK,
- MULTI_ACK_DETAILED,
- BufferedPktLineWriter,
-)
+from dulwich.errors import HangupException
+from dulwich.protocol import (MULTI_ACK, MULTI_ACK_DETAILED, SINGLE_ACK,
+ BufferedPktLineWriter, GitProtocolError,
+ PktLineParser, Protocol, ReceivableProtocol,
+ ack_type, extract_capabilities,
+ extract_want_line_capabilities)
from dulwich.tests import TestCase
blob - 3c230950144b42b17a59680c3dfe80e47569fc19
blob + 973354cf0a3c7c74ca9b42afeff55dd342497fda
--- dulwich/tests/test_reflog.py
+++ dulwich/tests/test_reflog.py
from io import BytesIO
from dulwich.objects import ZERO_SHA
-from dulwich.reflog import (
- drop_reflog_entry,
- format_reflog_line,
- parse_reflog_line,
- read_reflog,
-)
+from dulwich.reflog import (drop_reflog_entry, format_reflog_line,
+ parse_reflog_line, read_reflog)
+from dulwich.tests import TestCase
-from dulwich.tests import (
- TestCase,
-)
-
class ReflogLineTests(TestCase):
def test_format(self):
self.assertEqual(
blob - 9dcb864d01fa60485f1f6a66112b22587946e5a0
blob + f318b38135a1e5eab0c3261a017a9dce6cbf2049
--- dulwich/tests/test_refs.py
+++ dulwich/tests/test_refs.py
"""Tests for dulwich.refs."""
-from io import BytesIO
import os
import sys
import tempfile
+from io import BytesIO
from dulwich import errors
-from dulwich.file import (
- GitFile,
-)
+from dulwich.file import GitFile
from dulwich.objects import ZERO_SHA
-from dulwich.refs import (
- DictRefsContainer,
- InfoRefsContainer,
- SymrefLoop,
- check_ref_format,
- _split_ref_line,
- parse_symref_value,
- read_packed_refs_with_peeled,
- read_packed_refs,
- strip_peeled_refs,
- write_packed_refs,
-)
+from dulwich.refs import (DictRefsContainer, InfoRefsContainer, SymrefLoop,
+ _split_ref_line, check_ref_format,
+ parse_symref_value, read_packed_refs,
+ read_packed_refs_with_peeled, strip_peeled_refs,
+ write_packed_refs)
from dulwich.repo import Repo
-
-from dulwich.tests import (
- SkipTest,
- TestCase,
-)
-
-from dulwich.tests.utils import (
- open_repo,
- tear_down_repo,
-)
+from dulwich.tests import SkipTest, TestCase
+from dulwich.tests.utils import open_repo, tear_down_repo
class CheckRefFormatTests(TestCase):
blob - b3329800b233a7145bace72842dfe10f11995ffb
blob + 7fa631a1860cb55b048412d26832e9334948f493
--- dulwich/tests/test_repository.py
+++ dulwich/tests/test_repository.py
import tempfile
import warnings
-from dulwich import errors
-from dulwich import porcelain
-from dulwich.object_store import (
- tree_lookup_path,
-)
-from dulwich import objects
+from dulwich import errors, objects, porcelain
from dulwich.config import Config
from dulwich.errors import NotGitRepository
-from dulwich.repo import (
- InvalidUserIdentity,
- Repo,
- MemoryRepo,
- check_user_identity,
- UnsupportedVersion,
- UnsupportedExtension,
-)
-from dulwich.tests import (
- TestCase,
- skipIf,
-)
-from dulwich.tests.utils import (
- open_repo,
- tear_down_repo,
- setup_warning_catcher,
-)
+from dulwich.object_store import tree_lookup_path
+from dulwich.repo import (InvalidUserIdentity, MemoryRepo, Repo,
+ UnsupportedExtension, UnsupportedVersion,
+ check_user_identity)
+from dulwich.tests import TestCase, skipIf
+from dulwich.tests.utils import (open_repo, setup_warning_catcher,
+ tear_down_repo)
missing_sha = b"b91fa4d900e17e99b433218e988c4eb4a3e9a097"
blob - 29802c6ae8956a97aa3b16e691df9d0d8edc4eaf
blob + c5404d0096e1301d679dcf724c5f1854af0e3900
--- dulwich/tests/test_server.py
+++ dulwich/tests/test_server.py
"""Tests for the smart protocol server."""
-from io import BytesIO
import os
import shutil
+import sys
import tempfile
+from io import BytesIO
-import sys
-
-from dulwich.errors import (
- GitProtocolError,
- NotGitRepository,
- UnexpectedCommandError,
- HangupException,
-)
+from dulwich.errors import (GitProtocolError, HangupException,
+ NotGitRepository, UnexpectedCommandError)
+from dulwich.object_store import MemoryObjectStore
from dulwich.objects import Tree
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.repo import (
- MemoryRepo,
- Repo,
-)
-from dulwich.server import (
- Backend,
- DictBackend,
- FileSystemBackend,
- MultiAckGraphWalkerImpl,
- MultiAckDetailedGraphWalkerImpl,
- PackHandler,
- _split_proto_line,
- serve_command,
- _find_shallow,
- _ProtocolGraphWalker,
- ReceivePackHandler,
- SingleAckGraphWalkerImpl,
- UploadPackHandler,
- update_server_info,
-)
+from dulwich.protocol import ZERO_SHA, format_capability_line
+from dulwich.repo import MemoryRepo, Repo
+from dulwich.server import (Backend, DictBackend, FileSystemBackend,
+ MultiAckDetailedGraphWalkerImpl,
+ MultiAckGraphWalkerImpl, PackHandler,
+ ReceivePackHandler, SingleAckGraphWalkerImpl,
+ UploadPackHandler, _find_shallow,
+ _ProtocolGraphWalker, _split_proto_line,
+ serve_command, update_server_info)
from dulwich.tests import TestCase
-from dulwich.tests.utils import (
- make_commit,
- make_tag,
-)
-from dulwich.protocol import (
- ZERO_SHA,
- format_capability_line,
-)
+from dulwich.tests.utils import make_commit, make_tag
ONE = b"1" * 40
TWO = b"2" * 40
blob - ff16dd52d5e857f566768d68d5917c56ca2bb551
blob + d1e18db22b9445502cc682d3b4734d930069d27f
--- dulwich/tests/test_stash.py
+++ dulwich/tests/test_stash.py
"""Tests for stashes."""
-from . import TestCase
-
from ..repo import MemoryRepo
from ..stash import Stash
+from . import TestCase
class StashTests(TestCase):
blob - be234c15da49064582c70a29ce2b775d995adecc
blob + c95d335892ac7d9674d60cb6f6dc4a7be5402749
--- dulwich/tests/test_utils.py
+++ dulwich/tests/test_utils.py
"""Tests for git test utilities."""
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- Blob,
-)
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.tests.utils import (
- make_object,
- build_commit_graph,
-)
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import Blob
+from dulwich.tests import TestCase
+from dulwich.tests.utils import build_commit_graph, make_object
class BuildCommitGraphTest(TestCase):
blob - 30ee3d02236637982d088d02411c308e2d26a996
blob + 9e1922fa22ef432a1f698ef14b478bddc515d2bf
--- dulwich/tests/test_walk.py
+++ dulwich/tests/test_walk.py
"""Tests for commit walking functionality."""
-from itertools import (
- permutations,
-)
+from itertools import permutations
from unittest import expectedFailure
-from dulwich.diff_tree import (
- CHANGE_MODIFY,
- CHANGE_RENAME,
- TreeChange,
- RenameDetector,
-)
-from dulwich.errors import (
- MissingCommitError,
-)
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- Commit,
- Blob,
-)
-from dulwich.walk import ORDER_TOPO, WalkEntry, Walker, _topo_reorder
+from dulwich.diff_tree import (CHANGE_MODIFY, CHANGE_RENAME, RenameDetector,
+ TreeChange)
+from dulwich.errors import MissingCommitError
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import Blob, Commit
from dulwich.tests import TestCase
-from dulwich.tests.utils import (
- F,
- make_object,
- make_tag,
- build_commit_graph,
-)
+from dulwich.tests.utils import F, build_commit_graph, make_object, make_tag
+from dulwich.walk import ORDER_TOPO, WalkEntry, Walker, _topo_reorder
class TestWalkEntry:
blob - cf395d1304c426089959aac005ffb07bdfebac5b
blob + f4ff269b06475b41ae5d4a23182516ab5f16e891
--- dulwich/tests/test_web.py
+++ dulwich/tests/test_web.py
"""Tests for the Git HTTP server."""
-from io import BytesIO
import gzip
-import re
import os
+import re
+from io import BytesIO
from typing import Type
-from dulwich.object_store import (
- MemoryObjectStore,
-)
-from dulwich.objects import (
- Blob,
-)
-from dulwich.repo import (
- BaseRepo,
- MemoryRepo,
-)
-from dulwich.server import (
- DictBackend,
-)
-from dulwich.tests import (
- TestCase,
-)
-from dulwich.web import (
- HTTP_OK,
- HTTP_NOT_FOUND,
- HTTP_FORBIDDEN,
- HTTP_ERROR,
- GunzipFilter,
- send_file,
- get_text_file,
- get_loose_object,
- get_pack_file,
- get_idx_file,
- get_info_refs,
- get_info_packs,
- handle_service_request,
- _LengthLimitedFile,
- HTTPGitRequest,
- HTTPGitApplication,
-)
-
-from dulwich.tests.utils import (
- make_object,
- make_tag,
-)
+from dulwich.object_store import MemoryObjectStore
+from dulwich.objects import Blob
+from dulwich.repo import BaseRepo, MemoryRepo
+from dulwich.server import DictBackend
+from dulwich.tests import TestCase
+from dulwich.tests.utils import make_object, make_tag
+from dulwich.web import (HTTP_ERROR, HTTP_FORBIDDEN, HTTP_NOT_FOUND, HTTP_OK,
+ GunzipFilter, HTTPGitApplication, HTTPGitRequest,
+ _LengthLimitedFile, get_idx_file, get_info_packs,
+ get_info_refs, get_loose_object, get_pack_file,
+ get_text_file, handle_service_request, send_file)
class MinimalistWSGIInputStream:
blob - 110046c8c8dca427685014c0548b359c7e2e0109
blob + c7a8897a6b0d27993228280a07bf9b7b5fb44171
--- dulwich/tests/utils.py
+++ dulwich/tests/utils.py
import tempfile
import time
import types
-
import warnings
-from dulwich.index import (
- commit_tree,
-)
-from dulwich.objects import (
- FixedSha,
- Commit,
- Tag,
- object_class,
-)
-from dulwich.pack import (
- OFS_DELTA,
- REF_DELTA,
- DELTA_TYPES,
- obj_sha,
- SHA1Writer,
- write_pack_header,
- write_pack_object,
- create_delta,
-)
+from dulwich.index import commit_tree
+from dulwich.objects import Commit, FixedSha, Tag, object_class
+from dulwich.pack import (DELTA_TYPES, OFS_DELTA, REF_DELTA, SHA1Writer,
+ create_delta, obj_sha, write_pack_header,
+ write_pack_object)
from dulwich.repo import Repo
-from dulwich.tests import ( # noqa: F401
- skipIf,
- SkipTest,
-)
-
+from dulwich.tests import SkipTest, skipIf # noqa: F401
# Plain files are very frequently used in tests, so let the mode be very short.
F = 0o100644 # Shorthand mode for Files.
blob - 7c72cc5921d925602cf52e7d75fd331cd1239e51
blob + dbbbb938837b1ecf3b516b6e2cc1e4c910e9bf5a
--- dulwich/walk.py
+++ dulwich/walk.py
import collections
import heapq
from itertools import chain
-from typing import List, Tuple, Set, Deque, Optional
+from typing import Deque, List, Optional, Set, Tuple
-from dulwich.diff_tree import (
- RENAME_CHANGE_TYPES,
- tree_changes,
- tree_changes_for_merge,
- RenameDetector,
-)
-from dulwich.errors import (
- MissingCommitError,
-)
-from dulwich.objects import (
- Commit,
- Tag,
- ObjectID,
-)
+from dulwich.diff_tree import (RENAME_CHANGE_TYPES, RenameDetector,
+ tree_changes, tree_changes_for_merge)
+from dulwich.errors import MissingCommitError
+from dulwich.objects import Commit, ObjectID, Tag
ORDER_DATE = "date"
ORDER_TOPO = "topo"
blob - e6767dfd8eb94540be263836781e96b46b721a1e
blob + 604450728c81d24a70d9575288508e937ad6c104
--- dulwich/web.py
+++ dulwich/web.py
"""HTTP server for dulwich that implements the git smart HTTP protocol."""
-from io import BytesIO
import os
import re
import sys
import time
-from typing import List, Tuple, Optional
-from wsgiref.simple_server import (
- WSGIRequestHandler,
- ServerHandler,
- WSGIServer,
- make_server,
-)
-
+from io import BytesIO
+from typing import List, Optional, Tuple
from urllib.parse import parse_qs
+from wsgiref.simple_server import (ServerHandler, WSGIRequestHandler,
+ WSGIServer, make_server)
-
from dulwich import log_utils
-from dulwich.protocol import (
- ReceivableProtocol,
-)
-from dulwich.repo import (
- BaseRepo,
- NotGitRepository,
- Repo,
-)
-from dulwich.server import (
- DictBackend,
- DEFAULT_HANDLERS,
- generate_info_refs,
- generate_objects_info_packs,
-)
-
+from dulwich.protocol import ReceivableProtocol
+from dulwich.repo import BaseRepo, NotGitRepository, Repo
+from dulwich.server import (DEFAULT_HANDLERS, DictBackend, generate_info_refs,
+ generate_objects_info_packs)
logger = log_utils.getLogger(__name__)
blob - 7dd2381cad00493199e748fe8d648cc224bfd064
blob + d51c2fc077449302749e489602172a5e15661934
--- examples/clone.py
+++ examples/clone.py
import sys
-
+from getopt import getopt
from os.path import basename
-from getopt import getopt
-
from dulwich import porcelain
-
_, args = getopt(sys.argv, "", [])
blob - fabcd6215c6fa310dd936785b59fa8d40cd52696
blob + a074e1b958b0ce7a920c531cca45ac3dd6c441f0
--- examples/diff.py
+++ examples/diff.py
# Example usage:
# python examples/diff.py
-from dulwich.repo import Repo
-from dulwich.patch import write_tree_diff
import sys
+from dulwich.patch import write_tree_diff
+from dulwich.repo import Repo
+
repo_path = "."
commit_id = b"a6602654997420bcfd0bee2a0563d9416afe34b4"
blob - aae42bffcff71092d0c1ed0978ce7c4a315cbc8b
blob + 26c3d2104cfa1ec34357b8c6d62e0299a81215ec
--- examples/gcs.py
+++ examples/gcs.py
#!/usr/bin/python3
-from dulwich.repo import Repo
-from dulwich.cloud.gcs import GcsObjectStore
-
import tempfile
from google.cloud import storage
+from dulwich.cloud.gcs import GcsObjectStore
+from dulwich.repo import Repo
+
client = storage.Client()
bucket = client.get_bucket('mybucket')
blob - 14b158f2c202736fb013b801c0617f3afc935952
blob + 1a4229b8dc61557e7a735c2ab0f4ddcbc0a18add
--- examples/latest_change.py
+++ examples/latest_change.py
import sys
import time
+
from dulwich.repo import Repo
if len(sys.argv) < 2:
blob - e023b0736e45d0cf0b94ac01d31ef744cc8fc4f4
blob + 23118f555f21178498282b69473d101050399966
--- examples/rename-branch.py
+++ examples/rename-branch.py
#!/usr/bin/python3
+import argparse
+
from dulwich.client import get_transport_and_path_from_url
from dulwich.objects import ZERO_SHA
from dulwich.pack import pack_objects_to_data
-import argparse
parser = argparse.ArgumentParser()
parser.add_argument('url', type=str)
parser.add_argument('old_ref', type=str)
blob - 46b0745c556c34cfbbdc3cacb2bed08c00e402d0
blob + 4a758542ab576526de415748b88e01bbddebbfd0
--- setup.py
+++ setup.py
# Setup file for dulwich
# Copyright (C) 2008-2022 Jelmer Vernooij <jelmer@jelmer.uk>
-from setuptools import setup, Extension
import os
import sys
+from setuptools import Extension, setup
if sys.version_info < (3, 6):
raise Exception(