Option to refresh authors from an updated list

Issue #448 resolved
Steve Barnes
created an issue

Currently if the author of a commit is not in the authors mapping their SVN username is recorded as the change author - if that author is added to the mapping e.g.: later through a hg -A authors.txt pull their existing commits in the hg repository remain as commits with their SVN username. This occurs frequently in my case as I am working with several large, distributed, teams on a number of projects and am often only aware that a new developer has joined a project when I start noticing commits from them, (with their SVN username).

While it is possible that hg rebuildmata would correct this, since it uses the remote repository extensively, it is likely to be very slow for large repositories or when there is limited bandwidth.

Since the data is all stored locally, i.e. both the commits and the new author list it should be possible to correct the usernames to match a new or updated author list - this could also be very useful when an existing developer gets a new email address, this often happens in our organisation, especially when people change their name, e.g. on marriage.

Comments (4)

  1. Augie Fackler repo owner

    You want to go back and retroactively change the Author line in the Mercurial changes? Or block pulls when there's a missing entry in the authormap file?

    The former isn't going to happen (all your hashes would change - it's a defacto new conversion), but I think the latter is already possible.

  2. Steve Barnes reporter

    What I was after was the former - given that we have some largish repositories and frequent team shuffles I guess I will need to look into one of: a variant of convert that retains the svn metadata or a latest author details plug in. The first would only apply to svn repositories but the latter might be applicable to hg generally.

  3. Augie Fackler repo owner

    I'm going to wontfix this on ideological grounds: history is append-only, and if you want to change things you've pulled from the svn server that's really new history, and represents a new clone.

  4. Log in to comment