mirror of
https://github.com/SkinnyMind/libgit2dart.git
synced 2025-05-04 20:29:08 -04:00
style: stricter linting
This commit is contained in:
parent
f3fbc80f8e
commit
4717aab57f
84 changed files with 773 additions and 653 deletions
|
@ -1,13 +1,50 @@
|
|||
include: package:lints/recommended.yaml
|
||||
linter:
|
||||
rules:
|
||||
- prefer_const_constructors
|
||||
- sort_constructors_first
|
||||
- directives_ordering
|
||||
- lines_longer_than_80_chars
|
||||
|
||||
analyzer:
|
||||
strong-mode:
|
||||
implicit-casts: false
|
||||
implicit-dynamic: false
|
||||
|
||||
exclude:
|
||||
- lib/src/bindings/libgit2_bindings.dart
|
||||
|
||||
linter:
|
||||
rules:
|
||||
- always_use_package_imports
|
||||
- avoid_bool_literals_in_conditional_expressions
|
||||
- avoid_dynamic_calls
|
||||
- avoid_escaping_inner_quotes
|
||||
- avoid_field_initializers_in_const_classes
|
||||
- avoid_positional_boolean_parameters
|
||||
- avoid_print
|
||||
- avoid_redundant_argument_values
|
||||
- avoid_returning_this
|
||||
- avoid_returning_null_for_future
|
||||
- avoid_setters_without_getters
|
||||
- avoid_slow_async_io
|
||||
- avoid_type_to_string
|
||||
- avoid_void_async
|
||||
- cast_nullable_to_non_nullable
|
||||
- directives_ordering
|
||||
- eol_at_end_of_file
|
||||
- join_return_with_assignment
|
||||
- library_private_types_in_public_api
|
||||
- lines_longer_than_80_chars
|
||||
- missing_whitespace_between_adjacent_strings
|
||||
- noop_primitive_operations
|
||||
- parameter_assignments
|
||||
- prefer_const_constructors
|
||||
- prefer_constructors_over_static_methods
|
||||
- prefer_final_in_for_each
|
||||
- prefer_final_locals
|
||||
- prefer_if_elements_to_conditional_expressions
|
||||
- prefer_null_aware_method_calls
|
||||
- require_trailing_commas
|
||||
- sort_constructors_first
|
||||
- type_annotate_public_apis
|
||||
- use_named_constants
|
||||
- use_raw_strings
|
||||
- use_setters_to_change_properties
|
||||
- use_string_buffers
|
||||
- sort_unnamed_constructors_first
|
||||
- sort_pub_dependencies
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
// ignore_for_file: avoid_print
|
||||
|
||||
import 'dart:io';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import '../test/helpers/util.dart';
|
||||
|
@ -28,8 +30,10 @@ void main() {
|
|||
|
||||
// Set value of config variable
|
||||
repoConfig['core.variable'] = 'value';
|
||||
print('\nNew value for variable '
|
||||
'"core.variable": ${repoConfig['core.variable']}');
|
||||
print(
|
||||
'\nNew value for variable '
|
||||
'"core.variable": ${repoConfig['core.variable']}',
|
||||
);
|
||||
|
||||
// Delete variable
|
||||
repoConfig.delete('core.variable');
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
// ignore_for_file: avoid_print
|
||||
|
||||
import 'dart:io';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import '../test/helpers/util.dart';
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
// ignore_for_file: avoid_print
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Look up the value of one git attribute for path.
|
||||
///
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import '../error.dart';
|
||||
import '../oid.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/oid.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Get the blame for a single file.
|
||||
///
|
||||
|
|
|
@ -2,9 +2,9 @@ import 'dart:ffi';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Lookup a blob object from a repository.
|
||||
///
|
||||
|
@ -33,7 +33,7 @@ Pointer<git_oid> id(Pointer<git_blob> blob) => libgit2.git_blob_id(blob);
|
|||
/// Searching for NUL bytes and looking for a reasonable ratio of printable to
|
||||
/// non-printable characters among the first 8000 bytes.
|
||||
bool isBinary(Pointer<git_blob> blob) {
|
||||
return libgit2.git_blob_is_binary(blob) == 1 ? true : false;
|
||||
return libgit2.git_blob_is_binary(blob) == 1 || false;
|
||||
}
|
||||
|
||||
/// Get a read-only buffer with the raw content of a blob.
|
||||
|
|
|
@ -2,11 +2,10 @@ import 'dart:ffi';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'reference.dart' as reference_bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/reference.dart' as reference_bindings;
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Return a list of branches.
|
||||
///
|
||||
|
@ -27,7 +26,7 @@ List<Pointer<git_reference>> list({
|
|||
throw LibGit2Error(libgit2.git_error_last());
|
||||
}
|
||||
|
||||
var result = <Pointer<git_reference>>[];
|
||||
final result = <Pointer<git_reference>>[];
|
||||
var error = 0;
|
||||
|
||||
while (error == 0) {
|
||||
|
@ -163,7 +162,7 @@ bool isHead(Pointer<git_reference> branch) {
|
|||
if (result < 0) {
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
return result == 1 ? true : false;
|
||||
return result == 1 || false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -179,7 +178,7 @@ bool isCheckedOut(Pointer<git_reference> branch) {
|
|||
if (result < 0) {
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
return result == 1 ? true : false;
|
||||
return result == 1 || false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Updates files in the index and the working tree to match the content of the
|
||||
/// commit pointed at by HEAD.
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Lookup a commit object from a repository.
|
||||
///
|
||||
|
|
|
@ -3,10 +3,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Create a new config instance containing a single on-disk file
|
||||
Pointer<git_config> open(String path) {
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Create a new plain-text username and password credential object.
|
||||
Pointer<git_credential> userPass({
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Describe a commit.
|
||||
///
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Create a diff between the repository index and the workdir directory.
|
||||
Pointer<git_diff> indexToWorkdir({
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Determine if a commit is the descendant of another commit.
|
||||
///
|
||||
|
@ -26,7 +25,7 @@ bool descendantOf({
|
|||
if (result < 0) {
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
return result == 1 ? true : false;
|
||||
return result == 1 || false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Update the contents of an existing index object in memory by reading from
|
||||
/// the hard disk.
|
||||
|
@ -88,7 +87,7 @@ bool find({required Pointer<git_index> indexPointer, required String path}) {
|
|||
|
||||
calloc.free(pathC);
|
||||
|
||||
return result == git_error_code.GIT_ENOTFOUND ? false : true;
|
||||
return result != git_error_code.GIT_ENOTFOUND || false;
|
||||
}
|
||||
|
||||
/// Get the count of entries currently in the index.
|
||||
|
@ -209,7 +208,7 @@ void addAll({
|
|||
required Pointer<git_index> indexPointer,
|
||||
required List<String> pathspec,
|
||||
}) {
|
||||
var pathspecC = calloc<git_strarray>();
|
||||
final pathspecC = calloc<git_strarray>();
|
||||
final pathPointers =
|
||||
pathspec.map((e) => e.toNativeUtf8().cast<Int8>()).toList();
|
||||
final strArray = calloc<Pointer<Int8>>(pathspec.length);
|
||||
|
@ -290,7 +289,7 @@ void removeAll({
|
|||
|
||||
/// Determine if the index contains entries representing file conflicts.
|
||||
bool hasConflicts(Pointer<git_index> index) {
|
||||
return libgit2.git_index_has_conflicts(index) == 1 ? true : false;
|
||||
return libgit2.git_index_has_conflicts(index) == 1 || false;
|
||||
}
|
||||
|
||||
/// Return list of conflicts in the index.
|
||||
|
@ -302,7 +301,7 @@ List<Map<String, Pointer<git_index_entry>>> conflictList(
|
|||
final iterator = calloc<Pointer<git_index_conflict_iterator>>();
|
||||
libgit2.git_index_conflict_iterator_new(iterator, index);
|
||||
|
||||
var result = <Map<String, Pointer<git_index_entry>>>[];
|
||||
final result = <Map<String, Pointer<git_index_entry>>>[];
|
||||
var error = 0;
|
||||
|
||||
while (error >= 0) {
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Allocate a new mailmap object.
|
||||
///
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Find a merge base between two commits.
|
||||
///
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Returns list of notes for repository.
|
||||
///
|
||||
|
@ -19,12 +20,12 @@ List<Map<String, Pointer>> list(Pointer<git_repository> repo) {
|
|||
throw LibGit2Error(libgit2.git_error_last());
|
||||
}
|
||||
|
||||
var result = <Map<String, Pointer>>[];
|
||||
final result = <Map<String, Pointer>>[];
|
||||
var nextError = 0;
|
||||
|
||||
while (nextError >= 0) {
|
||||
final noteOid = calloc<git_oid>();
|
||||
var annotatedOid = calloc<git_oid>();
|
||||
final annotatedOid = calloc<git_oid>();
|
||||
nextError = libgit2.git_note_next(noteOid, annotatedOid, iterator.value);
|
||||
if (nextError >= 0) {
|
||||
final out = calloc<Pointer<git_note>>();
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Get the object type of an object.
|
||||
int type(Pointer<git_object> obj) => libgit2.git_object_type(obj);
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../oid.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'oid.dart' as oid_bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/oid.dart' as oid_bindings;
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/oid.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Create a new object database with no backends.
|
||||
///
|
||||
|
@ -66,7 +65,7 @@ bool exists({
|
|||
required Pointer<git_odb> odbPointer,
|
||||
required Pointer<git_oid> oidPointer,
|
||||
}) {
|
||||
return libgit2.git_odb_exists(odbPointer, oidPointer) == 1 ? true : false;
|
||||
return libgit2.git_odb_exists(odbPointer, oidPointer) == 1 || false;
|
||||
}
|
||||
|
||||
/// List of objects in the database.
|
||||
|
@ -91,7 +90,9 @@ List<Oid> objects(Pointer<git_odb> odb) {
|
|||
const except = -1;
|
||||
final cb =
|
||||
Pointer.fromFunction<Int32 Function(Pointer<git_oid>, Pointer<Void>)>(
|
||||
_forEachCb, except);
|
||||
_forEachCb,
|
||||
except,
|
||||
);
|
||||
final error = libgit2.git_odb_foreach(odb, cb, nullptr);
|
||||
|
||||
if (error < 0) {
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Parse N characters of a hex formatted object id into a git_oid.
|
||||
Pointer<git_oid> fromStrN(String hex) {
|
||||
|
@ -30,7 +29,7 @@ Pointer<git_oid> fromSHA(String hex) {
|
|||
/// Copy an already raw oid into a git_oid structure.
|
||||
Pointer<git_oid> fromRaw(Array<Uint8> raw) {
|
||||
final out = calloc<git_oid>();
|
||||
var rawC = calloc<Uint8>(20);
|
||||
final rawC = calloc<Uint8>(20);
|
||||
|
||||
for (var i = 0; i < 20; i++) {
|
||||
rawC[i] = raw[i];
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Initialize a new packbuilder.
|
||||
///
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Directly generate a patch from the difference between two buffers.
|
||||
///
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Initializes a rebase operation to rebase the changes in [branchPointer]
|
||||
/// relative to [upstreamPointer] onto [ontoPointer] another branch. To begin
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Suggests that the given refdb compress or optimize its references.
|
||||
/// This mechanism is implementation specific. For on-disk reference databases,
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Get the type of a reference.
|
||||
///
|
||||
|
@ -126,16 +125,17 @@ Pointer<git_reference> rename({
|
|||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
List<String> list(Pointer<git_repository> repo) {
|
||||
var array = calloc<git_strarray>();
|
||||
final array = calloc<git_strarray>();
|
||||
final error = libgit2.git_reference_list(array, repo);
|
||||
var result = <String>[];
|
||||
final result = <String>[];
|
||||
|
||||
if (error < 0) {
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
for (var i = 0; i < array.ref.count; i++) {
|
||||
result.add(
|
||||
array.ref.strings.elementAt(i).value.cast<Utf8>().toDartString());
|
||||
array.ref.strings.elementAt(i).value.cast<Utf8>().toDartString(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -154,27 +154,27 @@ bool hasLog({
|
|||
|
||||
calloc.free(refname);
|
||||
|
||||
return result == 1 ? true : false;
|
||||
return result == 1 || false;
|
||||
}
|
||||
|
||||
/// Check if a reference is a local branch.
|
||||
bool isBranch(Pointer<git_reference> ref) {
|
||||
return libgit2.git_reference_is_branch(ref) == 1 ? true : false;
|
||||
return libgit2.git_reference_is_branch(ref) == 1 || false;
|
||||
}
|
||||
|
||||
/// Check if a reference is a note.
|
||||
bool isNote(Pointer<git_reference> ref) {
|
||||
return libgit2.git_reference_is_note(ref) == 1 ? true : false;
|
||||
return libgit2.git_reference_is_note(ref) == 1 || false;
|
||||
}
|
||||
|
||||
/// Check if a reference is a remote tracking branch.
|
||||
bool isRemote(Pointer<git_reference> ref) {
|
||||
return libgit2.git_reference_is_remote(ref) == 1 ? true : false;
|
||||
return libgit2.git_reference_is_remote(ref) == 1 || false;
|
||||
}
|
||||
|
||||
/// Check if a reference is a tag.
|
||||
bool isTag(Pointer<git_reference> ref) {
|
||||
return libgit2.git_reference_is_tag(ref) == 1 ? true : false;
|
||||
return libgit2.git_reference_is_tag(ref) == 1 || false;
|
||||
}
|
||||
|
||||
/// Create a new direct reference.
|
||||
|
@ -383,9 +383,7 @@ bool compare({
|
|||
required Pointer<git_reference> ref1Pointer,
|
||||
required Pointer<git_reference> ref2Pointer,
|
||||
}) {
|
||||
return libgit2.git_reference_cmp(ref1Pointer, ref2Pointer) == 0
|
||||
? true
|
||||
: false;
|
||||
return libgit2.git_reference_cmp(ref1Pointer, ref2Pointer) == 0 || false;
|
||||
}
|
||||
|
||||
/// Recursively peel reference until object of the specified type is found.
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Read the reflog for the given reference.
|
||||
///
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Get the source specifier.
|
||||
String source(Pointer<git_refspec> refspec) {
|
||||
|
@ -18,7 +17,7 @@ String destination(Pointer<git_refspec> refspec) {
|
|||
|
||||
/// Get the force update setting.
|
||||
bool force(Pointer<git_refspec> refspec) {
|
||||
return libgit2.git_refspec_force(refspec) == 1 ? true : false;
|
||||
return libgit2.git_refspec_force(refspec) == 1 || false;
|
||||
}
|
||||
|
||||
/// Get the refspec's string.
|
||||
|
@ -40,7 +39,7 @@ bool matchesSource({
|
|||
|
||||
calloc.free(refnameC);
|
||||
|
||||
return result == 1 ? true : false;
|
||||
return result == 1 || false;
|
||||
}
|
||||
|
||||
/// Check if a refspec's destination descriptor matches a reference.
|
||||
|
@ -53,7 +52,7 @@ bool matchesDestination({
|
|||
|
||||
calloc.free(refnameC);
|
||||
|
||||
return result == 1 ? true : false;
|
||||
return result == 1 || false;
|
||||
}
|
||||
|
||||
/// Transform a reference to its target following the refspec's rules.
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import '../callbacks.dart';
|
||||
import '../error.dart';
|
||||
import '../oid.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'remote_callbacks.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/remote_callbacks.dart';
|
||||
import 'package:libgit2dart/src/callbacks.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/oid.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Get a list of the configured remotes for a repo.
|
||||
///
|
||||
|
@ -14,7 +15,7 @@ List<String> list(Pointer<git_repository> repo) {
|
|||
final out = calloc<git_strarray>();
|
||||
libgit2.git_remote_list(out, repo);
|
||||
|
||||
var result = <String>[];
|
||||
final result = <String>[];
|
||||
for (var i = 0; i < out.ref.count; i++) {
|
||||
result.add(out.ref.strings[i].cast<Utf8>().toDartString());
|
||||
}
|
||||
|
@ -156,7 +157,7 @@ List<String> rename({
|
|||
calloc.free(out);
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
var result = <String>[];
|
||||
final result = <String>[];
|
||||
for (var i = 0; i < out.ref.count; i++) {
|
||||
result.add(out.ref.strings[i].cast<Utf8>().toDartString());
|
||||
}
|
||||
|
@ -247,7 +248,7 @@ List<String> fetchRefspecs(Pointer<git_remote> remote) {
|
|||
final out = calloc<git_strarray>();
|
||||
libgit2.git_remote_get_fetch_refspecs(out, remote);
|
||||
|
||||
var result = <String>[];
|
||||
final result = <String>[];
|
||||
for (var i = 0; i < out.ref.count; i++) {
|
||||
result.add(out.ref.strings[i].cast<Utf8>().toDartString());
|
||||
}
|
||||
|
@ -260,7 +261,7 @@ List<String> pushRefspecs(Pointer<git_remote> remote) {
|
|||
final out = calloc<git_strarray>();
|
||||
libgit2.git_remote_get_push_refspecs(out, remote);
|
||||
|
||||
var result = <String>[];
|
||||
final result = <String>[];
|
||||
for (var i = 0; i < out.ref.count; i++) {
|
||||
result.add(out.ref.strings[i].cast<Utf8>().toDartString());
|
||||
}
|
||||
|
@ -372,12 +373,12 @@ List<Map<String, Object?>> lsRemotes(Pointer<git_remote> remote) {
|
|||
final size = calloc<Uint64>();
|
||||
libgit2.git_remote_ls(out, size, remote);
|
||||
|
||||
var result = <Map<String, Object?>>[];
|
||||
final result = <Map<String, Object?>>[];
|
||||
|
||||
for (var i = 0; i < size.value; i++) {
|
||||
var remote = <String, Object?>{};
|
||||
final remote = <String, Object?>{};
|
||||
|
||||
final local = out[0][i].ref.local == 1 ? true : false;
|
||||
final local = out[0][i].ref.local == 1 || false;
|
||||
|
||||
remote['local'] = local;
|
||||
remote['loid'] = local ? Oid.fromRaw(out[0][i].ref.loid) : null;
|
||||
|
@ -412,7 +413,7 @@ void fetch({
|
|||
String? reflogMessage,
|
||||
String? proxyOption,
|
||||
}) {
|
||||
var refspecsC = calloc<git_strarray>();
|
||||
final refspecsC = calloc<git_strarray>();
|
||||
final refspecsPointers =
|
||||
refspecs.map((e) => e.toNativeUtf8().cast<Int8>()).toList();
|
||||
final strArray = calloc<Pointer<Int8>>(refspecs.length);
|
||||
|
@ -468,7 +469,7 @@ void push({
|
|||
required Callbacks callbacks,
|
||||
String? proxyOption,
|
||||
}) {
|
||||
var refspecsC = calloc<git_strarray>();
|
||||
final refspecsC = calloc<git_strarray>();
|
||||
final refspecsPointers =
|
||||
refspecs.map((e) => e.toNativeUtf8().cast<Int8>()).toList();
|
||||
final strArray = calloc<Pointer<Int8>>(refspecs.length);
|
||||
|
|
|
@ -2,16 +2,16 @@ import 'dart:ffi';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'package:libgit2dart/src/bindings/credentials.dart'
|
||||
as credentials_bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/callbacks.dart';
|
||||
import 'package:libgit2dart/src/credentials.dart';
|
||||
import 'package:libgit2dart/src/oid.dart';
|
||||
import 'package:libgit2dart/src/remote.dart';
|
||||
import 'package:libgit2dart/src/repository.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
import '../callbacks.dart';
|
||||
import '../credentials.dart';
|
||||
import '../oid.dart';
|
||||
import '../remote.dart';
|
||||
import '../repository.dart';
|
||||
import 'credentials.dart' as credentials_bindings;
|
||||
import 'libgit2_bindings.dart';
|
||||
|
||||
class RemoteCallbacks {
|
||||
/// Callback function that reports transfer progress.
|
||||
static void Function(TransferProgress)? transferProgress;
|
||||
|
@ -108,7 +108,7 @@ class RemoteCallbacks {
|
|||
) {
|
||||
repo[0] = repositoryFunction!(
|
||||
path.cast<Utf8>().toDartString(),
|
||||
bare == 1 ? true : false,
|
||||
bare == 1 || false,
|
||||
).pointer;
|
||||
|
||||
return 0;
|
||||
|
@ -146,7 +146,7 @@ class RemoteCallbacks {
|
|||
}
|
||||
|
||||
if (credentials is UserPass) {
|
||||
final cred = credentials as UserPass;
|
||||
final cred = credentials! as UserPass;
|
||||
credPointer[0] = credentials_bindings.userPass(
|
||||
username: cred.username,
|
||||
password: cred.password,
|
||||
|
@ -155,7 +155,7 @@ class RemoteCallbacks {
|
|||
}
|
||||
|
||||
if (credentials is Keypair) {
|
||||
final cred = credentials as Keypair;
|
||||
final cred = credentials! as Keypair;
|
||||
credPointer[0] = credentials_bindings.sshKey(
|
||||
username: cred.username,
|
||||
publicKey: cred.pubKey,
|
||||
|
@ -166,13 +166,13 @@ class RemoteCallbacks {
|
|||
}
|
||||
|
||||
if (credentials is KeypairFromAgent) {
|
||||
final cred = credentials as KeypairFromAgent;
|
||||
final cred = credentials! as KeypairFromAgent;
|
||||
credPointer[0] = credentials_bindings.sshKeyFromAgent(cred.username);
|
||||
payload.cast<Int8>().value++;
|
||||
}
|
||||
|
||||
if (credentials is KeypairFromMemory) {
|
||||
final cred = credentials as KeypairFromMemory;
|
||||
final cred = credentials! as KeypairFromMemory;
|
||||
credPointer[0] = credentials_bindings.sshKeyFromMemory(
|
||||
username: cred.username,
|
||||
publicKey: cred.pubKey,
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../callbacks.dart';
|
||||
import '../error.dart';
|
||||
import '../remote.dart';
|
||||
import '../repository.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'remote_callbacks.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/remote_callbacks.dart';
|
||||
import 'package:libgit2dart/src/callbacks.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/remote.dart';
|
||||
import 'package:libgit2dart/src/repository.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Attempt to open an already-existing repository at [path].
|
||||
///
|
||||
|
@ -219,7 +218,7 @@ void setNamespace({
|
|||
|
||||
/// Check if a repository is bare or not.
|
||||
bool isBare(Pointer<git_repository> repo) {
|
||||
return libgit2.git_repository_is_bare(repo) == 1 ? true : false;
|
||||
return libgit2.git_repository_is_bare(repo) == 1 || false;
|
||||
}
|
||||
|
||||
/// Check if a repository is empty.
|
||||
|
@ -234,7 +233,7 @@ bool isEmpty(Pointer<git_repository> repo) {
|
|||
if (error < 0) {
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
return error == 1 ? true : false;
|
||||
return error == 1 || false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -268,7 +267,7 @@ bool isHeadDetached(Pointer<git_repository> repo) {
|
|||
if (error < 0) {
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
return error == 1 ? true : false;
|
||||
return error == 1 || false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -284,7 +283,7 @@ bool isBranchUnborn(Pointer<git_repository> repo) {
|
|||
if (error < 0) {
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
return error == 1 ? true : false;
|
||||
return error == 1 || false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -312,7 +311,7 @@ Map<String, String> identity(Pointer<git_repository> repo) {
|
|||
final name = calloc<Pointer<Int8>>();
|
||||
final email = calloc<Pointer<Int8>>();
|
||||
libgit2.git_repository_ident(name, email, repo);
|
||||
var identity = <String, String>{};
|
||||
final identity = <String, String>{};
|
||||
|
||||
if (name.value == nullptr && email.value == nullptr) {
|
||||
return identity;
|
||||
|
@ -369,12 +368,12 @@ Pointer<git_index> index(Pointer<git_repository> repo) {
|
|||
|
||||
/// Determine if the repository was a shallow clone.
|
||||
bool isShallow(Pointer<git_repository> repo) {
|
||||
return libgit2.git_repository_is_shallow(repo) == 1 ? true : false;
|
||||
return libgit2.git_repository_is_shallow(repo) == 1 || false;
|
||||
}
|
||||
|
||||
/// Check if a repository is a linked work tree.
|
||||
bool isWorktree(Pointer<git_repository> repo) {
|
||||
return libgit2.git_repository_is_worktree(repo) == 1 ? true : false;
|
||||
return libgit2.git_repository_is_worktree(repo) == 1 || false;
|
||||
}
|
||||
|
||||
/// Retrieve git's prepared message.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Sets the current head to the specified commit oid and optionally resets the
|
||||
/// index and working tree to match.
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Parse a revision string for from, to, and intent.
|
||||
///
|
||||
|
@ -69,7 +68,7 @@ Pointer<git_object> revParseSingle({
|
|||
/// The returned object and reference should be released when no longer needed.
|
||||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
List revParseExt({
|
||||
List<Pointer> revParseExt({
|
||||
required Pointer<git_repository> repoPointer,
|
||||
required String spec,
|
||||
}) {
|
||||
|
@ -91,7 +90,7 @@ List revParseExt({
|
|||
calloc.free(referenceOut);
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
} else {
|
||||
var result = <Pointer>[];
|
||||
final result = <Pointer>[];
|
||||
result.add(objectOut.value);
|
||||
if (referenceOut.value != nullptr) {
|
||||
result.add(referenceOut.value);
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'commit.dart' as commit_bindings;
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/commit.dart' as commit_bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Allocate a new revision walker to iterate through a repo.
|
||||
///
|
||||
|
@ -79,7 +78,7 @@ List<Pointer<git_commit>> walk({
|
|||
required Pointer<git_repository> repoPointer,
|
||||
required Pointer<git_revwalk> walkerPointer,
|
||||
}) {
|
||||
var result = <Pointer<git_commit>>[];
|
||||
final result = <Pointer<git_commit>>[];
|
||||
var error = 0;
|
||||
|
||||
while (error == 0) {
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Create a new action signature.
|
||||
///
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../oid.dart';
|
||||
import '../stash.dart';
|
||||
import '../util.dart';
|
||||
import 'checkout.dart' as checkout_bindings;
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/checkout.dart' as checkout_bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/oid.dart';
|
||||
import 'package:libgit2dart/src/stash.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Save the local modifications to a new stash.
|
||||
///
|
||||
|
@ -148,18 +147,20 @@ int _stashCb(
|
|||
Pointer<git_oid> oid,
|
||||
Pointer<Void> payload,
|
||||
) {
|
||||
_stashList.add(Stash(
|
||||
_stashList.add(
|
||||
Stash(
|
||||
index: index,
|
||||
message: message.cast<Utf8>().toDartString(),
|
||||
oid: Oid(oid),
|
||||
));
|
||||
),
|
||||
);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// Loop over all the stashed states.
|
||||
List<Stash> list(Pointer<git_repository> repo) {
|
||||
const except = -1;
|
||||
git_stash_cb callBack = Pointer.fromFunction(_stashCb, except);
|
||||
final git_stash_cb callBack = Pointer.fromFunction(_stashCb, except);
|
||||
libgit2.git_stash_foreach(repo, callBack, nullptr);
|
||||
|
||||
final result = _stashList.toList(growable: false);
|
||||
|
|
|
@ -2,10 +2,9 @@ import 'dart:ffi';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Gather file status information and populate the git_status_list.
|
||||
///
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../callbacks.dart';
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'remote_callbacks.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/remote_callbacks.dart';
|
||||
import 'package:libgit2dart/src/callbacks.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// List of submodule paths.
|
||||
///
|
||||
|
@ -28,7 +27,9 @@ List<String> list(Pointer<git_repository> repo) {
|
|||
const except = -1;
|
||||
final callback = Pointer.fromFunction<
|
||||
Int32 Function(Pointer<git_submodule>, Pointer<Int8>, Pointer<Void>)>(
|
||||
_listCb, except);
|
||||
_listCb,
|
||||
except,
|
||||
);
|
||||
|
||||
libgit2.git_submodule_foreach(repo, callback, nullptr);
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Fill a list with all the tags in the repository.
|
||||
///
|
||||
|
@ -13,7 +12,7 @@ List<String> list(Pointer<git_repository> repo) {
|
|||
final out = calloc<git_strarray>();
|
||||
final error = libgit2.git_tag_list(out, repo);
|
||||
|
||||
var result = <String>[];
|
||||
final result = <String>[];
|
||||
|
||||
if (error < 0) {
|
||||
calloc.free(out);
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Get the id of a tree.
|
||||
Pointer<git_oid> id(Pointer<git_tree> tree) => libgit2.git_tree_id(tree);
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Create a new tree builder.
|
||||
///
|
||||
|
|
|
@ -2,10 +2,9 @@ import 'dart:ffi';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import '../error.dart';
|
||||
import '../util.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/error.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
/// Add a new working tree.
|
||||
///
|
||||
|
@ -81,7 +80,7 @@ bool isPrunable(Pointer<git_worktree> wt) {
|
|||
GIT_WORKTREE_PRUNE_OPTIONS_VERSION,
|
||||
);
|
||||
|
||||
return libgit2.git_worktree_is_prunable(wt, opts) > 0 ? true : false;
|
||||
return libgit2.git_worktree_is_prunable(wt, opts) > 0 || false;
|
||||
}
|
||||
|
||||
/// Prune working tree.
|
||||
|
@ -126,7 +125,7 @@ String path(Pointer<git_worktree> wt) {
|
|||
/// A worktree may be locked if the linked working tree is stored on a portable
|
||||
/// device which is not available.
|
||||
bool isLocked(Pointer<git_worktree> wt) {
|
||||
return libgit2.git_worktree_is_locked(nullptr, wt) == 1 ? true : false;
|
||||
return libgit2.git_worktree_is_locked(nullptr, wt) == 1 || false;
|
||||
}
|
||||
|
||||
/// Lock worktree if not already locked.
|
||||
|
@ -140,7 +139,7 @@ void unlock(Pointer<git_worktree> wt) => libgit2.git_worktree_unlock(wt);
|
|||
/// A valid worktree requires both the git data structures inside the linked
|
||||
/// parent repository and the linked working copy to be present.
|
||||
bool isValid(Pointer<git_worktree> wt) {
|
||||
return libgit2.git_worktree_validate(wt) == 0 ? true : false;
|
||||
return libgit2.git_worktree_validate(wt) == 0 || false;
|
||||
}
|
||||
|
||||
/// Free a previously allocated worktree.
|
||||
|
|
|
@ -3,9 +3,8 @@ import 'dart:ffi';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/blame.dart' as bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/blame.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
|
||||
class Blame with IterableMixin<BlameHunk> {
|
||||
/// Returns the blame for a single file.
|
||||
|
@ -67,10 +66,12 @@ class Blame with IterableMixin<BlameHunk> {
|
|||
///
|
||||
/// Throws [RangeError] if index out of range.
|
||||
BlameHunk operator [](int index) {
|
||||
return BlameHunk(bindings.getHunkByIndex(
|
||||
return BlameHunk(
|
||||
bindings.getHunkByIndex(
|
||||
blamePointer: _blamePointer,
|
||||
index: index,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Returns the hunk that relates to the given line number (1-based) in the
|
||||
|
@ -78,10 +79,12 @@ class Blame with IterableMixin<BlameHunk> {
|
|||
///
|
||||
/// Throws [RangeError] if [lineNumber] is out of range.
|
||||
BlameHunk forLine(int lineNumber) {
|
||||
return BlameHunk(bindings.getHunkByLine(
|
||||
return BlameHunk(
|
||||
bindings.getHunkByLine(
|
||||
blamePointer: _blamePointer,
|
||||
lineNumber: lineNumber,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Releases memory allocated for blame object.
|
||||
|
@ -105,7 +108,7 @@ class BlameHunk {
|
|||
/// Whether the hunk has been tracked to a boundary commit
|
||||
/// (the root, or the commit specified in [oldestCommit] argument).
|
||||
bool get isBoundary {
|
||||
return _blameHunkPointer.ref.boundary == 1 ? true : false;
|
||||
return _blameHunkPointer.ref.boundary == 1 || false;
|
||||
}
|
||||
|
||||
/// 1-based line number where this hunk begins, in the final version of the
|
||||
|
@ -168,10 +171,12 @@ class _BlameIterator implements Iterator<BlameHunk> {
|
|||
if (index == count) {
|
||||
return false;
|
||||
} else {
|
||||
currentHunk = BlameHunk(bindings.getHunkByIndex(
|
||||
currentHunk = BlameHunk(
|
||||
bindings.getHunkByIndex(
|
||||
blamePointer: _blamePointer,
|
||||
index: index,
|
||||
));
|
||||
),
|
||||
);
|
||||
index++;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/blob.dart' as bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/patch.dart' as patch_bindings;
|
||||
import 'package:libgit2dart/src/bindings/blob.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/patch.dart' as patch_bindings;
|
||||
|
||||
class Blob {
|
||||
/// Initializes a new instance of [Blob] class from provided pointer to
|
||||
|
@ -32,11 +31,13 @@ class Blob {
|
|||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
static Oid create({required Repository repo, required String content}) {
|
||||
return Oid(bindings.create(
|
||||
return Oid(
|
||||
bindings.create(
|
||||
repoPointer: repo.pointer,
|
||||
buffer: content,
|
||||
len: content.length,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Creates a new blob from the file in working directory of a repository and
|
||||
|
@ -48,10 +49,12 @@ class Blob {
|
|||
required Repository repo,
|
||||
required String relativePath,
|
||||
}) {
|
||||
return Oid(bindings.createFromWorkdir(
|
||||
return Oid(
|
||||
bindings.createFromWorkdir(
|
||||
repoPointer: repo.pointer,
|
||||
relativePath: relativePath,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Creates a new blob from the file in filesystem and writes it to the ODB.
|
||||
|
@ -115,7 +118,7 @@ class Blob {
|
|||
);
|
||||
|
||||
return Patch(
|
||||
result['patch'] as Pointer<git_patch>,
|
||||
result['patch']! as Pointer<git_patch>,
|
||||
result['a'],
|
||||
result['b'],
|
||||
);
|
||||
|
@ -160,7 +163,7 @@ class Blob {
|
|||
);
|
||||
|
||||
return Patch(
|
||||
result['patch'] as Pointer<git_patch>,
|
||||
result['patch']! as Pointer<git_patch>,
|
||||
result['a'],
|
||||
result['b'],
|
||||
);
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/branch.dart' as bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/reference.dart' as reference_bindings;
|
||||
import 'package:libgit2dart/src/bindings/branch.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/reference.dart' as reference_bindings;
|
||||
|
||||
class Branch {
|
||||
/// Initializes a new instance of [Branch] class from provided pointer to
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/commit.dart' as bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/tree.dart' as tree_bindings;
|
||||
import 'package:libgit2dart/src/bindings/commit.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/tree.dart' as tree_bindings;
|
||||
|
||||
class Commit {
|
||||
/// Initializes a new instance of [Commit] class from provided pointer to
|
||||
|
@ -67,7 +66,8 @@ class Commit {
|
|||
required Tree tree,
|
||||
required List<Commit> parents,
|
||||
}) {
|
||||
return Oid(bindings.create(
|
||||
return Oid(
|
||||
bindings.create(
|
||||
repoPointer: repo.pointer,
|
||||
updateRef: updateRef,
|
||||
authorPointer: author.pointer,
|
||||
|
@ -77,7 +77,8 @@ class Commit {
|
|||
treePointer: tree.pointer,
|
||||
parentCount: parents.length,
|
||||
parents: parents.map((e) => e.pointer).toList(),
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Amends an existing commit by replacing only non-null values.
|
||||
|
@ -109,7 +110,8 @@ class Commit {
|
|||
String? message,
|
||||
String? messageEncoding,
|
||||
}) {
|
||||
return Oid(bindings.amend(
|
||||
return Oid(
|
||||
bindings.amend(
|
||||
repoPointer: repo.pointer,
|
||||
commitPointer: commit.pointer,
|
||||
authorPointer: author?.pointer,
|
||||
|
@ -118,7 +120,8 @@ class Commit {
|
|||
updateRef: updateRef,
|
||||
message: message,
|
||||
messageEncoding: messageEncoding,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Wncoding for the message of a commit, as a string representing a standard
|
||||
|
@ -145,7 +148,7 @@ class Commit {
|
|||
|
||||
/// List of parent commits [Oid]s.
|
||||
List<Oid> get parents {
|
||||
var parents = <Oid>[];
|
||||
final parents = <Oid>[];
|
||||
final parentCount = bindings.parentCount(_commitPointer);
|
||||
|
||||
for (var i = 0; i < parentCount; i++) {
|
||||
|
@ -161,10 +164,12 @@ class Commit {
|
|||
|
||||
/// Tree pointed to by a commit.
|
||||
Tree get tree {
|
||||
return Tree(tree_bindings.lookup(
|
||||
return Tree(
|
||||
tree_bindings.lookup(
|
||||
repoPointer: bindings.owner(_commitPointer),
|
||||
oidPointer: bindings.tree(_commitPointer),
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Releases memory allocated for commit object.
|
||||
|
|
|
@ -4,10 +4,9 @@ import 'dart:io';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/config.dart' as bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/bindings/config.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Config with IterableMixin<ConfigEntry> {
|
||||
/// Initializes a new instance of [Config] class from provided
|
||||
|
@ -84,10 +83,12 @@ class Config with IterableMixin<ConfigEntry> {
|
|||
|
||||
/// Returns the [ConfigEntry] of a [variable].
|
||||
ConfigEntry operator [](String variable) {
|
||||
return ConfigEntry(bindings.getEntry(
|
||||
return ConfigEntry(
|
||||
bindings.getEntry(
|
||||
configPointer: _configPointer,
|
||||
variable: variable,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Sets the [value] of config [variable].
|
||||
|
|
|
@ -2,11 +2,10 @@ import 'dart:ffi';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/diff.dart' as bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/patch.dart' as patch_bindings;
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/bindings/diff.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/patch.dart' as patch_bindings;
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Diff {
|
||||
/// Initializes a new instance of [Diff] class from provided
|
||||
|
@ -43,12 +42,16 @@ class Diff {
|
|||
/// revisions.
|
||||
List<DiffDelta> get deltas {
|
||||
final length = bindings.length(_diffPointer);
|
||||
var deltas = <DiffDelta>[];
|
||||
final deltas = <DiffDelta>[];
|
||||
for (var i = 0; i < length; i++) {
|
||||
deltas.add(DiffDelta(bindings.getDeltaByIndex(
|
||||
deltas.add(
|
||||
DiffDelta(
|
||||
bindings.getDeltaByIndex(
|
||||
diffPointer: _diffPointer,
|
||||
index: i,
|
||||
)));
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
return deltas;
|
||||
}
|
||||
|
@ -56,7 +59,7 @@ class Diff {
|
|||
/// A List of [Patch]es.
|
||||
List<Patch> get patches {
|
||||
final length = bindings.length(_diffPointer);
|
||||
var patches = <Patch>[];
|
||||
final patches = <Patch>[];
|
||||
for (var i = 0; i < length; i++) {
|
||||
patches.add(Patch.fromDiff(diff: this, index: i));
|
||||
}
|
||||
|
@ -336,7 +339,7 @@ class DiffHunk {
|
|||
|
||||
/// Header of a hunk.
|
||||
String get header {
|
||||
var list = <int>[];
|
||||
final list = <int>[];
|
||||
for (var i = 0; i < _diffHunkPointer.ref.header_len; i++) {
|
||||
list.add(_diffHunkPointer.ref.header[i]);
|
||||
}
|
||||
|
@ -345,13 +348,17 @@ class DiffHunk {
|
|||
|
||||
/// List of lines in a hunk of a patch.
|
||||
List<DiffLine> get lines {
|
||||
var lines = <DiffLine>[];
|
||||
final lines = <DiffLine>[];
|
||||
for (var i = 0; i < linesCount; i++) {
|
||||
lines.add(DiffLine(patch_bindings.lines(
|
||||
lines.add(
|
||||
DiffLine(
|
||||
patch_bindings.lines(
|
||||
patchPointer: _patchPointer,
|
||||
hunkIndex: index,
|
||||
lineOfHunk: i,
|
||||
)));
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
return lines;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
|
||||
/// Details of the last error that occurred.
|
||||
class LibGit2Error {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Features {
|
||||
/// Returns list of compile time options for libgit2.
|
||||
|
|
|
@ -3,10 +3,9 @@ import 'dart:ffi';
|
|||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/diff.dart' as diff_bindings;
|
||||
import 'bindings/index.dart' as bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/diff.dart' as diff_bindings;
|
||||
import 'package:libgit2dart/src/bindings/index.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
|
||||
class Index with IterableMixin<IndexEntry> {
|
||||
/// Initializes a new instance of [Index] class from provided
|
||||
|
@ -26,16 +25,20 @@ class Index with IterableMixin<IndexEntry> {
|
|||
/// [ArgumentError] if nothing found for provided path.
|
||||
IndexEntry operator [](Object value) {
|
||||
if (value is int) {
|
||||
return IndexEntry(bindings.getByIndex(
|
||||
return IndexEntry(
|
||||
bindings.getByIndex(
|
||||
indexPointer: _indexPointer,
|
||||
position: value,
|
||||
));
|
||||
),
|
||||
);
|
||||
} else {
|
||||
return IndexEntry(bindings.getByPath(
|
||||
return IndexEntry(
|
||||
bindings.getByPath(
|
||||
indexPointer: _indexPointer,
|
||||
path: value as String,
|
||||
stage: 0,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,7 +59,7 @@ class Index with IterableMixin<IndexEntry> {
|
|||
/// Throws a [LibGit2Error] if error occured.
|
||||
Map<String, ConflictEntry> get conflicts {
|
||||
final conflicts = bindings.conflictList(_indexPointer);
|
||||
var result = <String, ConflictEntry>{};
|
||||
final result = <String, ConflictEntry>{};
|
||||
|
||||
for (final entry in conflicts) {
|
||||
IndexEntry? ancestor, our, their;
|
||||
|
@ -166,10 +169,12 @@ class Index with IterableMixin<IndexEntry> {
|
|||
if (repo == null) {
|
||||
return Oid(bindings.writeTree(_indexPointer));
|
||||
} else {
|
||||
return Oid(bindings.writeTreeTo(
|
||||
return Oid(
|
||||
bindings.writeTreeTo(
|
||||
indexPointer: _indexPointer,
|
||||
repoPointer: repo.pointer,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -201,13 +206,15 @@ class Index with IterableMixin<IndexEntry> {
|
|||
int contextLines = 3,
|
||||
int interhunkLines = 0,
|
||||
}) {
|
||||
return Diff(diff_bindings.indexToWorkdir(
|
||||
return Diff(
|
||||
diff_bindings.indexToWorkdir(
|
||||
repoPointer: bindings.owner(_indexPointer),
|
||||
indexPointer: _indexPointer,
|
||||
flags: flags.fold(0, (acc, e) => acc | e.value),
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Creates a diff between a tree and repository index.
|
||||
|
@ -227,14 +234,16 @@ class Index with IterableMixin<IndexEntry> {
|
|||
int contextLines = 3,
|
||||
int interhunkLines = 0,
|
||||
}) {
|
||||
return Diff(diff_bindings.treeToIndex(
|
||||
return Diff(
|
||||
diff_bindings.treeToIndex(
|
||||
repoPointer: bindings.owner(_indexPointer),
|
||||
treePointer: tree.pointer,
|
||||
indexPointer: _indexPointer,
|
||||
flags: flags.fold(0, (acc, e) => acc | e.value),
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Releases memory allocated for index object.
|
||||
|
@ -338,10 +347,12 @@ class _IndexIterator implements Iterator<IndexEntry> {
|
|||
if (_index == count) {
|
||||
return false;
|
||||
} else {
|
||||
_currentEntry = IndexEntry(bindings.getByIndex(
|
||||
_currentEntry = IndexEntry(
|
||||
bindings.getByIndex(
|
||||
indexPointer: _indexPointer,
|
||||
position: _index,
|
||||
));
|
||||
),
|
||||
);
|
||||
_index++;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/mailmap.dart' as bindings;
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/mailmap.dart' as bindings;
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Mailmap {
|
||||
/// Initializes a new instance of [Mailmap] class.
|
||||
|
@ -62,10 +62,12 @@ class Mailmap {
|
|||
|
||||
/// Resolves a [signature] to use real names and emails with a mailmap.
|
||||
Signature resolveSignature(Signature signature) {
|
||||
return Signature(bindings.resolveSignature(
|
||||
return Signature(
|
||||
bindings.resolveSignature(
|
||||
mailmapPointer: _mailmapPointer,
|
||||
signaturePointer: signature.pointer,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Adds a single entry to the given mailmap object. If the entry already
|
||||
|
@ -79,7 +81,7 @@ class Mailmap {
|
|||
required String replaceEmail,
|
||||
}) {
|
||||
if (replaceEmail.trim().isEmpty) {
|
||||
throw ArgumentError.value('replaceEmail can\'t be empty');
|
||||
throw ArgumentError.value("replaceEmail can't be empty");
|
||||
} else {
|
||||
bindings.addEntry(
|
||||
mailmapPointer: _mailmapPointer,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/note.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/note.dart' as bindings;
|
||||
|
||||
class Note {
|
||||
/// Initializes a new instance of the [Note] class from provided
|
||||
|
@ -64,7 +64,8 @@ class Note {
|
|||
String notesRef = 'refs/notes/commits',
|
||||
bool force = false,
|
||||
}) {
|
||||
return Oid(bindings.create(
|
||||
return Oid(
|
||||
bindings.create(
|
||||
repoPointer: repo.pointer,
|
||||
authorPointer: author.pointer,
|
||||
committerPointer: committer.pointer,
|
||||
|
@ -72,7 +73,8 @@ class Note {
|
|||
note: note,
|
||||
notesRef: notesRef,
|
||||
force: force,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Deletes the note for an [annotatedOid].
|
||||
|
@ -111,10 +113,12 @@ class Note {
|
|||
static List<Note> list(Repository repo) {
|
||||
final notesPointers = bindings.list(repo.pointer);
|
||||
return notesPointers
|
||||
.map((e) => Note(
|
||||
e['note'] as Pointer<git_note>,
|
||||
e['annotatedOid'] as Pointer<git_oid>,
|
||||
))
|
||||
.map(
|
||||
(e) => Note(
|
||||
e['note']! as Pointer<git_note>,
|
||||
e['annotatedOid']! as Pointer<git_oid>,
|
||||
),
|
||||
)
|
||||
.toList();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/odb.dart' as bindings;
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/odb.dart' as bindings;
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Odb {
|
||||
/// Initializes a new instance of [Odb] class from provided
|
||||
|
@ -64,10 +64,12 @@ class Odb {
|
|||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
OdbObject read(Oid oid) {
|
||||
return OdbObject(bindings.read(
|
||||
return OdbObject(
|
||||
bindings.read(
|
||||
odbPointer: _odbPointer,
|
||||
oidPointer: oid.pointer,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Writes raw [data] to into the object database.
|
||||
|
@ -84,11 +86,13 @@ class Odb {
|
|||
type == GitObject.refDelta) {
|
||||
throw ArgumentError.value('$type is invalid type');
|
||||
} else {
|
||||
return Oid(bindings.write(
|
||||
return Oid(
|
||||
bindings.write(
|
||||
odbPointer: _odbPointer,
|
||||
type: type.value,
|
||||
data: data,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/odb.dart' as odb_bindings;
|
||||
import 'bindings/oid.dart' as bindings;
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/odb.dart' as odb_bindings;
|
||||
import 'package:libgit2dart/src/bindings/oid.dart' as bindings;
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Oid {
|
||||
/// Initializes a new instance of [Oid] class from provided
|
||||
|
@ -52,7 +51,7 @@ class Oid {
|
|||
String get sha => bindings.toSHA(_oidPointer);
|
||||
|
||||
@override
|
||||
bool operator ==(other) {
|
||||
bool operator ==(Object other) {
|
||||
return (other is Oid) &&
|
||||
(bindings.compare(aPointer: _oidPointer, bPointer: other._oidPointer) ==
|
||||
0);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/packbuilder.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/packbuilder.dart' as bindings;
|
||||
|
||||
class PackBuilder {
|
||||
/// Initializes a new instance of [PackBuilder] class.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/patch.dart' as bindings;
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/patch.dart' as bindings;
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Patch {
|
||||
/// Initializes a new instance of [Patch] class from provided
|
||||
|
@ -82,7 +82,7 @@ class Patch {
|
|||
throw ArgumentError('Provided argument(s) is not Blob or String');
|
||||
}
|
||||
|
||||
_patchPointer = result['patch'] as Pointer<git_patch>;
|
||||
_patchPointer = result['patch']! as Pointer<git_patch>;
|
||||
_aPointer = result['a'];
|
||||
_bPointer = result['b'];
|
||||
}
|
||||
|
@ -149,12 +149,14 @@ class Patch {
|
|||
|
||||
for (var i = 0; i < length; i++) {
|
||||
final hunk = bindings.hunk(patchPointer: _patchPointer, hunkIndex: i);
|
||||
hunks.add(DiffHunk(
|
||||
hunks.add(
|
||||
DiffHunk(
|
||||
_patchPointer,
|
||||
hunk['hunk'] as Pointer<git_diff_hunk>,
|
||||
hunk['linesN'] as int,
|
||||
hunk['hunk']! as Pointer<git_diff_hunk>,
|
||||
hunk['linesN']! as int,
|
||||
i,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return hunks;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/rebase.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/rebase.dart' as bindings;
|
||||
|
||||
class Rebase {
|
||||
/// Initializes a rebase operation to rebase the changes in [branch] relative
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/object.dart' as object_bindings;
|
||||
import 'bindings/refdb.dart' as refdb_bindings;
|
||||
import 'bindings/reference.dart' as bindings;
|
||||
import 'bindings/repository.dart' as repository_bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/object.dart' as object_bindings;
|
||||
import 'package:libgit2dart/src/bindings/refdb.dart' as refdb_bindings;
|
||||
import 'package:libgit2dart/src/bindings/reference.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/repository.dart'
|
||||
as repository_bindings;
|
||||
|
||||
class Reference {
|
||||
/// Initializes a new instance of the [Reference] class.
|
||||
|
@ -62,7 +62,8 @@ class Reference {
|
|||
);
|
||||
} else {
|
||||
throw ArgumentError.value(
|
||||
'$target must be either Oid or String reference name');
|
||||
'$target must be either Oid or String reference name',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -185,7 +186,8 @@ class Reference {
|
|||
_refPointer = newPointer;
|
||||
} else {
|
||||
throw ArgumentError.value(
|
||||
'$target must be either Oid or String reference name');
|
||||
'$target must be either Oid or String reference name',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -261,7 +263,7 @@ class Reference {
|
|||
Repository get owner => Repository(bindings.owner(_refPointer));
|
||||
|
||||
@override
|
||||
bool operator ==(other) {
|
||||
bool operator ==(Object other) {
|
||||
return (other is Reference) &&
|
||||
bindings.compare(
|
||||
ref1Pointer: _refPointer,
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import 'dart:collection';
|
||||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/reflog.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/reflog.dart' as bindings;
|
||||
|
||||
class RefLog with IterableMixin<RefLogEntry> {
|
||||
/// Initializes a new instance of [RefLog] class from provided [Reference].
|
||||
|
@ -23,10 +23,12 @@ class RefLog with IterableMixin<RefLogEntry> {
|
|||
/// Requesting the reflog entry with an index of 0 will return the most
|
||||
/// recently created entry.
|
||||
RefLogEntry operator [](int index) {
|
||||
return RefLogEntry(bindings.getByIndex(
|
||||
return RefLogEntry(
|
||||
bindings.getByIndex(
|
||||
reflogPointer: _reflogPointer,
|
||||
index: index,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Releases memory allocated for reflog object.
|
||||
|
@ -74,10 +76,12 @@ class _RefLogIterator implements Iterator<RefLogEntry> {
|
|||
if (_index == _count) {
|
||||
return false;
|
||||
} else {
|
||||
_currentEntry = RefLogEntry(bindings.getByIndex(
|
||||
_currentEntry = RefLogEntry(
|
||||
bindings.getByIndex(
|
||||
reflogPointer: _reflogPointer,
|
||||
index: _index,
|
||||
));
|
||||
),
|
||||
);
|
||||
_index++;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/refspec.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/refspec.dart' as bindings;
|
||||
|
||||
class Refspec {
|
||||
/// Initializes a new instance of the [Refspec] class
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/remote.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/remote.dart' as bindings;
|
||||
|
||||
class Remote {
|
||||
/// Lookups remote with provided [name] in a [repo]sitory.
|
||||
|
@ -174,10 +174,12 @@ class Remote {
|
|||
|
||||
/// [Refspec] object from the remote at provided position.
|
||||
Refspec getRefspec(int index) {
|
||||
return Refspec(bindings.getRefspec(
|
||||
return Refspec(
|
||||
bindings.getRefspec(
|
||||
remotePointer: _remotePointer,
|
||||
position: index,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// List of fetch refspecs.
|
||||
|
|
|
@ -3,19 +3,19 @@ import 'dart:ffi';
|
|||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/attr.dart' as attr_bindings;
|
||||
import 'bindings/checkout.dart' as checkout_bindings;
|
||||
import 'bindings/commit.dart' as commit_bindings;
|
||||
import 'bindings/describe.dart' as describe_bindings;
|
||||
import 'bindings/diff.dart' as diff_bindings;
|
||||
import 'bindings/graph.dart' as graph_bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/merge.dart' as merge_bindings;
|
||||
import 'bindings/object.dart' as object_bindings;
|
||||
import 'bindings/repository.dart' as bindings;
|
||||
import 'bindings/reset.dart' as reset_bindings;
|
||||
import 'bindings/status.dart' as status_bindings;
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/bindings/attr.dart' as attr_bindings;
|
||||
import 'package:libgit2dart/src/bindings/checkout.dart' as checkout_bindings;
|
||||
import 'package:libgit2dart/src/bindings/commit.dart' as commit_bindings;
|
||||
import 'package:libgit2dart/src/bindings/describe.dart' as describe_bindings;
|
||||
import 'package:libgit2dart/src/bindings/diff.dart' as diff_bindings;
|
||||
import 'package:libgit2dart/src/bindings/graph.dart' as graph_bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/merge.dart' as merge_bindings;
|
||||
import 'package:libgit2dart/src/bindings/object.dart' as object_bindings;
|
||||
import 'package:libgit2dart/src/bindings/repository.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/reset.dart' as reset_bindings;
|
||||
import 'package:libgit2dart/src/bindings/status.dart' as status_bindings;
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Repository {
|
||||
/// Initializes a new instance of the [Repository] class from provided
|
||||
|
@ -262,7 +262,8 @@ class Repository {
|
|||
bindings.setHead(repoPointer: _repoPointer, refname: target);
|
||||
} else {
|
||||
throw ArgumentError.value(
|
||||
'$target must be either Oid or String reference name');
|
||||
'$target must be either Oid or String reference name',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -650,12 +651,14 @@ class Repository {
|
|||
required Commit ourCommit,
|
||||
int mainline = 0,
|
||||
}) {
|
||||
return Index(commit_bindings.revertCommit(
|
||||
return Index(
|
||||
commit_bindings.revertCommit(
|
||||
repoPointer: _repoPointer,
|
||||
revertCommitPointer: revertCommit.pointer,
|
||||
ourCommitPointer: ourCommit.pointer,
|
||||
mainline: mainline,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Finds a single object and intermediate reference (if there is one) by a
|
||||
|
@ -774,7 +777,8 @@ class Repository {
|
|||
targetType: targetType,
|
||||
tagger: tagger,
|
||||
message: message,
|
||||
force: force);
|
||||
force: force,
|
||||
);
|
||||
}
|
||||
|
||||
/// Deletes an existing tag reference with provided [name].
|
||||
|
@ -880,9 +884,9 @@ class Repository {
|
|||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
Map<String, Set<GitStatus>> get status {
|
||||
var result = <String, Set<GitStatus>>{};
|
||||
var list = status_bindings.listNew(_repoPointer);
|
||||
var count = status_bindings.listEntryCount(list);
|
||||
final result = <String, Set<GitStatus>>{};
|
||||
final list = status_bindings.listNew(_repoPointer);
|
||||
final count = status_bindings.listEntryCount(list);
|
||||
|
||||
for (var i = 0; i < count; i++) {
|
||||
late String path;
|
||||
|
@ -945,11 +949,13 @@ class Repository {
|
|||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
Oid mergeBase({required Oid a, required Oid b}) {
|
||||
return Oid(merge_bindings.mergeBase(
|
||||
return Oid(
|
||||
merge_bindings.mergeBase(
|
||||
repoPointer: _repoPointer,
|
||||
aPointer: a.pointer,
|
||||
bPointer: b.pointer,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Analyzes the given branch's [theirHead] oid and determines the
|
||||
|
@ -1058,14 +1064,16 @@ class Repository {
|
|||
Set<GitMergeFlag> mergeFlags = const {GitMergeFlag.findRenames},
|
||||
Set<GitMergeFileFlag> fileFlags = const {GitMergeFileFlag.defaults},
|
||||
}) {
|
||||
return Index(merge_bindings.mergeCommits(
|
||||
return Index(
|
||||
merge_bindings.mergeCommits(
|
||||
repoPointer: _repoPointer,
|
||||
ourCommitPointer: ourCommit.pointer,
|
||||
theirCommitPointer: theirCommit.pointer,
|
||||
favor: favor.value,
|
||||
mergeFlags: mergeFlags.fold(0, (acc, e) => acc | e.value),
|
||||
fileFlags: fileFlags.fold(0, (acc, e) => acc | e.value),
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Merges two trees, producing an index that reflects the result of the
|
||||
|
@ -1101,7 +1109,8 @@ class Repository {
|
|||
List<GitMergeFlag> mergeFlags = const [GitMergeFlag.findRenames],
|
||||
List<GitMergeFileFlag> fileFlags = const [GitMergeFileFlag.defaults],
|
||||
}) {
|
||||
return Index(merge_bindings.mergeTrees(
|
||||
return Index(
|
||||
merge_bindings.mergeTrees(
|
||||
repoPointer: _repoPointer,
|
||||
ancestorTreePointer: ancestorTree?.pointer ?? nullptr,
|
||||
ourTreePointer: ourTree.pointer,
|
||||
|
@ -1109,7 +1118,8 @@ class Repository {
|
|||
favor: favor.value,
|
||||
mergeFlags: mergeFlags.fold(0, (acc, element) => acc | element.value),
|
||||
fileFlags: fileFlags.fold(0, (acc, element) => acc | element.value),
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Cherry-picks the provided [commit], producing changes in the index and
|
||||
|
@ -1243,41 +1253,49 @@ class Repository {
|
|||
final int flagsInt = flags.fold(0, (acc, e) => acc | e.value);
|
||||
|
||||
if (a is Tree && b is Tree) {
|
||||
return Diff(diff_bindings.treeToTree(
|
||||
return Diff(
|
||||
diff_bindings.treeToTree(
|
||||
repoPointer: _repoPointer,
|
||||
oldTreePointer: a.pointer,
|
||||
newTreePointer: b.pointer,
|
||||
flags: flagsInt,
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
} else if (a is Tree && b == null) {
|
||||
if (cached) {
|
||||
return Diff(diff_bindings.treeToIndex(
|
||||
return Diff(
|
||||
diff_bindings.treeToIndex(
|
||||
repoPointer: _repoPointer,
|
||||
treePointer: a.pointer,
|
||||
indexPointer: index.pointer,
|
||||
flags: flagsInt,
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
} else {
|
||||
return Diff(diff_bindings.treeToWorkdir(
|
||||
return Diff(
|
||||
diff_bindings.treeToWorkdir(
|
||||
repoPointer: _repoPointer,
|
||||
treePointer: a.pointer,
|
||||
flags: flagsInt,
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
} else if (a == null && b == null) {
|
||||
return Diff(diff_bindings.indexToWorkdir(
|
||||
return Diff(
|
||||
diff_bindings.indexToWorkdir(
|
||||
repoPointer: _repoPointer,
|
||||
indexPointer: index.pointer,
|
||||
flags: flagsInt,
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
} else {
|
||||
throw ArgumentError.notNull('a');
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/revparse.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/revparse.dart' as bindings;
|
||||
|
||||
class RevParse {
|
||||
/// Finds a single object and intermediate reference (if there is one) by a
|
||||
|
@ -23,11 +23,9 @@ class RevParse {
|
|||
repoPointer: repo.pointer,
|
||||
spec: spec,
|
||||
);
|
||||
object = Commit(pointers[0].cast<git_commit>() as Pointer<git_commit>);
|
||||
object = Commit(pointers[0].cast<git_commit>());
|
||||
if (pointers.length == 2) {
|
||||
reference = Reference(
|
||||
pointers[1].cast<git_reference>() as Pointer<git_reference>,
|
||||
);
|
||||
reference = Reference(pointers[1].cast<git_reference>());
|
||||
} else {
|
||||
reference = null;
|
||||
}
|
||||
|
@ -47,12 +45,14 @@ class RevParse {
|
|||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
static Commit single({required Repository repo, required String spec}) {
|
||||
return Commit(bindings
|
||||
return Commit(
|
||||
bindings
|
||||
.revParseSingle(
|
||||
repoPointer: repo.pointer,
|
||||
spec: spec,
|
||||
)
|
||||
.cast());
|
||||
.cast(),
|
||||
);
|
||||
}
|
||||
|
||||
/// Parses a revision string for from, to, and intent.
|
||||
|
@ -62,10 +62,12 @@ class RevParse {
|
|||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
static RevSpec range({required Repository repo, required String spec}) {
|
||||
return RevSpec(bindings.revParse(
|
||||
return RevSpec(
|
||||
bindings.revParse(
|
||||
repoPointer: repo.pointer,
|
||||
spec: spec,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/revwalk.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/revwalk.dart' as bindings;
|
||||
|
||||
class RevWalk {
|
||||
/// Initializes a new instance of the [RevWalk] class.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/signature.dart' as bindings;
|
||||
import 'util.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/signature.dart' as bindings;
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Signature {
|
||||
/// Initializes a new instance of [Signature] class from provided pointer to
|
||||
|
@ -39,18 +39,19 @@ class Signature {
|
|||
}
|
||||
}
|
||||
|
||||
late final Pointer<git_signature> _signaturePointer;
|
||||
|
||||
/// Pointer to memory address for allocated signature object.
|
||||
Pointer<git_signature> get pointer => _signaturePointer;
|
||||
|
||||
/// Creates a new action signature with default user and now timestamp.
|
||||
///
|
||||
/// This looks up the user.name and user.email from the configuration and
|
||||
/// uses the current time as the timestamp, and creates a new signature based
|
||||
/// on that information.
|
||||
static Signature defaultSignature(Repository repo) =>
|
||||
Signature(bindings.defaultSignature(repo.pointer));
|
||||
Signature.defaultSignature(Repository repo) {
|
||||
_signaturePointer = bindings.defaultSignature(repo.pointer);
|
||||
}
|
||||
|
||||
late final Pointer<git_signature> _signaturePointer;
|
||||
|
||||
/// Pointer to memory address for allocated signature object.
|
||||
Pointer<git_signature> get pointer => _signaturePointer;
|
||||
|
||||
/// Full name of the author.
|
||||
String get name => _signaturePointer.ref.name.cast<Utf8>().toDartString();
|
||||
|
@ -65,7 +66,7 @@ class Signature {
|
|||
int get offset => _signaturePointer.ref.when.offset;
|
||||
|
||||
@override
|
||||
bool operator ==(other) {
|
||||
bool operator ==(Object other) {
|
||||
return (other is Signature) &&
|
||||
(name == other.name) &&
|
||||
(email == other.email) &&
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/stash.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/stash.dart' as bindings;
|
||||
|
||||
class Stash {
|
||||
/// Initializes a new instance of [Stash] class from provided stash [index],
|
||||
|
@ -42,12 +42,14 @@ class Stash {
|
|||
}) {
|
||||
final int flagsInt = flags.fold(0, (acc, e) => acc | e.value);
|
||||
|
||||
return Oid(bindings.save(
|
||||
return Oid(
|
||||
bindings.save(
|
||||
repoPointer: repo.pointer,
|
||||
stasherPointer: stasher.pointer,
|
||||
message: message,
|
||||
flags: flagsInt,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Applies a single stashed state from the stash list.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/submodule.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/submodule.dart' as bindings;
|
||||
|
||||
class Submodule {
|
||||
/// Lookups submodule information by [name] or path (they are usually the
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/object.dart' as object_bindings;
|
||||
import 'bindings/tag.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/object.dart' as object_bindings;
|
||||
import 'package:libgit2dart/src/bindings/tag.dart' as bindings;
|
||||
|
||||
class Tag {
|
||||
/// Initializes a new instance of [Tag] class from provided pointer to
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
||||
import 'bindings/diff.dart' as diff_bindings;
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/tree.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/diff.dart' as diff_bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/tree.dart' as bindings;
|
||||
|
||||
class Tree {
|
||||
/// Initializes a new instance of [Tree] class from provided pointer to
|
||||
|
@ -31,12 +30,16 @@ class Tree {
|
|||
/// List with tree entries of a tree.
|
||||
List<TreeEntry> get entries {
|
||||
final entryCount = bindings.entryCount(_treePointer);
|
||||
var result = <TreeEntry>[];
|
||||
final result = <TreeEntry>[];
|
||||
for (var i = 0; i < entryCount; i++) {
|
||||
result.add(TreeEntry(bindings.getByIndex(
|
||||
result.add(
|
||||
TreeEntry(
|
||||
bindings.getByIndex(
|
||||
treePointer: _treePointer,
|
||||
index: i,
|
||||
)));
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -54,23 +57,30 @@ class Tree {
|
|||
/// Throws [ArgumentError] if provided [value] is not int or string.
|
||||
TreeEntry operator [](Object value) {
|
||||
if (value is int) {
|
||||
return TreeEntry(bindings.getByIndex(
|
||||
return TreeEntry(
|
||||
bindings.getByIndex(
|
||||
treePointer: _treePointer,
|
||||
index: value,
|
||||
));
|
||||
),
|
||||
);
|
||||
} else if (value is String && value.contains('/')) {
|
||||
return TreeEntry(bindings.getByPath(
|
||||
return TreeEntry(
|
||||
bindings.getByPath(
|
||||
rootPointer: _treePointer,
|
||||
path: value,
|
||||
));
|
||||
),
|
||||
);
|
||||
} else if (value is String) {
|
||||
return TreeEntry(bindings.getByName(
|
||||
return TreeEntry(
|
||||
bindings.getByName(
|
||||
treePointer: _treePointer,
|
||||
filename: value,
|
||||
));
|
||||
),
|
||||
);
|
||||
} else {
|
||||
throw ArgumentError.value(
|
||||
'$value should be either index position, filename or path');
|
||||
'$value should be either index position, filename or path',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -96,13 +106,15 @@ class Tree {
|
|||
int contextLines = 3,
|
||||
int interhunkLines = 0,
|
||||
}) {
|
||||
return Diff(diff_bindings.treeToWorkdir(
|
||||
return Diff(
|
||||
diff_bindings.treeToWorkdir(
|
||||
repoPointer: bindings.owner(_treePointer),
|
||||
treePointer: _treePointer,
|
||||
flags: flags.fold(0, (acc, e) => acc | e.value),
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Creates a diff between a tree and repository index.
|
||||
|
@ -122,14 +134,16 @@ class Tree {
|
|||
int contextLines = 3,
|
||||
int interhunkLines = 0,
|
||||
}) {
|
||||
return Diff(diff_bindings.treeToIndex(
|
||||
return Diff(
|
||||
diff_bindings.treeToIndex(
|
||||
repoPointer: bindings.owner(_treePointer),
|
||||
treePointer: _treePointer,
|
||||
indexPointer: index.pointer,
|
||||
flags: flags.fold(0, (acc, e) => acc | e.value),
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Creates a diff with the difference between two tree objects.
|
||||
|
@ -151,14 +165,16 @@ class Tree {
|
|||
int contextLines = 3,
|
||||
int interhunkLines = 0,
|
||||
}) {
|
||||
return Diff(diff_bindings.treeToTree(
|
||||
return Diff(
|
||||
diff_bindings.treeToTree(
|
||||
repoPointer: bindings.owner(_treePointer),
|
||||
oldTreePointer: _treePointer,
|
||||
newTreePointer: tree.pointer,
|
||||
flags: flags.fold(0, (acc, e) => acc | e.value),
|
||||
contextLines: contextLines,
|
||||
interhunkLines: interhunkLines,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Releases memory allocated for tree object.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/treebuilder.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/treebuilder.dart' as bindings;
|
||||
|
||||
class TreeBuilder {
|
||||
/// Initializes a new instance of [TreeBuilder] class from provided
|
||||
|
@ -36,10 +36,12 @@ class TreeBuilder {
|
|||
///
|
||||
/// Throws [ArgumentError] if nothing found for provided [filename].
|
||||
TreeEntry operator [](String filename) {
|
||||
return TreeEntry(bindings.getByFilename(
|
||||
return TreeEntry(
|
||||
bindings.getByFilename(
|
||||
builderPointer: _treeBuilderPointer,
|
||||
filename: filename,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Adds or updates an entry to the tree builder with the given attributes.
|
||||
|
|
|
@ -3,12 +3,13 @@
|
|||
import 'dart:ffi';
|
||||
import 'dart:io';
|
||||
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
|
||||
DynamicLibrary loadLibrary() {
|
||||
if (Platform.isLinux || Platform.isAndroid || Platform.isFuchsia) {
|
||||
return DynamicLibrary.open(
|
||||
'${Directory.current.path}/libgit2/libgit2.so.1.3.0');
|
||||
'${Directory.current.path}/libgit2/libgit2.so.1.3.0',
|
||||
);
|
||||
}
|
||||
// if (Platform.isMacOS) {
|
||||
// return DynamicLibrary.open(
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import 'dart:ffi';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'bindings/libgit2_bindings.dart';
|
||||
import 'bindings/worktree.dart' as bindings;
|
||||
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
|
||||
import 'package:libgit2dart/src/bindings/worktree.dart' as bindings;
|
||||
|
||||
class Worktree {
|
||||
/// Creates new worktree.
|
||||
|
|
|
@ -8,10 +8,10 @@ environment:
|
|||
dependencies:
|
||||
|
||||
dev_dependencies:
|
||||
lints: ^1.0.1
|
||||
ffigen: ^4.0.0
|
||||
test: ^1.17.5
|
||||
lints: ^1.0.1
|
||||
path: ^1.8.0
|
||||
test: ^1.17.5
|
||||
|
||||
ffigen:
|
||||
output: "lib/src/bindings/libgit2_bindings.dart"
|
||||
|
|
|
@ -118,7 +118,7 @@ void main() {
|
|||
expect(config['core.bare'].value, 'false');
|
||||
});
|
||||
|
||||
test('throws when variable isn\'t found', () {
|
||||
test("throws when variable isn't found", () {
|
||||
expect(
|
||||
() => config['not.there'],
|
||||
throwsA(
|
||||
|
@ -192,7 +192,7 @@ void main() {
|
|||
expect(
|
||||
config.multivar(
|
||||
variable: 'core.gitproxy',
|
||||
regexp: 'for kernel.org\$',
|
||||
regexp: r'for kernel.org$',
|
||||
),
|
||||
['proxy-command for kernel.org'],
|
||||
);
|
||||
|
@ -234,20 +234,20 @@ void main() {
|
|||
expect(
|
||||
config.multivar(
|
||||
variable: 'core.gitproxy',
|
||||
regexp: 'for kernel.org\$',
|
||||
regexp: r'for kernel.org$',
|
||||
),
|
||||
['proxy-command for kernel.org'],
|
||||
);
|
||||
|
||||
config.deleteMultivar(
|
||||
variable: 'core.gitproxy',
|
||||
regexp: 'for kernel.org\$',
|
||||
regexp: r'for kernel.org$',
|
||||
);
|
||||
|
||||
expect(
|
||||
config.multivar(
|
||||
variable: 'core.gitproxy',
|
||||
regexp: 'for kernel.org\$',
|
||||
regexp: r'for kernel.org$',
|
||||
),
|
||||
<String>[],
|
||||
);
|
||||
|
|
|
@ -217,7 +217,7 @@ index e69de29..c217c63 100644
|
|||
test('throws when trying to diff between null and tree', () {
|
||||
final tree = repo.lookupTree(repo['b85d53c']);
|
||||
expect(
|
||||
() => repo.diff(a: null, b: tree),
|
||||
() => repo.diff(b: tree),
|
||||
throwsA(
|
||||
isA<ArgumentError>().having(
|
||||
(e) => e.message,
|
||||
|
|
|
@ -172,7 +172,9 @@ void main() {
|
|||
|
||||
test('returns string representation of object', () {
|
||||
expect(
|
||||
GitMergeFileFlag.defaults.toString(), 'GitMergeFileFlag.defaults');
|
||||
GitMergeFileFlag.defaults.toString(),
|
||||
'GitMergeFileFlag.defaults',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -413,7 +415,9 @@ void main() {
|
|||
|
||||
test('returns string representation of object', () {
|
||||
expect(
|
||||
GitFetchPrune.unspecified.toString(), 'GitFetchPrune.unspecified');
|
||||
GitFetchPrune.unspecified.toString(),
|
||||
'GitFetchPrune.unspecified',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -552,7 +556,9 @@ void main() {
|
|||
|
||||
test('returns string representation of object', () {
|
||||
expect(
|
||||
GitSubmoduleStatus.inHead.toString(), 'GitSubmoduleStatus.inHead');
|
||||
GitSubmoduleStatus.inHead.toString(),
|
||||
'GitSubmoduleStatus.inHead',
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -89,7 +89,7 @@ void main() {
|
|||
odb.free();
|
||||
});
|
||||
|
||||
test('returns list of all objects oid\'s in database', () {
|
||||
test("returns list of all objects oid's in database", () {
|
||||
final odb = repo.odb;
|
||||
|
||||
expect(odb.objects, isNot(isEmpty));
|
||||
|
|
|
@ -70,7 +70,7 @@ void main() {
|
|||
});
|
||||
|
||||
test('prune() successfully prunes branches', () {
|
||||
var pruned = <String>[];
|
||||
final pruned = <String>[];
|
||||
void updateTips(String refname, Oid oldOid, Oid newOid) {
|
||||
pruned.add(refname);
|
||||
}
|
||||
|
|
|
@ -315,7 +315,7 @@ void main() {
|
|||
);
|
||||
});
|
||||
|
||||
test('successfully returns remote repo\'s reference list', () {
|
||||
test("successfully returns remote repo's reference list", () {
|
||||
Remote.setUrl(
|
||||
repo: repo,
|
||||
remote: 'libgit2',
|
||||
|
@ -329,7 +329,7 @@ void main() {
|
|||
expect(refs.first['name'], 'HEAD');
|
||||
expect(refs.first['symref'], 'refs/heads/master');
|
||||
expect(
|
||||
(refs.first['oid'] as Oid).sha,
|
||||
(refs.first['oid']! as Oid).sha,
|
||||
'49322bb17d3acc9146f98c97d078513228bbf3c0',
|
||||
);
|
||||
|
||||
|
@ -337,8 +337,8 @@ void main() {
|
|||
});
|
||||
|
||||
test(
|
||||
'throws when trying to get remote repo\'s reference list with '
|
||||
'invalid url', () {
|
||||
"throws when trying to get remote repo's reference list with "
|
||||
"invalid url", () {
|
||||
Remote.setUrl(repo: repo, remote: 'libgit2', url: 'invalid');
|
||||
final remote = repo.lookupRemote('libgit2');
|
||||
|
||||
|
@ -504,7 +504,7 @@ Total 69 (delta 0), reused 1 (delta 0), pack-reused 68
|
|||
);
|
||||
final remote = repo.lookupRemote('libgit2');
|
||||
|
||||
var sidebandOutput = StringBuffer();
|
||||
final sidebandOutput = StringBuffer();
|
||||
void sideband(String message) {
|
||||
sidebandOutput.write(message);
|
||||
}
|
||||
|
@ -542,7 +542,7 @@ Total 69 (delta 0), reused 1 (delta 0), pack-reused 68
|
|||
},
|
||||
];
|
||||
|
||||
var updateTipsOutput = <Map<String, String>>[];
|
||||
final updateTipsOutput = <Map<String, String>>[];
|
||||
void updateTips(String refname, Oid oldOid, Oid newOid) {
|
||||
updateTipsOutput.add({
|
||||
'refname': refname,
|
||||
|
@ -576,7 +576,7 @@ Total 69 (delta 0), reused 1 (delta 0), pack-reused 68
|
|||
repo.createRemote(name: 'local', url: originDir.path);
|
||||
final remote = repo.lookupRemote('local');
|
||||
|
||||
var updateRefOutput = <String, String>{};
|
||||
final updateRefOutput = <String, String>{};
|
||||
void updateRef(String refname, String message) {
|
||||
updateRefOutput[refname] = message;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
// ignore_for_file: avoid_positional_boolean_parameters
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
|
@ -101,13 +103,13 @@ void main() {
|
|||
});
|
||||
|
||||
test('successfully clones repository with provided repository callback',
|
||||
() async {
|
||||
() {
|
||||
final callbackPath =
|
||||
Directory('${Directory.systemTemp.path}/callbackRepo');
|
||||
if (await callbackPath.exists()) {
|
||||
callbackPath.delete(recursive: true);
|
||||
if (callbackPath.existsSync()) {
|
||||
callbackPath.deleteSync(recursive: true);
|
||||
}
|
||||
callbackPath.create();
|
||||
callbackPath.createSync();
|
||||
|
||||
Repository repository(String path, bool bare) =>
|
||||
Repository.init(path: callbackPath.path);
|
||||
|
@ -123,7 +125,7 @@ void main() {
|
|||
expect(clonedRepo.path, '${callbackPath.path}/.git/');
|
||||
|
||||
clonedRepo.free();
|
||||
callbackPath.delete(recursive: true);
|
||||
callbackPath.deleteSync(recursive: true);
|
||||
});
|
||||
|
||||
test('throws when cloning repository with invalid repository callback', () {
|
||||
|
|
|
@ -8,7 +8,7 @@ void main() {
|
|||
late Repository repo;
|
||||
|
||||
group('Repository.open', () {
|
||||
test('throws when repository isn\'t found at provided path', () {
|
||||
test("throws when repository isn't found at provided path", () {
|
||||
expect(
|
||||
() => Repository.open(''),
|
||||
throwsA(isA<LibGit2Error>()),
|
||||
|
@ -71,7 +71,7 @@ void main() {
|
|||
);
|
||||
});
|
||||
|
||||
test('returns path to parent repo\'s .git folder for the repository', () {
|
||||
test("returns path to parent repo's .git folder for the repository", () {
|
||||
expect(
|
||||
repo.commonDir,
|
||||
'${Directory.current.path}/test/assets/empty_standard/.gitdir/',
|
||||
|
|
|
@ -13,7 +13,6 @@ void main() {
|
|||
name: name,
|
||||
email: email,
|
||||
time: time,
|
||||
offset: offset,
|
||||
);
|
||||
});
|
||||
|
||||
|
@ -80,7 +79,6 @@ void main() {
|
|||
name: name,
|
||||
email: email,
|
||||
time: time,
|
||||
offset: offset,
|
||||
);
|
||||
expect(signature == otherSignature, true);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue