GitRoot

Craft your forge, Build your project, Grow your community freely
 1---
 2id: "de9a"
 3priority: 90
 4assignee: null
 5status: v0.4.0
 6---
 7
 8# Be able to represent branches and so graft in web
 9
10Today a plugin is limited to a branch (or all with \*). It permits to not override webcontent in apex, if a user push an deletion of all issues.
11
12But I want to be able to list branches and grafts in web.
13
14A solution could be to limit what a plugin can touch in branch, for example:
15
16- only if not in main -> don't run plugin on files which are presents in main
17- only in append -> can only append new things but not modify/delete what exist
18
19---
20
21Silo run on branchA and add a link to that in `board/branches.md` in branchA
22Apex render **only** `board/branches.md` from branchA but what if branchB?
23
24---
25
26I want to see all grafts, but only in append of all branches.
27
28```yaml
29runOn:
30  - branch: ["main"]
31    path: "**/*"
32    when: ["add", "mod", "del", "mv"]// or *
33    write:
34      git:
35        - path: "**/*"
36          can: ["*"]
37      web:
38        - path: "**/*"//make it the default?
39          can: ["*"]//make it the default?
40  - branch: ["*", "!main"]
41    path: "grafts/**/*"
42    when: ["add", "mod"]
43    write:
44      git: []//no write //make it the default?
45      web:
46        - path: "grafts/**/*"
47          can: ["create", "append"]
48```
49
50---
51
52On the other side, it can be restricted in the users.yml.
53
54---
55
56Apex render branches in `/branches/` with an `index.html` to know all branches and for each a `branchName.html`. This files contains commits.
57Apex also render all modified files in `/branches/branchName/file.html` and report to grafter plugin.