Verfolger

From FreeCAD Documentation
This page is a translated version of the page Tracker and the translation is 100% complete.
Im Februar 2022 wurde das FreeCAD-Bug-Tracking nach GitHub Issues verschoben. Der unten beschriebene Mantis-Bug-Tracker ist jetzt im Read-Only-Modus.
link=https://freecadweb.org/tracker/MantisBT ist das von FreeCAD verwendete Fehlerverfolgungs-Rahmenwerk
link=https://freecadweb.org/tracker/MantisBT ist das von FreeCAD verwendete Fehlerverfolgungs-Rahmenwerk

Der FreeCAD FehlerVerfolger ist der Ort umː Fehler zu melden, Funktionsanfragen zu übermitteln, Änderungssätze einzureichen oder deine Verzweigung zusammenführen zu können, wenn du etwas unter Verwendung von Git entwickelt hast. Der Verfolger ist in 'Arbeitsbereiche' unterteilt, also sei bitte präzise und reiche deine Anfrage in dem entsprechenden Unterabschnitt ein. Im Zweifelsfall belasse sie im Abschnitt "FreeCAD".


Empfohlener Arbeitsablauf

Wie im obigen Flussdiagramm dargestellt, durchsuche bitte vor dem Erstellen von Tickets immer zuerst die Foren und den Fehlerverfolger, um herauszufinden, ob dein Problem ein bekanntes Problem ist. Dies erspart Entwicklern und Freiwilligen eine Menge Zeit/Arbeit, die diese Zeit damit verbringen könnte, FreeCAD noch fantastischer zu machen.

Fehler melden

Wenn du glaubst, einen Fehler gefunden zu haben, kannst du ihn gerne melden, solange du unsere Schritt-für-Schritt-Richtlinien befolgt hast.

  • Stelle sicher, dass du die aktuellste Version von FreeCAD verwendest. ANMERKUNGː Dein Fehler ist möglicherweise in der (instabilen) Entwicklungsversion behoben. Der durchschnittliche Benutzer verwendet die stabile Version von FC.
  • Stelle sicher, dass dein Fehler wirklich ein Fehler ist, d.h. etwas, das funktionieren sollte, es aber nicht tut. Stelle sicher, dass derselbe Fehler nicht schon einmal gemeldet wurde, indem du zuerst den Fehlerverfolger und das Forum durchsuchst.
    • Bedenkeː Wenn du dir nicht sicher ist, zögere bitte nicht, dein Problem/Fehler im Hilfeforum zu erklären und zu fragen, was zu tun ist.
    • Hinweis'ː Bevor ein Beitrag fürs Forum verfasst wird, lies bitte die Forumsrichtlinien.
  • Beschreibe so klar wie möglich das Problem und wie es reproduziert werden kann. Wenn wir den Fehler nicht verifizieren können, sind wir möglicherweise nicht in der Lage, ihn zu beheben.
    • Das bedeutet 'Berichterstattung in einer klaren, gut formatierten, Schritt-für-Schritt Art und Weise, so dass selbst ein Amateuranwender den Fehler reproduzieren kann.
    • Empfohlenː Bildschirmfotos des Fehlers sind ebenfalls sehr hilfreich einzufügen. Windowsanwender: Bitte füge keine Bildschirmfotos im Word oder PDF Format bei. Verwende das Windows Snipping Werkzeug, um dein Aufnahme als PNG Bild zu speichern.
    • Empfohlenː Noch besser, ein Animiertes Gif oder Screencast würde auch die Wahrscheinlichkeit erhöhen, das Problem zu reproduzieren.
  • Füge eine Beispiel FreeCAD Datei hinzu (.FCStd Datei), damit Entwickler/Tester den Fehler schnell reproduzieren können.
    • Bitte packe deine *.FCStd-Datei nicht, sie ist bereits gepackt.
    • Dateianhänge sind in der Größe begrenzt. Wenn deine *.FCStd Datei zu groß ist, um sie anzuhängen, kannst du einen Online Speicherdienst nutzen (viele sind kostenlos wie Google Drive, Microsoft OneDrive, Dropbox).
  • Füge alle Informationen aus der Schaltfläche "In die Zwischenablage kopieren" in den Dialog Hilfe (Menü) -> Über FreeCAD' ein. Stelle sicher, dass deine Daten deine OCC oder OCE Version enthält.
  • Bitte reiche für jeden Fehler einen separaten Bericht ein.
  • Wenn dein Fehler einen Absturz in FreeCAD verursacht und du dich auf einem System befindest, das dies unterstützt, kannst du versuchen, einen debug backtrace auszuführen und diesen Trace an das Ticket anzuhängen. Dies kann Entwicklern viel Zeit ersparen, die Quelle des Absturzes zu lokalisieren. Siehe Fehlerdiagnose für weitere Einzelheiten.

