Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
725 commits
Select commit Hold shift + click to select a range
dc22039
Exceptions: refactor native exceptions to include code
ethomson Oct 14, 2018
4381f70
ManagedHttpSmartSubtransport: provide certificate callbacks
ethomson Oct 14, 2018
15d68e5
Managed HTTP transport: support user-agent
ethomson Oct 14, 2018
9d7dd69
Managed HTTP transport: allow custom transport
ethomson Nov 2, 2018
5a64349
smart subtransports: improve safety
ethomson Nov 6, 2018
7be9794
Tests: Don't look for HTTPS in libgit2
ethomson Nov 10, 2018
70b393b
Use the .NET standard HTTP class
ethomson Nov 10, 2018
04094f5
SSL validation: cope with GIT_PASSTHROUGH
ethomson Oct 16, 2019
4a459f1
HTTP: complete only when actually complete
ethomson Oct 16, 2019
814054b
dispose the response
ethomson Jan 7, 2020
efdb363
Fixed build warnings about System.Net.Http version issues
AArnott Jan 30, 2020
f6f3cb6
Throw more precise exceptions when they happen
AArnott Jan 30, 2020
ae1563d
Improve xml doc comments for extensibility point API
AArnott Jan 30, 2020
a46fb80
Increase the size of the very small read buffer
AArnott Jan 30, 2020
e034243
fixup doc comments
ethomson Feb 18, 2020
1b96568
Update macOS image on Azure Pipelines
AArnott Mar 2, 2020
4de700f
Merge pull request #1771 from AArnott/patch-1
bording Mar 2, 2020
8d83f06
Update LibGit2Sharp/Core/ManagedHttpSmartSubtransport.cs
bording Apr 3, 2020
0950390
Suppress Expect: 100 Continue header
AArnott Apr 3, 2020
b388b05
Merge pull request #1772 from AArnott/no100Continue
bording Apr 3, 2020
f5abbba
Update SDK version
bording Apr 5, 2020
27a034d
Only use managed https with new net472 target
bording Apr 5, 2020
a0374ba
Don't dispose HttpClientHandler separately
bording Apr 5, 2020
c3ac103
Minor cleanup
bording Apr 5, 2020
807012a
Add net472 test runs
bording Apr 5, 2020
32af8db
Fix LoadFromSpecifiedPath test on net472
bording Apr 5, 2020
9daf4cc
Update to binaries package that doesn't use OpenSSL on linux
bording Apr 5, 2020
80ea092
Fix when Register is called before NativeMethod cctor
bording Apr 7, 2020
35bca83
Fix XML comment
bording Apr 7, 2020
d2db2ac
Cleanup
bording Apr 7, 2020
9ee00e4
Make managed http opt-in on non-Linux OSes
bording Apr 7, 2020
8671cc7
Update SDK version in global.json
bording Apr 15, 2020
7fc4be5
Merge pull request #1784 from libgit2/update-global-json
bording Apr 15, 2020
79e11b9
Added Line struct and lists for addedlines and deletedlines in conten…
Stijn-Rutten Apr 30, 2020
92b9e20
Added Line struct and lists for addedlines and deletedlines in conten…
Stijn-Rutten Apr 30, 2020
445bbbe
Fixed for tests
Stijn-Rutten Apr 30, 2020
70b6bd7
Added missing documentatiion of Line
Stijn-Rutten Apr 30, 2020
3c777dc
Set deleted and added lines in patch printcallback
Stijn-Rutten Apr 30, 2020
a5ef816
Managed subtransport: support Default Credentials
ethomson May 10, 2020
9733e74
Added test for blobToBlob compare
Stijn-Rutten May 27, 2020
37fa585
Tests and added explicit setting of added and deleted lines in patch …
Stijn-Rutten May 27, 2020
8196539
Update LibGit2Sharp/Line.cs
Stijn-Rutten May 29, 2020
a9d5c36
Apply suggestions from code review
Stijn-Rutten May 29, 2020
7ca3791
Move to only netstandard2.0 target
bording May 30, 2020
86be042
Change to an opt-out model for the managed implementation
bording May 30, 2020
0bea3cf
WIP Try using CredentialCache
bording May 30, 2020
2c763f7
Make test pass, can't do this for real though
bording May 30, 2020
9b6043f
Nevermind, can't change handler properties after it's been used
bording May 30, 2020
c5bd90a
Apply suggestions from code review
Stijn-Rutten Jun 11, 2020
34a65c3
Merge branch '1789_addedLines_and_deletedLines_in_ContentChanges' of …
Stijn-Rutten Jun 11, 2020
868eb38
Always use managed https transport
bording Nov 7, 2020
a514c5f
Remove certificate validation check
bording Nov 7, 2020
665eb5f
Add lock to credential cache modifications
bording Nov 7, 2020
2c90f41
Add netcoreapp2.1 target
bording Nov 7, 2020
d4a6cd4
Remove unneeded reference
bording Nov 7, 2020
4a9af01
Use SocketsHttpHandler on .NET Core
bording Nov 7, 2020
2fae75f
Comment out test using deleted repo
bording Nov 7, 2020
fd8e277
Comment out certificate check test
bording Nov 7, 2020
dbb17e7
Merge pull request #1790 from Stijn-Rutten/1789_addedLines_and_delete…
bording Nov 7, 2020
3d72762
Merge pull request #1618 from libgit2/ethomson/notls
bording Nov 23, 2020
a7445ad
Update Branch.cs
yahavx Jan 24, 2021
df3b22a
Merge pull request #1865 from yahavx/patch-1
bording Jan 25, 2021
b78b290
Adjust GitStatusOptions to match structure of native libgit2
Molytho May 25, 2021
689dcf2
Merge pull request #1884 from Molytho/master
bording Jun 17, 2021
8a61eec
Update `git_worktree_add_options` struct to include ref pointer
zentron Jul 1, 2021
10c9446
Merge pull request #1890 from OctopusDeploy/worktree-fix-1885
bording Jul 3, 2021
05fb439
Update .NET SDK
bording Jul 3, 2021
ae450c9
Update test TFMs
bording Jul 3, 2021
168b62f
Suppress Encoding.UTF7 warning
bording Jul 3, 2021
5bfaca5
Fix Assembly.CodeBase warning
bording Jul 3, 2021
17ad66b
Remove explicit reference to reference assemblies package
bording Jul 3, 2021
f1c9dd7
Update Nerdbank.GitVersioning
bording Jul 3, 2021
b62c673
Update testing packages
bording Jul 3, 2021
b1b6492
Remove System.ValueTuple
bording Jul 3, 2021
7456cca
Don't test UTF7 on .NET 5
bording Jul 3, 2021
37a094c
Fix LeaksContainer
bording Jul 3, 2021
7c78387
Merge pull request #1891 from libgit2/add-net50
bording Jul 3, 2021
844ecd8
Update SDK version
bording Aug 13, 2021
d68bcaa
Update to LibGit2Sharp.NativeBinaries 2.0.314
bording Aug 13, 2021
f5098f4
Merge pull request #1902 from libgit2/new-binaries
bording Aug 13, 2021
85ad389
Update LibGit2 to version 1.1.1
jairbubbles Aug 22, 2021
9941d39
Revert commented test
jairbubbles Aug 22, 2021
6329bea
Merge pull request #1905 from jairbubbles/update-to-libgit-1-1-1
bording Aug 24, 2021
21d4f13
Update to libgit2 v1.2.0
jairbubbles Sep 5, 2021
297167e
Fix rebase options
jairbubbles Sep 5, 2021
eb3dd1c
Fix git remote callbacks
jairbubbles Sep 5, 2021
491d248
Fix memory corruption with odb backend
jairbubbles Sep 5, 2021
5055fbd
Merge pull request #1907 from jairbubbles/update-to-libgit2-v1-2-0
bording Sep 16, 2021
29efc69
Use native HTTPS support
bording Sep 19, 2021
b78ae80
Fix git_remote_connect not throwing on non-zero result
YuKitsune Sep 20, 2021
79caa3d
Merge pull request #1911 from libgit2/native-https
bording Oct 15, 2021
2535e47
Remove old CI files
bording Oct 15, 2021
e04f4a0
Remove init scripts and locked SDK
bording Oct 15, 2021
c91027e
Remove R# and NCrunch files
bording Oct 15, 2021
e688d42
Remove Coverlet
bording Oct 15, 2021
8c7d9e5
Add GitHub Actions workflow
bording Oct 15, 2021
b4165b1
Split tests by TFM
bording Oct 15, 2021
d7085fc
Run tests with LEAKS_IDENTIFYING
bording Oct 15, 2021
1f917f5
Set ContinuousIntegrationBuild to true for CI
bording Oct 15, 2021
0411406
Switch to embedded PDBs
bording Oct 15, 2021
d9777fc
Tweak package description
bording Oct 15, 2021
a557593
Update README
bording Oct 15, 2021
fe27c0f
Update TFM define
bording Oct 15, 2021
a0c46f2
Remove outdated dictionary file
bording Oct 15, 2021
ff9f5f0
Clean up nuget.config
bording Oct 15, 2021
767724b
Remove unneeded AssemblyInfo file
bording Oct 15, 2021
47e674d
Clean up items referenced only for packing
bording Oct 15, 2021
6189846
Merge pull request #1917 from libgit2/ci-changes
bording Oct 15, 2021
85f1f1b
Fix incorrect information in exceptions
OronDF343 Oct 17, 2021
967bb6b
use .net 6.0 SDK
arturcic Oct 20, 2021
9836399
Tweaks
bording Nov 8, 2021
e6d81f9
Merge pull request #1920 from arturcic/feature/net6.0
bording Nov 9, 2021
66dae0f
Update README.md
bording Nov 9, 2021
35abcc7
Switch to netcoreapp3.1
bording Oct 16, 2021
2bde4cb
Use RuntimeInformation.ProcessArchitecture
bording Oct 16, 2021
b6d3e2f
Don't append arch to NativeLibraryPath
bording Oct 16, 2021
709a2c8
Use NativeLibrary directly when possible
bording Oct 16, 2021
3e78e83
Clean up unneeded pragmas
bording Oct 16, 2021
9a9a297
Update tests
bording Oct 16, 2021
ab87189
Merge pull request #1918 from libgit2/tfm-change
bording Nov 9, 2021
2a68da8
Update LibGit2Sharp.NativeBinaries to 2.0.315-alpha.0.7
bording Nov 9, 2021
3255eac
Merge pull request #1922 from libgit2/update-native-binaries
bording Nov 9, 2021
0e7ec84
Update LibGit2Sharp.NativeBinaries to 2.0.315-alpha.0.9
bording Nov 11, 2021
abdd8fb
Merge pull request #1923 from libgit2/update-native-binaries
bording Nov 11, 2021
bd7f5da
added jobs for running tests in docker for several distros
arturcic Nov 11, 2021
b90a6a9
Revise workflows to better integrate them
bording Nov 14, 2021
4daf618
Merge pull request #1921 from arturcic/feature/test-native
bording Nov 14, 2021
15fbe8e
Checkout branch looks to remote tracking branches as fallback
louis-z Jul 23, 2020
44a1f22
Set / get supported extensions
jairbubbles Sep 11, 2021
5b92d55
Add params keyword
jairbubbles Sep 12, 2021
7f21164
Use GitStrArray
jairbubbles Nov 22, 2021
5a515d7
Attempt to fix memory corruption
jairbubbles Nov 22, 2021
0a2e640
Cosmetic
jairbubbles Nov 22, 2021
b05a00f
Simplify dealing with missing git objects
jairbubbles Oct 3, 2021
3c4473c
Update test
jairbubbles Nov 22, 2021
653e9bb
Merge pull request #1908 from jairbubbles/set-get-supported-extensions
bording Dec 29, 2021
e00da45
Merge pull request #1909 from jairbubbles/support-for-blobless-reposi…
bording Dec 29, 2021
316da3b
Formatting tweaks
bording Dec 29, 2021
d8ec410
Merge pull request #1820 from louis-z/FixFor1564
bording Dec 30, 2021
1502b93
Throw NotFoundException if trees are missing when computing diff
jairbubbles Jan 3, 2022
93d8e45
Add test
jairbubbles Jan 3, 2022
9780ddf
Fix comment
jairbubbles Jan 3, 2022
ec8ff4a
Merge pull request #1936 from jairbubbles/throw-notfoundexception-if-…
bording Jan 4, 2022
1e6da83
Merge pull request #1919 from OronDF343/patch-1
bording Jan 4, 2022
6490ff1
Remove git protocol from test data
bording Apr 1, 2022
4731263
Comment out Bitbucket tests
bording Apr 1, 2022
0ff4838
Merge pull request #1956 from libgit2/clean-up-test-data
bording Apr 1, 2022
5e78b82
Fixed calling into native libgit2 on osx-arm64 (git_libgit2_opts vari…
frindler Apr 1, 2022
a642bae
Stop testing .NET 5
bording Apr 2, 2022
97bee65
Merge pull request #1955 from frindler/arm64native
bording Apr 2, 2022
c71d487
Merge pull request #1958 from libgit2/remove-net-5.0
bording Apr 2, 2022
1af4954
Merge pull request #1913 from YuKitsune/yukitsune/bug/git_remote_conn…
bording Apr 2, 2022
70d62d5
LibGit2Sharp: update to libgit2 v1.6.2
ethomson Feb 23, 2023
d0d8029
Update LibGit2Sharp.NativeBinaries to 2.0.319
bording Apr 7, 2023
d064794
Merge pull request #2025 from libgit2/nativebinaries-update
bording Apr 7, 2023
1be14ba
Update action versions
bording Apr 7, 2023
b5bb4d5
Add .NET 7 and remove .NET Core 3.1
bording Apr 7, 2023
fbbfd71
Fix warning
bording Apr 8, 2023
03cb811
Update testing packages
bording Apr 8, 2023
81d501c
Update Microsoft.SourceLink.GitHub
bording Apr 8, 2023
079daef
Update workflow OSes
bording Apr 8, 2023
f178934
Remove netstandard2.0 and add net472
bording Apr 8, 2023
48460d0
Fix Assembly CodeBase warning
bording Apr 8, 2023
8ae9922
Merge pull request #2026 from libgit2/ci-updates
bording Apr 8, 2023
c157b6a
Update RemoteRedirectMode to match git_remote_redirect_t
bording Apr 8, 2023
8b0e48f
Merge pull request #2027 from libgit2/fix-remote-redirect-mode
bording Apr 8, 2023
a7ded29
Add NuGet package badge (#1980)
mungojam Apr 8, 2023
1d64999
Switch to MinVer for versioning
bording Apr 9, 2023
2da1e0e
Update version test
bording Apr 9, 2023
8e1fe56
Mark repo safe to fix MinVer warning
bording Apr 9, 2023
b0937d0
Merge pull request #2028 from libgit2/minver
bording Apr 9, 2023
9552731
Add v0.27 changes
bording Apr 11, 2023
225e197
Merge pull request #2029 from libgit2/changes
bording Apr 11, 2023
10cd32c
Add PackageReadmeFile property
bording Apr 11, 2023
4dc402a
Fix AssemblyVersion and PackageVersion
bording Apr 11, 2023
82c190b
Add fix to Changes doc
bording Apr 11, 2023
556107a
Merge pull request #2030 from libgit2/package-fixes
bording Apr 11, 2023
2419633
Update LibGit2Sharp.NativeBinaries to 2.0.320
bording Apr 12, 2023
ce3be35
Update CHANGES doc
bording Apr 12, 2023
8c32b61
Merge pull request #2032 from libgit2/libgit2-update
bording Apr 12, 2023
714a426
feat: Add CustomHeaders to PushOptions
James-LG Nov 3, 2023
ae59ffa
Merge pull request #2052 from James-LG/master
bording Nov 3, 2023
feb8344
Update MinVer
bording Nov 4, 2023
1c409f9
Update CHANGES.md for v0.28
bording Nov 4, 2023
7ac90ab
Update LibGit2Sharp.NativeBinaries to 2.0.321
bording Nov 27, 2023
cd69365
Update GitFetchOptions to include new Depth value
bording Nov 27, 2023
143e83f
Remove CentOS 7 from test matrix
bording Nov 27, 2023
42e9826
Update test to match new sort order
bording Nov 27, 2023
1cc55f0
Merge pull request #2066 from libgit2/libgit2-171
bording Nov 27, 2023
e13df56
Update GitProxyOptions
bording Nov 25, 2023
75b4432
Add public proxy APIs
bording Nov 25, 2023
db161ee
No reason to derive from FetchOptionsBase and have FetchOptions property
bording Nov 26, 2023
4de7c4f
Wire up proxy options
bording Nov 26, 2023
4ab3b46
Ensure FetchOptions property is non-null
bording Nov 26, 2023
7bf2e3b
Make ProxyOptions sealed to satisfy test
bording Nov 26, 2023
747bfc6
Remove property setters since options are initialized
bording Nov 26, 2023
c6ef24d
Add XML comments
bording Nov 26, 2023
01a6ccb
Update how submodule fetch options are handled
bording Nov 26, 2023
cd24df2
Merge pull request #2065 from libgit2/proxy-options
bording Dec 3, 2023
de87973
Update CHANGES.md for v0.29
bording Dec 3, 2023
2cad6cd
Add project to test trimming compatibility
bording Mar 14, 2024
70ac848
Address trimming warnings
bording Mar 14, 2024
29b7380
Use .NET 8 SDK
bording Mar 14, 2024
ea4e6c9
Fix failing test
bording Mar 16, 2024
d9bf967
Merge pull request #2084 from libgit2/trimming
bording Mar 16, 2024
4e8e00e
Add net8.0 test targets
bording Mar 16, 2024
2b585e9
Use .NET 8 SDK artifacts output
bording Mar 16, 2024
c9352c3
Update packages
bording Mar 16, 2024
9e4669c
Fix test analyzer warnings
bording Mar 16, 2024
8d79ff4
Update workflow actions
bording Mar 16, 2024
4193f6b
Update testing matrix
bording Mar 16, 2024
c407371
Fix analyzer warnings
bording Mar 16, 2024
729ef8d
Clean up more analyzer warnings
bording Mar 16, 2024
bfdb02a
Merge pull request #2085 from libgit2/net8-updates
bording Mar 16, 2024
e170336
Update LibGit2Sharp.NativeBinaries to 2.0.322
bording Mar 16, 2024
a373623
Increase assert range to avoid flaky tests
bording Mar 17, 2024
2b84c8e
Merge pull request #2086 from libgit2/native-binaries
bording Mar 17, 2024
5085a0c
Update CHANGES.md for v0.30
bording Mar 19, 2024
77cfeaf
Remove macos-11
bording Nov 21, 2024
66f6940
Use private protected
bording Nov 21, 2024
a88e2a0
Use SafeHandles (#2127)
bording Nov 21, 2024
f4fc144
Updates (#2128)
bording Nov 22, 2024
d935c49
Fix test warnings
bording Nov 23, 2024
0eed453
Run dotnet format
bording Nov 23, 2024
5162c68
Fix tests
bording Nov 23, 2024
47b2ee0
Adds Depth to FetchOptions allowing for shallow cloning (#2070)
andersklepaker Nov 23, 2024
19236db
Tweak shallow cloning implementation
bording Nov 23, 2024
e1a94a1
Update LibGit2Sharp.NativeBinaries to 2.0.323
bording Nov 23, 2024
95b283b
React to ABI changes
bording Nov 24, 2024
9a11cbd
Update tests
bording Nov 24, 2024
8ef523d
Comment out SSH test for now
bording Nov 24, 2024
17a2dee
Merge pull request #2131 from libgit2/libgit2-184
bording Nov 24, 2024
aacf7cd
Add a CloneOptions constructor that takes a FetchOptions
bording Nov 24, 2024
0961ea7
Merge pull request #2132 from libgit2/clone-options-ctor
bording Nov 24, 2024
08fafd5
Set GIT_CHECKOUT_FORCE as checkout strategy when creating a worktree
Jun 4, 2024
f145a2c
Tweaks
bording Nov 24, 2024
704a25b
Use safe instead of force
bording Nov 24, 2024
5fd810d
Merge pull request #2099 from enriqueraso/bug/Repositoy.Worktrees.Add…
bording Nov 24, 2024
9014820
Make owner validation configurable
ltrzesniewski May 7, 2024
f218572
Undo gitignore change
bording Nov 26, 2024
d623e3e
Tweaks
bording Nov 26, 2024
b8f974f
Merge pull request #2093 from ltrzesniewski/owner-validation
bording Nov 26, 2024
d89638c
fix #2071 ObjectDatabase.Write<T>(Stream, long) does not respect T
tyrielv Jan 4, 2024
af85e63
Merge pull request #2072 from tyrielv/user/tyvella/objectdatabase-wri…
bording Nov 26, 2024
2dd7eca
Test and fix for https://github.com/libgit2/libgit2sharp/issues/1869
tyrielv Feb 11, 2021
3318b73
Merge pull request #1870 from tyrielv/tree-definition-delete
bording Nov 26, 2024
ee53bdd
Update CHANGES.md for v0.31
bording Dec 3, 2024
8276589
Add note about new SSH support
bording Dec 3, 2024
50d6978
Use arm runner images (#2141)
bording Jan 20, 2025
cb58177
Fix libgit2 link (#2170)
suterma Oct 30, 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
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ trim_trailing_whitespace = true
insert_final_newline = true

; Not change VS generated files
[*.{sln,csroj}]
[*.{sln,csproj}]
trim_trailing_whitespace = false
insert_final_newline = false

[*.{props,targets,csproj,config}]
indent_size = 2
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
You are opening a _bug report_ against the LibGit2Sharp project: we
use GitHub Issues for tracking bug reports and feature requests. If
you have a question about an API or usage, please ask on StackOverflow:
http://stackoverflow.com/questions/tagged/libgit2sharp.

Otherwise, to report a bug, please fill out the reproduction steps
(below) and delete these introductory paragraphs. Thanks!

### Reproduction steps

### Expected behavior

### Actual behavior

### Version of LibGit2Sharp (release number or SHA1)

### Operating system(s) tested; .NET runtime tested
102 changes: 102 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: CI
on:
push:
branches: [master, release-*]
tags:
- '[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+-*'
pull_request:
workflow_dispatch:
env:
DOTNET_NOLOGO: true
jobs:
build:
name: Build
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4.1.2
with:
fetch-depth: 0
- name: Install .NET SDK
uses: actions/setup-dotnet@v4.0.0
with:
dotnet-version: 9.0.x
- name: Build
run: dotnet build LibGit2Sharp.sln --configuration Release
- name: Upload packages
uses: actions/upload-artifact@v4.3.1
with:
name: NuGet packages
path: artifacts/package/
retention-days: 7
- name: Verify trimming compatibility
run: dotnet publish TrimmingTestApp
test:
name: Test / ${{ matrix.os }} / ${{ matrix.arch }} / ${{ matrix.tfm }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
arch: [ x64 ]
os: [ windows-2019, windows-2022, macos-13 ]
tfm: [ net472, net8.0, net9.0 ]
exclude:
- os: macos-13
tfm: net472
include:
- arch: arm64
os: macos-14
tfm: net8.0
- arch: arm64
os: macos-14
tfm: net9.0
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4.1.2
with:
fetch-depth: 0
- name: Install .NET SDK
uses: actions/setup-dotnet@v4.0.0
with:
dotnet-version: |
9.0.x
8.0.x
- name: Run ${{ matrix.tfm }} tests
run: dotnet test LibGit2Sharp.sln --configuration Release --framework ${{ matrix.tfm }} --logger "GitHubActions" /p:ExtraDefine=LEAKS_IDENTIFYING
test-linux:
name: Test / ${{ matrix.distro }} / ${{ matrix.arch }} / ${{ matrix.tfm }}
runs-on: ${{ matrix.runnerImage }}
strategy:
matrix:
arch: [ amd64, arm64 ]
distro: [ alpine.3.17, alpine.3.18, alpine.3.19, alpine.3.20, centos.stream.9, debian.12, fedora.40, ubuntu.20.04, ubuntu.22.04, ubuntu.24.04 ]
sdk: [ '8.0', '9.0' ]
exclude:
- distro: alpine.3.17
sdk: '9.0'
- distro: alpine.3.18
sdk: '9.0'
- distro: alpine.3.19
sdk: '9.0'
include:
- sdk: '8.0'
tfm: net8.0
- sdk: '9.0'
tfm: net9.0
- arch: amd64
runnerImage: ubuntu-22.04
- arch: arm64
runnerImage: ubuntu-22.04-arm
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4.1.2
with:
fetch-depth: 0
- name: Run ${{ matrix.tfm }} tests
run: |
git_command="git config --global --add safe.directory /app"
test_command="dotnet test LibGit2Sharp.sln --configuration Release -p:TargetFrameworks=${{ matrix.tfm }} --logger "GitHubActions" -p:ExtraDefine=LEAKS_IDENTIFYING"
docker run -t --rm --platform linux/${{ matrix.arch }} -v "$PWD:/app" -e OPENSSL_ENABLE_SHA1_SIGNATURES=1 gittools/build-images:${{ matrix.distro }}-sdk-${{ matrix.sdk }} sh -c "$git_command && $test_command"

7 changes: 2 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,7 @@ _ReSharper*/
*.userprefs
*.swp
*.DotSettings
#Ignore custom generated files
LibGit2Sharp/Core/UniqueIdentifier.cs
LibGit2Sharp/Core/NativeDllName.cs

!nuget.package/build/
_NCrunch_LibGit2Sharp/
packages/
artifacts/
worktree.playlist
5 changes: 0 additions & 5 deletions .nuget/packages.config

This file was deleted.

37 changes: 0 additions & 37 deletions .travis.yml

This file was deleted.

159 changes: 147 additions & 12 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,163 @@
# LibGit2Sharp Changes

**LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .Net and Mono.**
## v0.31 - ([diff](https://github.com/libgit2/libgit2sharp/compare/0.30.0..0.31.0))

- Source code: <https://github.com/libgit2/libgit2sharp>
- NuGet package: <http://nuget.org/List/Packages/LibGit2Sharp>
- Issue tracker: <https://github.com/libgit2/libgit2sharp/issues>
- @libgit2sharp: <http://twitter.com/libgit2sharp>
- CI servers:
- Windows (x86/amd64): <https://ci.appveyor.com/project/libgit2/libgit2sharp>
- Linux/Mac OS X: <https://travis-ci.org/libgit2/libgit2sharp>
### Changes
- This release includes [libgit2 v1.8.4](https://github.com/libgit2/libgit2/releases/tag/v1.8.4).
- SSH is now supported through [libgit2's support for OpenSSH](https://github.com/libgit2/libgit2/pull/6617).
- The ppc64le architecture is now supported on Linux.
- .NET 6 has reached end of support, so LibGit2Sharp now targets `net472` and `net8.0`.

### Additions
- Adds Depth to FetchOptions allowing for shallow cloning [#2070](https://github.com/libgit2/libgit2sharp/pull/2070)
- Make owner validation configurable [#2093](https://github.com/libgit2/libgit2sharp/pull/2093)
- Add a CloneOptions constructor that takes a FetchOptions [#2132](https://github.com/libgit2/libgit2sharp/pull/2132)

### Fixes
- TreeDefinition.Remove fails to remove unwrapped trees [#1869](https://github.com/libgit2/libgit2sharp/issues/1869)
- ObjectDatabase.Write<T>(Stream stream...) overload does not respect T [#2071](https://github.com/libgit2/libgit2sharp/issues/2071)
- Repository.Worktrees.Add leaves now worktree empty [#2037](https://github.com/libgit2/libgit2sharp/issues/2037)

## v0.30 - ([diff](https://github.com/libgit2/libgit2sharp/compare/0.29.0..0.30.0))

### Changes
- This release includes [libgit2 v1.7.2](https://github.com/libgit2/libgit2/releases/tag/v1.7.2).
- Updates for trimming compatibility [#2084](https://github.com/libgit2/libgit2sharp/pull/2084)
- Updates for .NET 8 [#2085](https://github.com/libgit2/libgit2sharp/pull/2085)

## v0.29 - ([diff](https://github.com/libgit2/libgit2sharp/compare/0.28.0..0.29.0))

## v0.22 + 1
### Changes
- This release includes [libgit2 v1.7.1](https://github.com/libgit2/libgit2/releases/tag/v1.7.1).
- CI changes for the native binaries has removed support for CentOS 7. See [#2066](https://github.com/libgit2/libgit2sharp/pull/2066) for details.

### Additions
- Add proxy options [#2065](https://github.com/libgit2/libgit2sharp/pull/2065)
- See PR for details, including some breaking changes to `CloneOptions` and `SubmoduleUpdateOptions`

## v0.28 - ([diff](https://github.com/libgit2/libgit2sharp/compare/0.27.2..0.28.0))

### Additions
- Add CustomHeaders to PushOptions [#2052](https://github.com/libgit2/libgit2sharp/pull/2052)

## v0.27.2 - ([diff](https://github.com/libgit2/libgit2sharp/compare/0.27.1..0.27.2))

### Changes
- This release includes [libgit2 v1.6.4](https://github.com/libgit2/libgit2/releases/tag/v1.6.4).

### Fixes
- Can't access GIT config (Repository.Config) since v0.27.0 [#2031](https://github.com/libgit2/libgit2sharp/issues/2031)

## v0.27.1 - ([diff](https://github.com/libgit2/libgit2sharp/compare/0.27.0..0.27.1))

### Fixes
- AssemblyVersion of v0.27.0 is `0.0.0.0`, which is lower than the AssemblyVersion of the v0.26.x releases. [#2030](https://github.com/libgit2/libgit2sharp/pull/2030)

## v0.27 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.26..0.27.0))

### Changes
- LibGit2Sharp now targets .NET Framework 4.7.2 and .NET 6.
- This release includes [libgit2 v1.6.3](https://github.com/libgit2/libgit2/releases/tag/v1.6.3).
- Changes to the native binaries let LibGit2Sharp work on all [.NET 6 supported OS versions and architectures](https://github.com/dotnet/core/blob/main/release-notes/6.0/supported-os.md).
- `GlobalSetings.NativeLibraryPath` used to automatically append architecture to the path when running on .NET Framework. This behavior has been removed to make it consistent. [#1918](https://github.com/libgit2/libgit2sharp/pull/1918)

### Additions
- Add support for adding and clearing multi-valued configuration [#1720](https://github.com/libgit2/libgit2sharp/pull/1720)
- added lines and deleted lines in content changes [#1790](https://github.com/libgit2/libgit2sharp/pull/1790)
- Set / get supported extensions [#1908](https://github.com/libgit2/libgit2sharp/pull/1908)
- Simplify dealing with missing git objects [#1909](https://github.com/libgit2/libgit2sharp/pull/1909)
- Throw NotFoundException if trees are missing when computing diff [#1936](https://github.com/libgit2/libgit2sharp/pull/1936)

### Fixes
- Adjust GitStatusOptions to match structure of native libgit2 [#1884](https://github.com/libgit2/libgit2sharp/pull/1884)
- Update git_worktree_add_options struct to include ref pointer [#1890](https://github.com/libgit2/libgit2sharp/pull/1890)
- Fix git_remote_connect not throwing on non-zero result [#1913](https://github.com/libgit2/libgit2sharp/pull/1913)
- Fix incorrect information in exceptions [#1919](https://github.com/libgit2/libgit2sharp/pull/1919)
- Checkout branch looks to remote tracking branches as fallback [#1820](https://github.com/libgit2/libgit2sharp/pull/1820)
- Fixed calling into native libgit2 on osx-arm64 [#1955](https://github.com/libgit2/libgit2sharp/pull/1955)

## v0.26 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.25..v0.26))

### Additions

* Add `CherryPickCommitIntoIndex` to `ObjectDatabase`
* The underlying native library (libgit2) now no longer relies on libcurl
* The underlying native library now no longer relies on zlib
* Add `IndentHeuristic` option to `CompareOptions`

## v0.25 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.24..v0.25))

LibGit2Sharp is now .NET Core 2.0+ and .NET Framework compatible.

### Additions

- `GitObject` now has a `Peel` method that will let you peel (for example)
a `Tag` to a `Tree`.
- `MergeOptions` now includes an option to `IgnoreWhitespaceChanges`.
- `TreeDefinition` can now `Add` an object with only the ID, which allows
users of large files to add entries without realizing a `Blob`.
- `ObjectDatabase` can now `Write` a `Stream`, which allows users of
large files to stream an object into storage without loading it into
memory.
- `ObjectDatabase` can now `MergeCommitsIntoIndex` allowing users to perform
an in-memory merge that produces an `Index` structure with conflicts.
- Users can enable or disable dependent object existence checks when
creating new objects with `GlobalSettings.SetEnableStrictObjectCreation`
- Users can enable or disable `ofs_delta` support with
`GlobalSettings.SetEnableOfsDelta`

### Changes

- Status now does not show untracked files by default. To retrieve
untracked files, included the `StatusOptions.IncludeUntracked` and/or
the `StatusOptions.RecurseUntrackedDirs` options.
- Status now does not show the ignored files by default. To retrieve
ignored files, include the `StatusOptions.IncludeIgnored` option.
- `Commands.Pull` can now provide a `null` value for `PullOptions`,
which indicates that default values should be used.

### Fixes

- The exception thrown when the native library cannot be loaded is now
able to be caught and will no longer crash the process.
- Getting the `Notes` collection from a `Repository` no longer throws an
exception when the repository has no notes.

## v0.24 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.23..v0.24))

This is the last release before a moving to .NET Core compatible library.

It will be the last supported release with the prior architecture; as a
result, this release is primarily bugfixes and does not include major new
APIs.

## v0.23 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.22..v0.23))

### Additions

- Add `CherryPickCommit` and `RevertCommit` to `ObjectDatabase`.
- Add `IncludeIgnored` field to `SatusOptions`.
- Add `Commit.CreateBuffer` to write a commit object to a buffer and
`ObjectDatabase.CreateCommitWithSignature` to create commits which include a
signature.
- Add `Commit.ExtractSignature` to get a commit's signature.
- Add `ObjectDatabase.Write<T>` to write arbitrary objects to the object db.
- Add `Commit.PrettifyMessage`


### Changes

- The native libraries are now expected to be in the `lib` directory,
instead of `NativeBinaries` for improved mono compatibility. In
addition, the names of platform architectures now better reflect
the vendor naming (eg, `x86_64` instead of `amd64` on Linux).
- Obsolete the config paths in RepositoryOptions

### Fixes
- Deprecate the config paths in RepositoryOptions
- Deprecate the `QueryBy` overload with `FollowFilter`.
- Deprecate `Branch.Remote` in favour of `Branch.RemoteName`
- `Remote` no longer implement the equality operator.
- `Remote.Update` takes a remote name instead of an instance.
- `Fetch`, `Pull`, `Move`, `Remove`, `Stage` are now in a commands namespace to
indicate what they represent.

## v0.22 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.21.1...v0.22))

Expand Down
Loading