OnWorks favicon

repomapper - Online in the Cloud

Run repomapper in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command repomapper that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



repomapper - update and manipulate contributor maps


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


Older, centralized version-control systems such as CVS and SVN centralize a repository on
one host and identify users by their account names on that host. Distributed
version-control systems such as git and Mercurial identify users by a netwide-unique ID
consisting of a name-among-humans followed by an email address.

When moving a repository from a centralized to a distributed system, therefore, one of the
prerequisites is a contributor map that associates each account name on the old system to
a DVCS-style ID on the new one. This tool automates parts of that process.

The main argument file must be a contributor map such as is read by the authors read
subcommand of reposurgeon(1). It may be a fresh or stub map, produced by authors write
before any human-name or email information has been added to the repository. Or it may
have name-among-humans and email information filled in for some entries.

A stub map entry looks something like this:

foonly = foonly <foonly>

The same entry, fully filled in, might look something like this:

foonly = Fred Foonly <[email protected]>

The default behavior of the tool is to report all map entries, in effect a sorting copy of
the file.

With -i, it reports only entries that are not yet in DVCS form - that is, either the
fullname field on the right side of the equals sign is identical to the account name on
the left, or the email field contains no @-sign, or both.

With the -p option, this tool fills in the full-name field using the password file given
as the option's argument. Only the username and the comment (or 'gecos') field containing
the user's name-among-humans are used. Other fields are ignored, including the
password-hash field. (On modern Unixes this field does not contain the actual hash, which
lives in a different file named /etc/shadow, so /etc/passwd can be shared without security

In the -p mode, for each entry in the contrib file the program looks for a username in the
password file matching the name to the left of the equal sign. If a match is found, the
user's name-among-humans is extracted from the gecos field and replaces the text between
the “=” and the “<”.

Thus, the stub line above and the /etc/passwd line

foonly:x:1000:1000:Fred Foonly,,,:/home/foonly:/bin/bash

will combine to produce this on output:

foonly = Fred Foonly <foonly>

Note that the email-address part (and, if present, the optional trailing timezone field)
are not normally modified.

However, if the -h option is given, the argument is taken to be a host name which should
be appended (after a @) to every email field that does not already contain a @. The
argument would typically be the fully-qualified domain name of the repository host.

Thus, if the passwd file still contains an entry for every committer (which might not be
the case if inactive committer accounts were ever removed), -p mode combined with an -h
option can produce an entire, valid contributor map.

In the -u mode of operation, the option argument must be a second contributor file, which
is taken as a source of updates. Each contributor entry with a username not matching any
in the first contributor map is copied into the first map, which is output.

Output from this tool is always a contrib map sorted by username.

Use repomapper online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Boost C++ Libraries
    Boost C++ Libraries
    Boost provides free portable
    peer-reviewed C++ libraries. The
    emphasis is on portable libraries which
    work well with the C++ Standard Library.
    See http://www.bo...
    Download Boost C++ Libraries
  • 2
    VirtualGL redirects 3D commands from a
    Unix/Linux OpenGL application onto a
    server-side GPU and converts the
    rendered 3D images into a video stream
    with which ...
    Download VirtualGL
  • 3
    Library to enable user space
    application programs to communicate with
    USB devices. Audience: Developers, End
    Users/Desktop. Programming Language: C.
    Download libusb
  • 4
    SWIG is a software development tool
    that connects programs written in C and
    C++ with a variety of high-level
    programming languages. SWIG is used with
    Download SWIG
  • 5
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce theme, built with
    Next JS, Webpack, Babel, Node, and
    Express, using GraphQL and Apollo
    Client. WooCommerce Store in React(
    contains: Products...
    Download WooCommerce Nextjs React Theme
  • 6
    Package repo for ArchLabs This is an
    application that can also be fetched
    It has been hosted in OnWorks in...
    Download archlabs_repo
  • More »

Linux commands