-
Notifications
You must be signed in to change notification settings - Fork 33
MonoDevelop.VersionControl.Git fails to compile #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
the build process is quite complicated, goes over 4 git-repos. it tries to compile Lines 148 to 150 in 7603eda
with this batch, using a git-sha: dotdevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/build_libgit2.sh Lines 3 to 11 in 7603eda
AND it depends on Line 96 in 7603eda
lets look at it, its in another repo, as of: Lines 16 to 19 in 7603eda
and starts to build this proj. I guess the critical parts are here: https://github.com/dotdevelop/libgit2sharp/blob/dotdevelop/LibGit2Sharp/LibGit2Sharp.csproj#L42-L43 here it generates a part of code, depending on the commit-id of https://github.com/dotdevelop/libgit-binary/blob/vs-8.0-v0.26.8/libgit2_hash.txt that is this branch: https://github.com/dotdevelop/libgit2/tree/vs-8.0-v0.26.8 , having commit-id 71efcb3 https://github.com/dotdevelop/libgit2sharp/blob/dotdevelop/Targets/CodeGenerator.targets#L17-L28 |
analysing build on Ubuntu 20.04 the nerdbank.gitversioning-.nuget fails!
changing to version 3.3.37 : same error
on my machine, i have installed: no idea, how i got libgit2-26 |
ok, we're not alone: |
that's useful to know, at least. The build process does seem very complex however (and I'm in awe at your analysis above). I wonder how necessary this complexity is - the last commits on mono/libgit2sharp were 6 yrs ago, so it seems to be pretty stable... |
i tried this, a little bit better: in LibGit2Sharp.csproj using the latest nerdbank:
getting
|
a compiling (but not working) solution is here: i replaced project LibGit2Sharp with the package from nuget, and hacked MonoDevelop.VersionControl.Git to compile with it,. but it crashes when opening a project unter git control |
My last comment was misleading, re work on libgit2 and libgit2sharp. The last commits on https://github/mono/libgit2 are indeed 6yrs old, but there is very recent work going on at https://github/libgit2/libgit2 and https://github/libgit2/libgit2sharp. My apologies. |
on https://github.com/mono/libgit2sharp/commits/main, they work hard ... this is the branch they use. |
Is it possible to disable/remove Git integration at this moment? I prefer the following,
Both can set a solid ground for future community contributions, and people can move on to,
|
yes, I'll make a branch <branch_we_work_on>_NoGit with your pull request #28 |
i have at least a compiling version here: https://github.com/dotdevelop/libgit2sharp/actions/runs/460178345 and a package created with this action: https://github.com/dotdevelop/libgit2sharp/releases/tag/dotdevelop.0.27.0-preview-g5335a181ca so the next step is to integrate this package & kickout all libgit2sharp-stuff. the dll's / so's / dynlibs are on nuget in this package: LibGit2Sharp.NativeBinaries and sources are here: https://github.com/dotdevelop/libgit2sharp.nativebinaries so no need to generate them in MD |
@lytico If the goal is to switch to NuGet package dependency, then why not choose a close enough version from NuGet.org? |
LibGit2Sharp for monodevelop is a special one, they have their own tree, and not published as NuGet package, as far as i found (not). Line 28 in bba6c11
it's not working. LibGit2Sharp.NativeBinaries maybe works from nuget, i'll try it soon |
seems to work now with this branch/build: https://github.com/dotdevelop/dotdevelop/tree/dotdevelop_oe_8.6_Gkt3 https://github.com/dotdevelop/dotdevelop/actions/runs/461801228 |
It's a bit confusing to know what's the last commit in this repo, why use new branches all the time? How about using |
Doesn't build for me under Arch or Mint:- "Restoring packages for /home/hwt/build/dotdevelop_oe_8.6_Gkt3/main/external/Monodevelop.Netcoredbg/MonoDevelop.Debugger.DotNetCore/MonoDevelop.Debugger.DotNetCore.csproj... I'm also a bit confused - is this still part of the LibGit2Sharp issue, or some different work on Gtk3 (Gkt3?!). And is any further development intended on the 8.1 - 8.4 branches, or does a successful 8.6 branch supercede all previous work? |
@knocte I disagree that work on issues to be put on main/master directly. They should sit on their own branches and then only merged via pull requests (though @hwthomas 8.1-8.4 were created by the original developers to map to VS for Mac releases, so I don't think they should be used by the dotdevelop members for future work. 8.6 might a good option but |
@knocte @hwthomas @lextm so what i have to do (and didn't) is to merge this into dotdevelop_oe_8.6 (see: #39) why? i am not happy with the solution as of the build process:
what does it do? In short, it creates a local NuGet-PackageSource (.localcache/local-feed), downloads dotdevelop.0.27.0-preview-g5335a181ca.nupkg and add it into. a suggestion is to make this on more sub-projects (see: #38) so, if build integration is solved, branch dotdevelop_oe_8.6_Gkt3 is the best working branch (at the moment) and should merged into dotdevelop_oe_8.6. i'll keep working on dotdevelop_oe_8.6_Gkt3 to try out/refactoring for switching to Gkt3 |
@hwthomas on local build, you have to run fillLocal.sh before make. |
I will not be the one disagreeing with working on features in branches. But if instead of dotdevelop_oe_8.6_Gkt3 it had been named something like |
IMHO, if the branch is named like @knocte suggested and all the old remote branches are removed, so that we can have just |
i suggest to discuss branching / forking / pull request management in a new issue: #41 |
current discussion is here: #33 |
better solution:
see: #38 |
Another suggestion regarding dependency to LibGit2Sharp. I understand that we can't directly depend on the latest version because we need some new types introduced by mono team. But, from what I understand the branch |
no, there are just a few differences from dotdevelop/libgit2sharp@dotdevelop...mono:master dotdevelop/libgit2sharp@dd/issues/2...mono:master but its far away from |
ok, then I misunderstood it, please ignore my comment :) |
as of #46, i introduced a .nugetfallback - folder to hold unlisted packages. so, https://github.com/dotdevelop/libgit2sharp/releases/tag/dotdevelop.0.27.0-preview-g5335a181ca should be added there and fillLocal.sh can be removed |
I argued about github packages under #38, but looks like you got an interesting alternative, I didn't know about this .nugetfallback :) |
try to close it again, compiles: |
Uh oh!
There was an error while loading. Please reload this page.
MonoDevelop.VersionControl.Git fails to compile on some distries, eg. plain Ubuntu 20.04, but compiles on some production machines
see discussion before: #28
The text was updated successfully, but these errors were encountered: