On 5/1/17, Warren Young <wyo...@tangentsoft.com> wrote: > I’ve checked in my new Platform Quirks section. > > Oddly, I noticed only after doing the first checkin that it used my local > user name (tangent) as the user name on the remote (i.e. fossil-scm.org) > repository. I was able to fix it for a second clean-up checkin by re-cloning > under my new wyoung user name. > > Why did it let me do that? Shouldn’t it either have refused to accept a > checkin from user “tangent” or silently used “wyoung” instead, even though > my local clone was made as user “tangent”? > > It wasn’t that long ago that I was wishing for a way to retroactively fix > user names in a repository. Now we have a case outside my local > repositories. :)
The username is recorded as plain text in the Manifest artifact of the check-in, and is unrelated to the credentials used to log into the server. It is not possible to modify the username in a Manifest artifact because that would change the hash name of the check-in. It is possible to change the displayed username on a single check-in at a time using tags. For example, visit the "/ci_edit" page that is reached from the "Edit" link on the check-in information page. Changing the username for a check-in involves creating a "user" tag for that check-in. For some examples of where this has occurred in the past include: https://www.fossil-scm.org/fossil/info/314cdab https://www.fossil-scm.org/fossil/info/413921cca04863b3 https://www.fossil-scm.org/fossil/info/ad0d6aed Notice how the original username is displayed in addition to the revised username, in keeping with the Fossil tradition of always leaving an audit trail. On the timeline, however, only the revised username is shown. For example, https://www.fossil-scm.org/fossil/timeline?c=314cdab0 shows "sdr" instead of "scott". In the Fossil repo database, the original username is held in the EVENT.USER field and the more recent revision is held in EVENT.EUSER. EUSER is NULL if there have been no edits. Hence, for display purposes, we normally show the name as coalesce(event.euser,event.user); There is not currently a way to globally change a username. However, it is reasonable to consider a "user alias" table that globally remaps historical usernames into something new for display. -- D. Richard Hipp d...@sqlite.org _______________________________________________ fossil-dev mailing list fossil-dev@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/fossil-dev