git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v5 6/7] git-p4: add support for large file systems

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 16, 2015, 15:20 UTC
Message-ID
<xmqqzj0ms85n.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<5329966D-1A0C-42A1-9099-AC449D50AA52@gmail.com>
Lars Schneider <larsxschneider@gmail.com> writes:
Show 16 quoted lines
>>> +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.

>>> +test_file_in_mock () {
>>> +	FILE="$1"
>> Missing &&
>> Plus the next few lines
> Are they strictly necessary? I believe you can define variables all in “one line”
Absolutely.  Making multiple assignments as a single statment like
	X=A Y=B Z=C &&
        ...
is fine, but do not break &&-chain.
>> 
>>> +	CONTENT="$2"
>>> +	LOCAL_STORAGE=".git/mock-storage/local/$CONTENT"
>>> +	SERVER_STORAGE=".git/mock-storage/remote/$CONTENT"
... and to be sure, these 'echo' also must not break &&-chain.
>>> +	echo "pointer-$CONTENT" >expect_pointer
>>> +	echo "$CONTENT" >expect_content
>>> +test_file_count_in_dir () {
>>> +	DIR="$1"
>>> +	EXPECTED_COUNT="$2"
>>> +	find "$DIR" -type f >actual
... so are these.
>>> +	test_line_count = $EXPECTED_COUNT actual
>>> +}
Thanks.
Previous: Eric SunshineNext: Lars Schneider
Message 12 of 14 in “git-p4: add support for large file systems”
  1. 0/7 git-p4: add support for large file systemslarsxschneider@gmail.com, Sep 14, 2015
  2. 1/7 git-p4: add optional type specifier to gitConfig readerlarsxschneider@gmail.com, Sep 14, 2015
  3. Luke DiamandSep 15, 2015
  4. 2/7 git-p4: add gitConfigInt readerlarsxschneider@gmail.com, Sep 14, 2015
  5. 3/7 git-p4: return an empty list if a list config has no valueslarsxschneider@gmail.com, Sep 14, 2015
  6. 4/7 git-p4: add file streaming progress in verbose modelarsxschneider@gmail.com, Sep 14, 2015
  7. 5/7 git-p4: check free space during streaminglarsxschneider@gmail.com, Sep 14, 2015
  8. 6/7 git-p4: add support for large file systemslarsxschneider@gmail.com, Sep 14, 2015
  9. Luke DiamandSep 16, 2015
  10. Lars SchneiderSep 16, 2015
  11. Eric SunshineSep 16, 2015
  12. Junio C HamanoSep 16, 2015
  13. Lars SchneiderSep 20, 2015
  14. 7/7 git-p4: add Git LFS backend for large file systemlarsxschneider@gmail.com, Sep 14, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.