/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/git/server.py

  • Committer: Jelmer Vernooij
  • Date: 2019-03-05 07:32:38 UTC
  • mto: (7290.1.21 work)
  • mto: This revision was merged to the branch mainline in revision 7311.
  • Revision ID: jelmer@jelmer.uk-20190305073238-zlqn981opwnqsmzi
Add appveyor configuration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
# along with this program; if not, write to the Free Software
17
17
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
18
 
 
19
from __future__ import absolute_import
 
20
 
19
21
from dulwich.server import TCPGitServer
20
22
 
21
23
import sys
31
33
 
32
34
from .mapping import (
33
35
    default_mapping,
34
 
    decode_git_path,
35
36
    )
36
37
from .object_store import (
37
38
    BazaarObjectStore,
59
60
 
60
61
    def open_repository(self, path):
61
62
        # FIXME: More secure path sanitization
62
 
        transport = self.transport.clone(decode_git_path(path).lstrip("/"))
 
63
        transport = self.transport.clone(path.decode('utf-8').lstrip("/"))
63
64
        trace.mutter('client opens %r: %r', path, transport)
64
65
        return BzrBackendRepo(transport, self.mapping)
65
66
 
91
92
            have = self.object_store.find_common_revisions(graph_walker)
92
93
            if wants is None:
93
94
                return
94
 
            shallows = getattr(graph_walker, 'shallow', frozenset())
95
95
            if isinstance(self.object_store, BazaarObjectStore):
96
96
                return self.object_store.generate_pack_contents(
97
 
                    have, wants, shallow=shallows,
98
 
                    progress=progress, get_tagged=get_tagged, lossy=True)
 
97
                    have, wants, progress, get_tagged=get_tagged, lossy=True)
99
98
            else:
100
 
                if shallows:
101
 
                    return self.object_store.generate_pack_contents(
102
 
                        have, wants, shallow=shallows, progress=progress)
103
 
                else:
104
 
                    return self.object_store.generate_pack_contents(
105
 
                        have, wants, progress=progress)
 
99
                return self.object_store.generate_pack_contents(
 
100
                    have, wants, progress)
106
101
 
107
102
 
108
103
class BzrTCPGitServer(TCPGitServer):
170
165
 
171
166
def serve_git_receive_pack(transport, host=None, port=None, inet=False):
172
167
    if not inet:
173
 
        raise errors.CommandError(
 
168
        raise errors.BzrCommandError(
174
169
            "git-receive-pack only works in inetd mode")
175
170
    backend = BzrBackend(transport)
176
171
    sys.exit(serve_command(ReceivePackHandler, backend=backend))
178
173
 
179
174
def serve_git_upload_pack(transport, host=None, port=None, inet=False):
180
175
    if not inet:
181
 
        raise errors.CommandError(
 
176
        raise errors.BzrCommandError(
182
177
            "git-receive-pack only works in inetd mode")
183
178
    backend = BzrBackend(transport)
184
179
    sys.exit(serve_command(UploadPackHandler, backend=backend))