Skip to content

Commit a5e6585

Browse files
authored
Merge pull request git-lfs#4448 from git-lfs/release-next
release: v2.13.3
2 parents fc66469 + 6338487 commit a5e6585

File tree

203 files changed

+48560
-16399
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+48560
-16399
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,15 @@ jobs:
66
name: Build with default Git
77
strategy:
88
matrix:
9-
os: [ubuntu-latest, macos-latest]
9+
os: [ubuntu-20.04, macos-latest]
10+
go: ['1.16.x']
1011
runs-on: ${{ matrix.os }}
1112
steps:
1213
- uses: actions/checkout@v1
1314
- uses: actions/setup-ruby@v1
15+
- uses: actions/setup-go@v2
16+
with:
17+
go-version: ${{ matrix.go }}
1418
- run: gem install ronn
1519
- run: script/cibuild
1620
- run: CGO_ENABLED=0 make release
@@ -25,10 +29,10 @@ jobs:
2529
strategy:
2630
matrix:
2731
go: ['1.11.x', '1.12.x', '1.13.x', '1.14.x']
28-
runs-on: ubuntu-latest
32+
runs-on: ubuntu-20.04
2933
steps:
3034
- uses: actions/checkout@v1
31-
- uses: actions/setup-go@v1
35+
- uses: actions/setup-go@v2
3236
with:
3337
go-version: ${{ matrix.go }}
3438
- run: script/cibuild
@@ -77,7 +81,7 @@ jobs:
7781
name: Build with latest Git
7882
strategy:
7983
matrix:
80-
os: [ubuntu-latest, macos-latest]
84+
os: [ubuntu-20.04, macos-latest]
8185
runs-on: ${{ matrix.os }}
8286
steps:
8387
- uses: actions/checkout@v1
@@ -88,7 +92,7 @@ jobs:
8892
name: Build with earliest Git
8993
strategy:
9094
matrix:
91-
os: [ubuntu-latest, macos-latest]
95+
os: [ubuntu-20.04, macos-latest]
9296
runs-on: ${{ matrix.os }}
9397
steps:
9498
- uses: actions/checkout@v1
@@ -97,7 +101,7 @@ jobs:
97101
- run: script/cibuild
98102
build-docker:
99103
name: Build Linux packages
100-
runs-on: ubuntu-latest
104+
runs-on: ubuntu-20.04
101105
steps:
102106
- uses: actions/checkout@v1
103107
- uses: actions/setup-ruby@v1

.github/workflows/release.yml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,15 @@ jobs:
77
build-windows:
88
name: Build Windows Assets
99
runs-on: windows-latest
10+
strategy:
11+
matrix:
12+
go: ['1.16.x']
1013
steps:
1114
- uses: actions/checkout@v1
1215
- uses: actions/setup-ruby@v1
16+
- uses: actions/setup-go@v2
17+
with:
18+
go-version: ${{ matrix.go }}
1319
- run: mkdir -p "$HOME/go/bin"
1420
shell: bash
1521
- run: set GOPATH=%HOME%\go
@@ -45,9 +51,15 @@ jobs:
4551
build-macos:
4652
name: Build macOS Assets
4753
runs-on: macos-latest
54+
strategy:
55+
matrix:
56+
go: ['1.16.x']
4857
steps:
4958
- uses: actions/checkout@v1
5059
- uses: actions/setup-ruby@v1
60+
- uses: actions/setup-go@v2
61+
with:
62+
go-version: ${{ matrix.go }}
5163
- run: brew install mitchellh/gon/gon
5264
- run: gem install ronn
5365
- run: make release
@@ -71,10 +83,16 @@ jobs:
7183
needs:
7284
- build-windows
7385
- build-macos
74-
runs-on: ubuntu-latest
86+
runs-on: ubuntu-20.04
87+
strategy:
88+
matrix:
89+
go: ['1.16.x']
7590
steps:
7691
- uses: actions/checkout@v1
7792
- uses: actions/setup-ruby@v1
93+
- uses: actions/setup-go@v2
94+
with:
95+
go-version: ${{ matrix.go }}
7896
- uses: actions/download-artifact@v1
7997
with:
8098
name: windows-assets
@@ -91,7 +109,7 @@ jobs:
91109
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
92110
build-docker:
93111
name: Build Linux Packages
94-
runs-on: ubuntu-latest
112+
runs-on: ubuntu-20.04
95113
steps:
96114
- uses: actions/checkout@v1
97115
- uses: actions/setup-ruby@v1

CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
# Git LFS Changelog
22

3-
## 2.13.2 (13 Jan 2020)
3+
## 2.13.3 (26 Mar 2021)
4+
5+
This release fixes two bugs that caused `git lfs prune` to hang, updates some
6+
dependencies to versions which lack a security issue (which did not affect Git
7+
LFS), and adds support for ARM64 builds on macOS.
8+
9+
### Bugs
10+
11+
* lfs: don't invoke diff drivers when pruning repositories #4407 (@bk2204)
12+
* Parse stash log entries parsimonously in prune command #4449 (@chrisd8088)
13+
14+
### Misc
15+
16+
* Darwin ARM64 support #4437 (@bk2204)
17+
* vendor,go.{mod,sum}: update x/net and dependencies #4398 (@chrisd8088)
18+
19+
## 2.13.2 (13 Jan 2021)
420

