{"id":841,"date":"2011-02-07T17:14:51","date_gmt":"2011-02-07T21:14:51","guid":{"rendered":"http:\/\/wehuberconsultingllc.com\/wordpress\/2011\/02\/07\/interfacing-subversion-and-mercurial-to-spiceworks\/"},"modified":"2011-02-07T17:14:51","modified_gmt":"2011-02-07T21:14:51","slug":"interfacing-subversion-and-mercurial-to-spiceworks","status":"publish","type":"post","link":"https:\/\/wehuberconsultingllc.com\/wordpress\/2011\/02\/07\/interfacing-subversion-and-mercurial-to-spiceworks\/","title":{"rendered":"Interfacing Subversion and Mercurial to Spiceworks"},"content":{"rendered":"<p>I keep our web site source files, stored procedures, and assorted programs in a source control management(SCM) program called <a href=\"http:\/\/subversion.tigris.org\/\">Subversion<\/a>. Since I am a small shop I track my trouble tickets using <a href=\"http:\/\/www.spiceworks.com\/\">Spiceworks<\/a>. My normal work flow is to enter the trouble ticket into Spiceworks and then start working on the problem. When I am finished with the problem I commit the files to the SCM and close the trouble ticket. To make life a little easier with future problems, I include a reference to the Spiceworks trouble ticket in the Subversion commit message. This could be a text version of trouble ticket number but I prefer a little nicer web interface so I implemented the bugtraq interface. This gives me a click-able link in the log that will bring up the original trouble ticket in a web browser window. This can be handy when you are troubleshooting a file that has some modification history. Implementing the bugtraq interface is pretty simple. You add two properties on your subversion repository, bugtraq:message and bugtraq:url. I set my parameters on the trunk folder properties. I set the message parameter to &quot;Issue : %BUGID%&quot; and the url parameter to &quot;<a href=\"http:\/\/svrdev1:9675\/tickets\/list\/all_tickets#ticket_id_%BUGID%\">http:\/\/svrdev1:9675\/tickets\/list\/all_tickets#ticket_id_%BUGID%&quot;.<\/a> If you are planning to copy my parameters you should omit the double quotes and change the &quot;svrdev1:9675&quot; to your Spiceworks host name and port number.<\/p>\n<p>If your SCM is Mercurial you can implement the bugtraq interface using these instructions, <a href=\"http:\/\/www.offroadcode.com\/2010\/10\/5\/better-issue-tracking-with-tortoisehg-and-kiln.aspx.\">http:\/\/www.offroadcode.com\/2010\/10\/5\/better-issue-tracking-with-tortoisehg-and-kiln.aspx.<\/a> The instructions are for a different SCM, Kiln, but these instructions work for any SCM you access via a url. In this case the issue link in the issue tracker changed to &quot;<a href=\"http:\/\/svrdev1:9675\/tickets\/list\/all_tickets#ticket_id_{1}\">http:\/\/svrdev1:9675\/tickets\/list\/all_tickets#ticket_id_{1}<\/a>&quot;.&#160; There are several valid formats you could use. Just look at the regular expression used in setting it up for details. I used &quot;(?i)(?:case|bugzid|Issue|#)\\s*:?\\s*(\\d+)&quot; for my Issue Regex. When you browse the log you should find the &quot;Issue : 619&quot; is an underlined, click-able link to your SCM trouble ticket.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I keep our web site source files, stored procedures, and assorted programs in a source control management(SCM) program called Subversion. Since I am a small shop I track my trouble tickets using Spiceworks. My normal work flow is to enter the trouble ticket into Spiceworks and then start working on the problem. When I am &hellip; <a href=\"https:\/\/wehuberconsultingllc.com\/wordpress\/2011\/02\/07\/interfacing-subversion-and-mercurial-to-spiceworks\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Interfacing Subversion and Mercurial to Spiceworks&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[90,89,33],"class_list":["post-841","post","type-post","status-publish","format-standard","hentry","category-general","tag-mercurial","tag-scm","tag-subversion"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4iN3d-dz","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts\/841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/comments?post=841"}],"version-history":[{"count":0,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts\/841\/revisions"}],"wp:attachment":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/media?parent=841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/categories?post=841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/tags?post=841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}