一个Django应用程序,提供对VCS系统的同质化管理。

django-anyvcs的Python项目详细描述


django anyvcs是一个django应用程序,提供对多个 版本控制系统及其访问权限。当前支持 VCS系统是Git、Mercurial和Subversion。

django_anyvcs.models.Repo的每个实例都对应于一个VCS存储库 在服务器的磁盘上。您可以将这些回购协议的访问权限授予一个或多个 djangoUserGroup(来自django.contrib.auth.models)。

所有存储库都可以通过ssh访问方法提供。宋承宪 服务器应配置用户公钥,以强制 要运行的命令,而不是请求的命令-此命令 应该是django-anyvcs-ssh,当 已安装程序包。您可能需要使用django-sshkey来帮助 你这样做。原始的ssh_dispatch.py脚本仍然包含在 向后兼容的弃用警告。

django-anyvcs-ssh程序解释原始ssh命令,该命令 应该在SSH_ORIGINAL_COMMAND环境变量中(自动 由openssh设置),并执行请求,授予和拒绝访问 在Django中配置。

配置

django_anyvcs添加到项目的INSTALLED_APPS中。

django_anyvcs.views.access视图由django-anyvcs-ssh使用。 映射到此视图的url应该可供运行 django-anyvcs-ssh(通常是本地主机)。

视图django_anyvcs.views.api_call不被 django anyvcs,但提供了一个web api来访问 基础存储库。django_anyvcs.remote模块提供了一个python 提供类似于 anyvcs.common.VCSRepo对象。

警告

不要向公众提供来自django_anyvcs.urls的任何URL, 因为他们可以泄露敏感信息。

设置

django anyvcs查看项目设置中的以下变量。py:

VCSREPO_ROOT
字符串,必需。所有VCS存储库所在的根目录 已存储。
VCSREPO_PATH_FUNCTION
功能,可选。重写给定给回购的默认路径。功能 返回一个字符串(路径)。
VCSREPO_CHECK_NESTED_PATHS
布尔值,默认为true。如果为true,则对所有 其他回购路径,以确保它们不相互嵌套。这是 一个相当昂贵的手术,所以如果你知道这不会发生,那么 此设置为False。
VCSREPO_ALLOW_NESTED_PATHS
布尔值,默认为false。如果是真的,那么支持它的VCS系统将 允许路径嵌套。目前,只有Mercurial支持此功能。
VCSREPO_USE_USER_RIGHTS
布尔值,默认为true。如果为true,则将启用用户权限模型。
VCSREPO_USE_GROUP_RIGHTS
布尔值,默认为true。如果为true,那么grouprights模型将为 已启用。
VCSREPO_USER_MODEL
字符串,默认为AUTH_USER_MODEL'auth.User'。定义用户 用户权限绑定到的模型。
VCSREPO_GROUP_MODEL
字符串,默认为'auth.Group'。定义组模型 组权限绑定到。
VCSREPO_RIGHTS_FUNCTION
功能,可选。如果已设置,则使用两个参数调用此函数: 正在访问的存储库,以及正在访问存储库的用户(可以 无表示匿名用户)。函数应该返回 权限字符串,它是“-”(拒绝访问)、“r”(只读访问)或 “rw”(读写访问)。
VCSREPO_USER_ACL_FUNCTION
功能,可选。如果已设置,则使用一个参数调用此函数 是一个存储库。函数应该返回映射的dictauth.User对权限字符串的实例,对于 给定存储库。
VCSREPO_GROUP_ACL_FUNCTION
功能,可选。如果已设置,则使用一个参数调用此函数 是一个存储库。函数应该返回映射的dictauth.Group对权限字符串的实例,对于 给定存储库。
VCSREPO_RECALCULATE_DISK_SIZE
布尔型,可选。如果为真,django anyvcs将自动重新计算晚的 每当调用django anyvcs ssh访问时存储库的磁盘大小 他们。默认为真。
VCSREPO_IGNORE_PRIVATE
布尔型,可选。如果为true,django anyvcs将不考虑缓存 由磁盘大小的一部分python-anyvcs生成的信息。默认为 正确。

django-sshkey一起使用时,类似的设置将绑定在一起 两个应用程序:

SSHKEY_AUTHORIZED_KEYS_OPTIONS = \
  'command="env VCSREPO_ROOT=%s /path/to/django-anyvcs-ssh ' \
  'http://localhost:8000/anyvcs/access {username}",no-agent-forwarding,' \
  'no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding' % VCSREPO_ROOT

依赖关系

尽管django anyvcs不是一个严格的依赖项,但它的设计目的是 与django-sshkey(2.0.0版或更高版本)结合,将是 如果没有它或者其他提供类似功能的东西,这是相当无用的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java结合两个Date实例使用Joda创建datetime   带有POI和FileOutputStream的java Swing应用程序性能问题   Java中是否存在类似于Python的异常?   Java中有界通配符的泛型   使用字符和子字符串的java不同输出   在Java中获取LDAP模式   java自定义类在自身上生成ClassNotFoundException   java连接到从internet到通过LAN连接到internet的系统的serversocket   java如何通过maven在jaxws中使用jaxb插件?   java Kerberos如何获取主体或客户端名称?   java应用服务器中是否有JDBC的单点登录解决方案?   java是存储矩阵值以便以后访问的更好方法   Java等级计算器。开始这门课我需要一些帮助   未找到Android“libc++\u shared.so”中的java OpenCV实现   当我使用web配置部署描述符时使用java。xml。它显示了错误   java为什么我的ArrayList的add方法冲突,如何编辑我的自定义add方法   java创建一个以集合为键的映射?   java如何将用户输入到数字三角形中   为什么Java在读取LinkedHashMap时会自动从字符串转换为整数   类动态创建和读取java类