{"id":1781,"date":"2017-12-06T06:20:02","date_gmt":"2017-12-06T06:20:02","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/?p=1781"},"modified":"2021-02-27T09:31:09","modified_gmt":"2021-02-27T09:31:09","slug":"hook-to-make-subversion-read-only-for-specific-use","status":"publish","type":"post","link":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/","title":{"rendered":"Hook to make Subversion Read Only for specific use"},"content":{"rendered":"<p><strong>rajeshkumar created the topic: Hook to make Subversion Read Only for specific use<\/strong><br \/>\nHook to make Subversion Read Only for specific users<\/p>\n<p>We have an existing Subversion repository that uses LDAP to manage users\/passwords. There are some new users who we would like to provide read-only access to SVN. I did some Google searches and found a way to open up read-only access to anonymous users, but this is not what we want. We do not want to open up SVN to everyone. We still want to control login through LDAP, but we would like to prevent certain named users from being able to add\/edit\/delete.<\/p>\n<p>I am assuming this can be done with a hook (pre-commit?), but I have no experience writing hooks. Can someone show me or point me to an example of how to do this?<br \/>\nRegards,<br \/>\nRajesh Kumar<br \/>\nTwitt me @ <a href=\"http:\/\/twitter.com\/RajeshKumarIn\">twitter.com\/RajeshKumarIn<\/a><\/p>\n<p><strong>rajeshkumar replied the topic: Re:Hook to make Subversion Read Only for specific use<\/strong><br \/>\nI use an LDAP setup with config similar to:<\/p>\n<p>in \/etc\/apache2\/sites-enabled\/mysite<\/p>\n<p><Location \/svn><br \/>\nDAV svn<br \/>\nSVNParentPath \/var\/svn<br \/>\nSVNListParentPath on<br \/>\nAuthBasicProvider ldap<br \/>\nAuthType Basic<br \/>\nAuthzLDAPAuthoritative Off<br \/>\nAuthzSVNAccessFile &#8220;\/var\/svn\/conf\/svnaccess.conf&#8221;<br \/>\nAuthName &#8220;My SVN&#8221;<br \/>\nAuthLDAPBindDN &#8220;&#8230;..&#8221;<br \/>\nAuthLDAPBindPassword &#8220;&#8230;..&#8221;<br \/>\nAuthLDAPURL &#8220;&#8230;..&#8221;<br \/>\nRequire valid-user<br \/>\n<\/Location><\/p>\n<p>\/var\/svn\/conf\/svnaccess.conf<br \/>\nRegards,<br \/>\nRajesh Kumar<br \/>\nTwitt me @ <a href=\"http:\/\/twitter.com\/RajeshKumarIn\">twitter.com\/RajeshKumarIn<\/a><\/p>\n<p><strong>rajeshkumar replied the topic: Re:Hook to make Subversion Read Only for specific use<\/strong><br \/>\nI use an LDAP setup with config similar to:<\/p>\n<p>in \/etc\/apache2\/sites-enabled\/mysite<\/p>\n<p><Location \/svn><br \/>\nDAV svn<br \/>\nSVNParentPath \/var\/svn<br \/>\nSVNListParentPath on<br \/>\nAuthBasicProvider ldap<br \/>\nAuthType Basic<br \/>\nAuthzLDAPAuthoritative Off<br \/>\nAuthzSVNAccessFile &#8220;\/var\/svn\/conf\/svnaccess.conf&#8221;<br \/>\nAuthName &#8220;My SVN&#8221;<br \/>\nAuthLDAPBindDN &#8220;&#8230;..&#8221;<br \/>\nAuthLDAPBindPassword &#8220;&#8230;..&#8221;<br \/>\nAuthLDAPURL &#8220;&#8230;..&#8221;<br \/>\nRequire valid-user<br \/>\n<\/Location><\/p>\n<p>\/var\/svn\/conf\/svnaccess.conf<\/p>\n<p>[groups]<br \/>\nreadonly = user1, user2<\/p>\n<p>[\/]<br \/>\n*=rw<br \/>\n@readonly=r<br \/>\nRegards,<br \/>\nRajesh Kumar<br \/>\nTwitt me @ <a href=\"http:\/\/twitter.com\/RajeshKumarIn\">twitter.com\/RajeshKumarIn<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>rajeshkumar created the topic: Hook to make Subversion Read Only for specific use Hook to make Subversion Read Only for [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[393],"tags":[394],"class_list":["post-1781","post","type-post","status-publish","format-standard","hentry","category-svnsubversion-version-control-systems","tag-subversion"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hook to make Subversion Read Only for specific use - scmGalaxy<\/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:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hook to make Subversion Read Only for specific use - scmGalaxy\" \/>\n<meta property=\"og:description\" content=\"rajeshkumar created the topic: Hook to make Subversion Read Only for specific use Hook to make Subversion Read Only for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/\" \/>\n<meta property=\"og:site_name\" content=\"scmGalaxy\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-06T06:20:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-27T09:31:09+00:00\" \/>\n<meta name=\"author\" content=\"scmgalaxy K\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"scmgalaxy K\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/\"},\"author\":{\"name\":\"scmgalaxy K\",\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/#\\\/schema\\\/person\\\/fc12ad190f540e79460243c81148d102\"},\"headline\":\"Hook to make Subversion Read Only for specific use\",\"datePublished\":\"2017-12-06T06:20:02+00:00\",\"dateModified\":\"2021-02-27T09:31:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/\"},\"wordCount\":301,\"commentCount\":0,\"keywords\":[\"Subversion\"],\"articleSection\":[\"SVN(Subversion)\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/\",\"url\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/\",\"name\":\"Hook to make Subversion Read Only for specific use - scmGalaxy\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/#website\"},\"datePublished\":\"2017-12-06T06:20:02+00:00\",\"dateModified\":\"2021-02-27T09:31:09+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/#\\\/schema\\\/person\\\/fc12ad190f540e79460243c81148d102\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/hook-to-make-subversion-read-only-for-specific-use\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hook to make Subversion Read Only for specific use\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/#website\",\"url\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/\",\"name\":\"scmGalaxy\",\"description\":\"A Platform for Software Engineers\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/#\\\/schema\\\/person\\\/fc12ad190f540e79460243c81148d102\",\"name\":\"scmgalaxy K\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4b902ea8c77ee0a326c112f29d0edf51b7c3e1cd05c4fb92a810177e9c3f12a9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4b902ea8c77ee0a326c112f29d0edf51b7c3e1cd05c4fb92a810177e9c3f12a9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4b902ea8c77ee0a326c112f29d0edf51b7c3e1cd05c4fb92a810177e9c3f12a9?s=96&d=mm&r=g\",\"caption\":\"scmgalaxy K\"},\"sameAs\":[\"http:\\\/\\\/www.DevOpsSchool.com\"],\"url\":\"https:\\\/\\\/www.scmgalaxy.com\\\/tutorials\\\/author\\\/scmgalaxy\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hook to make Subversion Read Only for specific use - scmGalaxy","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:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/","og_locale":"en_US","og_type":"article","og_title":"Hook to make Subversion Read Only for specific use - scmGalaxy","og_description":"rajeshkumar created the topic: Hook to make Subversion Read Only for specific use Hook to make Subversion Read Only for [&hellip;]","og_url":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/","og_site_name":"scmGalaxy","article_published_time":"2017-12-06T06:20:02+00:00","article_modified_time":"2021-02-27T09:31:09+00:00","author":"scmgalaxy K","twitter_card":"summary_large_image","twitter_misc":{"Written by":"scmgalaxy K","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/#article","isPartOf":{"@id":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/"},"author":{"name":"scmgalaxy K","@id":"https:\/\/www.scmgalaxy.com\/tutorials\/#\/schema\/person\/fc12ad190f540e79460243c81148d102"},"headline":"Hook to make Subversion Read Only for specific use","datePublished":"2017-12-06T06:20:02+00:00","dateModified":"2021-02-27T09:31:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/"},"wordCount":301,"commentCount":0,"keywords":["Subversion"],"articleSection":["SVN(Subversion)"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/","url":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/","name":"Hook to make Subversion Read Only for specific use - scmGalaxy","isPartOf":{"@id":"https:\/\/www.scmgalaxy.com\/tutorials\/#website"},"datePublished":"2017-12-06T06:20:02+00:00","dateModified":"2021-02-27T09:31:09+00:00","author":{"@id":"https:\/\/www.scmgalaxy.com\/tutorials\/#\/schema\/person\/fc12ad190f540e79460243c81148d102"},"breadcrumb":{"@id":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.scmgalaxy.com\/tutorials\/hook-to-make-subversion-read-only-for-specific-use\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.scmgalaxy.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Hook to make Subversion Read Only for specific use"}]},{"@type":"WebSite","@id":"https:\/\/www.scmgalaxy.com\/tutorials\/#website","url":"https:\/\/www.scmgalaxy.com\/tutorials\/","name":"scmGalaxy","description":"A Platform for Software Engineers","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.scmgalaxy.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.scmgalaxy.com\/tutorials\/#\/schema\/person\/fc12ad190f540e79460243c81148d102","name":"scmgalaxy K","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4b902ea8c77ee0a326c112f29d0edf51b7c3e1cd05c4fb92a810177e9c3f12a9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4b902ea8c77ee0a326c112f29d0edf51b7c3e1cd05c4fb92a810177e9c3f12a9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b902ea8c77ee0a326c112f29d0edf51b7c3e1cd05c4fb92a810177e9c3f12a9?s=96&d=mm&r=g","caption":"scmgalaxy K"},"sameAs":["http:\/\/www.DevOpsSchool.com"],"url":"https:\/\/www.scmgalaxy.com\/tutorials\/author\/scmgalaxy\/"}]}},"_links":{"self":[{"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/posts\/1781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/comments?post=1781"}],"version-history":[{"count":1,"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/posts\/1781\/revisions"}],"predecessor-version":[{"id":1782,"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/posts\/1781\/revisions\/1782"}],"wp:attachment":[{"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/media?parent=1781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/categories?post=1781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scmgalaxy.com\/tutorials\/wp-json\/wp\/v2\/tags?post=1781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}