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

Re: [RFC/WIP] Pluggable reference backends

From
DLDavid Lang <david@lang.hm>
Date
Mar 10, 2014, 16:28 UTC
Message-ID
<alpine.DEB.2.02.1403100923110.16215@nftneq.ynat.uz>
In-Reply-To
<87k3c2820l.fsf@fencepost.gnu.org>
On Mon, 10 Mar 2014, David Kastrup wrote:
Show 23 quoted lines
> Jeff King <peff@peff.net> writes:
>
>> On Mon, Mar 10, 2014 at 07:30:45AM -0700, Shawn Pearce wrote:
>>
>>>> * Store references in a SQLite database, to get correct transaction
>>>>   handling.
>>>
>>> No to SQLLite in git-core. Using it from JGit requires building
>>> SQLLite and a JNI wrapper, which makes JGit significantly less
>>> portable. I know SQLLite is pretty amazing, but implementing
>>> compatibility with it from JGit will be a big nightmare for us.
>>
>> That seems like a poor reason not to implement a pluggable feature for
>> git-core. If we implement it, then a site using only git-core can take
>> advantage of it. Sites with JGit cannot, and would use a different
>> pluggable storage mechanism that's supported by both. But if we don't
>> implement, it hurts people using only git-core, and it does not help
>> sites using JGit at all.
>
> Of course, the basic premise for this feature is "let's assume that our
> file and/or operating system suck at providing file system functionality
> at file name granularity".  There have been two historically approaches
> to that problem that are not independent: a) use Linux b) kick Linus.

As a note, if this is done properly, it could allow for plugins that connect to the underlying storage system (similar to the Facebook Mecurial change)

Even for those who don't have the $$$$$ storage arrays, there may be other storage specific hacks that can be done to detect that files haven't changed.

For example, with btrfs and you compile into a different directory thatn your source, you may be able to detect that things didn't change by the fact that the filesystem didn't have to do a rewrite of the parent node.

David Lang
Previous: David KastrupNext: Jeff King
Message 7 of 17 in “[RFC/WIP] Pluggable reference backends”
  1. Michael HaggertyMar 10, 2014
  2. Johan HerlandMar 10, 2014
  3. Shawn PearceMar 10, 2014
  4. Max HornMar 10, 2014
  5. Jeff KingMar 10, 2014
  6. David KastrupMar 10, 2014
  7. David LangMar 10, 2014
  8. Jeff KingMar 10, 2014
  9. David KastrupMar 10, 2014
  10. Junio C HamanoMar 10, 2014
  11. Jeff KingMar 10, 2014
  12. Michael HaggertyMar 10, 2014
  13. Shawn PearceMar 11, 2014
  14. egit vs. git behaviour (was: [RFC/WIP] Pluggable reference backends)Andreas Krey, Mar 12, 2014
  15. Shawn PearceMar 12, 2014
  16. Karsten BleesMar 11, 2014
  17. Michael HaggertyMar 12, 2014

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.