Skip to content

Commit

Permalink
New upstream version 0.16.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jelmer committed Dec 24, 2016
2 parents e886e13 + 146afde commit f19daa1
Show file tree
Hide file tree
Showing 27 changed files with 714 additions and 253 deletions.
52 changes: 0 additions & 52 deletions CONTRIBUTING

This file was deleted.

35 changes: 35 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,38 @@
0.16.0 2016-12-24

IMPROVEMENTS

* Add support for worktrees. See `git-worktree(1)` and
`gitrepository-layout(5)`. (Laurent Rineau)

* Add support for `commondir` file in Git control
directories. (Laurent Rineau)

* Add support for passwords in HTTP URLs.
(Jon Bain, Mika Mäenpää)

* Add `release_robot` script to contrib,
allowing easy finding of current version based on Git tags.
(Mark Mikofski)

* Add ``Blob.splitlines`` method.
(Jelmer Vernooij)

BUG FIXES

* Fix ``porcelain.reset`` to respect the comittish argument.
(Koen Martens)

* Fix handling of ``Commit.tree`` being set to an actual
tree object rather than a tree id. (Jelmer Vernooij)

* Return remote refs from LocalGitClient.fetch_pack(),
consistent with the documentation for that method.
(#461, Jelmer Vernooij)

* Fix handling of unknown URL schemes in get_transport_and_path.
(#465, Jelmer Vernooij)

0.15.0 2016-10-09

BUG FIXES
Expand Down
2 changes: 1 addition & 1 deletion PKG-INFO
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: dulwich
Version: 0.15.0
Version: 0.16.0
Summary: Python Git Library
Home-page: https://www.dulwich.io/
Author: Jelmer Vernooij
Expand Down
133 changes: 0 additions & 133 deletions README.swift

This file was deleted.

41 changes: 33 additions & 8 deletions bin/dulwich
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@

"""Simple command-line interface to Dulwich>
This is a very simple command-line wrapper for Dulwich. It is by
no means intended to be a full-blown Git command-line interface but just
This is a very simple command-line wrapper for Dulwich. It is by
no means intended to be a full-blown Git command-line interface but just
a way to test Dulwich.
"""

Expand Down Expand Up @@ -95,12 +95,16 @@ def cmd_fetch(args):


def cmd_log(args):
opts, args = getopt(args, "", [])
if len(args) > 0:
path = args.pop(0)
else:
path = "."
porcelain.log(repo=path, outstream=sys.stdout)
parser = optparse.OptionParser()
parser.add_option("--reverse", dest="reverse", action="store_true",
help="Reverse order in which entries are printed")
parser.add_option("--name-status", dest="name_status", action="store_true",
help="Print name/status for each changed file")
options, args = parser.parse_args(args)

porcelain.log(".", paths=args, reverse=options.reverse,
name_status=options.name_status,
outstream=sys.stdout)


def cmd_diff(args):
Expand Down Expand Up @@ -397,6 +401,26 @@ def cmd_pack_objects(args):
f.close()


def cmd_help(args):
parser = optparse.OptionParser()
parser.add_option("-a", "--all", dest="all",
action="store_true",
help="List all commands.")
options, args = parser.parse_args(args)

if options.all:
print('Available commands:')
for cmd in sorted(commands):
print(' %s' % cmd)
else:
print("""\
The dulwich command line tool is currently a very basic frontend for the
Dulwich python module. For full functionality, please see the API reference.
For a list of supported commands, see 'dulwich help -a'.
""")


commands = {
"add": cmd_add,
"archive": cmd_archive,
Expand All @@ -410,6 +434,7 @@ commands = {
"dump-index": cmd_dump_index,
"fetch-pack": cmd_fetch_pack,
"fetch": cmd_fetch,
"help": cmd_help,
"init": cmd_init,
"log": cmd_log,
"ls-remote": cmd_ls_remote,
Expand Down
26 changes: 26 additions & 0 deletions docs/tutorial/encoding.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Encoding
========

You will notice that all lower-level functions in Dulwich take byte strings
rather than unicode strings. This is intentional.

Although `C git`_ recommends the use of UTF-8 for encoding, this is not
strictly enforced and C git treats filenames as sequences of non-NUL bytes.
There are repositories in the wild that use non-UTF-8 encoding for filenames
and commit messages.

.. _C git: https://github.com/git/git/blob/master/Documentation/i18n.txt

The library should be able to read *all* existing git repositories,
irregardless of what encoding they use. This is the main reason why Dulwich
does not convert paths to unicode strings.

A further consideration is that converting back and forth to unicode
is an extra performance penalty. E.g. if you are just iterating over file
contents, there is no need to consider encoded strings. Users of the library
may have specific assumptions they can make about the encoding - e.g. they
could just decide that all their data is latin-1, or the default Python
encoding.

Higher level functions, such as the porcelain in dulwich.porcelain, will
automatically convert unicode strings to UTF-8 bytestrings.
1 change: 1 addition & 0 deletions docs/tutorial/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Tutorial
:maxdepth: 2

introduction
encoding
file-format
repo
object-store
Expand Down
2 changes: 1 addition & 1 deletion dulwich.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: dulwich
Version: 0.15.0
Version: 0.16.0
Summary: Python Git Library
Home-page: https://www.dulwich.io/
Author: Jelmer Vernooij
Expand Down
4 changes: 2 additions & 2 deletions dulwich.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
.testr.conf
.travis.yml
AUTHORS
CONTRIBUTING
COPYING
MANIFEST.in
Makefile
NEWS
README.md
README.swift
TODO
appveyor.yml
dulwich.cfg
Expand All @@ -25,6 +23,7 @@ docs/performance.txt
docs/protocol.txt
docs/tutorial/Makefile
docs/tutorial/conclusion.txt
docs/tutorial/encoding.txt
docs/tutorial/file-format.txt
docs/tutorial/index.txt
docs/tutorial/introduction.txt
Expand Down Expand Up @@ -69,6 +68,7 @@ dulwich.egg-info/dependency_links.txt
dulwich.egg-info/top_level.txt
dulwich/contrib/__init__.py
dulwich/contrib/paramiko_vendor.py
dulwich/contrib/release_robot.py
dulwich/contrib/swift.py
dulwich/contrib/test_swift.py
dulwich/contrib/test_swift_smoke.py
Expand Down
2 changes: 1 addition & 1 deletion dulwich/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@

"""Python implementation of the Git file formats and protocols."""

__version__ = (0, 15, 0)
__version__ = (0, 16, 0)
Loading

0 comments on commit f19daa1

Please sign in to comment.