8000 Merge remote-tracking branch 'upstream/master' into ntk/concurrent_de… · libgit2/libgit2sharp@cc8bd1f · GitHub
[go: up one dir, main page]

Skip to content

Commit cc8bd1f

Browse files
committed
Merge remote-tracking branch 'upstream/master' into ntk/concurrent_delete
2 parents 9923794 + 2492eb8 commit cc8bd1f

File tree

571 files changed

+25256
-20097
lines changed

Some content is hidden

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

571 files changed

+25256
-20097
lines changed

.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
; Check http://editorconfig.org/ for more informations
2+
; Top-most EditorConfig file
3+
root = true
4+
5+
; 4-column space indentation
6+
[*]
7+
indent_style = space
8+
indent_size = 4
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true
11+
12+
; Not change VS generated files
13+
[*.{sln,csroj}]
14+
trim_trailing_whitespace = false
15+
insert_final_newline = false

.gitattributes

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,3 @@
33

44
# Custom for Visual Studio
55
*.cs diff=csharp
6-
*.sln merge=union
7-
*.csproj merge=union

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Thumbs.db
1313
*_p.c
1414
*.ncb
1515
*.suo
16+
.vs/
1617
*.sln.ide/
1718
*.tlb
1819
*.tlh
@@ -37,5 +38,8 @@ _ReSharper*/
3738
*.DotSettings
3839
#Ignore custom generated files
3940
LibGit2Sharp/Core/UniqueIdentifier.cs
41+
LibGit2Sharp/Core/NativeDllName.cs
4042

