Ohmyzsh: git-prompt zeigt Fehler an, wenn der aktuelle Branch ein Tag ist

Erstellt am 3. Jan. 2017  ·  3Kommentare  ·  Quelle: ohmyzsh/ohmyzsh

➜  cd ~/.nvm
git_super_status:[:4: integer expression expected: origin/HEAD,
git_super_status:[:7: integer expression expected: origin/master,
git_super_status:[:11: integer expression expected: master
git_super_status:[:23: integer expression expected: master
.nvm
➜  git branch                                                                                                                                                       (tags/v0.33.0,|)
* (HEAD detached at v0.33.0)
  master
git_super_status:[:4: integer expression expected: origin/HEAD,
git_super_status:[:7: integer expression expected: origin/master,
git_super_status:[:11: integer expression expected: master
git_super_status:[:23: integer expression expected: master

Hilfreichster Kommentar

Das gleiche Problem, wenn Sie einfach git init tun:

$ mkdir tmp && cd $_
$ git init
Initialized empty Git repository in /Users/cweekly/.git/
git_super_status:[:4: integer expression expected: yet
git_super_status:[:7: integer expression expected: commits
git_super_status:[:11: integer expression expected: on
git_super_status:[:14: integer expression expected: master
git_super_status:[:23: integer expression expected: master

Alle 3 Kommentare

Zeile 20 in plugins/git-prompt/gitstatus.py enthält eine gierige .*, die nicht gierig sein muss, um zu funktionieren.

Dies ist ein Beispiel, bei dem Gier Probleme verursacht:
79445c1 (HEAD, Tag: v1.0.0-rc.2, Ursprung/Master, Ursprung/HEAD, Master)

die aktuelle Regex wählt v1.0.0-rc.2, origin/master, origin/HEAD, master als Tag aus.
Da dies Leerzeichen enthält, unterbricht es das Ausgabeformat von gitstatuses.

Einfach ein ? nach .* wird das Problem behoben.
Bin mir aber nicht sicher ob das alle Probleme behebt.
Vielleicht sollte es einen stärkeren Ansatz geben, um dies zu analysieren.

Dafür ist bereits ein Pull-Request geöffnet:

4991

Das gleiche Problem, wenn Sie einfach git init tun:

$ mkdir tmp && cd $_
$ git init
Initialized empty Git repository in /Users/cweekly/.git/
git_super_status:[:4: integer expression expected: yet
git_super_status:[:7: integer expression expected: commits
git_super_status:[:11: integer expression expected: on
git_super_status:[:14: integer expression expected: master
git_super_status:[:23: integer expression expected: master

FWIW Ich hatte dieses Problem, als ich heute Morgen ein neues, leeres Repo geklont habe. Nach 20 Minuten Fehlerbehebung entschied ich mich für einen ersten Commit und Push, woraufhin dieser Fehler nicht mehr auftrat. Wenn dies also mit einem neuen, leeren Repository passiert, versuchen Sie, einen Commit zu pushen und sehen Sie, ob er verschwindet. Nicht ideal, aber gut genug.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen