Merging leaves repo in "still merging" state

Offen
#1,232 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
git, python
Bereich
devtools

Rechercherichtung

Reproduziere das Problem mithilfe der Bash- und Python-Snippets und untersuche anschließend die Einstiegspunkte r.merge und r.create_commit sowie, wie sie den Merge-Status aktualisieren. Bestätige das Verhalten mit git status; abgeschlossen ist die Aufgabe, wenn derselbe Commit-Ablauf nicht mehr meldet, dass sich das Repository noch im Merge befindet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

After executing a merge as suggested in the docs, a git status suggests that "you are still merging".

Bash:

git init mergable
cd mergable
echo a > a
git add .
git commit -m "initial"
git switch -c mergy
echo b > b
git add b
git commit -m "additional"
git switch master
cd ..
git clone mergable mergable-clone

Python:

import pygit2
r = pygit2.Repository("mergable-clone")
mergy = r.references["refs/remotes/origin/mergy"]
parents = [r.head.target, mergy.target]
r.merge(mergy.target)

r.create_commit(
    "HEAD",
    pygit2.Signature("aaa", "mergy@merge.ch"),
    pygit2.Signature("aaa", "mergy@merge.ch"),
    "merge",
    r.index.write_tree(),
    parents
)

Bash:

cd mergable-clone
git status

Returns:

On branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Another git commit silences the message.

Vorherrschende Sprache
Python
Sterne
1.7k
Forks
408
Ø Merge
2 T. 57 Min.
Gemergte PRs (30 T.)
7

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus libgit2/pygit2

Alle Issues in libgit2/pygit2

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.