rtyley / bfg-repo-cleaner

Removes large or troublesome blobs like git-filter-branch does, but faster. And written in Scala
https://rtyley.github.io/bfg-repo-cleaner/
GNU General Public License v3.0
11k stars 547 forks source link

consider checking MERGE_HEAD #276

Closed Bigpet closed 6 years ago

Bigpet commented 6 years ago

I know this is an unusual situation but I was using bfg on a repository that was in the middle of an octopus merge. It had some git hashes in the MERGE_HEAD.

After using bfg naturally the hashes for various branches change. If the merge is then committed afterwards its obviously wrong (or if the pruning is done before committing, the commit will just error out). It would be neat if bfg could by default just print out a warning if a merge is in progress and advise to first commit it before rewriting.

Just a small nice-to-have thing.

javabrett commented 6 years ago

https://rtyley.github.io/bfg-repo-cleaner/#usage describes and recommends running BFG on a bare-repo which is a current clone of the shared repo. I would expect that to exclude a lot of unexpected states such as in-the-middle-of-difficult-merge etc.

A repo history-rewrite is a major team-event and requires careful coordination. You should definitely finalise any complex WIP, merges etc. before a production-run, and communicate heavily with the team.

Bigpet commented 6 years ago

Fair enough. This was during a svn-to-git conversion together with a multi repo merge, so there was no other teammembers working on the git repo yet.

I just thought that making things more fool-proof can't hurt.