Tracker/it: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(44 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav/it|[[Licence/it|Licenze]]|[[Bug Triage/it|Smistamento dei bug]]}}
[[File:Mantis_logo_262x90.png|right|link=https://freecadweb.org/tracker/MantisBT is the bugtracker framework FreeCAD uses]]


{{Docnav/it
|[[Third_Party_Tools/it|Strumenti di terze parti]]
|[[Debugging/it|Debugging]]
}}


{{TOCright}}
L'indirizzo del nostro bug tracker è:


{{VeryImportantMessage|Nel febbraio 2022 il monitoraggio dei bug di FreeCAD è stato migrato a [https://github.com/FreeCAD/FreeCAD/issues GitHub Issues]. Il bug tracker Mantis descritto di seguito è ora in modalità di sola lettura.}}
https://www.freecadweb.org/tracker


[[File:Mantis_logo_262x90.png|center|link=https://freecadweb.org/tracker/MantisBT è il framework bugtracker utilizzato da FreeCAD]]
Potete 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".

Il [https://www.freecadweb.org/tracker 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".




Line 16: Line 20:
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.
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.


<span id="Reporting_bugs"></span>
== Segnalare i bug ==
== Segnalare i bug ==


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


* Assicurarsi di utilizzare la versione più aggiornata di FreeCAD. '''NOTAː''' il tuo bug potrebbe essere corretto nella versione di sviluppo (instabile). L'utente medio esegue la versione stabile di FC.
* 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 [http://forum.freecadweb.org/ forum] e chiedere cosa fare.
* Prima di inviare qualsiasi cosa, leggere le [[FAQ/it|FAQ - domande frequenti]], fare una ricerca nel [http://forum.freecadweb.org/ forum] e assicurarsi che lo stesso bug non è ancora stato segnalato, facendo una ricerca nel bug tracker.
* Assicurarsi che il proprio bug sia davvero un bug, cioè qualcosa che dovrebbe funzionare ma non funziona. '''Assicurarsi che lo stesso bug non sia già stato segnalato cercando prima nel bugtracker e nel forum'''.
** Ricordareː se non si è sicuri, non esitare a spiegare il problema o bug nel f[http://forum.freecadweb.org/viewforum.php?f=3 Help forum] e chiedere cosa fare.
* 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.
** '''Nota'''ː prima di postare sul forum leggere le [https://forum.freecadweb.org/viewtopic.php?f=3&t=2264 Forum Guidelines].
* 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.
* Descrivere il più chiaramente possibile il problema e come può essere riprodotto. Se non siamo in grado di verificare il bug, potremmo non essere in grado di risolverlo.
* Si prega di inviare una relazione separata per ogni bug.
** Ciò significa '''riportarlo in modo chiaro, ben formattato, passo dopo passo''' in modo che anche un utente amatoriale possa riprodurlo.
* 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.
** Racommandazioneː anche le '''schermate''' del bug sono molto utili da includere. Utenti Windows: non allegare schermate in formato Word o PDF. Usare lo strumento di cattura di Windows per salvare la cattura come immagine PNG.
** Racommandazioneː ancora meglio, una '''GIF animata o screencast''' aumenta la probabilità di riprodurre il problema.
* '''Aggiungere un file FreeCAD di esempio''' (file .FCStd) in modo che gli sviluppatori o tester possano riprodurre rapidamente il bug.
** Si prega di non comprimere il file *.FCStd, è già zippato.
** Le dimensioni dei file allegabili sono limitate. Se il proprio file *.FCStd è troppo grande per essere allegato, si può utilizzare un servizio di archiviazione online (molti sono gratuiti come Google Drive, Microsoft OneDrive, Dropbox).
* Includere tutte le informazioni dal pulsante "Copia negli Appunti" nel dialogo '''Help (menu) -> About FreeCAD'''. Assicurarsi che i dati includano la versione di OCC o OCE utlizzata.
* Si prega di inviare un rapporto separato per ogni bug.
* Se il proprio bug causa un arresto anomalo in FreeCAD e si è su un sistema che lo supporta, si può provare a eseguire un '''backtrace di debug''' e allegare detta traccia al ticket. Questo può far risparmiare molto tempo agli sviluppatori nell'individuare la fonte del crash. Vedere [[Debugging/it|Debugging]] per maggiori dettagli.


<span id="Requesting_features"></span>
== Richiedere delle nuove funzioni ==
== Richiedere delle nuove funzioni ==


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


# '''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 èː
# '''IMPORTANTː''' Before requesting a potential Feature Request '''please be certain that you are the first one doing so by searching the forums and the bugtracker'''. If you have concluded that there are no pre-existing tickets/discussions the next step is toː
# Start a forum thread to discuss your feature request with the community via the [http://forum.freecadweb.org/viewforum.php?f=8 Open Discussion forum].
# Avviare un thread del forum per discutere la propria richiesta di funzione con la comunità tramite il [http://forum.freecadweb.org/viewforum.php?f=8 Open Discussion forum].
# Once the community agrees that this is a valid Feature, you then can open a ticket on the tracker (file it under ''feature request'' instead of ''bug'').
# 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").
* '''NOTE #1''' To keep things organized please remember to link the forum thread URL into the ticket and the ticket number (as a link) in to the forum thread.
* '''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.
* '''NOTE #2''' Keep in mind there are no guarantees that your wish will be fulfilled.
* '''NOTA #2''' Tenere presente che non ci sono garanzie che il desiderio sarà soddisfatto.
[[File:MantisBT-setting-Feature-Request.jpg|thumb|FreeCAD Bugtracker report page - use the dropdown to correctly designate what the ticket is]]
[[File:MantisBT-setting-Feature-Request.jpg|thumb|Pagina di segnalazione Bugtracker di FreeCAD: utilizzare il menu a discesa per designare correttamente il tipo di ticket]]


<span id="Submitting_patches"></span>
== Inviare patch ==
== 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).
Nel caso in cui si programmi una correzione di un bug, un'estensione o qualcos'altro che può essere di uso pubblico in FreeCAD, inviare la patch come "Pull Request" a [https://github.com/FreeCAD/FreeCAD GitHub].
# Per una richiesta ampia, complessa o che cambia il comportamento, aprire un thread del forum nel [https://forum.freecadweb.org/viewforum.php?f=10 Developer subforum] per annunciare e discutere la tua patch. Per piccole correzioni di bug questo non è necessario.

# Inviare la Pull Request (PR) al [http://github.com/FreeCAD/FreeCAD FreeCAD GitHub repo]. Il messaggio di invio della PR sarà precompilato con una lista di controllo da seguire per garantire che il tuo invio abbia le migliori possibilità di una rapida accettazione. Se non si è mai lavorato con {{incode|git}} prima o non si ha familiarità con l'invio di una PR a github, leggere la nostra introduzione alla pagina wiki [[Source_code_management/it|github]].
Addendumː FreeCAD development has switched to the [https://github.com/FreeCAD/FreeCAD GitHub] development model so the workflow for submitting patches has been greatly enhanced/streamlined by submitting Pull Requests.
# Si deve essere presenti alla discussione, sia nel forum che nella richiesta della pull di GitHub, in modo che il codice possa potenzialmente essere unito in modo più efficace.
* Open a forum thread in the Developer subforum to announce and discuss your patch.
* Submit your PR to the [http://github.com/FreeCAD/FreeCAD 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.
'''NOTEː''' the FreeCAD community recommends to first discuss any large revision to the source code in advance to save everyone time.


<span id="Requesting_merge"></span>
== Richiedere la fusione ==
== Richiedere la fusione ==


Line 57: Line 69:
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.
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.


<span id="MantisBT_Tips_and_Tricks"></span>
== MantisBT Tips and Tricks ==
== Suggerimenti e trucchi per MantisBT ==


=== MantisBT Markup ===
=== Markup di MantisBT ===
MantisBT (Mantis Bug Tracker) has it's own unique markup.
MantisBT (Mantis Bug Tracker) ha il proprio 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
* '''@'''mention - funziona proprio come su GitHub dove anteponendo "@" al nome utente di qualcuno questi riceverà un'e-mail che è stato "menzionato" in un thread del ticket
[[File:mantisbt-mention-example.jpg|center|600px]]
[[File:mantisbt-mention-example.jpg|center|600px]]
* '''#'''1234 - By adding a hash tag in front of a number a shortcut to link to another ticket within MantisBT will present.
* '''#'''1234 - Aggiungendo un hash tag davanti a un numero viene presentata una scorciatoia per collegarsi a un altro ticket all'interno di MantisBT.
*: '''Note''': if you hover over a ticket it will show you the summary + if the ticket is closed, it will be struck-through like <s>#1234</s>.
*: '''Nota''': se si passa il mouse su un ticket, viene mostrato il riepilogo + se il ticket è chiuso, e sarà anche barrato come <s>#1234</s>.
[[File:mantisbt-ticket-shortcut-example.jpg|center|600px]]
[[File:mantisbt-ticket-shortcut-example.jpg|center|600px]]
* '''~'''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
* '''~'''5678 - una scorciatoia che collega a una nota di bug all'interno di un ticket. Questo può essere utilizzato per fare riferimento alla risposta di qualcuno all'interno del thread. Per ogni persona che pubblica un post viene mostrato un numero ~#### univoco accanto al proprio nome utente. Guardando l'immagine nell'esempio, si vede che la scorciatoia fa riferimento al ''numero del ticket:numero del commento'' di detto ticket
[[File:mantisbt-comment-shortcut-example.jpg|center|600px]]
[[File:mantisbt-comment-shortcut-example.jpg|center|600px]]
* '''<nowiki><del></del></nowiki>''' - Using these tags will <s>strikeout text</s>.
* '''<nowiki><del></del></nowiki>''' - L'uso di questi tag crea un <s>testo barrato</s>.
[[File:mantisbt-strikeout-text-example.jpg|center|600px]]
[[File:mantisbt-strikeout-text-example.jpg|center|600px]]
* '''<nowiki><code></code></nowiki>''' - To present a line or block of code, use this tag and it will colorize and differentiate it elegantly.
* '''<nowiki><code></code></nowiki>''' - Per presentare una riga o un blocco di codice, usare questo tag che lo colorerà e lo differenzierà elegantemente.
[[File:mantisbt-colorized-code-example.jpg|center|600px]]
[[File:mantisbt-colorized-code-example.jpg|center|600px]]


=== MantisBT BBCode ===
=== MantisBT BBCode ===
In addition to the above [[Tracker/MantisBT ̠Markup]] one also has the possibility to use BBCode format. For a comprehensive list see the [https://github.com/mantisbt-plugins/BBCodePlus#supported-bbcode-tags BBCode plus plugin page]. Here is a list of supported BBCode tagsː
Oltre al suddetto [[Tracker/it#Markup_di_MantisBT|Markup di MantisBT]] si ha anche la possibilità di utilizzare il formato BBCode. Per un elenco completo, vedere la [https://github.com/mantisbt-plugins/BBCodePlus#supported-bbcode-tags pagina del plug-in BBCode plus]. Ecco un elenco di tag BBCode supportatiː
<small><code><br />
<small><code><br />
[img][/img] - Images <br />
[img][/img] - Images <br />
Line 107: Line 120:
</code>
</code>
</small>
</small>

=== MantisBT <=> GitHub Markup ===
=== MantisBT <=> GitHub Markup ===
Below are special MantisBT Source-Integration plugin keywords which will link to the FreeCAD GitHub repo. See [[Tracker#GitHub_and_MantisBT]].
Di seguito sono riportate parole chiave speciali del plug-in MantisBT Source-Integration che si collegheranno al repository GitHub di FreeCAD. Vedere [[Tracker/it#GitHub_and_MantisBT|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ː <code>cːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː</code>
* '''c:FreeCAD:git commit hash:''' - '''c''' sta per 'commit'. FreeCAD sta per il repository GitHub di FreeCAD. 'git commit hash' è l'hash git commit specifico a cui fare riferimento. Nota: i due punti finali sono necessari. Esempioː <code>cːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː</code>
* '''d:FreeCAD:git commit hash:''' - similar to the above, '''d''' stands for 'diff' which will provide a Diff view of the commit. Exampleː <code>dːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː</code>
* '''d:FreeCAD:git commit hash:''' - simile a quanto sopra, '''d''' sta per 'diff' che fornirà una vista Diff del commit. Esempioː <code>dːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː</code>
* '''p:FreeCAD:pullrequest:''' - similar to the above, '''p''' stands for Pull Request. Exampleː <code>pːFreeCADː498ː</code>
* '''p:FreeCAD:pullrequest:''' - simile a quanto sopra, '''p''' sta per Pull Request. Esempioː <code>pːFreeCADː498ː</code>
[[File:mantisbt-source-integration-markup.jpg|center|600px]]
[[File:mantisbt-source-integration-markup.jpg|center|600px]]
{{clear}}
{{clear}}


== GitHub and MantisBT ==
== GitHub e MantisBT ==
The FreeCAD bugtracker has a plug-in called [https://github.com/mantisbt-plugins/source-integration 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:'''
Il bugtracker di FreeCAD ha un plug-in chiamato [https://github.com/mantisbt-plugins/source-integration Source Integration] che essenzialmente collega il repository GitHub di FreeCAD al nostro tracker MantisBT. Rende più facile tracciare e associare i commit git ai rispettivi ticket MantisBT. '''Il plug-in Source Integration scansiona i messaggi di git commit alla ricerca di parole chiave specifiche per eseguire le seguenti azioni:'''


'''Note''' The below keywords need to be added in the <u>git commit message</u> and not the PR subject
'''Nota''' Le seguenti parole chiave devono essere aggiunte nel <u>messaggio git commit</u> e non nell'oggetto PR


=== Remotely referencing a ticket ===
=== Riferimento remoto a un ticket ===
Using this pattern will automagically associate a git commit to a ticket ('''Note:''' this will not close the ticket.)
L'utilizzo di questo modello assocerà automaticamente un commit git a un ticket ('''Nota:''' questo non chiuderà il ticket.)
The format MantisBT will recognize:
Il formato MantisBT riconoscerà:
* bug #1234
* bug #1234
* bugs #1234, #5678
* bugs #1234, #5678
Line 129: Line 143:
* report #1234
* report #1234
* reports #1234, #5678
* reports #1234, #5678
<small>For the inquisitive here is the regex MantisBT uses for this operation: <br />
<small>Per i curiosi ecco la regex che MantisBT utilizza per questa operazione: <br />
<code>/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i</code></small>
<code>/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i</code></small>


=== Remotely resolving a ticket ===
=== Risoluzione remota di un ticket ===
The format MantisBT will recognize:
Il formato MantisBT riconoscerà:
* fix #1234
* fix #1234
* fixed #1234
* fixed #1234
Line 144: Line 158:
* resolved #1234, #5678
* resolved #1234, #5678
* resolves #1234, #5678
* resolves #1234, #5678
<small>For the inquisitive here is the regex MantisBT uses for this operation: <br />
<small>Per i curiosi ecco la regex che MantisBT utilizza per questa operazione: <br />
<code>/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i</code></small>
<code>/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i</code></small>


== Related ==
* [[Bug Triage]]
* [[Source Code Management]]


{{Docnav/it
{{docnav/it|[[Licence/it|Licenze]]|[[CompileOnWindows/it|Compilare in Windows]]}}
|[[Third_Party_Tools/it|Strumenti di terze parti]]
|[[Debugging/it|Debugging]]
}}


{{Userdocnavi}}
{{Userdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]

[[Category:Administration{{#translation:}}]]
<div class="mw-translate-fuzzy">
[[Category:Developer Documentation/it]]
</div>

[[Category:Administration]]

{{clear}}

Latest revision as of 21:55, 24 November 2023

Nel febbraio 2022 il monitoraggio dei bug di FreeCAD è stato migrato a GitHub Issues. Il bug tracker Mantis descritto di seguito è ora in modalità di sola lettura.
link=https://freecadweb.org/tracker/MantisBT è il framework bugtracker utilizzato da FreeCAD
link=https://freecadweb.org/tracker/MantisBT è il framework bugtracker utilizzato da FreeCAD

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 di utilizzare la versione più aggiornata di FreeCAD. NOTAː il tuo bug potrebbe essere corretto nella versione di sviluppo (instabile). L'utente medio esegue la versione stabile di FC.
  • Assicurarsi che il proprio bug sia davvero un bug, cioè qualcosa che dovrebbe funzionare ma non funziona. Assicurarsi che lo stesso bug non sia già stato segnalato cercando prima nel bugtracker e nel forum.
    • Ricordareː se non si è sicuri, non esitare a spiegare il problema o bug nel fHelp forum e chiedere cosa fare.
    • Notaː prima di postare sul forum leggere le Forum Guidelines.
  • Descrivere il più chiaramente possibile il problema e come può essere riprodotto. Se non siamo in grado di verificare il bug, potremmo non essere in grado di risolverlo.
    • Ciò significa riportarlo in modo chiaro, ben formattato, passo dopo passo in modo che anche un utente amatoriale possa riprodurlo.
    • Racommandazioneː anche le schermate del bug sono molto utili da includere. Utenti Windows: non allegare schermate in formato Word o PDF. Usare lo strumento di cattura di Windows per salvare la cattura come immagine PNG.
    • Racommandazioneː ancora meglio, una GIF animata o screencast aumenta la probabilità di riprodurre il problema.
  • Aggiungere un file FreeCAD di esempio (file .FCStd) in modo che gli sviluppatori o tester possano riprodurre rapidamente il bug.
    • Si prega di non comprimere il file *.FCStd, è già zippato.
    • Le dimensioni dei file allegabili sono limitate. Se il proprio file *.FCStd è troppo grande per essere allegato, si può utilizzare un servizio di archiviazione online (molti sono gratuiti come Google Drive, Microsoft OneDrive, Dropbox).
  • Includere tutte le informazioni dal pulsante "Copia negli Appunti" nel dialogo Help (menu) -> About FreeCAD. Assicurarsi che i dati includano la versione di OCC o OCE utlizzata.
  • Si prega di inviare un rapporto separato per ogni bug.
  • Se il proprio bug causa un arresto anomalo in FreeCAD e si è su un sistema che lo supporta, si può provare a eseguire un backtrace di debug e allegare detta traccia al ticket. Questo può far risparmiare molto tempo agli sviluppatori nell'individuare la fonte del crash. Vedere Debugging per maggiori dettagli.

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 funzione 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 Tenere presente che non ci sono garanzie che il desiderio sarà soddisfatto.
Pagina di segnalazione Bugtracker di FreeCAD: utilizzare il menu a discesa per designare correttamente il tipo di ticket

Inviare patch

Nel caso in cui si programmi una correzione di un bug, un'estensione o qualcos'altro che può essere di uso pubblico in FreeCAD, inviare la patch come "Pull Request" a GitHub.

  1. Per una richiesta ampia, complessa o che cambia il comportamento, aprire un thread del forum nel Developer subforum per annunciare e discutere la tua patch. Per piccole correzioni di bug questo non è necessario.
  2. Inviare la Pull Request (PR) al FreeCAD GitHub repo. Il messaggio di invio della PR sarà precompilato con una lista di controllo da seguire per garantire che il tuo invio abbia le migliori possibilità di una rapida accettazione. Se non si è mai lavorato con git prima o non si ha familiarità con l'invio di una PR a github, leggere la nostra introduzione alla pagina wiki github.
  3. Si deve essere presenti alla discussione, sia nel forum che nella richiesta della pull di GitHub, in modo che il codice possa potenzialmente essere unito in modo più efficace.

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.

Suggerimenti e trucchi per MantisBT

Markup di MantisBT

MantisBT (Mantis Bug Tracker) ha il proprio markup.

  • @mention - funziona proprio come su GitHub dove anteponendo "@" al nome utente di qualcuno questi riceverà un'e-mail che è stato "menzionato" in un thread del ticket
  • #1234 - Aggiungendo un hash tag davanti a un numero viene presentata una scorciatoia per collegarsi a un altro ticket all'interno di MantisBT.
    Nota: se si passa il mouse su un ticket, viene mostrato il riepilogo + se il ticket è chiuso, e sarà anche barrato come #1234.
  • ~5678 - una scorciatoia che collega a una nota di bug all'interno di un ticket. Questo può essere utilizzato per fare riferimento alla risposta di qualcuno all'interno del thread. Per ogni persona che pubblica un post viene mostrato un numero ~#### univoco accanto al proprio nome utente. Guardando l'immagine nell'esempio, si vede che la scorciatoia fa riferimento al numero del ticket:numero del commento di detto ticket
  • <del></del> - L'uso di questi tag crea un testo barrato.
  • <code></code> - Per presentare una riga o un blocco di codice, usare questo tag che lo colorerà e lo differenzierà elegantemente.

MantisBT BBCode

Oltre al suddetto Markup di MantisBT si ha anche la possibilità di utilizzare il formato BBCode. Per un elenco completo, vedere la pagina del plug-in BBCode plus. Ecco un elenco di tag BBCode supportatiː
[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

Di seguito sono riportate parole chiave speciali del plug-in MantisBT Source-Integration che si collegheranno al repository GitHub di FreeCAD. Vedere GitHub and MantisBT.

  • c:FreeCAD:git commit hash: - c sta per 'commit'. FreeCAD sta per il repository GitHub di FreeCAD. 'git commit hash' è l'hash git commit specifico a cui fare riferimento. Nota: i due punti finali sono necessari. Esempioː cːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː
  • d:FreeCAD:git commit hash: - simile a quanto sopra, d sta per 'diff' che fornirà una vista Diff del commit. Esempioː dːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː
  • p:FreeCAD:pullrequest: - simile a quanto sopra, p sta per Pull Request. Esempioː pːFreeCADː498ː

GitHub e MantisBT

Il bugtracker di FreeCAD ha un plug-in chiamato Source Integration che essenzialmente collega il repository GitHub di FreeCAD al nostro tracker MantisBT. Rende più facile tracciare e associare i commit git ai rispettivi ticket MantisBT. Il plug-in Source Integration scansiona i messaggi di git commit alla ricerca di parole chiave specifiche per eseguire le seguenti azioni:

Nota Le seguenti parole chiave devono essere aggiunte nel messaggio git commit e non nell'oggetto PR

Riferimento remoto a un ticket

L'utilizzo di questo modello assocerà automaticamente un commit git a un ticket (Nota: questo non chiuderà il ticket.) Il formato MantisBT riconoscerà:

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

Per i curiosi ecco la regex che MantisBT utilizza per questa operazione:
/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i

Risoluzione remota di un ticket

Il formato MantisBT riconoscerà:

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

Per i curiosi ecco la regex che MantisBT utilizza per questa operazione:
/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i