1REPOMAPPER(1)                  Development Tools                 REPOMAPPER(1)
2
3
4

NAME

6       repomapper - update and manipulate contributor maps
7

SYNOPSIS

9       repomapper [-i] [-p passwordfile] [-u updatefile] [-h host] contribmap
10

DESCRIPTION

12       Older, centralized version-control systems such as CVS and SVN
13       centralize a repository on one host and identify users by their account
14       names on that host. Distributed version-control systems such as git and
15       Mercurial identify users by a netwide-unique ID consisting of a
16       name-among-humans followed by an email address.
17
18       When moving a repository from a centralized to a distributed system,
19       therefore, one of the prerequisites is a contributor map that
20       associates each account name on the old system to a DVCS-style ID on
21       the new one. This tool automates parts of that process.
22
23       The main argument file must be a contributor map such as is read by the
24       authors read subcommand of reposurgeon(1). It may be a fresh or stub
25       map, produced by authors write before any human-name or email
26       information has been added to the repository. Or it may have
27       name-among-humans and email information filled in for some entries.
28
29       A stub map entry looks something like this:
30
31           foonly = foonly <foonly>
32
33       The same entry, fully filled in, might look something like this:
34
35           foonly = Fred Foonly <foonly@fubar.net>
36
37       The default behavior of the tool is to report all map entries, in
38       effect a sorting copy of the file.
39
40       With -i, it reports only entries that are not yet in DVCS form - that
41       is, either the fullname field on the right side of the equals sign is
42       identical to the account name on the left, or the email field contains
43       no @-sign, or both.
44
45       With the -p option, this tool fills in the full-name field using the
46       password file given as the option's argument. Only the username and the
47       comment (or 'gecos') field containing the user's name-among-humans are
48       used. Other fields are ignored, including the password-hash field. (On
49       modern Unixes this field does not contain the actual hash, which lives
50       in a different file named /etc/shadow, so /etc/passwd can be shared
51       without security risk.)
52
53       In the -p mode, for each entry in the contrib file the program looks
54       for a username in the password file matching the name to the left of
55       the equal sign. If a match is found, the user's name-among-humans is
56       extracted from the gecos field and replaces the text between the “=”
57       and the “<”.
58
59       Thus, the stub line above and the /etc/passwd line
60
61           foonly:x:1000:1000:Fred Foonly,,,:/home/foonly:/bin/bash
62
63       will combine to produce this on output:
64
65           foonly = Fred Foonly <foonly>
66
67       Note that the email-address part (and, if present, the optional
68       trailing timezone field) are not normally modified.
69
70       However, if the -h option is given, the argument is taken to be a host
71       name which should be appended (after a @) to every email field that
72       does not already contain a @. The argument would typically be the
73       fully-qualified domain name of the repository host.
74
75       Thus, if the passwd file still contains an entry for every committer
76       (which might not be the case if inactive committer accounts were ever
77       removed), -p mode combined with an -h option can produce an entire,
78       valid contributor map.
79
80       In the -u mode of operation, the option argument must be a second
81       contributor file, which is taken as a source of updates. Each
82       contributor entry with a username not matching any in the first
83       contributor map is copied into the first map, which is output.
84
85       Output from this tool is always a contrib map sorted by username.
86

SEE ALSO

88       reposurgeon(1).
89

AUTHOR

91       Eric S. Raymond <esr@thyrsus.com>. This tool is distributed with
92       reposurgeon; see the project page at
93       http://www.catb.org/~esr/reposurgeon.
94
95
96
97repomapper                        01/30/2020                     REPOMAPPER(1)
Impressum