[{"data":1,"prerenderedAt":427},["ShallowReactive",2],{"Categories":3,"NavIndexCategoriesCountFooter":203,"content-\u002F2005\u002F05\u002F20\u002Fsubversion-with-svn-ssh\u002F":204},[4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,70,71,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202],{"category":5},"System Administration",{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":27},"Software Development",{"category":5},{"category":5},{"category":5},{"category":5},{"category":27},{"category":27},{"category":5},{"category":5},{"category":5},{"category":27},{"category":5},{"category":5},{"category":5},{"category":27},{"category":27},{"category":27},{"category":27},{"category":5},{"category":5},{"category":5},{"category":27},{"category":27},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":5},{"category":27},{"category":5},{"category":5},{"category":27},{"category":27},{"category":27},{"category":27},{"category":5},{"category":27},{"category":27},{"category":67},"Drones & RC",{"category":69},"DIY Projects",{"category":67},{"category":72},"Photography",{"category":69},{"category":69},{"category":69},{"category":67},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":69},{"category":67},{"category":69},{"category":69},{"category":67},{"category":67},{"category":72},{"category":72},{"category":72},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":5},{"category":5},{"category":72},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":5},{"category":67},{"category":67},{"category":72},{"category":72},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":67},{"category":72},{"category":67},{"category":138},"3D Printing - Laser Cutting - CNC",{"category":138},{"category":138},{"category":138},{"category":138},{"category":138},{"category":138},{"category":138},{"category":138},{"category":138},{"category":138},{"category":138},{"category":5},{"category":138},{"category":27},{"category":27},{"category":138},{"category":138},{"category":72},{"category":158},"Photography,3D Printing - Laser Cutting - CNC",{"category":27},{"category":27},{"category":69},{"category":27},{"category":27},{"category":27},{"category":27},{"category":5},{"category":67},{"category":5},{"category":5},{"category":27},{"category":27},{"category":27},{"category":27},{"category":27},{"category":69},{"category":27},{"category":27},{"category":27},{"category":27},{"category":181},"Home Assistant",{"category":181},{"category":72},{"category":27},{"category":27},{"category":72},{"category":138},{"category":5},{"category":72},{"category":72},{"category":138},{"category":27},{"category":181},{"category":181},{"category":72},{"category":72},{"category":72},{"category":72},{"category":72},{"category":72},{"category":72},{"category":72},191,{"id":205,"title":206,"body":207,"category":414,"date":415,"description":213,"embedImage":414,"extension":416,"image":414,"intro":414,"meta":417,"navigation":382,"path":418,"seo":419,"series":414,"sitemap":420,"stem":421,"tags":422,"__hash__":426},"content\u002F2005\u002F05\u002F20\u002Fsubversion-with-svn-ssh.md","Subversion with svn+ssh",{"type":208,"value":209,"toc":412},"minimark",[210,214,217,220,223,229,255,260,297,304,341,346,362,367,405,408],[211,212,213],"p",{},"Setting up subversion with svn+ssh access (non-DAV) on unstable.",[211,215,216],{},"In migrating from woody with a combination of CVS and a backport of SVN 1.0 I would like to use SVN 1.1 to get the file system backend (fsfs) instead of BerkleyDB.",[211,218,219],{},"Repositories will reside in \u002Frepository.",[211,221,222],{},"Users that use them will be a member of the repository group.",[211,224,225],{},[226,227,228],"strong",{},"Install subversion",[230,231,236],"pre",{"className":232,"code":233,"language":234,"meta":235,"style":235},"language-shell shiki shiki-themes github-dark","apt-get install subversion\n","shell","",[237,238,239],"code",{"__ignoreMap":235},[240,241,244,248,252],"span",{"class":242,"line":243},"line",1,[240,245,247],{"class":246},"svObZ","apt-get",[240,249,251],{"class":250},"sU2Wk"," install",[240,253,254],{"class":250}," subversion\n",[211,256,257],{},[226,258,259],{},"Set up \u002Frepository",[230,261,263],{"className":232,"code":262,"language":234,"meta":235,"style":235},"mkdir repository\nchown root.repository \u002Frepository\nchmod 775 \u002Frepository\n",[237,264,265,273,285],{"__ignoreMap":235},[240,266,267,270],{"class":242,"line":243},[240,268,269],{"class":246},"mkdir",[240,271,272],{"class":250}," repository\n",[240,274,276,279,282],{"class":242,"line":275},2,[240,277,278],{"class":246},"chown",[240,280,281],{"class":250}," root.repository",[240,283,284],{"class":250}," \u002Frepository\n",[240,286,288,291,295],{"class":242,"line":287},3,[240,289,290],{"class":246},"chmod",[240,292,294],{"class":293},"sDLfK"," 775",[240,296,284],{"class":250},[211,298,299,300],{},"*",[301,302,303],"em",{},"Create a repository",[230,305,307],{"className":232,"code":306,"language":234,"meta":235,"style":235},"umask 002\nnewgrp repository\nsvnadmin create --fs-type fsfs \u002Frepository\u002Fname_of_repository\n",[237,308,309,317,324],{"__ignoreMap":235},[240,310,311,314],{"class":242,"line":243},[240,312,313],{"class":293},"umask",[240,315,316],{"class":293}," 002\n",[240,318,319,322],{"class":242,"line":275},[240,320,321],{"class":246},"newgrp",[240,323,272],{"class":250},[240,325,326,329,332,335,338],{"class":242,"line":287},[240,327,328],{"class":246},"svnadmin",[240,330,331],{"class":250}," create",[240,333,334],{"class":293}," --fs-type",[240,336,337],{"class":250}," fsfs",[240,339,340],{"class":250}," \u002Frepository\u002Fname_of_repository\n",[211,342,343],{},[226,344,345],{},"Getting svn+ssh to handle permissions gracefully (handling umask)",[230,347,349],{"className":232,"code":348,"language":234,"meta":235,"style":235},"mv \u002Fusr\u002Fbin\u002Fsvnserve \u002Fusr\u002Fbin\u002Fsvnserve_real\n",[237,350,351],{"__ignoreMap":235},[240,352,353,356,359],{"class":242,"line":243},[240,354,355],{"class":246},"mv",[240,357,358],{"class":250}," \u002Fusr\u002Fbin\u002Fsvnserve",[240,360,361],{"class":250}," \u002Fusr\u002Fbin\u002Fsvnserve_real\n",[211,363,364],{},[226,365,366],{},"Then create a new file \u002Fusr\u002Fbin\u002Fsvnserve with the following contents",[230,368,370],{"className":232,"code":369,"language":234,"meta":235,"style":235},"#!\u002Fbin\u002Fsh\n\numask 002\n\u002Fusr\u002Fbin\u002Fsvnserve_real \"$@\"\n",[237,371,372,378,384,390],{"__ignoreMap":235},[240,373,374],{"class":242,"line":243},[240,375,377],{"class":376},"sAwPA","#!\u002Fbin\u002Fsh\n",[240,379,380],{"class":242,"line":275},[240,381,383],{"emptyLinePlaceholder":382},true,"\n",[240,385,386,388],{"class":242,"line":287},[240,387,313],{"class":293},[240,389,316],{"class":293},[240,391,393,396,399,402],{"class":242,"line":392},4,[240,394,395],{"class":246},"\u002Fusr\u002Fbin\u002Fsvnserve_real",[240,397,398],{"class":250}," \"",[240,400,401],{"class":293},"$@",[240,403,404],{"class":250},"\"\n",[211,406,407],{},"This will set umask so that group permissions are OK. The one annoyance is that you will need to repeat this step each time subversion is updated via an apt upgrade. I keep a copy of this script in \u002Fusr\u002Fbin\u002Fsvnserve_wrapper",[409,410,411],"style",{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":235,"searchDepth":275,"depth":275,"links":413},[],null,"2005-05-20 20:34:29 +0200","md",{},"\u002F2005\u002F05\u002F20\u002Fsubversion-with-svn-ssh",{"title":206,"description":213},{"loc":418},"2005\u002F05\u002F20\u002Fsubversion-with-svn-ssh",[423,424,425],"debian","subversion","ssh","XiW_uSLE_-pBTLGMxlNY0_AxPXft4SNvE2aki5L8zCI",1775293017159]