Skip to content

Commit 5865727

Browse files
committed
fix: further import version detector
1 parent 46c3ff3 commit 5865727

2 files changed

Lines changed: 39 additions & 8 deletions

File tree

_script/histver/synver.go

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,10 @@ func getReleaseVersionTarGz(bs []byte) (tableRow, error) {
187187
if err != nil {
188188
break
189189
}
190+
if strings.Contains(path.Dir(hdr.Name), "/") {
191+
// Skip files not at top level
192+
continue
193+
}
190194
if path.Base(hdr.Name) != "syncthing" {
191195
continue
192196
}
@@ -210,17 +214,25 @@ func getVersionFromReader(r io.Reader) (tableRow, error) {
210214
return tableRow{}, err
211215
}
212216

217+
var errs []error
213218
if row, err := getVersionFromCommand(fd.Name()); err == nil {
214219
return row, nil
220+
} else {
221+
errs = append(errs, err)
222+
}
223+
if row, err := getVersionFromGo(fd.Name()); err == nil {
224+
return row, nil
225+
} else {
226+
errs = append(errs, err)
215227
}
216-
return getVersionFromGo(fd.Name())
228+
return tableRow{}, errors.Join(errs...)
217229
}
218230

219231
func getVersionFromGo(name string) (tableRow, error) {
220232
cmd := exec.Command("go", "version", "-m", name)
221-
out, err := cmd.Output()
233+
out, err := cmd.CombinedOutput()
222234
if err != nil {
223-
return tableRow{}, err
235+
return tableRow{}, fmt.Errorf("go version -m: %w: %s", err, out)
224236
}
225237

226238
// % go version -m ~/bin/syncthing
@@ -229,28 +241,28 @@ func getVersionFromGo(name string) (tableRow, error) {
229241
// ...
230242

231243
if idx := bytes.Index(out, []byte{'\n'}); idx < 0 {
232-
return tableRow{}, errors.New("no version")
244+
return tableRow{}, errors.New("go version -m: no version")
233245
} else {
234246
out = out[:idx]
235247
}
236248

237249
if idx := bytes.LastIndex(out, []byte{' '}); idx < 0 {
238-
return tableRow{}, errors.New("no version")
250+
return tableRow{}, errors.New("go version -m: no version")
239251
} else {
240252
return tableRow{Runtime: string(out[idx+1:])}, nil
241253
}
242254
}
243255

244256
func getVersionFromCommand(name string) (tableRow, error) {
245257
cmd := exec.Command(name, "--version")
246-
out, err := cmd.Output()
258+
out, err := cmd.CombinedOutput()
247259
if err != nil {
248-
return tableRow{}, err
260+
return tableRow{}, fmt.Errorf("syncthing: running: %w: %s", err, out)
249261
}
250262

251263
var r tableRow
252264
if err := r.fromVersion(string(out)); err != nil {
253-
return tableRow{}, err
265+
return tableRow{}, fmt.Errorf("syncthing: parse version: %w: %s", err, out)
254266
}
255267
return r, nil
256268
}

users/releases.csv

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,24 @@ v2.0.14,go1.25.6,2026-02-02
33
v2.0.13,go1.25.5,2025-12-23
44
v2.0.12,go1.25.4,2025-11-24
55
v2.0.11,go1.25.3,2025-10-27
6+
v2.0.10,go1.25.1,2025-09-23
7+
v2.0.9,go1.25.1,2025-09-12
8+
v2.0.8,go1.25.1,2025-09-08
9+
v2.0.7,go1.25.1,2025-09-05
10+
v2.0.6,go1.25.0,2025-09-03
11+
v2.0.5,go1.25.0,2025-09-02
12+
v2.0.4,go1.25.0,2025-09-01
613
v2.0.3,go1.25.0,2025-08-22
714
v2.0.2,go1.25.0,2025-08-08
815
v2.0.1,go1.24.6,2025-08-08
916
v2.0.0,go1.24.6,2025-08-08
17+
<<<<<<< HEAD
18+
||||||| e51f46f
19+
=======
20+
v1.30.0,go1.24.4,2025-06-20
21+
v1.29.7,go1.24.3,2025-05-29
22+
v1.29.6,go1.24.2,2025-04-30
23+
>>>>>>> jb/histver
1024
v1.29.5,go1.24.2,2025-04-12
1125
v1.29.4,go1.24.1,2025-03-27
1226
v1.29.3,go1.24.1,2025-03-07
@@ -15,10 +29,15 @@ v1.29.1,go1.23.4,2025-01-09
1529
v1.29.0,go1.23.4,2024-12-30
1630
v1.28.1,go1.23.3,2024-11-24
1731
v1.28.0,go1.23.2,2024-10-04
32+
v1.27.12,go1.22.6,2024-09-06
1833
v1.27.11,go1.22.6,2024-08-28
1934
v1.27.10,go1.22.5,2024-07-22
2035
v1.27.9,go1.22.4,2024-07-01
36+
v1.27.8,go1.22.3,2024-05-30
2137
v1.27.7,go1.22.3,2024-05-08
38+
v1.27.6,go1.22.2,2024-04-08
39+
v1.27.5,go1.22.1,2024-03-25
40+
v1.27.4,go1.22.0,2024-02-27
2241
v1.27.3,go1.21.6,2024-01-15
2342
v1.27.2,go1.21.5,2023-12-25
2443
v1.27.1,go1.21.5,2023-12-11

0 commit comments

Comments
 (0)