News for hackers. Stuff that matters.
Re:Move Fast and Fix Things by mwcampbell on Tuesday December 15, 2015 @02:08PM (#10739709)
This is tangential, but given the increasing functionality and maturity of libgit2, I wonder if it would yet be feasible to replace the Git command-line program with a new one based on libgit2, and written to be as portable as libgit2. Then there would be just one Git implementation, across the command line, GUIs, and web-based services like GitHub. Also, the new CLI could run natively on Windows, without MSYS.
Re:Move Fast and Fix Things by shazow on Tuesday December 15, 2015 @02:51PM (#10740009)
While I think the libgit2 initiative is fantastic, I don't think there needs to be just one Git implementation.

One of my favourite things about git is that the underlying storage and protocol is really simple and straight-forward to implement. You could do a lot of it in shell scripts, if you wanted to.

The stateless storage is simple and consistent, but the thing that does vary is the various operating algorithms: diff, merge, garbage collection, etc.

This creates a really interesting ecosystem where you could potentially have third-party tools that have some secret sauce producing more efficient diffs or fewer conflicting merges but still base it entirely on the open git ecosystem and remain completely backwards-compatible with all the other tooling.

Re:Move Fast and Fix Things by s73v3r on Tuesday December 15, 2015 @04:44PM (#10740700)
No matter how simple and straight-forward it is, someone is going to fuck it up. And they're going to do so in a way that isn't immediately detectable, but screws the rest of the company because now they have to support something using the screwed up implementation.
Re:Move Fast and Fix Things by simoncion on Tuesday December 15, 2015 @08:21PM (#10741744)
Git has a bunch of tests [0]. I expect that not all of them are git-the-official-CLI-specific.

> And they're going to do so in a way that isn't immediately detectable, but screws the rest of the company because now they have to support something using the screwed up implementation.

eeeeeeeeeh. Sensible companies will figure out how to massage the broken data into the correct form, then go on using the correct software.

[0] https://github.com/git/git/tree/master/t

Re:Move Fast and Fix Things by solutionyogi on Tuesday December 15, 2015 @02:19PM (#10739780)
That is my dream. Right now, many Windows GUIs (SmartGit/SourceTree) use 'git.exe' to manage the actual Git repositories.

If libgit2 is fully mature, I can imagine more GUIs/tools will be built to manage/analyze the git repositories.

Re:Move Fast and Fix Things by dan15 on Tuesday December 15, 2015 @11:29PM (#10742384)
> Right now, many Windows GUIs (SmartGit/SourceTree) use 'git.exe' to manage the actual Git repositories.

For what it's worth, all of the Git functionality in Visual Studio uses libgit2.

Re:Move Fast and Fix Things by leonardinius on Tuesday December 15, 2015 @04:02PM (#10740436)
I believe github windows client is going that route https://github.com/blog/1127-github-for-windows.

I also remember some blog post going into sync/async details of git.exe vs libgit2 stuff. Will try to google it.

Re:Move Fast and Fix Things by MarkSweep on Wednesday December 16, 2015 @01:56AM (#10742805)
This is the article you speak of: http://githubengineering.com/git-concurrency-in-github-deskt...

The AsyncReaderWriterLock mentioned in blog does not directly show up in Google, but it appears to be based on the one in this blog post: http://blogs.msdn.com/b/pfxteam/archive/2012/02/12/building-...

Re:Move Fast and Fix Things by sytse on Tuesday December 15, 2015 @06:10PM (#10741151)
At GitLab we're very grateful for all the work that has been done on libgit2 ​by GitHub and others, and we plan to move to it completely.