Skip to content

Merge main from upstream #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 248 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
248 commits
Select commit Hold shift + click to select a range
b8e2fd2
ignore branch unmarhsalling errors
jesseduffield Aug 23, 2020
f5dfd44
switch to new path
jesseduffield Aug 23, 2020
b46a6fd
use v5
jesseduffield Oct 6, 2020
341962b
ignore invalid branch
jesseduffield Oct 6, 2020
a45667d
handle processing negative refspec
lukaspiatkowski May 30, 2022
fdd53fe
Merge pull request #1 from lukaspiatkowski/negative-refspec
jesseduffield Oct 18, 2022
955699f
plumbing: transport, move common and server transports
aymanbagabas Nov 22, 2023
9a35c66
plumbing: transport, move client registry
aymanbagabas Nov 23, 2023
3bb4b28
plumbing: pktline, dry parsing length and rename empty pkt
aymanbagabas Nov 25, 2023
23000c5
plumbing: pktline, implement pktline reader
aymanbagabas Nov 25, 2023
897a55d
plumbing: pktline, implement pktline writer
aymanbagabas Nov 25, 2023
069646c
plumbing: pktline tests, add benchmarks
aymanbagabas Nov 25, 2023
4fbeb61
plumbing: pktline, deprecate the old impl and use pktline read/writer
aymanbagabas Nov 25, 2023
02231c9
plumbing: pktline, use static methods approach
aymanbagabas Nov 26, 2023
5be676f
plumbing: pktline, add WriteResponseEnd and method docs
aymanbagabas Nov 28, 2023
f3137e2
plumbing: pktline, remove scanner/encoder
aymanbagabas Dec 5, 2023
3d67bfe
plumbing: pktline, update comment
aymanbagabas Dec 12, 2023
75da953
plumbing: pktline, add benchmark tests
aymanbagabas Dec 12, 2023
985f106
plumbing: pktline, error on nil writer
aymanbagabas Dec 14, 2023
8954370
plumbing: pktline, update plumbing/protocol/packp/uppackresp.go
aymanbagabas Dec 16, 2023
bdeaae5
plumbing: pktline, update plumbing/protocol/packp/report_status.go
aymanbagabas Dec 16, 2023
9b8859e
plumbing: pktline, update plumbing/protocol/packp/report_status.go
aymanbagabas Dec 16, 2023
9e8d191
plumbing: pktline, update plumbing/protocol/packp/gitproto.go
aymanbagabas Dec 16, 2023
c42b03c
plumbing: pktline, update plumbing/format/pktline/pktline_bench_test.go
aymanbagabas Dec 16, 2023
b99a751
plumbing: packp, update imports
aymanbagabas Dec 16, 2023
f0ae7b6
plumbing: pktline, add GetPacketBuffer and PutPacketBuffer
aymanbagabas Dec 22, 2023
06d9842
plumbing: pktline, use shared buffer with ReadPacketLine
aymanbagabas Dec 22, 2023
0113959
plumbing: pktline, add scanner based type
aymanbagabas Dec 22, 2023
5a5144a
plumbing: pktline, update benchmarks
aymanbagabas Dec 22, 2023
035ae88
plumbing: pktline, fix errors and improve perf and memory
aymanbagabas Dec 24, 2023
ffeebe5
plumbing: pktline, shorten method names
aymanbagabas Jan 13, 2024
ff537b3
plumbing: pktline, update plumbing/protocol/packp/advrefs_decode.go
aymanbagabas Jan 13, 2024
dd26cec
Merge branch 'master' into transport-refactor-pktline
aymanbagabas Apr 24, 2024
19afbc8
plumbing: pktline, shorten const names
aymanbagabas Apr 24, 2024
33cd06f
plumbing: packp, fix ulreq filter pktline encoding
aymanbagabas Apr 24, 2024
7d6b75c
plumbing: packp, fix ulreq encode test
aymanbagabas Apr 24, 2024
7318b09
Merge branch 'v6-exp' into transport-refactor-pktline
aymanbagabas Apr 30, 2024
452c784
plumbing: sideband, fix tests
aymanbagabas Apr 30, 2024
c27492a
plumbing: pktline, rename sync buffer getter putter
aymanbagabas May 13, 2024
5e2fdcd
plumbing: pktline, pjbgf suggestions
aymanbagabas Jun 8, 2024
97275ed
Merge pull request #1082 from aymanbagabas/transport-refactor-pktline
pjbgf Jun 9, 2024
3c420cf
Merge master changes into v6-exp
pjbgf Aug 9, 2024
2814ddf
plumbing: Enable some use cases for read concurrency
pjbgf May 20, 2023
a47abe9
config: Add support for protocol section
pjbgf Nov 4, 2023
916ca65
git: Make osfs.BoundOS the default osfs. Fixes #1155
pjbgf Aug 5, 2024
110e316
_examples: custom_http, Use new transport.Register
pjbgf Aug 9, 2024
5eb3dda
plumbing: transport, Fix TestNewEndpointFileAbs
pjbgf Aug 9, 2024
190c83e
build: Remove dependency on github.com/google/go-cmp
pjbgf Aug 9, 2024
6eb88d7
config: Rename Version.Unknown to Undefined
pjbgf Aug 20, 2024
5e03088
plumbing: Rename outstanding references of transport.Register
pjbgf Aug 20, 2024
bec3e03
Merge pull request #1166 from pjbgf/v6-exp
pjbgf Aug 21, 2024
ea4fb34
build: Use github.com/go-git/gcfg from branch v6-exp
pjbgf Aug 19, 2024
c83efa5
plumbing: transport/ssh, Add trace support for SSH handshake
pjbgf Aug 20, 2024
98de6d5
_examples: Add example of in-memory clone
pjbgf Aug 20, 2024
92bc298
plumbing: Add support for performance tracing
pjbgf Aug 20, 2024
e14ad91
build: Bump Go mod version to 1.21
pjbgf Aug 22, 2024
6998c08
plumbing: allow discovery of non bare repos in fsLoader
jakobmoellerdev Aug 21, 2024
9ddc20d
Merge pull request #1173 from jakobmoellerdev/v6-exp-fs-load-non-bare
pjbgf Sep 1, 2024
37782fa
Merge pull request #1172 from pjbgf/v6-improvements
pjbgf Sep 10, 2024
5acfb8f
config: collect also push URLs
mcepl Aug 27, 2024
2e784c3
config: append, don't overwrite URLs
pjbgf Sep 25, 2024
2823dfd
Merge pull request #1192 from mcepl/push_url
pjbgf Sep 25, 2024
dea2c52
git: options, Fix typo of SubmoduleRecursivity. Fixes #197
onee-only Oct 11, 2024
d60e5fc
Merge pull request #1205 from onee-only/fix-submodule-recursivity-typo
pjbgf Oct 18, 2024
c76c5d6
git: worktree, Fix sparse reset. Fixes #90
onee-only May 28, 2024
0f0a4d6
_examples: Add sparse checkout example.
onee-only Oct 11, 2024
e99bc1d
Merge pull request #1208 from onee-only/fix-sparse-reset
pjbgf Oct 19, 2024
30b1477
plumbing: Improve PACK trace by redacting binary data
pjbgf Oct 25, 2024
0ce849a
_examples: Increase timeout to 45s
pjbgf Oct 25, 2024
0f66d5a
Merge pull request #1214 from go-git/improve-trace
pjbgf Oct 26, 2024
8d8c376
plumbing: server, implement simple ack in uploadpack.
manland Oct 8, 2024
be1cd5a
plumbing: server, implement multi_ack capability
manland Oct 11, 2024
2ebd65f
plumbing: server, implement multi_ack_detailed capability
manland Nov 6, 2024
858d421
Merge pull request #1204 from manland/multi_ack
pjbgf Nov 17, 2024
ff4a091
build: Bump dependencies and add go-git-fixtures/v5
pjbgf Nov 16, 2024
bb5c351
plumbing: packfile, Refactor Parser and Scanner logic
pjbgf Nov 17, 2024
21c18e3
storage: filesystem, Create cache when one is not provided
pjbgf Nov 17, 2024
845180d
git: Add performance tracing for PlainClone operations
pjbgf Nov 17, 2024
2ef805c
_examples: Remove redundant azure_devops example
pjbgf Nov 17, 2024
1f461ec
build: General improvements around fuzzers
pjbgf Dec 3, 2024
6e3a300
plumbing: format/packfile, Fix file locks in Windows
pjbgf Dec 15, 2024
9c15f7c
build: Bump dependencies
pjbgf Dec 15, 2024
7749e96
storage: Add Benchmark for newPackWrite
pjbgf Dec 15, 2024
94d85d4
build: Fix fuzzer build
pjbgf Dec 15, 2024
1ea8325
build: Reserve cifuzz to changes targeting master
pjbgf Dec 15, 2024
dfe805c
Merge pull request #1228 from pjbgf/v6-pack
pjbgf Dec 17, 2024
ec472cd
build: group dependabot updates for golang.org
AriehSchneier Dec 6, 2024
56a9e7f
docs: Add branch information for contributing guidelines
pjbgf Oct 29, 2024
b422784
build: Accept "docs" as prefix for commits
pjbgf Oct 29, 2024
29bc153
_examples: Add sparse checkout example.
onee-only Oct 11, 2024
c81d3c9
*: use gocheck's MkDir instead of TempDir for tests
uragirii Sep 28, 2024
2f1975c
config: append, don't overwrite URLs
pjbgf Sep 25, 2024
ccb19fd
config: collect also push URLs
mcepl Aug 27, 2024
31982c5
plumbing: allow discovery of non bare repos in fsLoader
jakobmoellerdev Aug 21, 2024
d76afb4
plumbing: signature, support the same x509 signature formats as git
yoavamit Aug 20, 2024
df0bc0b
git: worktree, Pass context on updateSubmodules. Fixes #1098
onee-only Jul 21, 2024
0e5b8a0
git: worktree, Fix sparse reset. Fixes #90
onee-only May 28, 2024
d9c06de
git: worktree, add RestoreStaged which works like the "git restore --…
Mar 18, 2022
a60f68e
add comment preventing people from creating invalid trees
petar Mar 30, 2023
321f326
Merge branch 'v6-exp' into master-to-v6
pjbgf Dec 17, 2024
f7b09ba
Merge pull request #1252 from pjbgf/master-to-v6
pjbgf Dec 18, 2024
7d6d210
_examples: Add performance focused clone example
pjbgf Dec 18, 2024
83dd694
plumbing: Properly encode index version 4
BeChris Dec 17, 2024
b83447a
Fix typos
deining Jul 17, 2024
6f5cab2
examples: add config example. Fixes #523
cmiller01 Jul 26, 2022
e32ccd4
_examples: Add call to config example
pjbgf Dec 18, 2024
1cdcf5c
git: worktree, test to demonstrate reset file bug
Sep 3, 2024
57f440d
git: worktree, fix Restore/Reset on files bug
Sep 3, 2024
6d3a00f
git: update switch cases
hezhizhen Sep 6, 2024
1872aa6
Merge pull request #1255 from pjbgf/v6-improv
pjbgf Dec 19, 2024
acb9997
plumbing: Fix invalid reference name error while cloning branches con…
varmakarthik12 Dec 20, 2024
5d3d09c
build: Align workflow permissions
pjbgf Dec 22, 2024
083e5b0
build: Fix go-git-fixtures/v5 version
pjbgf Dec 22, 2024
904f6a6
Merge pull request #1258 from pjbgf/v6-improv
pjbgf Dec 22, 2024
a075e99
plumbing: format/pktline, accept upercase hexadecimal value as pktlin…
BeChris Dec 22, 2024
4b8467f
Merge pull request #1259 from BeChris/accept_uppercase_hexa_in_pktlin…
pjbgf Dec 23, 2024
38f8e48
git: worktree_commit, sanitize author and commiter name and email bef…
BeChris Dec 25, 2024
f275e15
internal: gocheck to testify migration. Fixes #1274
BeChris Dec 28, 2024
837b412
Merge pull request #1263 from BeChris/issue680-v6-exp
pjbgf Dec 28, 2024
854acd3
plumbing: object, limit logs by trailing hash (#1227)
d-fal Dec 28, 2024
1db6842
plumbing: cache, gocheck to testify migration. Fixes #1272
BeChris Dec 28, 2024
d62118e
plumbing: filemode, gocheck to testify migration. Fixes #1276
BeChris Dec 28, 2024
473d5f5
plumbing: format/commitgraph, gocheck to testify migration. Fixes #1278
BeChris Dec 28, 2024
e1b916f
Merge pull request #1277 from BeChris/plumbing-filemode-gocheck-to-te…
pjbgf Dec 28, 2024
2015993
plumbing: format/config, gocheck to testify migration. Fixes #1280
BeChris Dec 28, 2024
80739c7
plumbing: format/diff, gocheck to testify migration. Fixes #1282
BeChris Dec 28, 2024
1fa2445
plumbing: format/gitattributes, gocheck to testify migration. Fixes #…
BeChris Dec 28, 2024
1dfb118
plumbing: format/gitignore, gocheck to testify migration. Fixes #1286
BeChris Dec 28, 2024
2db384b
Merge pull request #1279 from BeChris/plumbing-format-commitgraph-goc…
pjbgf Dec 28, 2024
bb689ea
Merge pull request #1285 from BeChris/plumbing-format-gitattributes-g…
pjbgf Dec 28, 2024
f04c04e
Merge pull request #1281 from BeChris/plumbing-format-config-gocheck-…
pjbgf Dec 28, 2024
97e489c
Merge pull request #1283 from BeChris/plumbing-format-diff-gocheck-to…
pjbgf Dec 28, 2024
c08ffcb
Merge pull request #1287 from BeChris/plumbing-format-gitignore-goche…
pjbgf Dec 28, 2024
e32b9ab
plumbing: format/idxfile, gocheck to testify migration. Fixes #1288
BeChris Dec 28, 2024
170a182
Merge pull request #1273 from BeChris/plumbing-cache-gocheck-to-testi…
pjbgf Dec 28, 2024
f4512de
Merge pull request #1289 from BeChris/plumbing-format-idxfile-gocheck…
pjbgf Dec 28, 2024
d4ef968
plumbing: format/index, gocheck to testify migration. Fixes #1290
BeChris Dec 28, 2024
861aabe
Merge pull request #1291 from BeChris/plumbing-format-index-gocheck-t…
pjbgf Dec 28, 2024
484bc2c
plumbing: format/objfile, gocheck to testify migration. Fixes #1292
BeChris Dec 28, 2024
e4fe456
Merge pull request #1293 from BeChris/plumbing-format-objfile-gocheck…
pjbgf Dec 29, 2024
19588cb
config: gocheck to testify migration. Fixes #1264 (#1265)
BeChris Dec 29, 2024
542ff57
plumbing: object, gocheck to testify migration. Fixes #1297
BeChris Dec 29, 2024
b63ab3b
plumbing: pktline, fix scanner EOF and special packet handling
aymanbagabas Dec 29, 2024
113ebab
plumbing: revlist, gocheck to testify migration. Fixes #1302
BeChris Dec 29, 2024
a067bdf
plumbing: serverinfo, gocheck to testify migration. Fixes #1305
BeChris Dec 29, 2024
ecc3a1b
plumbing: storer, gocheck to testify migration. Fixes #1307
BeChris Dec 29, 2024
34daba4
plumbing: gocheck to testify migration. Fixes #1309
BeChris Dec 29, 2024
427ff2f
storage: filesystem, gocheck to testify migration. Fixes #1311
BeChris Dec 29, 2024
76a0fa0
storage: transactional, gocheck to testify migration. Fixes #1313
BeChris Dec 29, 2024
672becc
utils: binary, gocheck to testify migration. Fixes #1315
BeChris Dec 29, 2024
6a2a802
utils: diff, gocheck to testify migration. Fixes #1317
BeChris Dec 29, 2024
b41fef2
utils: ioutil, gocheck to testify migration. Fixes #1319
BeChris Dec 29, 2024
bbb2dcb
Merge pull request #1298 from BeChris/plumbing-object-gocheck-to-test…
pjbgf Dec 29, 2024
cd8b3b4
Merge pull request #1301 from aymanbagabas/v6-fix-pktline-sc
pjbgf Dec 29, 2024
3b8ca2d
Merge pull request #1310 from BeChris/plumbing-gocheck-to-testify-mig…
pjbgf Dec 29, 2024
eb5fdd5
Merge pull request #1318 from BeChris/utils-diff-gocheck-to-testify-m…
pjbgf Dec 29, 2024
5d16469
Merge pull request #1304 from BeChris/plumbing-revlist-gocheck-to-tes…
pjbgf Dec 29, 2024
4ebc17d
Merge pull request #1314 from BeChris/storage-transactional-gocheck-t…
pjbgf Dec 29, 2024
1bc1135
Merge pull request #1306 from BeChris/plumbing-serverinfo-gocheck-to-…
pjbgf Dec 29, 2024
d187d9e
Merge pull request #1320 from BeChris/utils-ioutil-gocheck-to-testify…
pjbgf Dec 29, 2024
ba70610
Merge pull request #1316 from BeChris/utils-binary-gocheck-to-testify…
pjbgf Dec 29, 2024
3ac1004
Merge pull request #1308 from BeChris/plumbing-storer-gocheck-to-test…
pjbgf Dec 29, 2024
3dfc310
plumbing: move TagMode type to plumbing
aymanbagabas Dec 29, 2024
21fd3e1
utils: add ioutil.ContextReader and ioutil.ContextWriter and drop ctx…
aymanbagabas Dec 29, 2024
8ae644e
Merge pull request #1300 from aymanbagabas/v6-tagmode
pjbgf Dec 30, 2024
d02a29e
Merge pull request #1299 from aymanbagabas/v6-ioutil
pjbgf Dec 30, 2024
a26880d
plumbing: format/pktline, gocheck to testify migration. Fixes #1295 (…
BeChris Dec 30, 2024
dab9140
storage: filesystem, skip TestPackfileIterKeepDescriptors
pjbgf Dec 30, 2024
baf29f2
Merge pull request #1312 from BeChris/storage-filesystem-gocheck-to-t…
pjbgf Dec 30, 2024
f4ac4ee
git: gocheck to testify migration. Fixes #1324
BeChris Dec 30, 2024
c1dc5f3
git: gocheck to testify migration
pjbgf Dec 30, 2024
d201e25
Merge pull request #1325 from BeChris/git-gocheck-to-testify-migration
pjbgf Dec 30, 2024
ce5aad8
plumbing: protocol, fix undefined constant
aymanbagabas Dec 30, 2024
3038da2
plumbing: transport, determine protocol version
aymanbagabas Dec 30, 2024
9935db2
Merge pull request #1332 from aymanbagabas/v6-version
pjbgf Dec 31, 2024
a9e6f28
Merge pull request #1333 from aymanbagabas/v6-discover-version
pjbgf Dec 31, 2024
f9b68c4
utils: trace, add Enabled method
aymanbagabas Dec 31, 2024
dc9e360
plumbing: pktline, quote packet data in trace
aymanbagabas Dec 31, 2024
fec22fd
Merge pull request #1334 from aymanbagabas/v6-trace-pkt
pjbgf Dec 31, 2024
ff95c0f
storage: filesystem/dotgit, Enforce timeout when trying to acquire lo…
pjbgf Dec 30, 2024
692ed95
Merge pull request #1335 from pjbgf/timeout
pjbgf Dec 31, 2024
7353e58
plumbing: transport, migrate to testify/suite
aymanbagabas Jan 1, 2025
af1b18d
plumbing: server, migrate to testify
aymanbagabas Jan 3, 2025
fa01a66
utils: merkletrie, gocheck to testify migration. Fixes #1321
BeChris Dec 29, 2024
4e6cc87
plumbing: protocol/packp, gocheck to testify migration. Fixes #1350
BeChris Jan 3, 2025
8c85aad
Merge pull request #1344 from aymanbagabas/v6-transport-test-migration
pjbgf Jan 4, 2025
9e9b43a
Merge pull request #1322 from BeChris/utils-merkletrie-gocheck-to-tes…
pjbgf Jan 4, 2025
b28e285
Merge pull request #1351 from BeChris/plumbing-protocol-packp-gocheck…
pjbgf Jan 4, 2025
674ba7b
plumbing: format/pktline, remove redundant reference to gocheck packa…
BeChris Jan 4, 2025
dedd8d9
plumbing: server, remove redundant reference to gocheck package. Fixe…
BeChris Jan 4, 2025
f02e74d
git: worktree_status, fix adding dot slash files to working tree. Fix…
BeChris Jan 4, 2025
ba4fe7f
git: worktree, fix restoring dot slash files. Fixes #1176
BeChris Jan 5, 2025
cc6a151
Merge pull request #1355 from BeChris/plumbing-format-pktline-remove-…
pjbgf Jan 5, 2025
f8af425
Merge pull request #1357 from BeChris/plumbing-server-remove-gocheck-…
pjbgf Jan 5, 2025
b7f12b9
git: fetch and clone --filter support
EarthCompass Jan 13, 2025
40106c9
Merge pull request #1375 from EarthCompass/filter-support
pjbgf Jan 15, 2025
dcfe6ea
Merge pull request #1360 from BeChris/issue1176
pjbgf Jan 15, 2025
4f98b44
git: worktree_status, took into account code review remarks
BeChris Jan 15, 2025
bff56c6
plumbing: format/packfile, gocheck to testify migration. Fixes #1294
BeChris Dec 28, 2024
0c28910
Merge pull request #1358 from BeChris/issue1150
pjbgf Jan 16, 2025
9633266
Merge pull request #1382 from BeChris/plumbing-format-packfile-gochec…
pjbgf Jan 16, 2025
96d2c75
build: bump the golang-org group with 3 updates
dependabot[bot] Jan 22, 2025
3fb2311
build: bump github.com/ProtonMail/go-crypto from 1.1.3 to 1.1.5
dependabot[bot] Jan 22, 2025
056505e
build: bump github/codeql-action from 2.22.11 to 3.28.3
dependabot[bot] Jan 22, 2025
5b7a17d
Merge pull request #1397 from go-git/dependabot/go_modules/golang-org…
pjbgf Jan 22, 2025
0a0e1b8
Merge pull request #1400 from go-git/dependabot/github_actions/github…
pjbgf Jan 22, 2025
4703df0
build: bump github.com/pjbgf/sha1cd from 0.3.0 to 0.3.2
dependabot[bot] Jan 22, 2025
cf6cb4b
Merge pull request #1399 from go-git/dependabot/go_modules/github.com…
pjbgf Jan 22, 2025
3eead18
Merge pull request #1398 from go-git/dependabot/go_modules/github.com…
pjbgf Jan 22, 2025
10adbf6
*: Update branching strategy
pjbgf Jan 22, 2025
f81dfe4
build: Update branch names
pjbgf Jan 22, 2025
4022160
build: Remove legacy fuzzing code
pjbgf Jan 23, 2025
a3b3722
build: Remove object.FuzzDecode
pjbgf Jan 23, 2025
66f2eb7
Merge pull request #1404 from go-git/fuzz
pjbgf Jan 23, 2025
3a9fe5a
Merge pull request #1402 from go-git/contrib
pjbgf Jan 24, 2025
1cf3a46
build: bump github/codeql-action from 3.28.3 to 3.28.5
dependabot[bot] Jan 27, 2025
a11a8bc
Merge pull request #1407 from go-git/dependabot/github_actions/github…
pjbgf Jan 27, 2025
696dfae
config: url, breaking change to support multiple insteadOf keys in co…
stensonb Jan 28, 2025
69aefb6
Merge pull request #1410 from stensonb/multiple-insteadofs
pjbgf Jan 28, 2025
5e44c12
plumbing: packfile parser process deltaRef before deltaObj in thin pack
manland Jan 31, 2025
0a8505f
Merge pull request #1416 from manland/1414-fixBugPackfileParserThin
pjbgf Jan 31, 2025
9b02dd0
Merge pull request #1415 from jcbhmr/patch-1
jcbhmr Jan 31, 2025
4990995
build: bump github/codeql-action from 3.28.5 to 3.28.8
dependabot[bot] Feb 3, 2025
bc4c2e8
Merge pull request #1421 from go-git/dependabot/github_actions/github…
pjbgf Feb 3, 2025
f7cb942
build: bump the golang-org group with 2 updates
dependabot[bot] Feb 5, 2025
db681b4
Merge pull request #1424 from go-git/dependabot/go_modules/golang-org…
pjbgf Feb 5, 2025
4c91854
build: bump golang.org/x/crypto in the golang-org group
dependabot[bot] Feb 10, 2025
b282922
build: bump github/codeql-action from 3.28.8 to 3.28.9
dependabot[bot] Feb 10, 2025
9a73858
Merge pull request #1426 from go-git/dependabot/github_actions/github…
pjbgf Feb 10, 2025
12d92ea
Merge pull request #1425 from go-git/dependabot/go_modules/golang-org…
pjbgf Feb 10, 2025
005d3ef
build: bump golang.org/x/net in the golang-org group
dependabot[bot] Feb 11, 2025
6b34aac
Merge pull request #1427 from go-git/dependabot/go_modules/golang-org…
pjbgf Feb 11, 2025
f42812c
build: bump github/codeql-action from 3.28.9 to 3.28.10
dependabot[bot] Feb 24, 2025
5e59e8f
Merge pull request #1433 from go-git/dependabot/github_actions/github…
pjbgf Feb 24, 2025
83ea5c6
build: Bump Go versions
pjbgf Feb 26, 2025
8a0c14b
build: Bump dependencies
pjbgf Feb 26, 2025
6802321
plumbing: transport, Remove redundant example
pjbgf Feb 27, 2025
70b80e1
plumbing: object, Rename tests to align with Go 1.24
pjbgf Feb 27, 2025
29bd7d3
Merge pull request #1437 from pjbgf/bump-deps
pjbgf Feb 27, 2025
e194bbc
build: bump github.com/ProtonMail/go-crypto from 1.1.5 to 1.1.6
dependabot[bot] Feb 27, 2025
2c6d60e
Merge pull request #1440 from go-git/dependabot/go_modules/github.com…
pjbgf Feb 27, 2025
ccbca4d
git: worktree_commit, use all parent hashes on amend commit. Fixes #1209
onee-only Mar 4, 2025
8f64166
build: bump the golang-org group with 2 updates
dependabot[bot] Mar 5, 2025
a1c9154
Merge pull request #1447 from go-git/dependabot/go_modules/golang-org…
pjbgf Mar 5, 2025
cc0ed3a
Merge pull request #1446 from onee-only/improve-amend-parent
pjbgf Mar 6, 2025
aeac5c6
build: bump the golang-org group with 3 updates
dependabot[bot] Mar 6, 2025
f7eb53c
Merge pull request #1448 from go-git/dependabot/go_modules/golang-org…
pjbgf Mar 6, 2025
7cefbf0
Merge branch 'main' into jesse-merge-main
radsaq Mar 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ updates:
interval: "daily"
commit-message:
prefix: "build"
groups:
golang.org:
patterns:
- "golang.org/*"

- package-ecosystem: "gomod"
directory: "/cli/go-git"
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/cifuzz.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
name: CIFuzz
on: [pull_request]
on:
pull_request:
branches:
- main

permissions: {}

jobs:
Fuzzing:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -28,7 +33,7 @@ jobs:
path: ./out/artifacts
- name: Upload Sarif
if: always() && steps.build.outcome == 'success'
uses: github/codeql-action/upload-sarif@v3
uses: github/codeql-action/upload-sarif@v3.28.10
with:
# Path to SARIF file relative to the root of the repository
sarif_file: cifuzz-sarif/results.sarif
Expand Down
16 changes: 10 additions & 6 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
name: "CodeQL"

name: CodeQL
on:
push:
branches: [ "master" ]
branches:
- releases/v5.x
- main
pull_request:
branches: [ "master" ]

schedule:
- cron: '00 5 * * 1'

permissions: {}

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest

permissions:
actions: read
contents: read
Expand All @@ -28,7 +32,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@03e7845b7bfcd5e7fb63d1ae8c61b0e791134fab # v2.22.11
uses: github/codeql-action/init@ff79de67cc25c7617163ae1e4b8aa23b902fdf15 # v2.22.11
with:
languages: ${{ matrix.language }}
# xref: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
Expand All @@ -39,6 +43,6 @@ jobs:
run: go build ./...

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@03e7845b7bfcd5e7fb63d1ae8c61b0e791134fab # v2.22.11
uses: github/codeql-action/analyze@ff79de67cc25c7617163ae1e4b8aa23b902fdf15 # v2.22.11
with:
category: "/language:${{matrix.language}}"
16 changes: 12 additions & 4 deletions .github/workflows/git.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
on: [push, pull_request]
name: Git Compatibility
permissions:
contents: read
on:
push:
branches:
- releases/v5.x
- main
pull_request:

permissions: {}

jobs:
test:
Expand All @@ -15,14 +20,17 @@ jobs:
GIT_VERSION: ${{ matrix.git[0] }}
GIT_DIST_PATH: .git-dist/${{ matrix.git[0] }}

permissions:
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
go-version: stable

- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install gettext libcurl4-openssl-dev
Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/pr-validation.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
name: 'PR Validation'

name: PR Validation
on:
pull_request:
types:
Expand All @@ -8,18 +7,21 @@ on:
- reopened
- synchronize

permissions:
contents: read
permissions: {}

jobs:
check-commit-message:
name: Check Commit Messages
runs-on: ubuntu-latest

permissions:
contents: read

steps:
- name: Check Package Prefix
uses: gsactions/commit-message-checker@v2
with:
pattern: '^(\*|git|plumbing|utils|config|_examples|internal|storage|cli|build): .+'
pattern: '^(\*|docs|git|plumbing|utils|config|_examples|internal|storage|cli|build): .+'
error: |
Commit message(s) does not align with contribution acceptance criteria.

Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/stale-issues-bot.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
name: "stale issues bot"
name: stale issues bot
on:
schedule:
- cron: "0 7 * * *"

permissions:
issues: write
pull-requests: write
permissions: {}

jobs:
stale-bot:
runs-on: ubuntu-latest

permissions:
issues: write
pull-requests: write

steps:
- uses: actions/stale@v9
with:
Expand Down
18 changes: 13 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
on: [push, pull_request]
name: Test
permissions:
contents: read
on:
push:
branches:
- releases/v5.x
- main
pull_request:

permissions: {}

jobs:
version-matrix:
strategy:
fail-fast: false
matrix:
go-version: [1.20.x, 1.21.x, 1.22.x]
go-version: [1.22.x, 1.23.x, 1.24.x]
platform: [ubuntu-latest, macos-latest, windows-latest]

permissions:
contents: read

runs-on: ${{ matrix.platform }}
steps:
- name: Checkout code
Expand All @@ -36,4 +44,4 @@ jobs:
run: make test-coverage

- name: Test Examples
run: go test -timeout 30s -v -run '^TestExamples$' github.com/go-git/go-git/v5/_examples --examples
run: go test -timeout 45s -v -run '^TestExamples$' github.com/go-git/go-git/v5/_examples --examples
1 change: 1 addition & 0 deletions COMPATIBILITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ compatibility status with go-git.
| `merge` | | ⚠️ (partial) | Fast-forward only | |
| `mergetool` | | ❌ | | |
| `stash` | | ❌ | | |
| `sparse-checkout` | | ✅ | | - [sparse-checkout](_examples/sparse-checkout/main.go) |
| `tag` | | ✅ | | - [tag](_examples/tag/main.go) <br/> - [tag create and push](_examples/tag-create-push/main.go) |

## Sharing and updating projects
Expand Down
35 changes: 28 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,50 @@
# Contributing Guidelines

source{d} go-git project is [Apache 2.0 licensed](LICENSE) and accepts
contributions via GitHub pull requests. This document outlines some of the
The go-git project is [Apache 2.0 licensed](LICENSE) and accepts
contributions via GitHub pull requests. This document outlines some of the
conventions on development workflow, commit message formatting, contact points,
and other resources to make it easier to get your contribution accepted.

## Support Channels

The official support channels, for both users and contributors, are:
The official support channels, for users are:

- [StackOverflow go-git tag](https://stackoverflow.com/questions/tagged/go-git) for user questions.
- GitHub [Issues](https://github.com/src-d/go-git/issues)* for bug reports and feature requests.
- [StackOverflow go-git tag] for user questions.
- GitHub [Issues]* for bug reports and feature requests.

*Before opening a new issue or submitting a new pull request, it's helpful to
search the project - it's likely that another user has already reported the
issue you're facing, or it's a known issue that we're already aware of.

In addition to the channels above, contributors are also able to join the go-git [discord server].

## How to Contribute

Pull Requests (PRs) are the main and exclusive way to contribute to the official go-git project.
In order for a PR to be accepted it needs to pass a list of requirements:

- You should be able to run the same query using `git`. We don't accept features that are not implemented in the official git implementation.
- The expected behavior must match the [official git implementation](https://github.com/git/git).
- The expected behavior must match the [official git implementation].
- The actual behavior must be correctly explained with natural language and providing a minimum working example in Go that reproduces it.
- All PRs must be written in idiomatic Go, formatted according to [gofmt](https://golang.org/cmd/gofmt/), and without any warnings from [go lint](https://github.com/golang/lint) nor [go vet](https://golang.org/cmd/vet/).
- All PRs must be written in idiomatic Go, formatted according to [gofmt], and without any warnings from [go vet].
- They should in general include tests, and those shall pass.
- If the PR is a bug fix, it has to include a suite of unit tests for the new functionality.
- If the PR is a new feature, it has to come with a suite of unit tests, that tests the new functionality.
- In any case, all the PRs have to pass the personal evaluation of at least one of the maintainers of go-git.

### Branches

The development branch is `main`, where all development takes place.
All new features and bug fixes should target it. This was formely known as `v6-exp`,
as it contains all the changes for `v6` - the next major release.

The `releases/v5.x` branch is the branch for changes to the `v5` version,
which is now in maintaince mode. To avoid having to divert efforts from `v6`,
we will only be accepting bug fixes or CVE related dependency bumps for the
`v5` release.

Bug fixes that also impact `main`, should be fixed there first, and then backported to `v5`.

### Format of the commit message

Every commit message should describe what was changed, under which context and, if applicable, the GitHub issue it relates to:
Expand All @@ -44,3 +58,10 @@ The format can be described more formally as follows:
```
<package>: <subpackage>, <what changed>. [Fixes #<issue-number>]
```

[discord server]: https://discord.gg/8hrxYEVPE5
[StackOverflow go-git tag]: https://stackoverflow.com/questions/tagged/go-git
[Issues]: https://github.com/go-git/go-git/issues
[official git implementation]: https://github.com/git/git
[gofmt]: https://golang.org/cmd/gofmt/
[go vet]: https://golang.org/cmd/vet/
4 changes: 2 additions & 2 deletions EXTENDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ New filesystems (e.g. cloud based storage) could be created by implementing `go-

Git supports various transport schemes, including `http`, `https`, `ssh`, `git`, `file`. `go-git` defines the [transport.Transport interface](plumbing/transport/common.go#L48) to represent them.

The built-in implementations can be replaced by calling `client.InstallProtocol`.
The built-in implementations can be replaced by calling `transport.Register`.

An example of changing the built-in `https` implementation to skip TLS could look like this:

Expand All @@ -53,7 +53,7 @@ An example of changing the built-in `https` implementation to skip TLS could loo
},
}

client.InstallProtocol("https", githttp.NewClient(customClient))
transport.Register("https", githttp.NewClient(customClient))
```

Some internal implementations enables code reuse amongst the different transport implementations. Some of these may be made public in the future (e.g. `plumbing/transport/internal/common`).
Expand Down
14 changes: 7 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ GIT_REPOSITORY = http://github.com/git/git.git
COVERAGE_REPORT = coverage.out
COVERAGE_MODE = count

# Defines the maximum time each fuzz target will be executed for.
FUZZ_TIME ?= 10s
FUZZ_PKGS = $(shell grep -r --include='**_test.go' --files-with-matches 'func Fuzz' . | xargs -I{} dirname {})

build-git:
@if [ -f $(GIT_DIST_PATH)/git ]; then \
echo "nothing to do, using cache $(GIT_DIST_PATH)"; \
Expand Down Expand Up @@ -45,10 +49,6 @@ clean:
rm -rf $(GIT_DIST_PATH)

fuzz:
@go test -fuzz=FuzzParser $(PWD)/internal/revision
@go test -fuzz=FuzzDecoder $(PWD)/plumbing/format/config
@go test -fuzz=FuzzPatchDelta $(PWD)/plumbing/format/packfile
@go test -fuzz=FuzzParseSignedBytes $(PWD)/plumbing/object
@go test -fuzz=FuzzDecode $(PWD)/plumbing/object
@go test -fuzz=FuzzDecoder $(PWD)/plumbing/protocol/packp
@go test -fuzz=FuzzNewEndpoint $(PWD)/plumbing/transport
@for path in $(FUZZ_PKGS); do \
go test -fuzz=Fuzz -fuzztime=$(FUZZ_TIME) $$path; \
done
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ It's being actively developed since 2015 and is being used extensively by [Keyba
Project Status
--------------

After the legal issues with the [`src-d`](https://github.com/src-d) organization, the lack of update for four months and the requirement to make a hard fork, the project is **now back to normality**.
After the [legal issues](https://github.com/src-d/go-git/issues/1295#issuecomment-592965250) with the [`src-d`](https://github.com/src-d) organization, the lack of update for four months and the requirement to make a hard fork, the project is **now back to normality**.

The project is currently actively maintained by individual contributors, including several of the original authors, but also backed by a new company, [gitsight](https://github.com/gitsight), where `go-git` is a critical component used at scale.

Expand Down
4 changes: 3 additions & 1 deletion _examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Here you can find a list of annotated _go-git_ examples:
a repository using a GitHub personal access token.
- [ssh private key](clone/auth/ssh/private_key/main.go) - Cloning a repository using a ssh private key.
- [ssh agent](clone/auth/ssh/ssh_agent/main.go) - Cloning a repository using ssh-agent.
- [config](config/main.go) - Explains how to work with config files.
- [commit](commit/main.go) - Commit changes to the current branch to an existent repository.
- [push](push/main.go) - Push repository to default remote (origin).
- [pull](pull/main.go) - Pull changes from a remote repository.
Expand All @@ -25,7 +26,6 @@ Here you can find a list of annotated _go-git_ examples:
- [progress](progress/main.go) - Printing the progress information from the sideband.
- [revision](revision/main.go) - Solve a revision into a commit.
- [submodule](submodule/main.go) - Submodule update remote.
- [azure devops](azure_devops/main.go) - Cloning Azure DevOps repositories.
- [blame](blame/main.go) - Blame/annotate a commit.
- [ls-remote](ls-remote/main.go) - List remote tags without cloning a repository.

Expand All @@ -34,3 +34,5 @@ Here you can find a list of annotated _go-git_ examples:
- [clone with context](context/main.go) - Cloning a repository with graceful cancellation.
- [storage](storage/README.md) - Implementing a custom storage system.
- [sha256](sha256/main.go) - Init and committing repositories that use sha256 as object format.
- [memory](memory/main.go) - Clone a repository into an in-memory dotgit storage and worktree.
- [perf-clone](performance/clone/main.go) - Clone a repository with the least time and space complexity.
Loading