This repository has been archived by the owner on Dec 31, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
TODO.txt
70 lines (54 loc) · 2.88 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
67
68
69
70
# TODO
- grr option to adopt an existing CR and patchset
- `grr --integrate,-I` that checks for approvals, does the integration,
and then calls `grrDelete`.
- change <parenthetical> to being an *option*, makes it clearer how to update
it later:
grr ISSUE
...
grr -p "my parenthetical that I remembered to add later"
- doc the opinions and expected workflow in README.md
- eslint
- `grr -D` may delete other non-grr branch details, which isn't right
- --dry-run support
- --commit
- `grr -D` to check that all commits have been pushed to Gerrit, else require
a -f
- `extraIssues` improvement to not have to fetch issue info from JIRA/GH every
time. Currently the `extraIssues` issueTitle is being cached locally in
".git/config", so the `grrUpdateOrCreate` pipeline doesn't always *need*
to go fetch issue data for them. Instead:
1. `stepParseExtraIssues` could be changed to just `ensureExtraIssueData`
(similar to `ensureIssueId` just above it for the main issue).
2. We would then need to ensure that `grr --update` would re-fetch issue
data for `extraIssues`.
- support an option (in config and per branch) to push to a remote GH branch
as well for every `grr`. Then have some of the GH branch utilities
(nicer full diff, seeing individual commits as they were made, ability to
use jenkins.joyent.us `TRY_BRANCH`)
- support pulling ticket title from smartos.org/bugview for public issues
(then don't have to be internal Joyent Eng to use `grr`)
- perhaps add draft support: `git push origin HEAD:refs/drafts/master`
This makes a "Draft" CR that only those added as reviewers can see. I
don't know if there are other implications.
- handle the scenario below?
## scenario: `grr TOOLS-123` when not on that branch locally
What happens if the user does `grr TOOLS-123` when not on the already created
branch for that. There are a few cases.
1. `grr/TOOLS-123` branch exists locally, currently on master.
[~/src/myproject (master)]$ grr TOOLS-123
grr: error: 'grr/TOOLS-123' branch already exists. Switch to it or use '--force'.
TODO: add '-f,--force' for creating a new branch.
2. `grr/TOOLS-123` branch exists locally, currently on some other branch.
[~/src/myproject (foo)]$ grr TOOLS-123
grr: error: TOOLS-123 does not match the CR issue (TOOLS-124) for the current branch (grr/TOOLS-123)
3. `TOOLS-123` branch exists locally and was manually used for CR'ing that
issue earlier. Don't want to have `grr` start searching all branch configs
right now. So this is a foot gun. The result is that it'll create a new
'grr/TOOLS-123' branch.
[~/src/myproject (master)]$ grr TOOLS-123
Issue: TOOLS-123 add feature X
Creating branch for CR: grr/TOOLS-123
Not creating CR: no commits over master
[~/src/myproject (grr/TOOLS-123)]$
TODO: add '-f,--force' for creating a new branch.