@need 3200

@node The arch Global Name-space of Users
@chapter The arch Global Name-space of Users

@geindex user names

@geindex my-id



For various purposes (such as labelling the author of log messages),
@code{arch} maintains a global name-space of users.  Every user of @code{arch}
has an associated user ID, which is (ideally) globally unique.


An id string has two parts: a free-form part, and a unique-id part.
The unique-id part is an email address with a fully-qualified domain
name.  That part of your id string should be unique to you in the
world.  Here is an example:

@example
@group
             Joe Hacker <joe.hacker@@gnu.org>
                ^               ^
                |               |
           free form part     unique id
@end group
@group
@end group
@end example

The free-form part must match the regexp:

@example
@group
        [[:alnum:][:space:][:punct:]]*
@end group
@group
@end group
@end example

@noindent
and the unique-id part must match the regexp:

@example
@group
        <[-.[:alnum:]]+@@[-.[:alnum:]]+\\.[-.[:alnum:]]+>
@end group
@group
@end group
@end example

You should only need to set your ID once, which you can do with the
command:

@example
@group
        % larch my-id ID-STRING
@end group
@group
@end group
@end example

You can check your id with:

@example
@group
        % larch my-id
        Joe Hacker <joe.hacker@@gnu.org>
@end group
@group
@end group
@end example

@noindent
or:

@example
@group
        % larch my-id --uid
        joe.hacker@@gnu.org
@end group
@group
@end group
@end example

Clearly it is a good idea to use a real email address (belonging to
you) for the id string, but there is nothing that requires this.




