Remove obsolete, rejected, or handled stuff

todo
Elijah Newren 5 years ago
parent 9cf3715032
commit c966696c13

59
TODO

@ -1,18 +1,12 @@
Crazy ideas, showing filter-repo flexibility:
Showing filter-repo flexibility:
- delete commits older than certain date (simple commit.skip())
- alternative path filtering
- doing case-insensitive path deletion
- clean via (current) .gitignore files [see git-check-ignore]
- removing/inserting files
- removing symlinks?
- adding a new file (LICENSE/COPYING) to the beginning of history (or
more accurately, each beginning of history)
- remove a submodule (copy contents into tree for each submodule commit)
- extract to submodule (where to put submodule history though?)
- convert to git lfs
- reformatting (lint) files in history [maybe only via git-very-bad-idea??]
- extend argument parser and use extended version
- git-bfgish (bfg) and git-very-bad-idea (filter-branch, on changed-only tree)
- more thorough repo splicing
- given list of (newbranch name, repo1_branchA, repo2_branchB) tuples,
walk through first parent histories and insert according to
@ -73,13 +67,8 @@ Other feature ideas:
- Compatibility:
- Is any work needed to handle submodules?
- Options:
- paths-from-file (similar to --replace-text, maybe also invert or basename?)
- include-old-names-of-specified-files (auto get rename data from --analyze?)
- add --skip-cleanup (pruning, gc, etc.; keep reset --hard) for speed compare
- Old list:
- --keep-excluded-revisions
- --keep-excluded-refs
- --negative-refs={drop,reference}
Cleanups and left-over bits:
- put $(git --exec-path) in front of PYTHONPATH before importing?
@ -87,25 +76,9 @@ Cleanups and left-over bits:
- metadata
- On second and subsequent runs, update metadata instead of overwriting
- for maps, give beginning_hash -> end_hash, not intermediate hashes
- error out if any progress messages in stream (can't deal with them unless
we can pass --cat-blob-fd to fast-import, and that seems non-portable)
Documentation
- Examples, include these in:
- help output
- README.md
- manpage
- Add backward compatiblity guarantee warning where needed
- manpage
- discussion of --*-callback options
- Make list of caveats:
- notes about history becoming incompatible (from rebase documentation)
- signed tags will be stripped
- empty commit pruning and topological changes
- --fake-missing-tagger stuff
- commit message rewriting
- path rename collisions
- all the git.git bug reports
- manpage
More thorough testing
- pruning: refs or tags behind a negative revision specification
@ -124,34 +97,6 @@ Performance:
- Blob filtering is active AND the only file_changes involved correspond
to filenames that have previously been modified.
Argument parsing stuff:
# NOT YET IMPLEMENTED OPTIONS BELOW
misc.add_argument('--store-backup', default=None,
metavar='NAMESPACE', dest='backup',
help='Store a copy of original refs under refs/NAMESPACE/')
misc.add_argument('--keep-excluded-refs', action='store_true',
help='''If refs are excluded either explicitly (e.g.
^master) or implicitly (e.g. a branch in the
history of an excluded ref/revision, or a branch
not listed in the set of revisions to filter),
then that ref will be deleted by the filtering
process. Use --keep-excluded-refs to retain
such refs.''')
misc.add_argument('--keep-excluded-revisions', action='store_true',
help='''If negative revisions are provided to exclude
the range of history we are filtering over (e.g.
negative_branch..master or ^negative_branch_1
^negative_branch_2 master develop), then by
default any commits in the history of those
revisions are excluded from the filtered history
(resulting in the first not-excluded commit in
history becoming a root commit and often
containing an unusually large number of file
changes). With --keep-excluded-revisions, those
commits are all retained (in their unfiltered
form).''')
BFG issues:
3 basic types:
- nasty surprises ("bugs")

Loading…
Cancel
Save