Code Monkey home page Code Monkey logo

Comments (2)

sinbad avatar sinbad commented on May 27, 2024

Sorry this is so late, I didn't realise I didn't have notifications turned on for this repo.

The main reason for not using hard links is that the data model of LFS assumes that files are immutable. They are named based on the hash of their contents, so at no time after naming the file can the content change, otherwise it breaks that assumption. That rules out sharing storage via hard links between the working copy and the repo storage, which is the most common case of duplication.

Now, potentially you could use hard links just for the repo side, so between the content of the .git/lfs folder and Dropbox in this case. You'd still have duplicates in the working copy but only one copy between the repo commits and Dropbox. I haven't explored this but it might make sense as an opt-in (there are limitations on hard links that can mean you can't always use them, e.g. across logical drives).

Although I used lfs-folderstore myself for a number of years, I've since moved to Gitea for our projects so I'm not working on it anymore so I won't be adding this myself, but in principle it's something you could add if you wanted.

from lfs-folderstore.

banerjs avatar banerjs commented on May 27, 2024

No worries and thanks for the clarification! Definitely understand the need to copy instead of link for checking out a working copy. I'll keep it in mind if I do make a change. For now, I have been ok by simply reducing the number of large files and using git lfs prune aggressively to reduce duplicated space on disk: I'll probably continue like that until things become an issue.

from lfs-folderstore.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.