Verfolger

From FreeCAD Documentation
Revision as of 10:07, 1 November 2020 by Maker (talk | contribs) (Created page with "* Stelle sicher, dass du die aktuellste Version von FreeCAD verwendest. '''ANMERKUNGː''' Dein Fehler ist möglicherweise in der (instabilen) Entwicklungsversion behoben. Der...")
link=https://freecadweb.org/tracker/MantisBT ist das von FreeCAD verwendete Fehlerverfolger Rahmenstruktur
link=https://freecadweb.org/tracker/MantisBT ist das von FreeCAD verwendete Fehlerverfolger Rahmenstruktur

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, erstelle einen Änderungssatz mit dem Git diff Werkzeug und sende ihn auf demselben Fehlerverfolger (Datei als Patch ablegen).

Addendumː Die FreeCAD Entwicklung ist auf das GitHub Entwicklungsmodell umgestiegen, so dass der Arbeitsablauf für das Einreichen von Patches durch das Einreichen von Pull Requests stark verbessert/gestrafft wurde.

  • Öffne ein Forumsthema im Unterforum für Entwickler, um deinen Patch anzukündigen und zu diskutieren.
  • Reiche deinen PR an das FreeCAD GitHub Repo ein. Stelle sicher, das Forumsthema mit der Git Commit Zusammenfassung zu verknüpfen.
  • Füge die PR-Verknüpfung in das Forumsthema ein, damit die Entwickler/Tester den Patch testen können.
  • Sei bei der Diskussion anwesend, damit dein Code möglicherweise effektiver zusammengeführt werden kann.

Anmerkung die FreeCAD Gemeinschaft empfiehlt, jede größere Überarbeitung des Quellcodes im Voraus zu diskutieren, um allen Zeit zu sparen.

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 Markup

MantisBT (Mantis Bug Tracker) has it's own unique markup.

  • @mention - works just like on GitHub where if you prepend '@' to someone's username they will receive an email that they have been 'mentioned' in a ticket thread
  • #1234 - By adding a hash tag in front of a number a shortcut to link to another ticket within MantisBT will present.
    Note: if you hover over a ticket it will show you the summary + if the ticket is closed, it will be struck-through like #1234.
  • ~5678 - a shortcut that links to a bug note within a ticket. This can be used to reference someone's response within the thread. Each person that posts will show a unique ~#### number next to their username. If you look at the image in the example, you see that the shortcut is referencing the ticket number:comment number of said ticket
  • <del></del> - Using these tags will strikeout text.
  • <code></code> - To present a line or block of code, use this tag and it will colorize and differentiate it elegantly.

MantisBT BBCode

In addition to the above MantisBT Markup one also has the possibility to use BBCode format. For a comprehensive list see the BBCode plus plugin page. Here is a list of supported BBCode tagsː
[img][/img] - Images
[url][/url] - Links
[email][/email] - Email addresses
[color=red][/color] - Colored text
[highlight=yellow][/highlight] - Highlighted text
[size][/size] - Font size
[list][/list] - Lists
[list=1][/list] - Numbered lists (number is starting number)
[*] - List items
[b][/b] - Bold
[u][/u] - underline
[i][/i] - Italic
[s][/s] - Strikethrough
[left][/left] - Left align
[center][/center] - Center
[right][/right] - Right align
[justify][/justify] - Justify
[hr] - Horizontal rule
[sub][/sub] - Subscript
[sup][/sup] - Superscript
[table][/table] - Table
[table=1][/table] - Table with border of specified width
[tr][/tr] - Table row
[td][/td] - Table column
[code][/code] - Code block
[code=sql][/code] - Code block with language definition
[code start=3][/code] - Code block with line numbers starting at number
[quote][/quote] - Quote by *someone* (no name)
[quote=name][/quote] - Quote by *name*

MantisBT <=> GitHub Markup

Below are special MantisBT Source-Integration plugin keywords which will link to the FreeCAD GitHub repo. See Tracker#GitHub_and_MantisBT.

  • c:FreeCAD:git commit hash: - c stands for 'commit'. FreeCAD stands for the FreeCAD GitHub repo. 'git commit hash' is the specific git commit hash to reference. Note: the trailing colon is necessary. Exampleː cːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː
  • d:FreeCAD:git commit hash: - similar to the above, d stands for 'diff' which will provide a Diff view of the commit. Exampleː dːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː
  • p:FreeCAD:pullrequest: - similar to the above, p stands for Pull Request. Exampleː 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

Verwandtes