6 ms·
So basically it's git-annex, but tied to GitHub. http://git-annex.branchable.com/ http://git-annex.branchable.com/
by Doji 12y ago
So basically it's git-annex, but tied to GitHub. http://git-annex.branchable.com/ http://git-annex.branchable.com/
- scott_karana 12y agoYeah, that was exactly my feeling. "Not invented here" much?
- andrewchambers 12y agothey are trying to make a service. If you are making a product you generally want to be in control of its core parts.
- sytse 12y agoIf you use another open source project that gives you control right? It would be nice if everyone reused git-annex like they reused git.
- acveilleux 12y agoAs far as I can tell, less flexible (far less) then annex but it can be made very seamless to the user (no/few special commands and lfs tracking by filemask.) I would think bridging the gap in annex to track by file pattern would be easy but a lot of people might prefer not to know how to make annex go. So using simplicity as differentiator.
- IgorPartola 12y ago(Not a git-annex user here). I suppose functionally, these two are similar. But the use case is different. git-annex seems to be more for managing files and making sure they don't disappear on you. GitHub's new thing is for keeping track of larger objects inside your git project efficiently. Basically, yeah, you can use git-annex to store the PSD, the audio samples, the promo video, etc. but wouldn't it be nice to have it all tied in with your normal project workflow?
- fragmede 12y ago> (Not a git-annex user here) You could at least read the examples on the git-annex page[1] before passing judgement that the use cases are at all different (they're not). Instead of using a new 'lfs' command that ties you to GitHub, you use an 'annex' command (along with a few others). Git-annex does just fine "keeping track of larger objects inside your git project efficiently", and is no more divorced from your normal project workflow than GitHub's lfs. [1]http://git-annex.branchable.com/git-annex/ http://git-annex.branchable.com/git-annex/
- res0nat0r 12y agoI tried git-annex a couple of times to sync my 2 OSX and linux based computers at my house and play around. It wasn't the easiest thing to get setup and working and I couldn't get one of the OSX hosts to work at all. I'm sure this will be much easier to use for the end user like other github products and will "just work" out of the box.
- zipperhead 12y agoAs a counterpoint, I just set up git-annex and sync'd a couple of local servers plus a remote server, with no issues, by following along in the walkthrough. Granted, it's not exactly an out-of-the-box setup, like say, syncthing, but it wasn't anything overly difficult.
- bhuga 12y ago> tied to GitHub. The protocol is open (https://github.com/github/git-lfs/blob/master/docs/api.md https://github.com/github/git-lfs/blob/master/docs/api.md) and the client additions are open source. There is a reference server implementation at https://github.com/github/lfs-test-server https://github.com/github/lfs-test-server. edit: added protocol spec
- chimeracoder 12y ago> The protocol is open and the client additions are open source. There is a reference server implementation at https://github.com/github/lfs-test-server https://github.com/github/lfs-test-server. This isn't about this particular instance (Github's LFS), but in general, a "reference implementation" isn't the same thing as having an open protocol. Having a reference implementation without a proper specification means that any other implementations have to re-implement the existing reference implementation, including any bugs. The purpose of a specification is to outline undefined behavior as much as it is to outline defined behavior. That is, the specification says, "these are the portions of the program which you may not rely on". We've seen this happen in some languages in which a particular implementation is either the de facto or de jure standard. Other compilers or interpreters end up having to mimic their bugs when it comes to things like arithmetic overflow/precision errors, because developers have come to rely on the language behaving one way, in the absence of any clear rules telling them otherwise[0]. [0] Not that developers may not rely on things that a specification explicitly tells them not to - there are plenty of examples of this too - but at least then it's possible to say determine either that a particular program will run on any standards-compliant implementation, or that it is implementation-specific.
- bhuga 12y agoYou're right, the protocol is also required. I didn't link to it in my comment, but it is also open and well-defined. I've updated my comment. Thanks!
- rmc 12y agoEmbrace. Extend. Extinguish.