libgit2 / pygit2

Python bindings for libgit2
https://www.pygit2.org/
Other
1.59k stars 383 forks source link

Unable to push to remote after committing files #1053

Open rjsbhatia opened 3 years ago

rjsbhatia commented 3 years ago

I am committing some files using pygit2 and want to push to remote branch. This is what i am doing:

        repo = pygit2.Repository(build_dir)
        branch = repo.lookup_branch(local_branch)
        repo.checkout(branch)
        for fl in files:
           repo.index.add(fl)
        repo.index.write()
        message = f"Commiting files {files}"
        tree = repo.index.write_tree()
        parent, ref = repo.resolve_refish(refish=repo.head.name)
        author = pygit2.Signature("user", "email")
        commiter = pygit2.Signature("user", "email")

        repo.create_commit(
            ref.name,
            author,
            commiter,
            message,
            tree,
            [parent.oid],
        )

        remote = repo.remotes["origin"]
        callbacks = pygit2.RemoteCallbacks(pygit2.UserPass("username", GITHUB_PERSONAL_ACCESS_TOKEN))
        remote.push(['refs/heads/master'],callbacks=callbacks)

And i get an error: _pygit2.GitError: unsupported URL protocol

I cannot find any documentation or any clarity on whats going on here.

Any help will be much appreciated.

thanks

jwheeler31 commented 2 years ago

@rjsbhatia, did you ever solve this issue?

rjsbhatia commented 2 years ago

Yeah, i think I was doing this on travis ci and travis had a checkedout state of repo that couldn't write back to master. I dont remember how i fixed that problem. Something to do with travis. Since then we have stopped using travis :-(