Can "git fetch" be told not to use "git upload-pack" for local repositories?
When using `git fetch` to fetch refs from one (very large) repository to another one on the local machine, `git upload-pack` takes a very long time to create pack files.  In the local case there's not such a need to minimize the amount of data transported, and I don't care about disk space lost by losing delta compression, so ideally I'd prefer for the missing objects to be copied rather than packed and then imported.  Is there any way to tell `git fetch` to just copy the missing objects when using the local transport?   

Or, more generally, is there a way to suppress the generation of pack files globally?  Really I just want to use git as a versioned filesystem that doesn't use up extra space for identical files - packing and repacking seems to be the time-consuming step that makes this awkward.

Incidentally, I've spent some time trying to optimize config options so that repacking doesn't take so long (nor start thrashing) so I don't think the answer is "use these config options and packing will happen much faster" - however, perhaps I've got that all wrong, so just to be clear, the config options that I'm typically using (on a maching with 2 GiB of RAM) are:

    core.deltacachesize=1
    core.packedgitwindowsize=16m
    core.packedgitlimit=128m
    pack.packsizelimit=512m
    pack.windowmemory=200m
    pack.deltacachesize=200m
    pack.window=4
    pack.compression=3
    pack.threads=0
    gc.auto=0
    gc.pruneexpire=never
    receive.autogc=false

Can "git fetch" be told not to use "git upload-pack" for local repositories?
===

When using `git fetch` to fetch refs from one (very large) repository to another one on the local machine, `git upload-pack` takes a very long time to create pack files.  In the local case there's not such a need to minimize the amount of data transported, and I don't care about disk space lost by losing delta compression, so ideally I'd prefer for the missing objects to be copied rather than packed and then imported.  Is there any way to tell `git fetch` to just copy the missing objects when using the local transport?   

Or, more generally, is there a way to suppress the generation of pack files globally?  Really I just want to use git as a versioned filesystem that doesn't use up extra space for identical files - packing and repacking seems to be the time-consuming step that makes this awkward.

Incidentally, I've spent some time trying to optimize config options so that repacking doesn't take so long (nor start thrashing) so I don't think the answer is "use these config options and packing will happen much faster" - however, perhaps I've got that all wrong, so just to be clear, the config options that I'm typically using (on a maching with 2 GiB of RAM) are:

    core.deltacachesize=1
    core.packedgitwindowsize=16m
    core.packedgitlimit=128m
    pack.packsizelimit=512m
    pack.windowmemory=200m
    pack.deltacachesize=200m
    pack.window=4
    pack.compression=3
    pack.threads=0
    gc.auto=0
    gc.pruneexpire=never
    receive.autogc=false
