Skip to content

Commit c295db0

Browse files
authored
Merge pull request #2203 from GitoxideLabs/improvements
improvements
2 parents 9365cc3 + 0b2ffed commit c295db0

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

gitoxide-core/src/repository/merge_base.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ pub fn merge_base(
1616
let first_id = repo.rev_parse_single(first.as_str())?;
1717
let other_ids: Vec<_> = others
1818
.iter()
19-
.cloned()
2019
.map(|other| repo.rev_parse_single(other.as_str()).map(gix::Id::detach))
2120
.collect::<Result<_, _>>()?;
2221

gix-merge/src/blob/platform/merge.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,9 @@ pub(super) mod inner {
125125
) -> Result<merge::Command, Error> {
126126
fn write_data(
127127
data: &[u8],
128+
directory: &Path,
128129
) -> std::io::Result<(gix_tempfile::Handle<gix_tempfile::handle::Closed>, PathBuf)> {
129-
let mut file = gix_tempfile::new(Path::new(""), ContainingDirectory::Exists, AutoRemove::Tempfile)?;
130+
let mut file = gix_tempfile::new(directory, ContainingDirectory::Exists, AutoRemove::Tempfile)?;
130131
file.write_all(data)?;
131132
let mut path = Default::default();
132133
file.with_mut(|f| {
@@ -146,17 +147,22 @@ pub(super) mod inner {
146147
kind: ResourceKind::OtherOrTheirs,
147148
})?;
148149

149-
let (base_tmp, base_path) = write_data(base).map_err(|err| Error::CreateTempfile {
150+
let tmp_dir = context
151+
.worktree_dir
152+
.as_deref()
153+
.or(context.git_dir.as_deref())
154+
.unwrap_or(Path::new(""));
155+
let (base_tmp, base_path) = write_data(base, tmp_dir).map_err(|err| Error::CreateTempfile {
150156
rela_path: self.ancestor.rela_path.into(),
151157
kind: ResourceKind::CommonAncestorOrBase,
152158
source: err,
153159
})?;
154-
let (ours_tmp, ours_path) = write_data(ours).map_err(|err| Error::CreateTempfile {
160+
let (ours_tmp, ours_path) = write_data(ours, tmp_dir).map_err(|err| Error::CreateTempfile {
155161
rela_path: self.current.rela_path.into(),
156162
kind: ResourceKind::CurrentOrOurs,
157163
source: err,
158164
})?;
159-
let (theirs_tmp, theirs_path) = write_data(theirs).map_err(|err| Error::CreateTempfile {
165+
let (theirs_tmp, theirs_path) = write_data(theirs, tmp_dir).map_err(|err| Error::CreateTempfile {
160166
rela_path: self.other.rela_path.into(),
161167
kind: ResourceKind::OtherOrTheirs,
162168
source: err,

0 commit comments

Comments
 (0)