Checkin not keeping Timestamp history



I have recently done a migration from SVN to TFS(TFVC Repository). For that I have moved SVN code to local git repository using Git and then used "Git-TF" to move the code from local git to TFVC repository. Upon moving the code from local git to git repository in TFS I am getting the changeset history with user information and the commit date stamp [I know which is not related to Git-TF]. Upon performing the checkin from local git to TFS (TFVC repository) using the following git-tf command:

git tf checkin --keep-author --deep

I am getting all the changeset available at TFVC repository with the name of the author but with not with commit time stamp. It is displaying the current time for each changeset. Is this the expected functionality or is there any way possible that I will be able to get the time stamp of the actual changeset history. Please help me on this.



arukhlin wrote Apr 3, 2016 at 2:10 PM

Hi Arun,

Have you populated the user map template generated by git-tf with the correct user mappings? You might search the discussions on this site for --keep-author and --user-map parameters for details.


arungk100 wrote Apr 3, 2016 at 2:50 PM

Hi Alex,

Thank you so much for the reply.

Yeah as you told I got the USERMAP file in which I provided the users to map them with TFS identities. My query is more related to the time stamp. Is it possible that after performing the checkin of code from Git to TFS [After migrating from SVN] the time stamp of the commits will be displayed in TFS changesets. I am getting the user details in the changeset created in TFS after providing the mapping in USERMAP file, but the timestamp is missing and moreover the checkin time[from git] is displayed as the time stamp of SVN commit.

Is this an expected behavior, if not can you please guide me?


arukhlin wrote Apr 4, 2016 at 1:36 AM

Hi Arun,

I'm afraid the behavior you observe is the best one we could expect. TFS, as a Source Control Management System, is very protected regarding history changes. That's why it's just physically impossible to specify an older date when you commit a change. In other words, migrating to TFS (from SVN or any other Source Control system) you may expect the order of changes, but not their exact dates.


P.S. BTW, why do you migrate to TFVS (the original Team Foundation Version Control)? What's wrong with the Git repository architecture? Do you know that currently Microsoft TFS (both the cloud and on-prem) provides you with full support of Git repositories? I.e. you may select any of Git/TFVC source control repository and have a centralized management of the development process (Source Control, Issue tracking, Build, Test, Deployment, etc.)

P.P.S. That wasn't an AD. Just a question if curiosity. :-)