Hi @Hemanti Nag ,
Welcome to the community!
What you've stumbled across is one of the fundamental design principles of version control systems. Both Git and Mercurial track content. That is, they only track the file's contents (which is verified by using the SHA-1 of the file). The timestamp of a file is inherently a local attribute. Imagine you move a file from one location to /tmp, then you move it back. The file's contents remain unchanged but its timestamp will be whenever you moved it back.
So, asking to keep file attributes is just not possible with either Git nor Mercurial:
The communities of each version control system will undoubtedly tell you that your build system will need to be changed to accommodate for this. Build systems like bazel.io are fast and popular solutions, which may work better for you. Furthermore, changing the tools now would break existing build systems including the Linux kernel itself. The topic comes up occasionally, as seen here:
where the project leader himself explains why that's a bad idea.
Hey Community! We’re willing to wager that quite a few of you not only use Bitbucket, but administer it too. Our team is excited to share that we’ll be releasing improvements throughout this month of...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events