On 16 Sep 2015, at 17:20, Junio C Hamano <gits...@pobox.com> wrote:

> Lars Schneider <larsxschnei...@gmail.com> writes:
> 
>>>> +git-p4.largeFileSystem::
>>>> +  Specify the system that is used for large (binary) files. Please note
>>>> +  that large file systems do not support the 'git p4 submit' command.
>>> 
>>> Why is that? Is it just that you haven't implemented support, or
>>> is it fundamentally impossible?
>> 
>> If we detect LFS files only by file extension then we could make
>> it work. But then we must not use any git-p4 settings. We would
>> need to rely only on the “.gitattributes” file that is stored in
>> the P4 repository. My implementation also looks at the file size
>> and decides on a individual file basis if a file is stored in
>> LFS. That means all clients need the same file size threshold.
>> 
>> Junio explained the problem in the v4 thread:
>>> ...
> 
> Hmm, I am not sure if Luke's question was answered with the above,
> and I do not think I explained anything, either.  I did point out
> that with _your_ code I didn't see how "submit" would not work, but
> that is quite different from the problem being fundamentally not
> solvable.

OK, to answer Luke’s question after some thoughts: I think it is possible but I 
haven’t implemented it.

I see one issue right away:
Some large file systems depend on gitattributes filters (e.g. Git-LFS). Git-p4 
would need to run the filters on clone/sync/submit. Right now this does not 
happen and the user sees the raw LFS pointer files in the Git repository 
instead of the content after the initial git-p4 clone (the Git-LFS test cases 
shows this). This is no problem for a git-p4 one time usage as you usually 
upload the created Git repo to some Git server. Nevertheless, I was not able to 
find a quick and easy way to fix this. Anyone an idea?

If we get these filters working then we could create a new large file system 
similar to “Git-LFS”. Instead of pointing to large files on a “Git-LFS” server 
we could point right to their P4 location. That would be pretty neat.

- Lars--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to