Tracker/ro: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 46: Line 46:
== Submitting patches ==
== Submitting patches ==


In case you have programmed a bug fix, an extension or something else that can be of public use in FreeCAD, create a patch using the Git diff tool and submit it on the same tracker (file it as ''patch'').
In cazul în care aveți un program de corectare a unei erori/disfuncționalități, o extensie sau orice altceva care poate fi de uz public în FreeCAD, creați un patch utilizând instrumentul Git diff și și trimiteți-o pe același tracker (file it as ''patch'').


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.
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.

Revision as of 10:00, 14 August 2018

link=https://freecadweb.org/tracker/MantisBT is the bugtracker framework FreeCAD uses
link=https://freecadweb.org/tracker/MantisBT is the bugtracker framework FreeCAD uses

Adresa detectorului de erori/bug-uri este:

https://www.freecadweb.org/tracker

Tracker este locul pentru aː raporta bug-uri (eroare sau disfuncționalitate neprevăzută) , trimiteți cereri de funcționalități, patch-uri sau cereți să vă îmbinați codul corector propriu dacă ați dezvoltat ceva folosind Git. Dispozitivul de urmărire este împărțit în Ateliere "Workbenches", așa că vă rugăm să fiți preciși și să vă înscrieți cererea în subsecțiunea corespunzătoare. În caz de îndoială, lăsați-o în secțiunea "FreeCAD".


Recommended Workflow

După cum se arată în diagrama de mai sus, înainte de a crea tichete, vă rugăm să căutați mereu în forumurile și bugtracker pentru a afla dacă problema dvs. este o problemă cunoscută. Acest lucru economisește o mulțime de timp / muncă pentru dezvoltatori și voluntari care ar putea petrece timpul respectiv, făcând chiar mai minunat acest FreeCAD.

Raportarea erorilor

Dacă credeți că ați găsit un bug (disfuncționalitate sau eroare), sunteți binevenit să îl raportați atâta timp cât ați urmat pas cu pas următoarele elemente:

  • Asigurați-vă că utilizați cea mai recentă versiune de FreeCAD. NOTEː eroarea dumneavoastră ar putea fi deja rezolvată în versiunea în Dezvoltare(instabilă). Utilizatorii medii utilizează varianta stabilă a FC.
  • Asigurați-vă ca bug-ul este un adevărat bug, asta e, câteodată ar putea să meargă dar să nu fie. Asigurați-vă că aceeași eroare nu a fost raportată înainte , căutând în bugtracker și forum.
    • Nu uitațiː dacă nu sunteți siguri , vă rog nu ezitați să explicați problema/bug-ul pe Help forum și întrebați ce este de făcut.
    • Notăː înainte de a posta pe forum vă rugăm citiți Forum Guidelines.
  • Descrieți cât mai clar posibil problema, și cum poate fi reprodusă. Dacă noi nu putem verifica eroarea, nu putem să o rezolvăm.
    • Aceasta înseamnă raportarea într-un mod clar, bine formatat, pas cu pas astefel încât și un amator să o poată reproduce.
    • Recomandatː Screenshots a erorii este de asemenea foarte folositor a fi inclus. Useri de Windows: vp rugăm nu atașați capturi de ecran în Word sau format PDF. Utilizați instrumentul Windows Snipping pentru a salva captura ca imagine PNG.
    • Recomandatː Chiar mai bine, un Animated gif or Screencast ar crește posibilitatea de areproduce problema.
  • Adaugați un exemplul de fișier FreeCAD (.FCStd file) astfel ca devs/testers să poată reproduce ușor eroarea/disfuncționalitatea.
    • Vă rugăm nu arhivați fișierul *.FCStd, este deja zipped.
    • Atașametnele fișierului sunt limitatea ca mărime. Dacă fișierul dvs *.FCStd este prea marea pentru a fi atașat, puteți utiliza online storage service (multe sunt gratuite ca de exemplu Google Drive, Microsoft OneDrive, Dropbox).
  • Includeți toate informațiile din butonul "Copy to Clipboard" în dialogul Help (menu) -> About FreeCAD. fiți siguri că datele dumneavoastră includ versiunile de OCC ori OCE .
  • Vă rugăm completați un raport separat pentru fiecare bug.
  • Dacă eroarea dvs cauzează un crash in FreeCAD și sunteți pe un sistem care permite aceasta,încercați să rulați un debug backtrace și să atașați said trace la ticket. Aceasta poate salva devs foarte mult timp pentru a ținti sursa prăbușirii/crash-ului. Vezi Debugging pentru mai multe detalii.

Solicitarea de funcționalități

Dacă doriți să apară ceva în FreeCAD, care încă nu este implementat, it nu este un bug și o solicitarea de funcționalitate.

  1. 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ː
  2. Start a forum thread to discuss your feature request with the community via the Open Discussion forum.
  3. 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).
  • 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.
  • NOTE #2 Keep in mind there are no guarantees that your wish will be fulfilled.
FreeCAD Bugtracker report page - use the dropdown to correctly designate what the ticket is

Submitting patches

In cazul în care aveți un program de corectare a unei erori/disfuncționalități, o extensie sau orice altceva care poate fi de uz public în FreeCAD, creați un patch utilizând instrumentul Git diff și și trimiteți-o pe același tracker (file it as 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.

  • 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.

NOTEː the FreeCAD community recommends to first discuss any large revision to the source code in advance to save everyone time.

Requesting merge

(Same guidelines as Submiting patches)

If you have created a git branch containing changes that you would like to see merged into the FreeCAD code, you can ask there to have your branch reviewed and merged if the FreeCAD developers are OK with it. You must first publish your branch to a public git repository (github, gitlab, bitbucket, sourceforge etc...) and then give the URL of your branch in your merge request.

MantisBT Tips and 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 Tracker/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 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

Attaching a git commit to a ticket

The format MantisBT will recognize:

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

For the inquisitive here is the regex MantisBT uses for this operation:
/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i

Remotely resolving a ticket

The format MantisBT will recognize:

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

For the inquisitive here is the regex MantisBT uses for this operation:
/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i

Related

Licence
Bug Triage