A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/GitoxideLabs/gitoxide/commit/fdfb2398d09fa496b1daa8e7318acfc40a3bd3f7 below:

Merge pull request #2000 from GitoxideLabs/improvements · GitoxideLabs/gitoxide@fdfb239 · GitHub

File tree Expand file treeCollapse file tree 2 files changed

+35

-3

lines changed

Filter options

Expand file treeCollapse file tree 2 files changed

+35

-3

lines changed Original file line number Diff line number Diff line change

@@ -219,6 +219,20 @@ pub mod merge_base_octopus {

219 219

}

220 220

}

221 221 222 +

///

223 +

#[cfg(feature = "revision")]

224 +

pub mod merge_bases_many {

225 +

/// The error returned by [Repository::merge_bases_many()](crate::Repository::merge_bases_many()).

226 +

#[derive(Debug, thiserror::Error)]

227 +

#[allow(missing_docs)]

228 +

pub enum Error {

229 +

#[error(transparent)]

230 +

OpenCache(#[from] crate::repository::commit_graph_if_enabled::Error),

231 +

#[error(transparent)]

232 +

MergeBase(#[from] gix_revision::merge_base::Error),

233 +

}

234 +

}

235 + 222 236

///

223 237

#[cfg(feature = "merge")]

224 238

pub mod tree_merge_options {

Original file line number Diff line number Diff line change

@@ -82,11 +82,11 @@ impl crate::Repository {

82 82

Ok(bases[0].attach(self))

83 83

}

84 84 85 -

/// Obtain all merge-bases between commit `one` and `others`, or an empty list if there is none, providing a

86 -

/// commit-graph `graph` to potentially greatly accelerate the operation.

85 +

/// Get all merge-bases between commit `one` and `others`, or an empty list if there is none, providing a

86 +

/// commit-graph `graph` to potentially greatly speed up the operation.

87 87

///

88 88

/// # Performance

89 -

/// Be sure to [set an object cache](crate::Repository::object_cache_size_if_unset) to accelerate repeated commit lookups.

89 +

/// Be sure to [set an object cache](crate::Repository::object_cache_size_if_unset) to speed up repeated commit lookups.

90 90

#[doc(alias = "merge_bases_many", alias = "git2")]

91 91

#[cfg(feature = "revision")]

92 92

pub fn merge_bases_many_with_graph(

@@ -104,6 +104,24 @@ impl crate::Repository {

104 104

.collect())

105 105

}

106 106 107 +

/// Like [`merge_bases_many_with_graph()`](Self::merge_bases_many_with_graph), but without the ability to speed up consecutive calls with a [graph](gix_revwalk::Graph).

108 +

///

109 +

/// # Performance

110 +

///

111 +

/// Be sure to [set an object cache](crate::Repository::object_cache_size_if_unset) to speed up repeated commit lookups, and consider

112 +

/// using [`merge_bases_many_with_graph()`](Self::merge_bases_many_with_graph) for consecutive calls.

113 +

#[doc(alias = "git2")]

114 +

#[cfg(feature = "revision")]

115 +

pub fn merge_bases_many(

116 +

&self,

117 +

one: impl Into<gix_hash::ObjectId>,

118 +

others: &[gix_hash::ObjectId],

119 +

) -> Result<Vec<Id<'_>>, crate::repository::merge_bases_many::Error> {

120 +

let cache = self.commit_graph_if_enabled()?;

121 +

let mut graph = self.revision_graph(cache.as_ref());

122 +

Ok(self.merge_bases_many_with_graph(one, others, &mut graph)?)

123 +

}

124 + 107 125

/// Return the best merge-base among all `commits`, or fail if `commits` yields no commit or no merge-base was found.

108 126

///

109 127

/// Use `graph` to speed up repeated calls.

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4