Re: [PATCH] Update git-p4 to be compatible with git-lfs 1.2
- From
Lars Schneider <larsxschneider@gmail.com>
- Date
- Apr 20, 2016, 19:36 UTC
- Message-ID
- <E90E5734-C130-42A4-9230-9C95A466C919@gmail.com>
- In-Reply-To
- <CAC5gnOx1ZbNnYzMYYfD5TkXkgHAz7qgOTVCEiu2D0PA-MZLrvQ@mail.gmail.com>
Show 19 quoted lines
> On Wed, Apr 20, 2016 at 12:00 PM, Luke Diamand <luke@diamand.org> wrote: >> On 20 April 2016 at 19:28, Ben Woosley <Ben.Woosley@gmail.com> wrote: >>> From: Ben Woosley <ben.woosley@gmail.com> >>> >>> The git lfs pointer output was changed in: >>> https://github.com/github/git-lfs/pull/1105 >>> >>> This was causing Mac Travis runs to fail, as homebrew had updated to 1.2 >>> while Linux was pinned at 1.1 via GIT_LFS_VERSION. >>> >>> The travis builds against 1.1 and 1.2 both on linux. Mac can't do the same as >>> it takes the latest homebrew version regardless. >> >> Is this related to the very similar thread going on here: >> >> http://thread.gmane.org/gmane.comp.version-control.git/291917/focus=291926 >> >> Thanks >> Luke
On 20 Apr 2016, at 21:13, Ben Woosley <ben.woosley@gmail.com> wrote:
Show 13 quoted lines
> Yep it's addressing the same problem - I developed this independently > after having only viewed the github repo: > https://github.com/git/git/pull/231 > > Things I like about my patch: > 1) it maintains ongoing support for git-lfs 1.1 by retaining it in the travis CI > 2) it's a fairly minimal intervention into the existing behavior > > Lars how about adding my Travis changes to your patch? > Here's a look at the CI output: https://travis-ci.org/git/git/builds/124105972 > > Best, > Ben
Thanks a lot for your fix! It's great to see other people than me actually using this feature :)
I already sent a v2 with LFS 1.x support, too: http://article.gmane.org/gmane.comp.version-control.git/291993 Would you mind reviewing it, too? Sorry for the duplicated work :-(
Your Travis changes are 100% correct and a very nice way to ensure we support Git LFS 1.1 and Git LFS 1.2. Unfortunately we run all other Git tests twice which increases the overall build time a lot (because we can only run 5 build jobs in parallel with the free Travis CI plan). I am not sure if testing an outdated LFS version justifies the increased build times...
Best, Lars
PS: Please see Junio's comment regarding top posting: http://article.gmane.org/gmane.comp.version-control.git/291932
Show 60 quoted lines
>>
>>
>>
>>> ---
>>> .travis.yml | 9 ++++++++-
>>> git-p4.py | 7 ++++++-
>>> 2 files changed, 14 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/.travis.yml b/.travis.yml
>>> index 78e433b..71510ee 100644
>>> --- a/.travis.yml
>>> +++ b/.travis.yml
>>> @@ -23,7 +23,6 @@ env:
>>> global:
>>> - DEVELOPER=1
>>> - P4_VERSION="15.2"
>>> - - GIT_LFS_VERSION="1.1.0"
>>> - DEFAULT_TEST_TARGET=prove
>>> - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
>>> - GIT_TEST_OPTS="--verbose --tee"
>>> @@ -31,6 +30,14 @@ env:
>>> # t9810 occasionally fails on Travis CI OS X
>>> # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
>>> - GIT_SKIP_TESTS="t9810 t9816"
>>> + matrix:
>>> + - GIT_LFS_VERSION="1.2.0"
>>> + - GIT_LFS_VERSION="1.1.0"
>>> +
>>> +matrix:
>>> + exclude:
>>> + - os: osx
>>> + env: GIT_LFS_VERSION="1.1.0"
>>>
>>> before_install:
>>> - >
>>> diff --git a/git-p4.py b/git-p4.py
>>> index 527d44b..6c06d17 100755
>>> --- a/git-p4.py
>>> +++ b/git-p4.py
>>> @@ -1064,7 +1064,12 @@ def generatePointer(self, contentFile):
>>> if pointerProcess.wait():
>>> os.remove(contentFile)
>>> die('git-lfs pointer command failed. Did you install the extension?')
>>> - pointerContents = [i+'\n' for i in pointerFile.split('\n')[2:][:-1]]
>>> + pointerLines = pointerFile.split('\n')
>>> + # In git-lfs < 1.2, the pointer output included some extraneous information
>>> + # this was removed in https://github.com/github/git-lfs/pull/1105
>>> + if pointerLines[0].startswith('Git LFS pointer for'):
>>> + pointerLines = pointerLines[2:]
>>> + pointerContents = [i+'\n' for i in pointerLines[:-1]]
>>> oid = pointerContents[1].split(' ')[1].split(':')[1][:-1]
>>> localLargeFile = os.path.join(
>>> os.getcwd(),
>>>
>>> --
>>> https://github.com/git/git/pull/231
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe git" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html