8000 Upgrade libgit2 binaries to 1d94a7d · freevoid/libgit2sharp@c0bc893 · GitHub
[go: up one dir, main page]

Skip to content

Commit c0bc893

Browse files
committed
Upgrade libgit2 binaries to 1d94a7d
1 parent b62438b commit c0bc893

File tree

11 files changed

+47
-6
lines changed

11 files changed

+47
-6
lines changed

Lib/NativeBinaries/amd64/git2.dll

3 KB
Binary file not shown.

Lib/NativeBinaries/amd64/git2.pdb

872 KB
Binary file not shown.

Lib/NativeBinaries/x86/git2.dll

-2.5 KB
Binary file not shown.

Lib/NativeBinaries/x86/git2.pdb

1.11 MB
Binary file not shown.

LibGit2Sharp/BranchCollection.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,13 @@ public virtual Branch this[string name]
4949
return branch;
5050
}
5151

52-
return BuildFromReferenceName(ShortToRemoteName(name));
52+
branch = BuildFromReferenceName(ShortToRemoteName(name));
53+
if (branch != null)
54+
{
55+
return branch;
56+
}
57+
58+
return BuildFromReferenceName(ShortToRefName(name));
5359
}
5460
}
5561

@@ -63,6 +69,11 @@ private static string ShortToRemoteName(string name)
6369
return string.Format(CultureInfo.InvariantCulture, "{0}{1}", "refs/remotes/", name);
6470
}
6571

72+
private static string ShortToRefName(string name)
73+
{
74+
return string.Format(CultureInfo.InvariantCulture, "{0}{1}", "refs/", name);
75+
}
76+
6677
private Branch BuildFromReferenceName(string canonicalName)
6778
{
6879
var reference = repo.Refs.Resolve<Reference>(canonicalName);
@@ -80,6 +91,7 @@ public virtual IEnumerator<Branch> GetEnumerator()
8091
return Libgit2UnsafeHelper
8192
.ListAllBranchNames(repo.Handle, GitBranchType.GIT_BRANCH_LOCAL | GitBranchType.GIT_BRANCH_REMOTE)
8293
.Select(n => this[n])
94+
.OrderBy(b => b.CanonicalName, StringComparer.Ordinal)
8395
.GetEnumerator();
8496
}
8597

LibGit2Sharp/Core/GitDiff.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,9 @@ internal class GitDiffFile
106106
{
107107
public GitOid Oid;
108108
public IntPtr Path;
109-
public ushort Mode;
110109
public long Size;
111110
public GitDiffFileFlags Flags;
111+
public ushort Mode;
112112
}
113113

114114
[StructLayout(LayoutKind.Sequential)]

LibGit2Sharp/Core/NativeMethods.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,13 @@ public static extern int git_merge_base(
348348
GitObjectSafeHandle one,
349349
GitObjectSafeHandle two);
350350

351+
[DllImport(libgit2)]
352+
public static extern int git_message_prettify(
353+
byte[] message_out, // NB: This is more properly a StringBuilder, but it's UTF8
354+
int buffer_size,
355+
string message,
356+
bool strip_comments);
357+
351358
[DllImport(libgit2)]
352359
public static extern int git_note_create(
353360
out GitOid noteOid,

LibGit2Sharp/ObjectDatabase.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,15 @@ public virtual Tree CreateTree(TreeDefinition treeDefinition)
7979
return treeDefinition.Build(repo);
8080
}
8181

82+
internal static string PrettifyMessage(string message)
83+
{
84+
var buffer = new byte[NativeMethods.GIT_PATH_MAX];
85+
int res = NativeMethods.git_message_prettify(buffer, buffer.Length, message, false);
86+
Ensure.Success(res);
87+
88+
return Utf8Marshaler.Utf8FromBuffer(buffer) ?? string.Empty;
89+
}
90+
8291
/// <summary>
8392
/// Inserts a <see cref = "Commit"/> into the object database, referencing an existing <see cref = "Tree"/>.
8493
/// </summary>
@@ -101,6 +110,8 @@ internal Commit CreateCommit(string message, Signature author, Signature committ
101110
Ensure.ArgumentNotNull(tree, "tree");
102111
Ensure.ArgumentNotNull(parents, "parents");
103112

113+
string prettifiedMessage = PrettifyMessage(message);
114+
104115
IEnumerable<ObjectId> parentIds = parents.Select(p => p.Id);
105116

106117
GitOid commitOid;
@@ -113,7 +124,7 @@ internal Commit CreateCommit(string message, Signature author, Signature committ
113124

114125
IntPtr[] parentsPtrs = parentObjectPtrs.Select(o => o.ObjectPtr.DangerousGetHandle()).ToArray();
115126
int res = NativeMethods.git_commit_create(out commitOid, repo.Handle, referenceName, authorHandle,
116-
committerHandle, encoding, message, treePtr.ObjectPtr, parentObjectPtrs.Count(), parentsPtrs);
127+
committerHandle, encoding, prettifiedMessage, treePtr.ObjectPtr, parentObjectPtrs.Count(), parentsPtrs);
117128
Ensure.Success(res);
118129
}
119130

LibGit2Sharp/TagCollection.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,19 +87,30 @@ public virtual Tag Add(string name, string target, Signature tagger, string mess
8787

8888
GitObject objectToTag = repo.Lookup(target, GitObjectType.Any, LookUpOptions.ThrowWhenNoGitObjectHasBeenFound);
8989

90+
string prettifiedMessage = ObjectDatabase.PrettifyMessage(message);
91+
9092
int res;
9193
using (var objectPtr = new ObjectSafeWrapper(objectToTag.Id, repo))
9294
using (SignatureSafeHandle taggerHandle = tagger.BuildHandle())
9395
{
9496
GitOid oid;
95-
res = NativeMethods.git_tag_create(out oid, repo.Handle, name, objectPtr.ObjectPtr, taggerHandle, message, allowOverwrite);
97+
res = NativeMethods.git_tag_create(out oid, repo.Handle, name, objectPtr.ObjectPtr, taggerHandle, prettifiedMessage, allowOverwrite);
9698
}
9799

98100
Ensure.Success(res);
99101

100102
return this[name];
101103
}
102104

105+
internal static string PrettifyMessage(string message)
106+
{
107+
var buffer = new byte[NativeMethods.GIT_PATH_MAX];
108+
int res = NativeMethods.git_message_prettify(buffer, buffer.Length, message, false);
109+
Ensure.Success(res);
110+
111+
return Utf8Marshaler.Utf8FromBuffer(buffer) ?? string.Empty;
112+
}
113+
103114
/// <summary>
104115
/// Creates an annotated tag with the specified name.
105116
/// </summary>

LibGit2Sharp/libgit2_hash.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4c977a61e598f2230e9902aa80cfea8e89d94f88
1+
1d94a7d0f6c8cb0d1fcf288a1734a7a5abd1b094

libgit2

Submodule libgit2 updated 143 files

0 commit comments

Comments
 (0)
0