libgit2 / libgit2/libgit2sharp

Unstage file and disposing Repository

Open
#1,380 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
3.5k
Forks
925
PR merge metrics
No merged PRs in 30d

Description

Hello Im new in gitlib2sharp world and maybe I dont know all issues but here is my problem or maybe a bug.

using (var repo = new Repository(path))
{
     FileStatus statusOfFileBeforeUnstageInFirstScope = repo.RetrieveStatus(relativePath);
     Commands.Unstage(repo, relativePath);
     FileStatus statusOfFileAfterUnstageInFirstScope = repo.RetrieveStatus(relativePath);
}

using (var repo = new Repository(path))
{
     FileStatus statusOfFileAfterUnsgaeSecondScope= repo.RetrieveStatus(relativePath);
}

Can someone tell me why variables statusOfFileBeforeUnstageInFirstScope and statusOfFileAfterUnsgaeSecondScope has same values: 'ModifiedInIndex'. After Unstage operation I have good state but after disposing Repository state is changed.

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

Start with the Repository(path) lifecycle and the Commands.Unstage and RetrieveStatus calls shown in the issue. Compare the reported status inside each using scope and after Repository disposal; done means the disposal-related status behavior is explained or corrected and the before/after results are consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, git
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.