Support for filtering incremental streams
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Fast Import |
Fix Released
|
Wishlist
|
Alex Usov | ||
python-fastimport |
Fix Released
|
Wishlist
|
Alex Usov |
Bug Description
filter_processor is quite aggressive right now: it will unconditionally squash empty commits and rewrite parents.
It is not currently usable for the simple cases, like removing a file or two from the the stream:
- if you run it on a partial (branch only) stream it will remove "from" references to the parent tree
- and if you run it on a whole history of the branch it will squash empty commits from shared history
After some poking around the code it seems it should be relatively easy to add extra flag (or deduce flag value from includes/excludes) to make it more conservative, so that it will preserve all empty commits & unresolved "from" links.
Are there any underwater stones on this path?
Related branches
- Jelmer Vernooij (community): Approve (code)
-
Diff: 301 lines (+240/-5)2 files modifiedfastimport/processors/filter_processor.py (+11/-3)
fastimport/tests/test_filter_processor.py (+229/-2)
- Jelmer Vernooij (community): Approve
-
Diff: 40 lines (+14/-1)1 file modifiedcmds.py (+14/-1)
description: | updated |
Changed in bzr-fastimport: | |
assignee: | nobody → Alex Usov (a-s-usov) |
Changed in python-fastimport: | |
assignee: | nobody → Alex Usov (a-s-usov) |
Changed in bzr-fastimport: | |
status: | New → Triaged |
Changed in python-fastimport: | |
status: | New → Triaged |
Changed in bzr-fastimport: | |
importance: | Undecided → Wishlist |
Changed in python-fastimport: | |
importance: | Undecided → Wishlist |
Changed in python-fastimport: | |
status: | Triaged → Fix Committed |
Changed in bzr-fastimport: | |
status: | Triaged → Fix Committed |
milestone: | none → 0.12.0 |
Changed in bzr-fastimport: | |
status: | Fix Committed → Fix Released |
Changed in python-fastimport: | |
milestone: | none → 0.9.1 |
status: | Fix Committed → Fix Released |