git/contrib/subtree/todo
Luke Shumaker 6468784dd2 subtree: give the docs a once-over
Just went through the docs looking for anything inaccurate or that can
be improved.

In the '-h' text, in the man page synopsis, and in the man page
description: Normalize the ordering of the list of sub-commands: 'add',
'merge', 'split', 'pull', 'push'.  This allows us to kinda separate the
lower-level add/merge/split from the higher-level pull/push.

'-h' text:
 - correction: Indicate that split's arg is optional.
 - clarity: Emphasize that 'pull' takes the 'add'/'merge' flags.

man page:

 - correction: State that all subcommands take options (it seemed to
   indicate that only 'split' takes any options other than '-P').
 - correction: 'split' only guarantees that the results are identical if
   the flags are identical.
 - correction: The flag is named '--ignore-joins', not '--ignore-join'.
 - completeness: Clarify that 'push' always operates on HEAD, and that
   'split' operates on HEAD if no local commit is given.
 - clarity: In the description, when listing commands, repeat what their
   arguments are.  This way the reader doesn't need to flip back and
   forth between the command description and the synopsis and the full
   description to understand what's being said.
 - clarity: In the <variables> used to give command arguments, give
   slightly longer, descriptive names.  Like <local-commit> instead of
   just <commit>.
 - clarity: Emphasize that 'pull' takes the 'add'/'merge' flags.
 - style: In the synopsis, list options before the subcommand.  This
   makes things line up and be much more readable when shown
   non-monospace (such as in `make html`), and also more closely matches
   other man pages (like `git-submodule.txt`).
 - style: Use the correct syntax for indicating the options ([<options>]
   instead of [OPTIONS]).
 - style: In the synopsis, separate 'pull' and 'push' from the other
   lower-level commands.  I think this helps readability.
 - style: Code-quote things in prose that seem like they should be
   code-quoted, like '.gitmodules', flags, or full commands.
 - style: Minor wording improvements, like more consistent mood (many
   of the command descriptions start in the imperative mood and switch
   to the indicative mode by the end).  That sort of thing.
 - style: Capitalize "ID".
 - style: Remove the "This option is only valid for XXX command" remarks
   from each option, and instead rely on the section headings.
 - style: Since that line is getting edited anyway, switch "behaviour" to
   American "behavior".
 - style: Trim trailing whitespace.

`todo`:
 - style: Trim trailing whitespace.

Signed-off-by: Luke Shumaker <lukeshu@datawire.io>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-04-28 16:47:19 +09:00

48 lines
1.6 KiB
Text

delete tempdir
'git subtree rejoin' option to do the same as --rejoin, eg. after a
rebase
--prefix doesn't force the subtree correctly in merge/pull:
"-s subtree" should be given an explicit subtree option?
There doesn't seem to be a way to do this. We'd have to
patch git-merge-subtree. Ugh.
(but we could avoid this problem by generating squashes with
exactly the right subtree structure, rather than using
subtree merge...)
add a 'log' subcommand to see what's new in a subtree?
add to-submodule and from-submodule commands
automated tests for --squash stuff
"add" command non-obviously requires a commitid; would be easier if
it had a "pull" sort of mode instead
"pull" and "merge" commands should fail if you've never merged
that --prefix before
docs should provide an example of "add"
note that the initial split doesn't *have* to have a commitid
specified... that's just an optimization
if you try to add (or maybe merge?) with an invalid commitid, you
get a misleading "prefix must end with /" message from
one of the other git tools that git-subtree calls. Should
detect this situation and print the *real* problem.
"pull --squash" should do fetch-synthesize-merge, but instead just
does "pull" directly, which doesn't work at all.
make a 'force-update' that does what 'add' does even if the subtree
already exists. That way we can help people who imported
subtrees "incorrectly" (eg. by just copying in the files) in
the past.
guess --prefix automatically if possible based on pwd
make a 'git subtree grafts' that automatically expands --squash'd
commits so you can see the full history if you want it.