forked from ingydotnet/git-subrepo
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathToDo
105 lines (76 loc) · 2.26 KB
/
ToDo
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
== Development
- The status command should be aware of being checked out into subrepo branch
- Change fetch to update
- Implement pull with a --reclone default
- Add version commit id to cmdver in .gitrepo.
- Update Makefile to install:
- git-subrepo.d/remote
- git-subrepo.d/commit
+ Add remote-url and remote-branch on fetch
- unless config.subrepo.auto-remote-add == false
- unless config.subrepo.auto-branch-add == false
- Write more tests:
- Make simple fixtures
- Multiple push sessions
- Test all error conditions:
- test/error.t
- Tests for reported rebase errors and other subtree badness
- Make the 'clean' command remove grafts
- Resolve outstanding github issues:
- Allow commands from any subdir.
- Update VERSION to 0.1.1
- Tag when ready.
- When .gitrepo is stable:
- Delete and re-clone all subrepos in all repos using them
- Rewrite the Intro doc.
== Promotion
- Git Commands
- #git-commands
- github.com/git-commands
- Fork projects
- git-commands.hacktive.com
- Make a CogWeb site
- Invent a good symbolic system for dags
- main and sub repo
- users: owner, user, collab
- commits: upstream sr head, local sr head, clone, pull, gitrepo
owner/main: A-----B
owner/subr: S-----T
git subrepo clone owner/subr foo
A-----B-----C
/
T'--T'+
== Done
+ Switch this repo from submodule to subrepo:
+ for test-more-bash & bashplus
+ Need to switch those first
+ Redo here
+ Save and reset rev state for push/checkout
x Save former pushed commit
x This can be saved in .git/info/subrepo/pushed
x Add more meta info to .gitrepo file:
x cloned - original upstream commit
+ Remove the 'remove' command.
+ Add new subcommands:
+ checkout
+ status
+ See what submodule and subtree do.
+ Implement clean
+ Implement --all
+ Review doc/readme
x Change former/parent to before
x Add comments before each config field
x Apply the transplant_prefix branch (use xxd)
+ Wrap external commands
+ Show them on verbose
+ Always check return status
+ die with output on failure
+ Implement verbose output
+ Write `git subrepo fetch`
+ Implement --quiet for status
+ Finish ref/remote/branch stuff
+ fetch
+ clean
+ status
+ checkout
+ The status command should work with 0-n arguments