问题标签 [libgit2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 比较崎岖的 2 次提交
我没有找到任何关于在崎岖不平的情况下获得 2 个文件之间差异的文档。我使用下面的代码使用坚固的提交文件
如何在崎岖不平的环境中看到同一对象的 2 次提交之间的差异?
libgit2 - libgit2sharp 获取失败
我正在使用 libgit2sharp 来进行概念验证,以自动获取、更改、提交一些文件并推送到远程源。
我知道push还没有完成,但是fetch在 vnext 但是当我调用它时:
libgit2 引发错误。类别 = Os(错误)。连接主机失败
这是我的代码:
其他一些细节:
- 我的遥控器是使用 https 托管的私有 bitbucket。(看起来像:https://myusername@bitbucket.org/myRepoOwner/repoName.git)
- 我能够从命令行获取和推送,所以 repo 正在工作。
- 当我使用 repo.Fetch("origin"); 时会发生同样的问题
libgit2 - 为什么使用 kernel32.dll 的 GetProcAddress 的 libgit2 方法总是返回 0?
我需要手动处理实际的加载/卸载git2.dll
,而不是[DllImport("git2")]
在 C# 中使用。我似乎在创建一个IntPtr
用于引用存储在libgit2
.
这是我PluginManager
班级中的好东西,它们应该有助于促进手动加载、编组/委托(每当我修复这个扭结时)和卸载库。
这是我尝试使用它们的地方:
库是否没有暴露于这种类型的加载?我尝试了本LibGit2Sharp
机挂钩中存在的各种方法,但它们总是返回零。
libgit2 - libgit2 相当于 git log
我正在尝试使用 libgit2 执行以下等效操作:
我在 1) 找到将所有 refs 推入 revwalker 的最简单方法和 2) 以相同顺序获得结果时遇到了麻烦。尽管我尝试了拓扑和时间排序的各种组合,但我一直看到较旧的分支出现在顶部附近。
我最近的尝试涉及到 call git_revwalk_push_glob(walk, "refs/*")
,但并不是所有的分支都出来了。一个测试仓库有两个本地分支,一个(当前的)丢失了。
我实际上是在 Objective-git 中这样做的,但是 GTEnumerator 接口有点受限,所以我不得不扩展它。
更新:我继续手动推送 refs/heads、refs/remotes 和 refs/tags(以及所有 stash,因为我实际上想要的不仅仅是顶部)。排序问题仍然存在。
git - 如何使用 LibGit2(Sharp) 为 Git 存储库构建版本树
一些背景:
我正在研究使用 Git 作为数据存储层的可能性。基本上我需要保留一些描述应用程序状态的 XML 文件的所有版本。用户需要一个“时间机器”才能恢复到以前的状态,以及分支以前的状态等。这将隐藏在服务层后面,但我正在考虑在后端使用 Git。
我需要展示应用程序状态随时间的演变,所以我想构建一个网络图来显示变化、分支等。
为此,我需要直观地构建版本树。基本上,我想这样做:
我正在使用 LibGit2Sharp。我已经浏览了 API,但没有立即看到任何有用的东西。我对 Git 也很了解,但这并没有帮助。
libgit2 - libgit2 是否支持 SSH 传输协议?
是否可以使用 ssh-keys 通过 ssh 克隆存储库?
c++ - 如何使用 libgit2 初始化 git 存储库
在 Windows XP 32 位机器上,我使用克隆了 libgit2 存储库
然后我从trunk_build_debug为mingw配置了:
并用
使用这个新建的库,我正在尝试创建一个新的存储库。所以我正在使用
第一次尝试失败并显示错误消息:
Git错误-1:全局文件'.config/git/config'不存在:系统找不到指定的文件。
.git 目录已创建,我可以使用git status
它来查询它。另外,我在 Program Files/git 中安装了 git,它工作得很好。提到的文件在用户目录中不存在,这是真的。我不高兴,因为我无法检查返回的错误代码(错误可能是“真实的”)。
所以我在 D:\Documents and Settings\User Name.config\git\config 中创建了一个空文件 .git 目录再次创建,但我得到相同的 -1 错误代码。这次 giterr_last() 返回 NULL。
在调试器中跟踪代码似乎表明该库对我的空文件不满意。
但是,我认为这表明我做错了什么。有初始化方法吗?我是否需要创建文件并使用 git_config_ 函数将库指向它?
顺便说一句,这是问这个错误的地方吗?有专门的论坛我应该问这个问题吗?
谢谢
这是调用失败的回溯:pastebin 似乎无法解析 .git 目录中的配置文件(跟踪中未显示的是失败的 'config_parse()')。
我在 libgit2 中打开了一个问题。
c - 用 libgit2 实现“git pull”?
我有一个相对较短的 Gist应该用来libgit2
模拟git pull
命令的功能。不幸的是,它并不完全有效。
总之,片段:
- 调用
git_repository_open()
以打开磁盘上的存储库 - 调用
git_remote_load()
以获取git_remote *
名为“origin”的远程 git_remote_connect()
用GIT_DIRECTION_FETCH
国旗打电话git_remote_download()
从远程获取对象的调用
根据git_remote_stats()
,确实正在获取对象。但是工作目录不会改变以反映最新的提交。我尝试添加:
……但这并没有什么不同。
输入:
...在终端中产生以下输出:
如何快进?
head - 使用 libgit2 获取远程 HEAD?
我似乎无法弄清楚如何获得git_reference *
特定遥控器的 HEAD。
我有:
运行应用程序时会显示错误消息,指示未找到引用。但是,远程 HEAD 确实存在:
为什么我无法获得git_reference *
远程 HEAD?
c# - LibGit2Sharp 找不到 git2.dll
我已经构建了一个小型 wpf 应用程序来管理我正在开发的网站。这个应用程序的主要特点是它允许我检出主题存储库的不同分支。这在 Visual Studio 中完美运行,但是当我在我的 Windows 8 机器上发布、安装和运行该应用程序时,它会返回:
我已经通过互联网和stackoverflow进行了搜索。还有类似的问题,如Unable to load DLL 'git2.dll' The specified module could not be found但是提供的答案(以及答案中描述的github问题中显示的答案)又出现了一个错误:
我尝试通过 nuget 安装最新版本,包括编译的 dll 并添加 git2.dll,包括我的解决方案中的 libgit2sharp 项目。再一次,当我通过 Visual Studio 运行它时它运行良好,但当我发布、安装和运行它时失败。
我不确定需要包含哪些信息,因此请随时发表评论并让我知道,以便我更新问题。
谢谢!