Tracker/it



Il FreeCAD BugTracker è il posto dove segnalare i bug, presentare le richieste di funzionalità, patch, o richiedere di fondere un proprio ramo, se avete sviluppato qualcosa usando Git. Il tracker è suddiviso in moduli, quindi cercate di essere specifici e di presentare la richiesta nella sottosezione appropriata. In caso di dubbio, lasciare il messaggio nella sezione "FreeCAD".

Flusso di lavoro raccomandato


Come mostrato nel diagramma di flusso sopra, prima di creare i ticket, cercare sempre prima nei forum e nel bugtracker per scoprire se il problema è già noto. Ciò consente di far risparmiare un sacco di tempo e di lavoro agli sviluppatori ed ai volontari che possono perciò dedicare più tempo per rendere FreeCAD ancora più fantastico.

Segnalare i bug
Quando si pensa di aver trovato un bug, si è invitati a segnalarlo lì, se si è prima discusso la questione nelle sedi opportune.

Prima di segnalare un bug, si prega di verificare i seguenti punti:


 * Assicurarsi che il problema è veramente un bug, cioè, qualcosa che dovrebbe funzionare e che non funziona. Se non si è sicuri, non esitare a esporre il problema nel forum e chiedere cosa fare.
 * Prima di inviare qualsiasi cosa, leggere le FAQ - domande frequenti, fare una ricerca nel forum e assicurarsi che lo stesso bug non è ancora stato segnalato, facendo una ricerca nel bug tracker.
 * Descrivere il più chiaramente possibile il problema e come può essere riprodotto. Se non possiamo verificare il bug, potremmo non essere in grado di risolvere il problema.
 * Includere tutte le informazioni usando il pulsante "Copia negli Appunti" del menu Aiuto -> A proposito di FreeCAD e farlo sia dall'ambiente Parte che dall'ambiente PartDesign in modo che siano inseriti i dati sulla versione OCC o OCE del sistema operativo utilizzato.
 * Si prega di inviare una relazione separata per ogni bug.
 * Quando si usa un sistema Linux e il bug causa un crash in FreeCAD, si può provare a eseguire un debug backtrace: Da un terminale eseguire gdb freecad (supponendo che il pacchetto gdb è installato), poi, all'interno di gdb, digitare run. FreeCAD viene eseguito e probabilmente causa un crash. A crash avvenuto, digitare bt, per ottenere il backtrace completo. Accludere al rapporto sul bug il risultato del backtrace emesso.

Richiedere delle nuove funzioni
Se desiderate qualcosa che in FreeCAD che non è ancora implementato, it is not a bug but a feature request questo non è un bug, ma una richiesta di nuove funzionalità.


 * 1) IMPORTANTEː Prima di richiedere una potenziale funzione assicurarsi di essere il primo a farlo cercando nei forum e nel bugtracker. Se non ci sono ticket o discussioni preesistenti, il passaggio successivo èː
 * 2) Avviare un thread del forum per discutere la propria richiesta di funzionalità con la comunità tramite il  Open Discussion forum.
 * 3) Una volta che la comunità ha accettato che si tratta di una funzione valida, è quindi possibile aprire un ticket sul tracker (da registrare come "richiesta di funzione" invece di "bug").
 * NOTA #1 Per mantenere le cose organizzate, ricordarsi di indicare l'URL del thread del forum nel ticket e il numero del ticket (come collegamento) nel thread del forum.
 * NOTA #2 Tienere presente che non ci sono garanzie che il desiderio sarà soddisfatto.

Inviare patch
Se avete creato il programma di correzione a un bug, una estensione o altro che può essere di uso pubblico in FreeCAD, create una patch utilizzando lo strumento Git diff e presentatela utilizzando il medesimo tracker (il file è una patch).

Addendumː FreeCAD development has switched to the GitHub development model so the workflow for submitting patches has been greatly enhanced/streamlined by submitting Pull Requests. NOTEː the FreeCAD community recommends to first discuss any large revision to the source code in advance to save everyone time.
 * Open a forum thread in the Developer subforum to announce and discuss your patch.
 * Submit your PR to the FreeCAD GitHub repo. Be sure to link the forum thread in to the git commit summary.
 * Paste the PR link in to the forum thread for the devs/testers to test.
 * Be present for the discussion so that your code can potentially be merged more effectively.

Richiedere la fusione
(Stesse linee guida di come Inviare delle patches)

Se avete creato un ramo git contenente delle modifiche che desiderate far confluire nel codice di FreeCAD, potete fare la richiesta di avere la recensione e la fusione del vostro ramo, se ​​gli sviluppatori di FreeCAD sono d'accordo. È necessario pubblicare prima il ramo in un repository git pubblico (github, bitbucket, sourceforge ...) e poi fornire l'URL del vostro ramo nella richiesta di unione.

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
 *   - Using these tags will strikeout text.

MantisBT <=> GitHub Markup
Below are special MantisBT Source-Integration plugin keywords which will link to the FreeCAD GitHub repo. See Tracker.
 * 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ː
 * d:FreeCAD:git commit hash: - similar to the above, d stands for 'diff' which will provide a Diff view of the commit. Exampleː
 * p:FreeCAD:pullrequest: - similar to the above, p stands for Pull Request. Exampleː

GitHub and MantisBT
The FreeCAD bugtracker has a plug-in called Source Integration which essentially ties both the FreeCAD GitHub repo to our MantisBT tracker. It makes it easier to track and associate git commits with their respective MantisBT tickets. The Source Integration plugin scans the git commit messages for specific keywords in order to execute the following actions:

Note The below keywords need to be added in the git commit message and not the PR subject

Remotely referencing a ticket
Using this pattern will automagically associate a git commit to a ticket (Note: this will not close the ticket.) The format MantisBT will recognize: For the inquisitive here is the regex MantisBT uses for this operation:
 * bug #1234
 * bugs #1234, #5678
 * issue #1234
 * issues #1234, #5678
 * report #1234
 * reports #1234, #5678

Remotely resolving a ticket
The format MantisBT will recognize: For the inquisitive here is the regex MantisBT uses for this operation:
 * fix #1234
 * fixed #1234
 * fixes #1234
 * fixed #1234, #5678
 * fixes #1234, #5678
 * resolve #1234
 * resolved #1234
 * resolves #1234
 * resolved #1234, #5678
 * resolves #1234, #5678

Pagine correlate

 * Smistamento dei bug
 * Gestione del codice sorgente