41-
!Lib/NativeBinaries/*/*.pdb
43+
!nuget.package/build/
44+
_NCrunch_LibGit2Sharp/
45+
packages/

.gitmodules

Lines changed: 0 additions & 3 deletions
This file was deleted.

.nuget/packages.config

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<packages>
3+
<package id="xunit.runner.console" version="2.0.0" />
4+
<package id="xunit.runner.msbuild" version="2.0.0" />
5+
</packages>

.travis.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,35 @@
11
# Travis-CI Build for libgit2sharp
22
# see travis-ci.org for details
33

4-
language: c
4+
language: csharp
5+
mono:
6+
- 3.12.0
7+
- 4.2.3
58

69
os:
710
- osx
811
- linux
912

13+
env:
14+
global:
15+
- MONO_OPTIONS=--debug
16+
1017
before_install:
1118
- date -u
1219
- uname -a
1320
- env | sort
1421

15-
# Make sure CMake and Mono are installed
16-
install:
17-
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then ./CI/travis.linux.install.deps.sh; fi
18-
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then ./CI/travis.osx.install.deps.sh; fi
22+
solution: LibGit2Sharp.sln
1923

2024
# Build libgit2, LibGit2Sharp and run the tests
2125
script:
22-
- ./build.libgit2sharp.sh
26+
- ./build.libgit2sharp.sh 'LEAKS_IDENTIFYING'
2327

2428
# Only watch the development branch
2529
branches:
2630
only:
2731
- vNext
32+
- master
2833

2934
# Notify of build changes
3035
notifications:

CHANGES.md

Lines changed: 134 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,140 @@
77
- Issue tracker: <https://github.com/libgit2/libgit2sharp/issues>
88
- @libgit2sharp: <http://twitter.com/libgit2sharp>
99
- CI servers:
10-
- CodeBetter TeamCity: <http://teamcity.codebetter.com/project.html?projectId=LibGit2Sharp&guest=1>
11-
- Travis: <https://travis-ci.org/libgit2/libgit2sharp>
10+
- Windows (x86/amd64): <https://ci.appveyor.com/project/libgit2/libgit2sharp>
11+
- Linux/Mac OS X: <https://travis-ci.org/libgit2/libgit2sharp>
12+
13+
## v0.22 + 1
14+
15+
### Additions
16+
17+
### Changes
18+
19+
- The native libraries are now expected to be in the `lib` directory,
20+
instead of `NativeBinaries` for improved mono compatibility. In
21+
addition, the names of platform architectures now better reflect
22+
the vendor naming (eg, `x86_64` instead of `amd64` on Linux).
23+
- Obsolete the config paths in RepositoryOptions
24+
25+
### Fixes
26+
27+
## v0.22 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.21.1...v0.22))
28+
29+
### Additions
30+
31+
- Add CustomHeaders in the push options (#1217)
32+
- Expose the minimal diff algorithm (#1229)
33+
- Expose Reset() with checkout options (#1219)
34+
- Add a prettify option to history rewrite options (#1185)
35+
- Add option to describe to only follow the first parent (#1190)
36+
- Allow setting the config search path (#1123)
37+
- Provide access to the remote's host HTTPS certificate (#1134)
38+
- Add support for rebase (#964)
39+
- ListReferences() now accepts a credentials provider (#1099)
40+
- Introduce FileStatus.Conflicted and introduce staging of conflicts (#1062)
41+
- Support streaming filters written in C# (#1030)
42+
- Add support for the pre-push callback (#1061)
43+
- Add support for listing remote references without a Repository instance (#1065)
44+
- Add StashCollection.Apply() and .Pop() (#1068)
45+
- Support retrieving a configuration for a repository without instantiating it (#1042)
46+
- Implement 'log --follow'-like functionality (#963)
47+
- Introduce in-memory merging via Repository.MergeCommits() (#990)
48+
- Allow setting whether to prune during a fetch (#1258)
49+
50+
### Changes
51+
52+
- Deprecate MergeConflictException in a backwards-compatible way (#1243)
53+
- Improve type safety in the generic type for Diff.Compare() (#1180)
54+
- Obsolete Repository.Commit(), NoteCollection.Add() and
55+
NoteCollection.Remove() overloads which do not require a signature (#1173)
56+
- BuildSignature() no longer tries to build a signature from the
57+
environment if there is none configured (#1171)
58+
- Rename the commit walker's Since to IncludeReachableFrom and Until to ExcludeReachableFrom (#1069)
59+
- Rename MergeConflictException to CheckoutConflictException to more
60+
accurately reflect what it means (#1059)
61+
- Specify the diff algorithm instead of setting a boolean to use patience (#1043)
62+
- Remove optional parameters (#1031)
63+
- Move Repository.Reset(paths) into Index (#959)
64+
- Move FindMergeBase() overloads to ObjectDatabase (#957)
65+
66+
### Fixes
67+
68+
- ListReferences() is now able to handle symbolic references (#1132)
69+
- Repository.IsValid() returns false on empty paths (#1156)
70+
- The included version of libgit2 includes racy-git support
71+
- Fix a racy NRE in the filters (#1113)
72+
73+
## v0.21.1 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.21...v0.21.1))
74+
75+
### Changes
76+
77+
- Fix Fetch() related tests to cope with recent GitHub policy change regarding include-tag handling (#995, #1001)
78+
79+
## v0.21 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.20.2...v0.21))
80+
81+
### Additions
82+
83+
- Introduce repo.Index.Add() and repo.Index.Remove() (#907)
84+
- Introduce repo.Describe() (#848)
85+
- Teach Repository.Clone to accept a specific branch to checkout (#650, #882)
86+
- Expose IndexEntry.AssumeUnchanged (#928, #929)
87+
- Introduce GlobalSettings.Version.InformationalVersion (#921)
88+
89+
### Changes
90+
91+
- Deprecate Branch.Checkout() (#937)
92+
- Deprecate GlobalSettings.Version.MajorMinorPatch (#921)
93+
- Change Blob.Size output to a long (#892)
94+
- Update libgit2 binaries to libgit2/libgit2@e0902fb
95+
96+
### Fixes
97+
98+
- Fix Network.Fetch() tags retrieval (#927)
99+
- Fix repo.Stage("*") behavior (#907)
100+
- Plug some memory leaks (#883, #910)
101+
- Protect Repository.Clone() from null parameters (#891)
102+
103+
## v0.20.2 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.20.1...v0.20.2))
104+
105+
### Fixes
106+
107+
- Update libgit2 to prevent issues around symbolic links to ".git" folders in trees on Mac
108+
109+
## v0.20.1 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.20...v0.20.1))
110+
111+
### Fixes
112+
113+
- Update libgit2 to prevent issues around ".git" folders in trees on Windows and Mac
114+
115+
## v0.20 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.19...v0.20))
116+
117+
### Additions
118+
119+
- Teach RemoteUpdater to update the remote url (#803)
120+
- Introduce ObjectDatabase.CreateTree(Index) and Index.Reset(Tree) (#788, #799)
121+
- Add process wide logging feature (#832)
122+
- Add process wide SmartSubtransport registration/unregistration (#528)
123+
- Expose Index.Clear() (#814)
124+
125+
### Changes
126+
127+
- Require Mono 3.6+ on non Windows platform (#800)
128+
- Require NuGet 2.7+ to install the package (#836)
129+
- Throw MergeFetchHeadNotFoundException when Pull cannot find ref to merge (#841)
130+
- Drop Remote.IsSupportedUrl() (#857)
131+
- Deprecate repo.Version in favor of GlobalSettings.Version (#726, #820)
132+
- Remove optional parameters from IRepository (#779, #815)
133+
- Move higher level Index operations to IRepository (#822, #851)
134+
- Deprecate repo.Refs.Move() in favor of repo.Refs.Rename() (#752, #819)
135+
- Update libgit2 binaries to libgit2/libgit2@3f8d005
136+
137+
### Fixes
138+
139+
- Fix compareOptions handling in Diff.Compare<T> (#827, #828)
140+
- Honor MSBuild Publish mechanism (#597, #821)
141+
- Make Configuration.BuildSignature() throw a more descriptive message (#831, #858)
142+
- Prevent Branch.Remote property from throwing when the remote is unresolvable (#823)
143+
- Teach Revert() to clean up repository state when there is nothing to revert (#816)
12144

13145
## v0.19 - ([diff](https://github.com/libgit2/libgit2sharp/compare/v0.18.1...v0.19))
14146

CI/build.msbuild

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
<DeployFolder>$(RootDir)\Build</DeployFolder>
77
</PropertyGroup>
88

9-
<UsingTask AssemblyFile="$(RootDir)\Lib\xUnit\xunit.runner.msbuild.dll"
9+
<UsingTask AssemblyFile="$(RootDir)\packages\xunit.runner.msbuild.2.0.0\build\portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS\xunit.runner.msbuild.dll"
1010
TaskName="Xunit.Runner.MSBuild.xunit" />
1111
<Target Name="Clean">
12-
<Message Text="Commit SHA = $(CommitSha)" />
12+
<Message Text="Commit SHA = $(CommitSha)" />
1313

14-
<WriteLinesToFile Condition="'$(CommitSha)' != ''"
15-
File="$(RootDir)\LibGit2Sharp\libgit2sharp_hash.txt"
16-
Lines="$(CommitSha)"
17-
Overwrite="true" />
14+
<WriteLinesToFile Condition="'$(CommitSha)' != ''"
15+
File="$(RootDir)\LibGit2Sharp\libgit2sharp_hash.txt"
16+
Lines="$(CommitSha)"
17+
Overwrite="true" />
1818

19-
<!-- Workaround for xbuild -->
19+
<!-- Workaround for xbuild -->
2020
<Exec Condition=" ('$(OS)' != 'Windows_NT') " Command=" rm -r -f $(DeployFolder) " />
2121
<Exec Condition=" ('$(OS)' != 'Windows_NT') " Command=" rm -r -f $(TestBuildDir) " />
2222

@@ -29,27 +29,30 @@
2929
</Target>
3030

3131
<Target Name="Build" DependsOnTargets="Init">
32+
<Message Text="ExtraDefine = $(ExtraDefine)" />
3233
<MSBuild
3334
Projects="$(RootDir)\LibGit2Sharp.sln"
3435
Targets="Build"
35-
Properties="Configuration=$(Configuration);TrackFileAccess=false" />
36+
Properties="Configuration=$(Configuration);TrackFileAccess=false;ExtraDefine=$(ExtraDefine)" />
3637
</Target>
3738

3839
<Target Name="Test" DependsOnTargets="Build">
39-
<xunit Assembly="$(TestBuildDir)/LibGit2Sharp.Tests.dll" Xml="$(DeployFolder)/Test-result.xml" />
40+
<xunit Assemblies="$(TestBuildDir)/LibGit2Sharp.Tests.dll" ShadowCopy="false" WorkingFolder="$(TestBuildDir)" Xml="$(DeployFolder)/Test-result.xml" />
4041
</Target>
4142

4243
<Target Name="Deploy" DependsOnTargets="Test">
43-
<CreateItem Include="$(TestBuildDir)\LibGit2*.*">
44-
<Output TaskParameter="Include" ItemName="OutputFiles" />
45-
</CreateItem>
44+
<ItemGroup>
45+
<OutputFiles Include="$(TestBuildDir)\LibGit2*.*" />
46+
</ItemGroup>
47+
4648
<Copy SourceFiles="@(OutputFiles)"
4749
DestinationFiles="@(OutputFiles->'$(DeployFolder)\%(RecursiveDir)%(Filename)%(Extension)')" />
4850

49-
<CreateItem Include="$(TestBuildDir)\NativeBinaries\**\*.*">
50-
<Output TaskParameter="Include" ItemName="NativeBinaries" />
51-
</CreateItem>
51+
<ItemGroup>
52+
<NativeBinaries Include="$(TestBuildDir)\lib\**\*.*" />
53+
</ItemGroup>
54+
5255
<Copy SourceFiles="@(NativeBinaries)"
53-
DestinationFiles="@(NativeBinaries->'$(DeployFolder)\NativeBinaries\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
56+
DestinationFiles="@(NativeBinaries->'$(DeployFolder)\lib\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
5457
</Target>
5558
</Project>

CI/travis.linux.install.deps.sh

Lines changed: 0 additions & 4 deletions
This file was deleted.

CI/travis.osx.install.deps.sh

Lines changed: 0 additions & 11 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# How to Contribute
2+
3+
We love Pull Requests! Your contributions help make LibGit2Sharp great.
4+
5+
## Getting Started 10000
6+
7+
So you want to contribute to LibGit2Sharp. Great! Contributions take many forms from
8+
submitting issues, writing documentation, to making code changes. We welcome it all.
9+
10+
But first things first...
11+
12+
* Make sure you have a [GitHub account](https://github.com/signup/free)
13+
* Submit a ticket for your issue, assuming one does not already exist.
14+
* Clearly describe the issue including steps to reproduce when it is a bug.
15+
* Make sure you fill in the earliest version that you know has the issue.
16+
* Fork the repository on GitHub, then clone it using your favorite Git client.
17+
* Make sure the project builds and all tests pass on your machine by running
18+
the `build.libgit2sharp.cmd` script on Windows or `build.libgit2sharp.sh` on Linux/Mac.
19+
20+
## LibGit2
21+
22+
LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .Net and Mono.
23+
LibGit2 is a git submodule referencing the [libgit2 project](https://github.com/libgit2/libgit2). To learn more about
24+
submodules read [here](http://git-scm.com/book/en/v2/Git-Tools-Submodules).
25+
To build libgit2 see [here](https://github.com/libgit2/libgit2sharp/wiki/How-to-build-x64-libgit2-and-LibGit2Sharp).
26+
27+
## Making Changes
28+
29+
* Create a topic branch off master (don't work directly on master).
30+
* Implement your feature or fix your bug. Please following existing coding styles and do not introduce new ones.
31+
* Make atomic, focused commits with good commit messages.
32+
* Make sure you have added the necessary tests for your changes.
33+
* Run _all_ the tests to assure nothing else was accidentally broken.
34+
35+
## Submitting Changes
36+
37+
* Push your changes to a topic branch in your fork of the repository.
38+
* Send a Pull Request targeting the master branch. Note what issue/issues your patch fixes.
39+
40+
Some things that will increase the chance that your pull request is accepted.
41+
42+
* Following existing code conventions.
43+
* Including unit tests that would otherwise fail without the patch, but pass after applying it.
44+
* Updating the documentation and tests that are affected by the contribution.
45+
* If code from elsewhere is used, proper credit and a link to the source should exist in the code comments.
46+
Then licensing issues can be checked against LibGit2Sharp's very permissive MIT based open source license.
47+
* Having a configured git client that converts line endings to LF. [See here.](https://help.github.com/articles/dealing-with-line-endings/).
48+
# Additional Resources
49+
50+
* [General GitHub documentation](http://help.github.com/)
51+
* [GitHub pull request documentation](https://help.github.com/articles/using-pull-requests/)

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License
22

3-
Copyright (c) 2011-2014 LibGit2Sharp contributors
3+
Copyright (c) LibGit2Sharp contributors
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

Lib/CustomBuildTasks/CustomBuildTasks.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>CustomBuildTasks</RootNamespace>
1111
<AssemblyName>CustomBuildTasks</AssemblyName>
12-
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
1313
<FileAlignment>512</FileAlignment>
1414
<TargetFrameworkProfile />
1515
</PropertyGroup>
@@ -33,10 +33,11 @@
3333
<ItemGroup>
3434
<Reference Include="System" />
3535
<Reference Include="Microsoft.Build.Framework" />
36-
<Reference Include="Microsoft.Build.Utilities" />
36+
<Reference Include="Microsoft.Build.Utilities.v4.0" />
3737
</ItemGroup>
3838
<ItemGroup>
3939
<Compile Include="GenerateUniqueIdentifierTask.cs" />
40+
<Compile Include="GenerateNativeDllNameTask.cs" />
4041
</ItemGroup>
4142
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
4243
</Project>
1 KB
Binary file not shown.

0 commit comments

Comments
 (0)
0