-
Notifications
You must be signed in to change notification settings - Fork 13
Still active? #1
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
Good question. I suppose no and yes, but probably more no than yes. When I started this, my goal was to get it to a point that it could be a libxdiff replacement for the main project I work on (i.e libgit2), but I never really got it to that point and it has become lower priority on my todo list. That being said, I'm still interested and if there was someone else also interested, I'd be happy to work together to add functionality and get it in a better state. It looks like there is one fork where some further work has been done (https://github.com/ggreer/diff-match-patch-c) and I'd be happy to merge pull requests if @ggreer wants to submit them! |
Hi, thanks for your quick reply. |
Instead of using this library, I ended up embedding Lua into my C program and using the Lua version of diff-match-patch. My changes to diff-match-patch-c were just minor things like fixing the build on Ubuntu 12.04. I didn't add any features or fix any tricky bugs. |
@ggreer Thanks for your fast answer, the problem is I need a plain C solution so Lua isn't an option for me. |
I wouldn't mind helping complete this library. Though my experience is mainly centered around python and java, I do know how to read C, and figure that working on a project such as this would be a good learning experience. I mainly need this library for integration into a python/pypy application. I would greatly appreciate continued work on this project.
Edit: |
@Varriount Sure thing! I'm glad you're interested. Of the diff-match-patch code, so far I've only implemented the basic string-to-string diff and even for that, I've omitted little bits here and there. The core Myers diff is implemented as are many of the optimizations, but things like deadlines and such are not. None of the match and patch code is implemented at all. Based on the very limited tests that I've written, I think the basic diff works. Nothing else is implemented so that's pretty simple. The The core diff code generates a In retrospect, the Regarding unicode compatibility, the current version of this code diffs based on byte ranges. None of the upstream diff cleanups are implemented (such as converting the byte-range diffs to line-oriented diffs). I believe that handling unicode should be done as a post byte-diff cleanup, realigning diff span boundaries to match unicode character boundaries. That being said, I haven't really looked at that deeply nor am I much of an expert on unicode. By the way, I may have a reason to pick this code back up again and move it forward some more. It certainly helps to know that there is still some interest. |
@Varriount I'm still interested too in this project maybe there is a chance to move it forward. |
If it helps, I have a Windows 8, 64 bit dev machine, with both Visual Studio and Mingw64 installed. I'm currently trying to get Visual Studio to compile the source into a DLL (Surprisingly, Mingw64's gcc compiled it without a hitch, usually it's the other way around.) |
I did a little bit of tweaking to the project organization - hopefully it won't mess you up too much. Right now, the coding conventions are very similar to those of libgit2 because that's what I spend much of my time working on and it was just easy to stick with those. If you want to help, you may want to read the conventions for that project. |
Is this project still active?
The text was updated successfully, but these errors were encountered: