in testing, I found that if I try to do 2 different actions through 2 different runs of BFG, and they happen to both target info on a shared commit, they override each other and preserve bad data between them.
I would assume the object-id-map.old-new-txt output would be:
run 1:
originalHash -> HashA
run 2:
HashA -> HashB
but instead for those commits I see:
run 1:
originalHash -> HashA
run 2:
originalHash -> HashB
and when I navigate to the commits I can see all 3 (I know still seeing the original one without github gc on the remote is expected), what I would have expected is :
originalHash = old content
HashA = originalHash - 2 files
HashB = originalHash - 2 files AND - the folder
what I see is:
originalHash = old content
HashA = originalHash - 2 files
HashB = originalHash (with the 2 files still showing) AND - the folder
So if I run bfg multiple times it appears to not really clean either fully ?
My questions based on this are:
is this intended behavior?
is there a better way to handle this? (this is a back-to-back example, but curious on we fixed something a week ago, now we found something else to fix, and don't realize we just undid the first fix).
Is this an extension of the github gc issue? (until the original reference is gone, that is what will get targeted by bfg, not the most recent version?)
in testing, I found that if I try to do 2 different actions through 2 different runs of BFG, and they happen to both target info on a shared commit, they override each other and preserve bad data between them.
Ex: Run 1
I then delete my local copies, and the bfg mirrored repo
Then I run step 2 from scratch
I would assume the object-id-map.old-new-txt output would be: run 1: originalHash -> HashA run 2: HashA -> HashB
but instead for those commits I see: run 1: originalHash -> HashA run 2: originalHash -> HashB
and when I navigate to the commits I can see all 3 (I know still seeing the original one without github gc on the remote is expected), what I would have expected is : originalHash = old content HashA = originalHash - 2 files HashB = originalHash - 2 files AND - the folder
what I see is: originalHash = old content HashA = originalHash - 2 files HashB = originalHash (with the 2 files still showing) AND - the folder
So if I run bfg multiple times it appears to not really clean either fully ?
My questions based on this are:
Thank you for your time!