Two conflicts instead of one for renamed file
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Riproduci il conflitto utilizzando il repository test_git collegato e il metodo Pull con MergeOptions.FindRenames abilitato. Inizia esaminando Commands.Pull, repo.Merge e repo.Index.Conflicts; il lavoro è completato quando il caso del file rinominato segnala un conflitto con i valori previsti per Ancestor, Ours e Theirs.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Reproduction steps
- Checkout commit https://github.com/ydanila/test_git from https://github.com/ydanila/test_git
- Renamed README.md to README2.md and commit (will be marked as renamed)
- Pull changes from 'main' using this code
public void Pull(string branch)
{
using (var repo = new Repository(this.repoPath))
{
Configuration config = repo.Config;
var mergeOptions = new MergeOptions
{
FailOnConflict = true,
OnCheckoutProgress = OnCheckoutProgress
};
PullOptions options = new PullOptions
{
FetchOptions = new FetchOptions { CredentialsProvider = this.GetCredentialsProvider() },
MergeOptions = mergeOptions
};
var trackingBranch = repo.Branches[branch];
Signature buildSignature = config.BuildSignature(DateTimeOffset.Now);
var mergeResult = Commands.Pull(repo, buildSignature, options);
if (mergeResult.Status == MergeStatus.Conflicts)
{
repo.Merge(trackingBranch.TrackedBranch, buildSignature);
ConflictCollection conflicts = repo.Index.Conflicts;
var changes = new List<ContentChanges>();
foreach (Conflict conflict in conflicts)
{
// ...
}
}
}
}
Expected behavior
As mergeOptions.FindRenames == true it returns one conflict which has Ancestor==Readme.md, Ours==Readme2.md and Theirs==null (file deleted)
Actual behavior
It returns two conflicts.
First:

Second:

Version of LibGit2Sharp (release number or SHA1)
Latest: 4daf6189b0e20f878348b262d1846eb25bc6d7f6
Operating system(s) tested; .NET runtime tested
Windows .Net Fw 4.7.2
- Lingua principale
- C#
- Stelle
- 3.5k
- Fork
- 925
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di libgit2/libgit2sharp
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
libgit2/libgit2sharp#2193 · 2 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
libgit2/libgit2sharp#2192 · 1 commento ·
-
Website is down Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
libgit2/libgit2sharp#2191 · 2 reazioni ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
libgit2/libgit2sharp#2189 · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
libgit2/libgit2sharp#2187 · 2 commenti ·
Tutte le issue di libgit2/libgit2sharp
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
azurenoops/spin_agent#975 ·
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficoltà 2/5 1-3 ore Idoneità per principianti 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
SubtitleEdit/subtitleedit#15108 · 1 commento ·
-
area/docs-content Bug pulumi/docs
Difficoltà 1/5 1-3 ore Idoneità per principianti 94/100