mirror of
https://github.com/SkinnyMind/libgit2dart.git
synced 2025-05-05 12:49:08 -04:00
feat(repository): add api method for revparse_single
This commit is contained in:
parent
2e0486c641
commit
3b13646b1b
5 changed files with 43 additions and 5 deletions
6
lib/src/bindings/object.dart
Normal file
6
lib/src/bindings/object.dart
Normal file
|
@ -0,0 +1,6 @@
|
|||
import 'dart:ffi';
|
||||
import 'libgit2_bindings.dart';
|
||||
import '../util.dart';
|
||||
|
||||
/// Get the object type of an object.
|
||||
int type(Pointer<git_object> obj) => libgit2.git_object_type(obj);
|
|
@ -511,6 +511,8 @@ Pointer<git_repository> wrapODB(Pointer<git_odb> odb) {
|
|||
}
|
||||
|
||||
/// Find a single object, as specified by a [spec] string.
|
||||
/// See `man gitrevisions`, or https://git-scm.com/docs/git-rev-parse.html#_specifying_revisions
|
||||
/// for information on the syntax accepted.
|
||||
///
|
||||
/// The returned object should be released when no longer needed.
|
||||
///
|
||||
|
|
|
@ -17,3 +17,5 @@ enum GitFilemode { undreadable, tree, blob, blobExecutable, link, commit }
|
|||
/// [reverse] Iterate through the repository contents in reverse
|
||||
/// order; this sorting mode can be combined with any of the above.
|
||||
enum GitSort { none, topological, time, reverse }
|
||||
|
||||
enum GitObject { commit, tree, blob, tag }
|
||||
|
|
|
@ -1,15 +1,14 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/src/enums.dart';
|
||||
import 'package:libgit2dart/src/revwalk.dart';
|
||||
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/repository.dart' as bindings;
|
||||
import 'commit.dart';
|
||||
import 'config.dart';
|
||||
import 'index.dart';
|
||||
import 'odb.dart';
|
||||
import 'oid.dart';
|
||||
import 'reference.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/repository.dart' as bindings;
|
||||
import 'revwalk.dart';
|
||||
import 'enums.dart';
|
||||
import 'util.dart';
|
||||
|
||||
class Repository {
|
||||
|
@ -324,6 +323,17 @@ class Repository {
|
|||
return Commit.lookup(this, oid);
|
||||
}
|
||||
|
||||
/// Find a single object, as specified by a [spec] string.
|
||||
/// See `man gitrevisions`, or https://git-scm.com/docs/git-rev-parse.html#_specifying_revisions
|
||||
/// for information on the syntax accepted.
|
||||
///
|
||||
/// The returned object should be released when no longer needed.
|
||||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
Commit revParseSingle(String spec) {
|
||||
return Commit(bindings.revParseSingle(_repoPointer, spec).cast());
|
||||
}
|
||||
|
||||
/// Returns the list of commits starting from provided [oid].
|
||||
///
|
||||
/// If [sorting] isn't provided default will be used (reverse chronological order, like in git).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue