[[TracNav(NuwaNav)]] [[PageOutline]] = NuWa Trac Login And Preferences = Your SVN account identity is used by Trac, so use this to login using the above link. Before doing this most links will yield '''PERMISSION DENIED''' messages. * After log in be sure to set your '''email address''' in the preferences, in order to be notified of changes to tickets you create. * While the '''dayabay''' identity will allow you to login you are requested to '''only use this until you get your own SVN identity''' from Qiumei ('''maqm AT ihep.ac.cn''') = Keywords/Tags = To help find things, please assign descriptive Tags to tickets that you create or comment on. * Use '''C'''apitalised words without spaces, for the tags * Reuse preexisting tags if they are appropriate * Use multiple Tags if appropriate, delimited by spaces [[TagCloud]] = Welcome to Nuwa Trac = This Trac instance provides an interface to the SVN repository * http://dayabay.ihep.ac.cn/svn/dybsvn/ In addition to this page see other documentation on IHEP Trac * wiki:NuWa_Slave -- how to create an auto-updating auto-tested dybinst-allation ('''NEW SIMPLIFIED SETUP - Aug 2010''' ) * wiki:NuWa_Trac -- introduction to Trac, creating tickets etc.. || * wiki:Testing_Quickstart -- installation/usage of python based testing infrastructure || * tagged:Help -- documents tagged with the Keyword '''Help''' at IHEP These pages are also translated/copied (with some delay) to the BNL wiki : * db:NuWa_Trac -- introduction to Trac, creating tickets etc.. * db:Testing_Quickstart -- installation/usage of python based testing infrastructure * db_:Trac -- documents in '''Trac''' category at BNL A very readable page by Brett, focussing on just what you need to know to add tests : * db:Unit_Tests NB although Nuwa Trac provides yet another wiki, creating pages on it '''is not encouraged''' unless they are directly related to the use of Trac or the testing system. = Dec 2008 Beijing Tutorial : NuWa-Trac and Testing System = Tutorial slides available at doc:3091, providing guidance for all levels of user and with some '''cool''' tips and tricks for efficient usage. = Usage Tips = == Committing to SVN == * https://wiki.bnl.gov/dayabay/index.php?title=SVN_Repository#Committing_code == Commit Message Keywords == SVN commit messages, should: * contain a brief summary of the purpose of the commit * reference related things such as tickets OR documents (see below for how to link to these things) In addition, certain keywords in commit messages are used to control the actions of the the bitten-Trac master and the slave auto-builders. === Inhibiting auto builds for minor commits === When composing your commit messages please consider if your change of itself warrants re-builds and tests being performed ~10 times at locations across the globe. If it does not then using any of the following words in your commit message will inhibit builds being queued for that commit. * minor * minimal * trivial Currently capitalized versions such as '''M'''inor do not have any effect. Note that this only applies to commits within the NuWa trunks, commits elsewhere : "people", "groups" , ... do not trigger builds. (This functionality is implemented in a minor patch to the bitten-Trac master.) === Controlling package re-referencing and cleaning === Similarly strings like '''reref:pkgspec''' and '''clean:pkgspec''' can be used in commit messages to trigger cleaning (removal of CMTCONFIG directory) and re-referencing (removal of .ref files) of packages prior to performing building and running tests. Keyword examples: * reref:rootiotest * reref:rootiotest,mdc10b * reref:suspects * clean:dybtest * clean:rootiotest,mdc10b These can be used in combination as demonstrated by an example commit message: * fixes #607 but changes output reref:rootiotest clean:rootiotest,mdc10b The package specification argument can be comma delimited, is case insensitive and can use both package names and aliases to sets of packages (eg '''suspects''') defined in source:installation/trunk/dybinst/scripts/dybinst-common.sh. Each auto build looks for keywords in its own commit message and previous messages up to 60 minutes prior. Thus for the keywords to be effective in triggering an action requires a build triggering commit to occur within the time window. (This functionality is implemented in the '''svnlog''' and '''chores''' build steps.) === Complete project rebuild with REPROJ === '''CAUTION : REPROJ is very expensive, DO NOT DO IT UNLESS YOU ARE CERTAIN OF THE NEED''' Complete project cleaning, requiring a total rebuild and taking several hours can be triggered with: * REPROJ:dybgaudi * REPROJ:ALL If there are uncommitted changes in the slave working copy they will be lost. (You might be able to retrieve them from the dybinst-copy folders though). == Using the Search Box == The search box at top right provides simple searches of commit messages, tickets and wiki pages. In addition to this simple search functionality, entering snippets of ''wikitext'' in the search box provides shortcut access to tickets, changesets, reports links etc.. || ''search'' text || '''result''' || || /dybgaudi/trunk || browse repository path (when used in ordinary wiki text use source:/dybgaudi/trunk ) || || {{{r42}}} || changeset r42 || || {{{#1}}} || ticket #1 || || {{{{6}}}} || report {6} presentation of a selection of tickets || || {{{[/build/dybinst]}}} || a project relative link, [/build/dybinst] || || {{{[/build/dybinst/199]}}} || a specific build [/build/dybinst/199] || || {{{log:dybgaudi/trunk/DybKernel/}}} || revision log:dybgaudi/trunk/DybKernel/ || || {{{doc:101}}} || doc:101 docdb document || || {{{root:TH1}}} || root:TH1 root documentation || || {{{aux:r5175}}} || aux:r5175 wiki:InterTrac link across to dybaux || == Link Syntax == Some links of form {{{prefix:whatever}}} such as doc:101 are configured by a special wiki page InterMapTxt that maps the prefixes to URLs, you can add URL prefixes by editing the InterMapTxt wiki page. Examples of using these prefix links : || '''text to enter''' || '''what it looks like''' || '''action''' (mostly jumping somewhere) || || {{{search:?q=yield}}} || search:?q=yield || search commit messages and tickets || || {{{root:TH1}}} || root:TH1 || roots documentation for class '''TH1''' || || {{{doc:101}}} || doc:101 || docdb document 101 || || {{{source:/legacy/trunk}}} || source:/legacy/trunk || repository browser on a directory or file || || {{{db_:SVN db_:Gaudi}}} || db_:SVN db_:Gaudi || BNL wiki pages for categories ''SVN'', ''Gaudi'' || || {{{db:SVN_Web_Interface}}} || db:SVN_Web_Interface || BNL wiki page || || {{{dbp_:Gaudi}}} || dbp_:Gaudi || private BNL wiki page for a category || || {{{db__:SVN}}} || db__:SVN || search BNL wiki || || {{{dbp__:Gaudi}}} || dbp__:Gaudi || search private BNL wiki || || {{{swish:Acrylic}}} || swish:Acrylic || swish search for the string || || {{{offline:2008-08/msg00058.html}}} || offline:2008-08/msg00058.html || link to archived mail || || {{{dox_pkg_class:GenTools:GtGunGenTool}}} || dox_pkg_class:GenTools:GtGunGenTool || Doxygen class documentation|| || {{{raw-attachment:ticket:420:Test.2.rar}}} || raw-attachment:ticket:420:Test.2.rar || direct download of attachment || || {{{raw-attachment:Test.2.rar}}} || (see #420 for example ) || direct download of attachment from within ticket context || || {{{AD:1}}} {{{MDC:10}}} || AD:1 MDC:10 || Jump to elog entries || || || {{{aux:r5175}}} || aux:r5175 || wiki:InterTrac link to dybaux revision || All of the above can be used in normal wiki text, and can also be used as shortcuts in the search box. You can use these in all places that wiki text is allowed, namely : * in commit messages from your '''svn''' commandline * on wiki pages * in issue/feature request tickets == Link Presentation == To prettify the presentation of the link you can use the square bracket form : || '''text to enter''' || '''what it looks like''' || '''action''' || || {{{[search:?q=yield yield]}}} || [search:?q=yield yield] || search commit messages and tickets || || {{{[source:/dybgaudi/trunk /dybgaudi/trunk/]}}} || [source:/dybgaudi/trunk /dybgaudi/trunk/] || browser on a directory/file || For full details see TracLinks and TracSearch. == Present repository files with wikitext or reStructuredText markup == The Trac browser presentation of text files in the repository can be made to use wikitext/rst markup by setting an svn property on the file. For example with : {{{ svn propset svn:mime-type text/x-trac-wiki README.txt svn propset svn:mime-type text/x-rst README.rst }}} An example file using this : * source:dybgaudi/trunk/Database/DbiValidate/README.txt See also trac:WikiRestructuredText == File Attachments == The file attachment links you see on a ticket page do not lead directly to the file. If you try to download this link, you will get the html of a preview page If Trac knows about the format, this page will display the contents of the file. In any case, if you go to the bottom you will see an "Original Format" link. Click that to get the actual file. Also when you add an attachment you can make it easier for readers to download by adding a direct '''raw-attachment''' link. An example in is #420 where one can write * raw-attachment:ticket:420:Test.2.rar * in the context of the ticket one can write just {{{raw-attachment:Test.2.rar}}} * or make it pretty with {{{[raw-attachment:ticket:420:Test.2.rar Test.2.rar]}}} which gives [raw-attachment:ticket:420:Test.2.rar Test.2.rar] == Create Custom Queries == You can create a Custom Query using the '''Query''' tab at top right. For example by removing the default owner filters with the '''-''' and choosing '''Component''' from the "Group results by" option you can construct a new ''report'' without having to descend to SQL. Using the "Save" button then allows you to name your newly created query, as eg ''Active Tickets Grouped by Component'' and the query then becomes a report * report:13 ie: http://dayabay.ihep.ac.cn/tracs/dybsvn/report/13 also accessible using shortcut {13} For ad-hoc queries that you do not wish to enshrine as reports you can just save them as a TracLink * query:?status=assigned&status=new&status=reopened&group=component&order=priority which also works as a search quicklink. == Including Tables of tickets in Milestones (or other tickets) == The [/milestone/DBI_Integration] includes tables of associated tickets provided by the '''TicketQuery''' macro, which enables filtering based on the ticket fields (including keywords/tags). Query syntax is described at wiki:TracQuery#UsingtheTicketQueryMacro {{{ == tickets assigned to this milestone == [[TicketQuery(milestone=DBI_Integration,format=table)]] == tickets with keywords containing ''DBI or DB or MySQL or Database'' , grouped by status == [[TicketQuery(keywords~=DB|DBI|MySQL|Database,group=status,groupdesc=True,format=table)]] }}} Using a keyword/tag convention such as '''S1''','''S2''' for the steps assigned to a milestone allows simple spoofing of sub-Milestones, a feature slated for a future Trac release. == !FireFox Search Integration == Add dybsvn search to your !FireFox search field by choosing '''Add dybsvn Search''' from the dropdown next to the !FireFox search field while you are visiting this page. This works because Trac 0.11 acts as an [http://www.opensearch.org OpenSearch] client, providing a standardized description of the search query URL. * Note all of the forms of links discussed above can then be used direct from !FireFox , without having to navigate here first = Trac Starting Points = * OriginalWikiStart -- Trac welcome page * TracGuide -- Built-in Documentation * [http://trac.edgewall.org/ The Trac project] -- Trac Open Source Project * [http://trac.edgewall.org/wiki/TracFaq Trac FAQ] -- Frequently Asked Questions * TracSupport -- Trac Support For a complete list of local wiki pages, see TitleIndex.