mirror of
https://github.com/SkinnyMind/libgit2dart.git
synced 2025-05-05 20:59:08 -04:00
feat(reset): add bindings and api
This commit is contained in:
parent
7618f944c0
commit
2ae5751efa
4 changed files with 127 additions and 0 deletions
29
lib/src/bindings/reset.dart
Normal file
29
lib/src/bindings/reset.dart
Normal file
|
@ -0,0 +1,29 @@
|
|||
import 'dart:ffi';
|
||||
import '../error.dart';
|
||||
import 'libgit2_bindings.dart';
|
||||
import '../util.dart';
|
||||
|
||||
/// Sets the current head to the specified commit oid and optionally resets the index
|
||||
/// and working tree to match.
|
||||
///
|
||||
/// SOFT reset means the Head will be moved to the commit.
|
||||
///
|
||||
/// MIXED reset will trigger a SOFT reset, plus the index will be replaced with the
|
||||
/// content of the commit tree.
|
||||
///
|
||||
/// HARD reset will trigger a MIXED reset and the working directory will be replaced
|
||||
/// with the content of the index. (Untracked and ignored files will be left alone, however.)
|
||||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
void reset(
|
||||
Pointer<git_repository> repo,
|
||||
Pointer<git_object> target,
|
||||
int resetType,
|
||||
Pointer<git_checkout_options> checkoutOpts,
|
||||
) {
|
||||
final error = libgit2.git_reset(repo, target, resetType, checkoutOpts);
|
||||
|
||||
if (error < 0) {
|
||||
throw LibGit2Error(libgit2.git_error_last());
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue