Comments (5)
Yeah, making people go through repeated history rewrites sounds very problematic, and it is also a bad idea to just push a rewrite without informing other people using the repo. It's a big flag day event kind of thing. Your new plan sounds like a better idea, but you'll still need to be careful to coordinate with folks so that they don't keep adding to directories that you have extracted in the mean time or you'll risk losing those changes when you do the final cutover.
Yes, coordination is painful and history rewrites requiring them can thus be very painful. But the need behind such coordination was totally part of the design goals behind git; they wanted to prevent situations where someone just broke into the server and modified history and no one was any the wiser when folks tried to download updates. The reason they designed for such a scenario was that someone tried this exact thing with the linux kernel before git was invented -- and the perpetrator would have succeeded had the kernel been using cvs or svn, but the problem was noticed due to some integrity checks that bitkeeper performed.
from git-filter-repo.
Have you read https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#DISCUSSION, particular the parts about "recovering from upstream rebase" and item 4?
from git-filter-repo.
I'll go ahead and close this, assuming the links above answered the question. Let me know if you have further questions about this, though.
from git-filter-repo.
Oops, apologies, didn't see the earlier reply!
I shall review 🙂
from git-filter-repo.
Have you read https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#DISCUSSION, particular the parts about "recovering from upstream rebase" and item 4?
Right, given that a reply, and i am concluding that what i am considering is quite a bad idea? 😉
The use case I am trying to cater for here is (re)moving sections of my target repo in to other ones a piece at a time over a period of weeks.. so what i'll probably do is just script what i want to move to new repos, run that over a few days, and then when done invert all the commands on the original repo and push somewhere new.
Ty.
from git-filter-repo.
Related Issues (20)
- remark: Pity that this tool can't run scripts/programs and it is not clearly stated HOT 1
- minor: Logic error with `_commits_referenced_but_removed` on a GitHub Gist web url in commit message 😂
- Crash when path contains emoji HOT 1
- Question: Recommended way to log the usage of git filter-repo and related changes? HOT 2
- Callback that gives both filename and blob
- Breaking change in git 2.43 or 2.44 HOT 2
- lint-history: --refs argument not working at all HOT 1
- Test suite succedes with Python 3.11 but has multiple failures with Python 3.12 HOT 7
- Turns out my assumption was wrong: `git lfs migrate export --everything --include="*"` does rewrite the whole history, across all branches, reinjecting all the large files' consecutive versions ([see here](https://github.com/git-lfs/git-lfs/issues/910#issuecomment-551566315)). Awesome! HOT 1
- Support for SHA256 HOT 1
- FR: Filter into new repo HOT 1
- clean-ignore of filter-repo-demos does not handle utf-8 characters HOT 1
- Trouble with Lock File HOT 3
- Really-43e2c HOT 2
- Renaming path and then renaming it back to the original name deletes path rather than renaming it (renaming to another path that exists has weird side effects) HOT 2
- Case-insenstive APFS volumes causing refs lock problem? HOT 1
- [Question] Repo size not shrinking after using --invert-paths HOT 6
- Clone rather than edit
- --paths-from-file only works with directories HOT 1
- `--dry-run` removes quotation marks from paths in `fast-export.filtered` HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-filter-repo.