521
This release introduces a security fix for Windows systems, which has been
622
assigned CVE-2021-21237.

Makefile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ BUILD = GOOS=$(1) GOARCH=$(2) \
175175
# built for.
176176
BUILD_TARGETS = \
177177
bin/git-lfs-darwin-amd64 \
178+
bin/git-lfs-darwin-arm64 \
178179
bin/git-lfs-linux-arm \
179180
bin/git-lfs-linux-arm64 \
180181
bin/git-lfs-linux-amd64 \
@@ -212,6 +213,8 @@ all build : $(BUILD_TARGETS)
212213
# embeds the versioninfo into the binary.
213214
bin/git-lfs-darwin-amd64 : $(SOURCES) mangen
214215
$(call BUILD,darwin,amd64,-darwin-amd64)
216+
bin/git-lfs-darwin-arm64 : $(SOURCES) mangen
217+
$(call BUILD,darwin,arm64,-darwin-arm64)
215218
bin/git-lfs-linux-arm : $(SOURCES) mangen
216219
GOARM=5 $(call BUILD,linux,arm,-linux-arm)
217220
bin/git-lfs-linux-arm64 : $(SOURCES) mangen
@@ -276,6 +279,7 @@ script/windows-installer/git-lfs-wizard-image.bmp
276279
# make VERSION=my-version bin/releases/git-lfs-darwin-amd64-my-version.tar.gz
277280
RELEASE_TARGETS = \
278281
bin/releases/git-lfs-darwin-amd64-$(VERSION).zip \
282+
bin/releases/git-lfs-darwin-arm64-$(VERSION).zip \
279283
bin/releases/git-lfs-linux-arm-$(VERSION).tar.gz \
280284
bin/releases/git-lfs-linux-arm64-$(VERSION).tar.gz \
281285
bin/releases/git-lfs-linux-amd64-$(VERSION).tar.gz \
@@ -399,11 +403,11 @@ release-windows-rebuild: bin/releases/git-lfs-windows-assets-$(VERSION).tar.gz
399403
#
400404
# You may sign with a different certificate by specifying DARWIN_CERT_ID.
401405
.PHONY : release-darwin
402-
release-darwin: bin/releases/git-lfs-darwin-amd64-$(VERSION).zip
406+
release-darwin: bin/releases/git-lfs-darwin-amd64-$(VERSION).zip bin/releases/git-lfs-darwin-arm64-$(VERSION).zip
403407
for i in $^; do \
404408
temp=$$(mktemp -d) && \
405409
( \
406-
unzip -d "$$temp" $^ && \
410+
unzip -d "$$temp" "$$i" && \
407411
codesign --keychain $(DARWIN_KEYCHAIN_ID) -s "$(DARWIN_CERT_ID)" --force --timestamp -vvvv --options runtime "$$temp/git-lfs" && \
408412
codesign -dvvv "$$temp/git-lfs" && \
409413
zip -j $$i "$$temp/git-lfs" && \

config/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ var (
1313
)
1414

1515
const (
16-
Version = "2.13.2"
16+
Version = "2.13.3"
1717
)
1818

1919
func init() {

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
git-lfs (2.13.3) stable; urgency=low
2+
3+
* New upstream version
4+
5+
-- brian m. carlson <[email protected]> Fri, 26 Mar 2021 14:29:00 -0000
6+
17
git-lfs (2.13.2) stable; urgency=low
28

39
* New upstream version

go.mod

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@ require (
2121
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
2222
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
2323
github.com/xeipuuv/gojsonschema v0.0.0-20170210233622-6b67b3fab74d
24-
golang.org/x/net v0.0.0-20191027093000-83d349e8ac1a
25-
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4
26-
golang.org/x/sys v0.0.0-20200922070232-aee5d888a860
24+
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 // indirect
25+
golang.org/x/net v0.0.0-20210119194325-5f4716e94777
26+
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9
27+
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4
2728
gopkg.in/jcmturner/goidentity.v2 v2.0.0 // indirect
2829
gopkg.in/yaml.v2 v2.2.8 // indirect
2930
)

go.sum

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,30 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90Pveol
5555
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
5656
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734 h1:p/H982KKEjUnLJkM3tt/LemDnOc1GiZL5FCVlORJ5zo=
5757
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
58+
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
59+
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
5860
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ=
5961
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
6062
golang.org/x/net v0.0.0-20191027093000-83d349e8ac1a h1:Yu34BogBivvmu7SAzHHaB9nZWH5D1C+z3F1jyIaYZSQ=
6163
golang.org/x/net v0.0.0-20191027093000-83d349e8ac1a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
62-
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw=
63-
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
64+
golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew=
65+
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
66+
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 h1:SQFwaSi55rU7vdNs9Yr0Z324VNlrF+0wMqRXT4St8ck=
67+
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
6468
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
6569
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
6670
golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI=
6771
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
68-
golang.org/x/sys v0.0.0-20200922070232-aee5d888a860 h1:YEu4SMq7D0cmT7CBbXfcH0NZeuChAXwsHe/9XueUO6o=
69-
golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
72+
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
73+
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
74+
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4 h1:myAQVi0cGEoqQVR5POX+8RR2mrocKqNN1hmeMqhX27k=
75+
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
76+
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
7077
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
7178
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
79+
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
80+
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
81+
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
7282
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
7383
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
7484
gopkg.in/jcmturner/aescts.v1 v1.0.1 h1:cVVZBK2b1zY26haWB4vbBiZrfFQnfbTVrE3xZq6hrEw=

lfs/gitscanner_log.go

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ var (
2929
// Arguments to append to a git log call which will limit the output to
3030
// lfs changes and format the output suitable for parseLogOutput.. method(s)
3131
logLfsSearchArgs = []string{
32+
"--no-ext-diff",
33+
"--no-textconv",
3234
"-G", "oid sha256:", // only diffs which include an lfs file SHA change
3335
"-p", // include diff so we can read the SHA
3436
"-U12", // Make sure diff context is always big enough to support 10 extension lines to get whole pointer
@@ -81,7 +83,7 @@ func scanStashed(cb GitScannerFoundPointer, s *GitScanner) error {
8183
// older Git versions (at least <=2.7) don't report merge parents in
8284
// the reflog, we can't extract the parent SHAs from "Merge:" lines
8385
// in the log; we can, however, use the "git log -m" option to force
84-
// individual diffs of all the merge parents in a second step.
86+
// an individual diff with the first merge parent in a second step.
8587
logArgs := []string{"-g", "--format=%h", "refs/stash", "--"}
8688

8789
cmd, err := git.Log(logArgs...)
@@ -93,29 +95,35 @@ func scanStashed(cb GitScannerFoundPointer, s *GitScanner) error {
9395

9496
var stashMergeShas []string
9597
for scanner.Scan() {
96-
stashMergeShas = append(stashMergeShas, strings.TrimSpace(scanner.Text()))
98+
stashMergeSha := strings.TrimSpace(scanner.Text())
99+
stashMergeShas = append(stashMergeShas, fmt.Sprintf("%v^..%v", stashMergeSha, stashMergeSha))
97100
}
98101
err = cmd.Wait()
99102
if err != nil {
100103
// Ignore this error, it really only happens when there's no refs/stash
101104
return nil
102105
}
103106

104-
// We can use the log parser if we provide the -m option to get
105-
// merge diffs shown individually
106-
logArgs = []string{"-m"}
107+
// We can use the log parser if we provide the -m and --first-parent
108+
// options to get the first WIP merge diff shown individually, then
109+
// no additional options to get the second index merge diff and
110+
// possible third untracked files merge diff in a subsequent step.
111+
stashMergeLogArgs := [][]string{{"-m", "--first-parent"}, {}}
107112

108-
// Add standard search args to find lfs references
109-
logArgs = append(logArgs, logLfsSearchArgs...)
113+
for _, logArgs := range stashMergeLogArgs {
114+
// Add standard search args to find lfs references
115+
logArgs = append(logArgs, logLfsSearchArgs...)
110116

111-
logArgs = append(logArgs, stashMergeShas...)
117+
logArgs = append(logArgs, stashMergeShas...)
112118

113-
cmd, err = git.Log(logArgs...)
114-
if err != nil {
115-
return err
119+
cmd, err = git.Log(logArgs...)
120+
if err != nil {
121+
return err
122+
}
123+
124+
parseScannerLogOutput(cb, LogDiffAdditions, cmd)
116125
}
117126

118-
parseScannerLogOutput(cb, LogDiffAdditions, cmd)
119127
return nil
120128
}
121129

rpm/SPECS/git-lfs.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Name: git-lfs
2-
Version: 2.13.2
2+
Version: 2.13.3
33
Release: 1%{?dist}
44
Summary: Git extension for versioning large files
55

script/upload

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,12 @@ release_files () {
161161

162162
[ -n "$version" ] || return 1
163163

164-
find "$assets" -name '*.tar.gz' -o -name '*386*.zip' -o \
165-
-name '*amd64*.zip' -o -name '*.exe' -o -name 'sha256sums.asc' | \
164+
find "$assets" -name '*.tar.gz' -o \
165+
-name '*386*.zip' -o \
166+
-name '*amd64*.zip' -o \
167+
-name '*arm64*.zip' -o \
168+
-name '*.exe' -o \
169+
-name 'sha256sums.asc' | \
166170
grep -E "$version|sha256sums.asc" | \
167171
grep -v "assets" | \
168172
LC_ALL=C sort

0 commit comments

Comments
 (0)