Anfordern von Funktionen

Wenn du möchtest, dass etwas in FreeCAD erscheint, das noch nicht implementiert ist, es handelt sich nicht um einen Fehler, sondern um eine Funktionsanfrage.

  1. WICHTIGː Bevor ein potentielle Funktionsanfrage gestellt wird, stelle bitte sicher, dass du der erstebist, der dies tut, indem du die Foren und den Fehlerverfolger durchsuchst. Wenn du zu dem Schluss gekommen bist, dass es keine bereits existierenden Tickets / Diskussionen gibt, ist der nächste Schrittː
  2. Starte einen Forumsbeitrag, um deinen Funktionsanfrage mit der Gemeinschaft über das Diskussionsforum öffnen zu diskutieren.
  3. Sobald die Gemeinschaft damit einverstanden ist, dass es sich um ein gültige Funktion handelt, kannst du ein Ticket auf dem Fehlerverfolger öffnen (legen es unter Funktionsanfrage statt Fehler ab).
  • ANMERKUNG #1 Um die Dinge in Ordnung zu halten, denke bitte daran, die URL des Forumsbeitrag in das Ticket und die Ticketnummer (als Verknüpfung) in den Forumbeitrag zu verknüpfen.
  • ANMERKUNG #2 Beachte bitte, dass es keine Garantien gibt, dass dein Wunsch erfüllt wird.
FreeCAD Fehlerverfolger-Berichtsseite - verwende die Auswahlliste, um korrekt zu bestimmen, was das Ticket ist

Einreichen von Änderungssätzen

Falls du eine Fehlerbehebung, eine Erweiterung oder etwas anderes programmiert hast, das in FreeCAD von öffentlichem Nutzen sein kann, sende deinen Änderungssatz als "Pull Request" an GitHub.

  1. Für große, komplexe oder ablaufändernde Einsendungen öffnet man einen ForumThread im Developer subforum, um den Änderungssatz anzukündigen und zu diskutieren. Für kleine Fehlerbehebungen ist dies nicht nötig.
  2. Der Pull Request (PR) wird an das FreeCAD GitHub repo gesendet. Die PR-Sendungsbenachrichtigung wird vorausgefüllt mit einer Checkliste, der man folgen kann, um sicherzugehen, dass die Einsendung die besten Chancen hat, schnell akzeptiert zu werden. Wer noch nicht mit git gearbeitet hat oder sich mit dem Senden eines PR nach github nicht sicher auskennt, sollte unsere Wiki-Seite zur Einführung in github lesen.
  3. Man sollte für Diskussionen erreichbar sein, sowohl im Forum als auch für den GitHub-Pull-Request, damit der Kode möglichst effektiv eingefügt werden kann.

Zusammenführen anfragen

(Dieselben Richtlinien wie Einreichen von Änderungssätzen)

Wenn du einen Git Zweig erstellt hast, der Änderungen enthält, die du gerne im FreeCAD Code zusammengeführt sehen möchtest, kannst du dort darum bitten, dass dein Zweig überprüft und zusammengeführt wird, wenn die FreeCAD Entwickler damit einverstanden sind. Du musst zuerst deinen Zweig in einem öffentlichen Git Repositorium (github, gitlab, bitbucket, sourceforge etc...) veröffentlichen und dann die URL deines Zweiges in deiner Zusammenführungsanfrage angeben.

MantisBT Tips und Tricks

MantisBT Kennzeichnungen

MantisBT (Mantis Bug Tracker) hat seine eigene einzigartige Kennzeichnung.

  • @mention - funktioniert genau wie bei GitHub, wo, wenn du dem Benutzernamen von jemandem ein '@' voranstellen, dieser eine E-Mail erhält, dass er in einem Ticket Beitrag 'erwähnt' wurde.
  • #1234 - Durch Hinzufügen eines Hashtags vor einer Nummer wird eine Verknüpfung zu einem anderen Ticket innerhalb von MantisBT angezeigt.
    Hinweis': wenn du der Maus über ein Ticket fährst, wird dir die Zusammenfassung angezeigt + wenn das Ticket geschlossen ist, wird es durchgestrichen wie #1234.
  • ~5678 - eine Abkürzung, die auf einen Fehlerhinweis innerhalb eines Tickets verweist. Dies kann verwendet werden, um auf die Antwort von jemandem innerhalb des Beitrags zu verweisen. Jede Person, die einen Beitrag verfasst, zeigt eine eindeutige Nummer ~#### neben ihrem Benutzernamen. Wenn du dir das Bild im Beispiel ansiehst, siehst du, dass die Abkürzung auf die Ticketnummer:Kommentarnummer des besagten Tickets verweist
  • <del></del> - Die Verwendung dieser Tags wird Text durchstreichen.
  • <code></code> - Um eine Zeile oder einen Code Block zu präsentieren, verwende diesen Tag, und er wird ihn elegant einfärben und differenzieren.

