- 限制仓库数目
- 降低套餐需要联系客服。
- 余额不足的时候冻结一切push/pull行为,只能通过界面操作, 只用于HTTP(S)/SSH行为。
- 未登录 --》创建/被邀请 --》注册帐号 --》Join Organization
- 未登录 --》创建/被邀请 --》登录帐号 --》Join Organization
- 已登录 --》创建 --》Join Organization
- 已登录 --》另外一个邮箱被邀请 --》输入另外一个邮箱 --》Join Organization
- Admin 能管理Team/Members/Repos/Permits
- Admin 能处理Repos归属
- Team Leader 或者 Organization Admin 能解散Team
- 解散Team会解除所有的Team member联系以及仓库联系,仓库转移到Organization下
- 项目只允许在team或者organization下,fork可在个人目录下
- 项目由项目所有者拥有删除权限
- 项目的权限表
- 项目可以被Organization Admin和项目Owner拥有Transfer权限
- Git Path只存除开Organization之外的内容
- 退出组织(只准主动),删除team member对应,已有仓库停止读写访问,删除member对应,更新相应数据。
- Email唯一,所以一旦占有了类似于[email protected]之后,新加入分配为[email protected]的就没法再加入。
- 结构系统
- Git系统
- Trello系统
- Notify系统
- Email系统
- 成就系统
- 个人数据统计系统
- gist 性能,批量获取文件内容也许性能更好
- Join/Quit team -> team activities
- online edit and add file
- gist
- fork
- hooks
- 仓库状态
- Organization可以选择套餐, 立即生效,必须余额大于套餐价格,下个月开始扣费
- 第一次前端整理
- Titan自身功能不带slash
- 接入Repos
- push完取2次push之间的commit logs, 超过1天自动放弃,记录下最后的commit sha
- 增加成员 -> time.time(), repo, user -> zadd message
- 获取状态的时候做trim
- 设置默认分支
- raw
- 文件类型和大小,限制2进制文件输出
- blob
- ls-tree
- Watch a repo
- 访问仓库权限
- Maria 接入
- 一种方案限制注册和创建仓库超过上限
- Team 有public和private
- 是否让任何人创建Team由Organization Admin决定
- public的team任何人都能加入和退出,private的只允许被 Team Leader 添加(Organization Admin不受限制)
- Team允许没有任何成员,包括管理员,这时候需要Organization Admin来决断
- Team的设置只能由Team leader或者Organization Admin设定
- Team的添加成员也只能由Team Leader或者Organizatio Admin执行
- 别名
- Manager SSH Key
- 发邮件的时候验证邮件地址
- 整理界面
- 增加Organization_required修饰器,类似于login_required
- 允许用户同时属于不同Organization
- 给Team增加属性和对应表
- 只允许通过组织邀请
- 允许邀请管理员
- 管理员允许设置组织信息
- 用户创建
- Team本身类似于Organization,不过是独立单元(Team members表以及对应的members/repos属性)
- Team能有头像
- 一个组织里面Team的ident是唯一的
- 实现Team逻辑(Create/Join/Setting)
- Show Members 页面