Open ArsenShnurkov opened 9 years ago
Why not use LibGit2Sharp?
Also, about running JGit under IKVM, we had a PoC on MonoDevelop itself: https://github.com/mono/monodevelop/pull/498
Language which differs from C# requires another toolchain which is not available on all platforms. LibGit2Sharp requires C toolchain for libgit. C toolchain is not available on all platforms. Some platforms have ideological restrictions which prevents usage of C tools.
Getting IKVM binaries out of JGit is documented over here too, btw https://github.com/mono/jgit-binary
IKVM binaries still doesn't give C# code without decompiling.
But what about modifying Java code and just using the generated assemblies? That's what we had in mind initially.
The generated code does work, I've had no problems with it, and I could run the JGit test suites under IKVM too without many problems.
In the another operating system (on MOSA toolchain) I will have no tools to modify Java code. It's more convinient to have C# codebase.
last commit here is several years old git://git.eclipse.org/gitroot/jgit/jgit.git have newer versions like JGit v4.0.0.201506090130-r Contained in tags: v4.0.0.201506090130-r Commit hash: 4f221854556991e3394b3a71e77ee0b771b1500b Date: 2 weeks ago (09.06.2015 8:29:27)
see also https://github.com/gitextensions/gitextensions/issues/2516
earlier attempt: https://github.com/henon/GitSharp
slluis: "The really hard parts are: 1) Java constructs that make sharpen crash. When sharpen crashes is not always easy to find out what caused the crash. 2) Java constructs not supported by sharpen. 3) Incorrectly generated C# code. It has to be manually patched. 4) Missing implementations of core java methods. Those have to be implemented or mapped to existing .NET methods using the configuration file.
Some of those problems could be alleviated by improving Sharpen, but only to some extent, since there are some Java constructs which are not easily translatable to C# (and JGit uses many of them)."
https://github.com/pvginkel/gitter/issues/15
NGit does not provide a Stage function which would make deleted files be marked as staged deletes. https://github.com/mono/monodevelop/pull/653
GPL/LGPL questions with Sharpen.Unix https://github.com/mono/sharpen/issues/39
weak documentation https://github.com/mono/ngit/issues/13
I think it should be possible to run JGit on mono directly with ikvm, but can't find posts about it. UPD: https://github.com/mono/jgit-binary http://tirania.org/blog/archive/2009/Oct-12.html