git-tfs/git-tfs — Issue #114: Does not correctly handle multiple-rename checkin from TFS
Author: adamrofer
Created: 2011-12-05 21:59:20+00:00
State: open

SYMPTOM: Running "git tfs verify" prints out various "Only in TFS" files

CAUSE: TFS checkin where a file is renamed FROM a filename and another is renamed TO that filename in the same checkin

Example:

* git tfs verify returns "Only in TFS:X.foo"

* tracing back to TFS checkin shows the original file X was renamed and then replaced with the contents of another file, e.g.:

* Chgset 800: X.foo X1.foo

* Chgset 801: X.foo (rename, source rename) X-old.foo (rename)

where X.foo in 801 is X1.foo in 800 and X-old.foo in 801 is X.foo in 800

* Tracing back to sha in Git and calling log -p or diff on the sha shows:

* X-old.foo was correctly surmised from X.foo (rename from X.foo rename to X-old.foo)

* ...But X1.foo is just shown as "deleted"