git tf pull always results in Merge Conflicts, and keep-author doesn't work

May 29, 2014 at 6:55 AM
Edited May 29, 2014 at 6:59 AM
We are using GIT on Xcode integrating with a TFS Service Account which is supposed to have the ability to checkin on other people's behave.

This is our current git tf configuration

$ git tf configure
Default Depth : Deep
Tag Changeset Commits : true
Include Meta Data in Changeset Comments : true
Keep Git commit author: true

Whenever I do a tf pull, I always get conflicts.

$ git pull
$ git tf pull
$ Fetching and merging changes in .... at latest change set: 100%, done.
$ All files were fetched to commit at xxxxxxx and merged into master with the following conflicts:
$ <files that has been modified or added since the last git-tf checkin while no one was making change on those files on TFS side>

if I run git status, it marks the new, modified files as 'both modified'

I am thinking because of this problem, I always have to resolve the conflict either manually or use

$ git tf pull --ours

And when I do.

$ git tf checkin --user-map=USERMAP (where I have the correct mapping alias and git user/email)

TFS still shows the committer author as this TFS Service Account instead of the original committer, hence the --keep-author never worked.

What might be a problem causing this 100% merge conflict?

Isn't deep supposed to push all the commit to TFS? I am only seeing one changeset that contains everyone's commit with the same service account.

Please help. Thank you so much!!!