Re: [PATCH v2 1/1] "git lfs" allows users to specify the custom storage location by configuration variable lfs.storage, but when "git p4" interacts with GitLFS pointers, it always used the hardcoded default that is the .git/lfs/ directory, without paying attention to the configuration.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 9, 2019, 22:27 UTC
- Message-ID
- <xmqq1rtdt9rc.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <e65375c528bdcdcc928dce8159edfccddcf77070.1575901722.git.gitgitgadget@gmail.com>
"panzercheg via GitGitGadget" <gitgitgadget@gmail.com> writes:
>Subject: Re: [PATCH v2 1/1] "git lfs" allows users to specify the custom storage location by configuration variable lfs.storage, but when "git p4" interacts with GitLFS pointers, it always used the hardcoded default that is the .git/lfs/ directory, without paying attention to the configuration.
Oops, what happened here?
I wonder/I wish if GGG can be a bit more helpful when seeing a commit that looks "strange".
Show 6 quoted lines
> From: panzercheg <panzercheg@gmail.com> > > Use the value configured in lfs.storage, if exists, as all the > "git" operations do, for consistency. > > Signed-off-by: r.burenkov <panzercheg@gmail.com>
Please make sure that the name/email as the author matches whom you sign-off the patch as.
Show 26 quoted lines
> ---
> git-p4.py | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/git-p4.py b/git-p4.py
> index 60c73b6a37..0b3a07cb31 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -1257,9 +1257,15 @@ def generatePointer(self, contentFile):
> pointerFile = re.sub(r'Git LFS pointer for.*\n\n', '', pointerFile)
>
> oid = re.search(r'^oid \w+:(\w+)', pointerFile, re.MULTILINE).group(1)
> + # if someone use external lfs.storage ( not in local repo git )
> + lfs_path = gitConfig('lfs.storage')
> + if not lfs_path:
> + lfs_path = 'lfs'
> + if not os.path.isabs(lfs_path):
> + lfs_path = os.path.join(os.getcwd(), '.git', lfs_path)
> localLargeFile = os.path.join(
> - os.getcwd(),
> - '.git', 'lfs', 'objects', oid[:2], oid[2:4],
> + lfs_path,
> + 'objects', oid[:2], oid[2:4],
> oid,
> )
> # LFS Spec states that pointer files should not have the executable bit set.