MantisBT BBCode

Zusätzlich zu dem obigen MantisBT Kennzeichnung hat man auch die Möglichkeit, das BBCode Format zu verwenden. Für eine umfassende Liste siehe die BBCode plus Plugin Seite. Hier ist eine Liste der unterstützten BBCode tagsː
[img][/img] - Bilder
[url][/url] - Verweise
[email][/email] - E-Mail Adressen
[color=red][/color] - Farbiger Text
[highlight=yellow][/highlight] - Hervorgehobener Text
[size][/size] - Schriftgröße
[list][/list] - Listen
[list=1][/list] - Nummerierte Listen (Zahl ist die Startnummer)
[*] - Punkte auflisten
[b][/b] - Fett
[u][/u] - Unterstreichen
[i][/i] - Kursiv
[s][/s] - Durchgestrichen
[left][/left] - Linksbündig
[center][/center] - Zentriert
[right][/right] - Rechtsbündig
[justify][/justify] - Blockanordnung
[hr] - Horizontale Regel
[sub][/sub] - tiefgestellt
[sup][/sup] - Hochgestellt
[Tabelle][/Tabelle] - Tabelle
[table=1][/table] - Tabelle mit Rahmen der angegebenen Breite
[tr][/tr] - Tabellenzeile
[td][/td] - Tabellenspalte
[code][/code] - Code Block
[code=sql][/code] - Codeblock mit Sprachdefinition
[code start=3][/code] - Codeblock mit Zeilennummern, die mit der Zahl beginnen
[quote][/quote] - Zitat von *einem* (kein Name)
[quote=name][/quote] - Zitat nach *Name*

MantisBT <=> GitHub Kennzeichnung

Unten sind spezielle MantisBT Quellcode Integrations Zusatzmodul Schlüsselwörter, die mit dem FreeCAD GitHub Repo verknüpfen. Siehe GitHubd und MantisBT.

  • c:FreeCAD:git commit hash: - c steht für 'commit'. FreeCAD steht für das FreeCAD GitHub Repo. 'git commit hash' ist der spezifische Git Commit Hash, auf den verwiesen wird. Hinweis: Der abschließende Doppelpunkt ist notwendig. Beispielː cːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː
  • d:FreeCAD:git commit hash: - Ähnlich zum oberen "d" steht für "diff", was eine Diff Ansicht der commit liefert. Beispielː dːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː
  • p:FreeCAD:pullrequest: - Ähnlich zum oberen, p steht für Pull Request. Beispielː pːFreeCADː498ː

GitHub und MantisBT

Der FreeCAD Fehlerverfolger verfügt über ein ZUsatzprogramm namens Quellintegration, das im Wesentlichen sowohl das FreeCAD GitHub Repo als auch unseren MantisBT Fehlerverolger verbindet. Es macht es einfacher, Git Verpflichtungen zu verfolgen und mit ihren jeweiligen MantisBT Tickets zu verknüpfen. Das Quellintegrationszusatzprogramm durchsucht die Git Verpflichtungsnachrichten nach bestimmten Schlüsselwörtern, um die folgenden Aktionen auszuführen:

Hinweis Die folgenden Schlüsselwörter müssen in der git commit message und nicht im PR Thema hinzugefügt werden

Fernreferenzierung eines Tickets

Durch die Verwendung dieses Musters wird ein Git Commit automatisch einem Ticket zugeordnet (Hinweis:' dies wird das Ticket nicht schließen). Das Format wird von MantisBT erkannt: The format MantisBT will recognize:

  • bug #1234
  • bugs #1234, #5678
  • issue #1234
  • issues #1234, #5678
  • report #1234
  • reports #1234, #5678

Für die Neugierigen hier ist die regex, die MantisBT für diese Operation verwendet:
/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i

Ferngesteuerte Lösung eines Tickets

Das Format wird von MantisBT erkannt:* fix #1234

  • fixed #1234
  • fixes #1234
  • fixed #1234, #5678
  • fixes #1234, #5678
  • resolve #1234
  • resolved #1234
  • resolves #1234
  • resolved #1234, #5678
  • resolves #1234, #5678

Für die Neugierigen hier ist die regex, die MantisBT für diese Operation verwendet:
/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i