7 comments

[ 3.2 ms ] story [ 30.6 ms ] thread
Hi HN, thanks for sending this to the front page.

I'm finding myself needing some resources from other projects in a way that ecosystem-specific dependency management isn't going to help, or I'd be pulling in too many files.

Submodules aren't the answer, and some other existing git user-defined commands don't seem to do what I need either.

I want a file from another repository, and the ability to pin it, and track it in the future, or just always be up-to-date by using the default HEAD commit value set in `.git-remote-files`.

    git fetch-file add https://github.com/octocat/Hello-World README
    git fetch-file pull
Let's me track the README file from the octocat/Hello-World repository, and pull down the file. A record of it is then saved in `.git-remote-files`.

Let me know if you have any questions!

(comment deleted)
I’m imagining some sort of art project where people try and figure out the most complicated software you can make entirely off files stitched together from different repos.
Man this is exactly what I was looking for. Thank you!
I was just thinking about this topic this morning, so quite timely post! I received a PR with binary test data files that were copied from an upstream ecosystem. Similarly, I had copied files from that repo, but who should trust me?

Submodules seemed too heavyweight, so I was contemplating a CI script that compared selected checksums with a clone. This seems like a great general solution so will take a look at dropping it in!

Seems a very good feature to be able to track branch. Git submodules can only track commits IDs it’s not practical. This could replace git submodules and make it better !
Thanks for all the great feedback so far, guys. I've also added some examples for tracking entire repositories by branch, and an example of how to add those directories to your `.gitignore` in case you don't want all their files pull in, but want to `git fetch-fill pull` after cloning.