On 11/5/2018 10:22 AM, Duy Nguyen wrote:
On Sun, Nov 4, 2018 at 10:01 PM brian m. carlson
<sandals@xxxxxxxxxxxxxxxxxxxx> wrote:
On Sun, Nov 04, 2018 at 07:34:01AM +0100, Duy Nguyen wrote:
On Wed, Oct 31, 2018 at 9:53 PM Ben Peart <peartben@xxxxxxxxx> wrote:
It's more than a dynamic sparse-checkout because the same list is also
used to exclude any file/folder not listed. That means any file not
listed won't ever be updated by git (like in 'checkout' for example) so
'stale' files could be left in the working directory. It also means git
won't find new/untracked files unless they are specifically added to the
list.
OK. I'm not at all interested in carrying maintenance burden for some
software behind closed doors. I could see values in having a more
flexible sparse checkout but this now seems like very tightly designed
for GVFS. So unless there's another use case (preferably open source)
for this, I don't think this should be added in git.git.
I should point out that VFS for Git is an open-source project and will
likely have larger use than just at Microsoft. There are both Windows
and Mac clients and there are plans for a Linux client as well.
Ideally, it would work with an unmodified upstream Git, which is (I
assume) why Ben is sending this series.
Ah I didn't know that. Thank you. I'll have to look at this GVFS some time then.
If we're going to support GVFS though, I think there should be a big
(RFC perhaps) series that includes everything to at least give an
overview what the end game looks like. Then it could be split up into
smaller series.
We've always had the goal of not needing a fork at all and are
continually working to bring the list of differences to zero but in the
mean time, you can see the entire set of changes we've made here [1].
If you look, most of them are changes we are already in process of
submitting to git (ie midx, tracing, etc) or patches we fast tracked
from master to our branch (your unpack_trees() optimizations for example).
Most of the others are small tweaks and features for performance or to
smooth integration issues. This RFC contains the core changes that were
required to enable VFS for Git.
[1]
https://github.com/git-for-windows/git/compare/master...Microsoft:gvfs-2.19.1