Unable to push to remote after committing files
未关闭
还没有人认领这个 Issue。
- 主要语言
- Python
- 星标
- 1.7k
- 派生
- 408
- 平均合并
- 2 天 57 分钟
- 30 天内合并 PR
- 7
描述
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
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先检查仓库配置的 origin URL 和 remote.push 调用,然后验证提供的 RemoteCallbacks 和 UserPass 凭据是如何使用的。使用所示的 pygit2 代码重现不支持 URL 协议的错误,并将 remote 配置与支持的协议进行比较。确定配置或 callback 问题,并记录一次经验证成功的 push,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- git, python
- 领域
- tooling
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100