Sunday, 15 July 2012

Changes made by merge commits not found by `git bisect` or `git log -S --all` -



Changes made by merge commits not found by `git bisect` or `git log -S --all` -

i made prepare file, , committed git repository.

some time later, found had regressed. wanted know in commit prepare had been taken out, tried git bisect , git log --all -s term, "term" string added prepare , appeared else in project.

i found git bisect blamed unrelated commit, , found git log --all -s term listed commit in added term, , didn't list commits having removed it, though no longer in file @ "master".

after manual searching, found there had been merge commit between 2 branches. 1 branch had prepare , 1 did not. merge author had picked branch without prepare (strange, there no conflict in file).

my questions are:

why can git bisect not find merge changes? don't see in manpage limitation. there different way utilize find bad merge in above scenario? why git log --all -s term not list merge commit? manpage says lists commits "introduce or remove instance of ". merge commit not remove string? there different way utilize find bad merge in above scenario? if git bisect , git log -s useless in above scenario, efficient way find bad merge? me quite long time track downwards alter in question without these tools.

git git-bisect

No comments:

Post a Comment