rust-lang / rust-lang/git2-rs

merge doesn't seem to work

Open
#449 3 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.