Exemplo n.º 1
0
 def disable_ff_and_make_dummy_commit(self):
     # disable non-fast-forward pushes to the server
     dest = repo.Repo(os.path.join(self.gitroot, 'dest'))
     run_git_or_fail(['config', 'receive.denyNonFastForwards', 'true'],
                     cwd=dest.path)
     b = objects.Blob.from_string('hi')
     dest.object_store.add_object(b)
     t = index.commit_tree(dest.object_store, [('hi', b.id, 0100644)])
Exemplo n.º 2
0
    def test_push_to_dulwich(self):
        self.import_repos()
        self.assertReposNotEqual(self._old_repo, self._new_repo)
        port = self._start_server(self._old_repo)

        run_git_or_fail(['push', self.url(port)] + self.branch_args(),
                        cwd=self._new_repo.path)
        self.assertReposEqual(self._old_repo, self._new_repo)
Exemplo n.º 3
0
    def test_fetch_from_dulwich(self):
        self.import_repos()
        self.assertReposNotEqual(self._old_repo, self._new_repo)
        port = self._start_server(self._new_repo)

        run_git_or_fail(['fetch', self.url(port)] + self.branch_args(),
                        cwd=self._old_repo.path)
        # flush the pack cache so any new packs are picked up
        self._old_repo.object_store._pack_cache = None
        self.assertReposEqual(self._old_repo, self._new_repo)
Exemplo n.º 4
0
 def setUp(self):
     CompatTestCase.setUp(self)
     DulwichClientTestBase.setUp(self)
     if check_for_daemon(limit=1):
         raise TestSkipped('git-daemon was already running on port %s' %
                           protocol.TCP_GIT_PORT)
     fd, self.pidfile = tempfile.mkstemp(prefix='dulwich-test-git-client',
                                         suffix=".pid")
     os.fdopen(fd).close()
     run_git_or_fail(
         ['daemon', '--verbose', '--export-all',
          '--pid-file=%s' % self.pidfile, '--base-path=%s' % self.gitroot,
          '--detach', '--reuseaddr', '--enable=receive-pack',
          '--listen=localhost', self.gitroot], cwd=self.gitroot)
     if not check_for_daemon():
         raise TestSkipped('git-daemon failed to start')
Exemplo n.º 5
0
    def test_copy(self):
        origpack = self.get_pack(pack1_sha)
        self.assertSucceeds(origpack.index.check)
        pack_path = os.path.join(self._tempdir, "Elch")
        write_pack(pack_path, [(x, "") for x in origpack.iterobjects()],
                   len(origpack))
        output = run_git_or_fail(['verify-pack', '-v', pack_path])

        pack_shas = set()
        for line in output.splitlines():
            sha = line[:40]
            try:
                binascii.unhexlify(sha)
            except TypeError:
                continue  # non-sha line
            pack_shas.add(sha)
        orig_shas = set(o.id for o in origpack.iterobjects())
        self.assertEquals(orig_shas, pack_shas)
Exemplo n.º 6
0
 def _run_git(self, args):
     return run_git_or_fail(args, cwd=self._repo.path)
Exemplo n.º 7
0
 def setUp(self):
     self.gitroot = os.path.dirname(import_repo_to_dir('server_new.export'))
     dest = os.path.join(self.gitroot, 'dest')
     file.ensure_dir_exists(dest)
     run_git_or_fail(['init', '--quiet', '--bare'], cwd=dest)