Add README
[git-bz.git] / TODO
1 Ideas about additions for git-bz
2 ================================
3
4 The presence of an idea here does not necessarily imply that I have
5 any intention of working on it myself.
6
7 - Owen
8
9 Always do 'git bz attach --edit'
10
11  Prompting doesn't have that much of an advantage over the edit buffer -
12  maybe a little easier to abort. And eliminating the need for --edit would
13  eliminate people having to find out about it and remember to specify it.
14
15 Make it harder to change the description for 'git bz attach'
16
17  'git bz push' really wants the description not to have been edited, but
18  it's pretty easy to accidentally edit the description; it might even
19  seem like changing it to 'new version of' is a good idea.
20
21  It probably just shouldn't be possible to edit the description at all.
22  We could do something like uncommenting:
23
24  # Description: Foo bar
25
26  To change it, but it doesn't seem useful.
27
28 Automatically guess obvious obsoletes
29
30  When doing attach -e/--edit, and there is an existing patch who's description
31  matches the Subject of the attachment, start the Obsoletes line
32  uncommented?
33
34 Better display of errors
35
36   The switch to XML-RPC greatly improves errors when filing a new bug,
37   but other problems (e.g., having stale login cookies when making an
38   attachment) still just dump HTML pages error pages to the console.
39
40 More general patch application
41
42   'git bz apply' currently only handles patches formated with
43   'git format-patch', it should be able to apply general patches
44   as well. For general patches, you would use information from
45   bugzilla to prime the author and commit message, but allow
46   further editing of the commit message.
47
48 Apply patches as a single mailbox
49
50   Instead of running 'git am' separately for each patch, combine
51   them into a mailbox and provide that to 'git am'. This will allow
52   'git am --resolved' to continue properly. It will, however,
53   require doing the 'add-url' work ahead of time by rewritig the
54   patches, since if 'git am' stops, we don't get called at the
55   end.
56
57 Pass --3way to git-am
58
59   git am --3way (on application failure, attempt to use the blob
60   IDs in the commit to do a 3-way merge) is way, way better when
61   it works then just stopping and making the user do it by hand.
62
63   git am --reject (put rejects into .reject files, ignore the rest)
64   is also useful, though it interacts badly with --3way; that
65   probably needs to be fixed upstream.
66
67 Make -u/--add-url kinder on the reflog
68
69   -u works each patch, running git cherry-pick followed by
70   git commit --amend. It would be nice to only avoid the double
71   commits.
72
73   The double commits could be avoided if if we did the 'rewrite patch'
74   thing for 'git bz apply'- then we could use it here too and just
75   pass the whole sequence to 'git am'.  And by setting
76   GIT_REFLOG_ACTION='bz add-url' it should work almost perfectly.
77