{"id":24478,"date":"2024-02-15T14:53:34","date_gmt":"2024-02-15T22:53:34","guid":{"rendered":"https:\/\/docs.extraview.com\/v25\/book\/subversion-integration-setup-1\/"},"modified":"2025-02-24T12:39:14","modified_gmt":"2025-02-24T20:39:14","slug":"subversion-integration-setup-1","status":"publish","type":"page","link":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/","title":{"rendered":"Subversion Integration Setup"},"content":{"rendered":"<h3>Prerequisite<\/h3>\n<p>The <a href=\"v25\/command-line-interface-1\/\">ExtraView Command Line Interface<\/a> must be installed on your Subversion server and configured to point to your ExtraView server in order for the Subversion integration to function properly.<\/p>\n<h3>Installation<\/h3>\n<p>Download the following integration files from ExtraView and copy them to the <em>hooks<\/em> directory of your Subversion server:<\/p>\n<pre><code>post-commit.bat\npost-commit.pl\npre-commit.bat\npre-commit.pl<\/code><\/pre>\n<p>Note that these scripts were written for a Windows system, although porting them to Unix should be fairly easy to do. Also, the .pl files can be placed anywhere on the system, but the .bat files must be installed in the hooks directory.<\/p>\n<h3>Configuration<\/h3>\n<p>All of the integration files must be edited and their contents adjusted for your environment:<\/p>\n<h4>post-commit.bat<\/h4>\n<p>The absolute paths to the Perl interpreter and the post-commit.pl script must be valid for your server:<\/p>\n<pre><code>C:\\ExtraView\\Perl\\bin\\perl.exe C:\\svnrepository\\hooks\\post-commit.pl %1 %2<\/code><\/pre>\n<h4>post-commit.pl<\/h4>\n<p>The absolute paths to the the svnlook program, Perl interpreter, the evupload and evupdate CLI commands must be valid for your server:<\/p>\n<pre><code>$SVNLOOK = '\/subversion\/bin\/svnlook.exe';\n$PERL = '\/ExtraView\/Perl\/bin\/perl.exe';\n$EVUPLOAD = '\/ExtraView\/Perl\/evapi\/evupload';\n$EVUPDATE = '\/ExtraView\/Perl\/evapi\/evupdate';<\/code><\/pre>\n<p>The title of the status value to update the ExtraView record with, and the titles of the STATUS and COMMENTS ExtraView fields must match your ExtraView server configuration:<\/p>\n<pre><code>$EVUPDATE_STATUS = 'Fixed \/ Pending';\n$STATUS_FIELD = 'Status';\n$COMMENTS_FIELD = 'Comments';<\/code><\/pre>\n<h4>pre-commit.bat<\/h4>\n<p>The absolute paths to the Perl interpreter and the pre-commit.pl script must be valid for your server:<\/p>\n<pre><code>C:\\ExtraView\\Perl\\bin\\perl.exe C:\\svnrepository\\hooks\\pre-commit.pl %1 %2<\/code><\/pre>\n<h4>pre-commit.pl<\/h4>\n<p>The absolute paths to the svnlook program, Perl interpreter, and the evget CLI command must be valid for your server:<\/p>\n<pre><code>$SVNLOOK = '\/subversion\/bin\/svnlook.exe';\n$PERL = '\/ExtraView\/Perl\/bin\/perl.exe';\n$EVGET = '\/ExtraView\/Perl\/evapi\/evget';<\/code><\/pre>\n<div class=\"textGreyBg\">NOTE: The post-commit.pl and pre-commit.pl scripts write detailed information to a log file for debugging purposes. The switch to turn debugging on or off, as well as the location of the log file, are controlled with the following variables in each script.<\/p>\n<pre><code>my $DEBUG = 1;  # 1=debug on, 0=debug off\nmy $LOGFILE = \"\/subversion_integration.log\";<\/code><\/pre>\n<\/div>\n<h3>Usage<\/h3>\n<p>To use the Subversion integration, edit one or more files in the repository and commit the changes with the <span class=\"fixedWidthFont\">svn commit<\/span> command. In the log message of the commit, you must specify the ID of an ExtraView record in the following format: <span class=\"fixedWidthFont\">Bug Id: &lt;number&gt;<\/span> (where <b>&lt;number&gt;<\/b> is the ExtraView record ID). The integration first validates that the record ID specified exists in ExtraView, and then the ExtraView record is updated with the following information:<\/p>\n<ul>\n<li>A new attachment containing the file diff of the changes made to the committed file(s); the attachment is named diffNNNN.txt (where NNNN is an arbitrary number)<\/li>\n<li>Comments field is updated with a description of the change, including the revision, author, timestamp, and log message<\/li>\n<li>Status field is set to the value configured in the EVUPDATE_STATUS variable of the post-commit.pl script<\/li>\n<\/ul>\n<p>Note that if the log message of the commit either does not contain the record ID in the format specified or the record ID is not valid, then the commit exits with an appropriate error message and no updates are made.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prerequisite The ExtraView Command Line Interface must be installed on your Subversion server and configured to point to your ExtraView server in order for the Subversion integration to function properly. Installation Download the following integration files from ExtraView and copy them to the hooks directory of your Subversion server: post-commit.bat post-commit.pl pre-commit.bat pre-commit.pl Note that&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":24476,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_lmt_disableupdate":"no","_lmt_disable":"","_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"class_list":["post-24478","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Subversion Integration Setup - Product Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Subversion Integration Setup - Product Documentation\" \/>\n<meta property=\"og:description\" content=\"Prerequisite The ExtraView Command Line Interface must be installed on your Subversion server and configured to point to your ExtraView server in order for the Subversion integration to function properly. Installation Download the following integration files from ExtraView and copy them to the hooks directory of your Subversion server: post-commit.bat post-commit.pl pre-commit.bat pre-commit.pl Note that...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Product Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-24T20:39:14+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/\",\"url\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/\",\"name\":\"Subversion Integration Setup - Product Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\"},\"datePublished\":\"2024-02-15T22:53:34+00:00\",\"dateModified\":\"2025-02-24T20:39:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/docs.extraview.com\/v25\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ExtraView 25\",\"item\":\"https:\/\/docs.extraview.com\/v25\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Integration Guides\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Subversion Integration Guide\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Subversion Integration Setup\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\",\"url\":\"https:\/\/docs.extraview.com\/v25\/\",\"name\":\"ExtraView Product Documentation\",\"description\":\"ExtraView Documentation\",\"publisher\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/docs.extraview.com\/v25\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#organization\",\"name\":\"ExtraView Corporation\",\"url\":\"https:\/\/docs.extraview.com\/v25\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png\",\"contentUrl\":\"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png\",\"width\":512,\"height\":512,\"caption\":\"ExtraView Corporation\"},\"image\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Subversion Integration Setup - Product Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/","og_locale":"en_US","og_type":"article","og_title":"Subversion Integration Setup - Product Documentation","og_description":"Prerequisite The ExtraView Command Line Interface must be installed on your Subversion server and configured to point to your ExtraView server in order for the Subversion integration to function properly. Installation Download the following integration files from ExtraView and copy them to the hooks directory of your Subversion server: post-commit.bat post-commit.pl pre-commit.bat pre-commit.pl Note that...","og_url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/","og_site_name":"Product Documentation","article_modified_time":"2025-02-24T20:39:14+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/","url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/","name":"Subversion Integration Setup - Product Documentation","isPartOf":{"@id":"https:\/\/docs.extraview.com\/v25\/#website"},"datePublished":"2024-02-15T22:53:34+00:00","dateModified":"2025-02-24T20:39:14+00:00","breadcrumb":{"@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/subversion-integration-setup-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/docs.extraview.com\/v25\/"},{"@type":"ListItem","position":2,"name":"ExtraView 25","item":"https:\/\/docs.extraview.com\/v25\/"},{"@type":"ListItem","position":3,"name":"Integration Guides","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/"},{"@type":"ListItem","position":4,"name":"Subversion Integration Guide","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/subversion-integration-guide-1\/"},{"@type":"ListItem","position":5,"name":"Subversion Integration Setup"}]},{"@type":"WebSite","@id":"https:\/\/docs.extraview.com\/v25\/#website","url":"https:\/\/docs.extraview.com\/v25\/","name":"ExtraView Product Documentation","description":"ExtraView Documentation","publisher":{"@id":"https:\/\/docs.extraview.com\/v25\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.extraview.com\/v25\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/docs.extraview.com\/v25\/#organization","name":"ExtraView Corporation","url":"https:\/\/docs.extraview.com\/v25\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/","url":"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png","contentUrl":"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png","width":512,"height":512,"caption":"ExtraView Corporation"},"image":{"@id":"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/"}}]}},"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"carl.koppel","author_link":"https:\/\/docs.extraview.com\/v25\/author\/carl-koppel\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/comments?post=24478"}],"version-history":[{"count":0,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24478\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24476"}],"wp:attachment":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/media?parent=24478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}