git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git Vs. Svn for a project which *must* distribute binaries too.

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Jun 5, 2007, 00:21 UTC
Message-ID
<alpine.LFD.0.98.0706041715500.23741@woody.linux-foundation.org>
In-Reply-To
<Pine.LNX.4.64.0706041923580.22840@iabervon.org>
On Mon, 4 Jun 2007, Daniel Barkalow wrote:
Show 5 quoted lines
> 
> Actually, I've been playing with using git's data-distribution mechanism 
> to distribute generated binaries. You can do tags for arbitrary binary 
> content (not in a tree or commit), and, if you have some way of finding 
> the right tag name, you can fetch that and extract it.

Yes, I think git should be very nice for doing binary stuff like firmware images too, my only worry is literally about "mixing it in" with other stuff.

Putting lots of binary blobs into a git archive should work fine: but if you would then start tying them together (with a commit chain), it just means that even if you only really want _one_ of them, you end up getting them all, which sounds like a potential disaster.

On the other hand, if you actually want a way to really *archive* the dang things, that may well be what you actually want. In that case, having a separate branch that only contains the binary stuff might actually be what you want to do (and depending on the kind of binary data you have, the delta algorithm might even be good at finding common data sequences and compressing it).

Show 5 quoted lines
> I came up with this at my job when we were trying to decide what to do 
> with firmware images that we'd shipped, so that we'd be able to examine 
> them again even if we lose the compiler version we used at the time. We 
> needed an immutable data store with a mapping of tags to objects, and I 
> realized that we already had something with these exact characteristics.

Yeah, if you just tag individual blobs, git will keep track of them, but won't link them together, so you can easily just look up and fetch a single one from such an archive. Sounds sane enough.

		Linus
Previous: Daniel BarkalowNext: david@lang.hm
Message 17 of 21 in “Git Vs. Svn for a project which *must* distribute binaries too.”
  1. Bryan ChildsJun 4, 2007
  2. Julian PhillipsJun 4, 2007
  3. Theodore TsoJun 4, 2007
  4. Johannes SchindelinJun 4, 2007
  5. Linus TorvaldsJun 4, 2007
  6. Bryan ChildsJun 4, 2007
  7. Linus TorvaldsJun 4, 2007
  8. Thomas GlanzmannJun 4, 2007
  9. Linus TorvaldsJun 4, 2007
  10. Olivier GalibertJun 4, 2007
  11. Linus TorvaldsJun 4, 2007
  12. Joel BeckerJun 4, 2007
  13. Theodore TsoJun 5, 2007
  14. Johannes SchindelinJun 5, 2007
  15. Martin LanghoffJun 4, 2007
  16. Daniel BarkalowJun 4, 2007
  17. Linus TorvaldsJun 5, 2007
  18. david@lang.hmJun 5, 2007
  19. Linus TorvaldsJun 5, 2007
  20. Jakub NarebskiJun 4, 2007
  21. Jakub NarebskiJun 6, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.