merge doesn't seem to work
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 2.1k
- Forks
- 450
- Avg merge
- 11m
- Merged PRs (30d)
- 1
Description
let reference = self.repo.resolve_reference_from_short_name("FETCH_HEAD")?;
let oid = match reference.target() {
Some(oid) => oid,
None => return Err(Error::from_str("No oid found for FETCH_HEAD")),
};
let fetch_head = self.repo.find_annotated_commit(oid)?;
let checkout = &mut CheckoutBuilder::new();
checkout.safe();
let opts = &mut MergeOptions::new();
opts.fail_on_conflict(true);
self.repo.merge(&[&fetch_head], Some(opts), Some(checkout));
let r: (MergeAnalysis, MergePreference) = self.repo.merge_analysis(&[&fetch_head])?;
println!("Merge Analysis Empty: {:?}", r.0.is_empty());
println!("Index Empty: {:?}", self.repo.index()?.is_empty());
Ok(())
I'm trying to use merge after fetch, but this doesn't have any effect on my repo and index. The index is empty, can anyone explain how to use it?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository file or test is named. Start with Repository::merge and Repository::merge_analysis in the linked git2 documentation, then reproduce the FETCH_HEAD sequence and inspect the returned analysis, index, and checkout state. Done means explaining or correcting why the merge has no visible effect.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, rust
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100