mirror of
https://github.com/SkinnyMind/libgit2dart.git
synced 2025-05-05 04:39:07 -04:00
refactor(merge)!: add MergeAnalysis class containing analysis result and merge preference
BREAKING CHANGE: Return value of Merge.analysis(...) changed from List<Object> to MergeAnalysis.
This commit is contained in:
parent
9d61584165
commit
68c95cb54f
2 changed files with 26 additions and 21 deletions
|
@ -46,11 +46,10 @@ class Merge {
|
|||
/// opportunities for merging them into [ourRef] reference (default is
|
||||
/// 'HEAD').
|
||||
///
|
||||
/// Returns list with analysis result and preference for fast forward merge
|
||||
/// values respectively.
|
||||
/// Returns analysis result and preference for fast forward merge.
|
||||
///
|
||||
/// Throws a [LibGit2Error] if error occured.
|
||||
static List<Object> analysis({
|
||||
static MergeAnalysis analysis({
|
||||
required Repository repo,
|
||||
required Oid theirHead,
|
||||
String ourRef = 'HEAD',
|
||||
|
@ -67,14 +66,14 @@ class Merge {
|
|||
theirHeadsLen: 1,
|
||||
);
|
||||
|
||||
final analysisSet = GitMergeAnalysis.values
|
||||
final result = GitMergeAnalysis.values
|
||||
.where((e) => analysisInt[0] & e.value == e.value)
|
||||
.toSet();
|
||||
final mergePreference = GitMergePreference.values.singleWhere(
|
||||
final preference = GitMergePreference.values.singleWhere(
|
||||
(e) => analysisInt[1] == e.value,
|
||||
);
|
||||
|
||||
return <Object>[analysisSet, mergePreference];
|
||||
return MergeAnalysis._(result: result, mergePreference: preference);
|
||||
}
|
||||
|
||||
/// Merges the given [commit] into HEAD, writing the results into the
|
||||
|
@ -296,3 +295,13 @@ class Merge {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
class MergeAnalysis {
|
||||
const MergeAnalysis._({required this.result, required this.mergePreference});
|
||||
|
||||
/// Merge opportunities.
|
||||
final Set<GitMergeAnalysis> result;
|
||||
|
||||
/// The user's stated preference for merges.
|
||||
final GitMergePreference mergePreference;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue