]> oss.titaniummirror.com Git - repo_shell.git/blobdiff - README
Document gitcreate -y option
[repo_shell.git] / README
diff --git a/README b/README
index 8a5db3ab9179952fbd82414d8aadaf7bddc5fa76..966229f0fbb6dbeb459edaf6be1dd9c27aef3b4f 100644 (file)
--- a/README
+++ b/README
@@ -25,15 +25,14 @@ server, only using the git or subversion client side tools.
 Please build from a repository clone, as the make script uses
 'git describe --tags' to generate the resulting executable's version string.
 
 Please build from a repository clone, as the make script uses
 'git describe --tags' to generate the resulting executable's version string.
 
-= Configure /etc/repo_shell.cfg
+= Configure /etc/repo_shell.conf
 
 
-The file /etc/repo_shell.cfg must contain certain fields as shown in the example
-below.  The spaces surrounding the equal sign ('=') are optional.
+The file /etc/repo_shell.conf must contain certain fields as shown in the
+example below.  The spaces surrounding the equal sign ('=') are optional.
 
     owner = repo
     svn_root = /var/lib/svn/repositories
     git_root = /var/lib/git
 
     owner = repo
     svn_root = /var/lib/svn/repositories
     git_root = /var/lib/git
-    git_acl_file = /var/lib/git/.gitacls
     allowed_interactive =
 
 owner is the system account username which will own all repositories, and is
     allowed_interactive =
 
 owner is the system account username which will own all repositories, and is
@@ -44,10 +43,6 @@ account home directory can be one of the repository root paths
 svn_root and git_root are self-explanatory, being the longest filesystem path
 shared by repositories of that type, e.g. their shared root directory.
 
 svn_root and git_root are self-explanatory, being the longest filesystem path
 shared by repositories of that type, e.g. their shared root directory.
 
-git_acl_file is the pathname of a file providing ACL information for git
-repository access, as implemented internally bit repo_shell.  A recommended
-pathname is /var/lib/git/.gitacls
-
 allow_interactive contains a list of users that may log into the server via SSH,
 or that may issue arbitrary commands to the server via SSH.  Instead of a list,
 the wildcard character '*' can be used to indicate all users.  Note that this
 allow_interactive contains a list of users that may log into the server via SSH,
 or that may issue arbitrary commands to the server via SSH.  Instead of a list,
 the wildcard character '*' can be used to indicate all users.  Note that this
@@ -57,12 +52,13 @@ allowed 'interactive' access.
 
 = Create owner and paths
 
 
 = Create owner and paths
 
-In accordance with the contents of /etc/repo_shell.cfg:
+In accordance with the settings in /etc/repo_shell.conf:
 
 
-    adduser --system --group repo --home /var/lib/svn \
-       --shell /usr/local/bin/repo_shell repo
-    sudo install -d -o repo -g repo -m 0755 /var/lib/svn/repositories
-    sudo install -d -o repo -g repo -m 0755 /var/lib/git
+    sudo adduser --system --group <owner> --home /var/lib/svn \
+       --shell /bin/false <owner>
+    sudo install -d -o <owner> -g <owner> -m 0750 <svn_root>/..
+    sudo install -d -o <owner> -g <owner> -m 0750 <svn_root>
+    sudo install -d -o <owner> -g <owner> -m 0750 <git_root>
 
 = Configure subversion repository ACLs
 
 
 = Configure subversion repository ACLs
 
@@ -75,12 +71,12 @@ http://svnbook.red-bean.com/en/1.7/svn.serverconfig.pathbasedauthz.html
 
 = Configure git repository ACLs
 
 
 = Configure git repository ACLs
 
-Git repository access control is managed by the git acl file, nominally located
-at {git_root}/.gitacls.  This file has a format similar but not exactly like
-Subversion's authz file.  The file defines one of three levels of access for
-various combinations of users and repositories, then compared to the git command
-arriving via SSH to determine if the access will be allowed.  Please see
-README.gitacls for more information.
+Git repository access control is managed by the git acl file, located at
+{git_root}/.gitacls (git_root is defined in /etc/repo_shell.conf).  This file
+has a format similar but not exactly like Subversion's authz file.  The file
+defines one of three levels of access for various combinations of users and
+repositories, then compared to the git command arriving via SSH to determine if
+the access will be allowed.  Please see README.gitacls for more information.
 
 = Create a subversion repository
 
 
 = Create a subversion repository
 
@@ -107,6 +103,12 @@ the create command would be:
 
     sudo -u repo gitcreate mirrors/tinyos/tinyos-main.git
 
 
     sudo -u repo gitcreate mirrors/tinyos/tinyos-main.git
 
+If a subdirectory path being requested doesn't already exist, the script will
+ask the operator if it is OK to create it.  To automatically create non-existent
+subdirectory paths, add the -y option:
+
+    sudo -u repo gitcreate -y mirrors/tinyos/tinyos-main.git
+
 = Configuring user accounts
 
 Each user to access repositories via client side tools need an account on the
 = Configuring user accounts
 
 Each user to access repositories via client side tools need an account on the
@@ -134,7 +136,7 @@ both subversion and git repositories.
 
 Users interact with subversion and git repositories using what we somewhat
 incorrectly call access paths.  In both cases, the access path is relative to
 
 Users interact with subversion and git repositories using what we somewhat
 incorrectly call access paths.  In both cases, the access path is relative to
-the respective repository type root, as defined in /etc/repo_shell.cfg.  In
+the respective repository type root, as defined in /etc/repo_shell.conf.  In
 other words, the user does not need to know where the repository is stored.  In
 the case of git, a repository can be under a subdirectory.  A couple of
 examples:
 other words, the user does not need to know where the repository is stored.  In
 the case of git, a repository can be under a subdirectory.  A couple of
 examples: