First of all, my sincere apologies for the inordinate delay in reply. The user who created the mess went on leave. By the time he was back, I got stuck in some other issue. Later, I took the log of 'history' command from his machine because i wanted to first simulate the scenario before i could apply Alfred's check to see whether it works. I tried simulating the scenario but couldn't reproduce it. :( Here's the PASTEBIN link which details what the developer did and how i tried simulating the same: http://pastebin.com/0GkSc59y As you will notice from the above link, in the original case, the developer got "Your branch is ahead of 'origin/some_branch' by 2 commit." message while in my simulation, i got "Your branch and 'origin/some_branch' have diverged, and have 1 and 1 different commit each, respectively." Not only is the message different, in the simulation, i can actually see the user's (in this case, harry) detail in 'git log' command. In the original case, the log did not contain any info on the user who messed up history. Although i did suspect that Alfred's suggestion might not actually address this issue but i still wanted to confirm it. However, thanks Alfred because it did solve another issue (disabling "force push") for which i was planning to put a check. :) @Randall/Kevin: The type of setup you suggested will definitely be ideal but in the type of environment we operate, i'm highly skeptical whether it will be implemented. :) I surely will highlight the issue and its impact though. As Gergely earlier mentioned, i guess i will have to capture ref updates. I never really looked into 'refs' before but now i will have to. I'm sure it will help me customize many other things as well especially access-related stuff. Thanks again to Junio, Gergely, Alfred, Randall and Kevin for their inputs. :) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html