mrconfig.README 1.71 KB
Newer Older
1 2 3 4
# How to use XSF's mrconfig

## Foreword

5
Although it's not required to maintain any package, `mr` is recommended so
6 7 8 9 10 11 12
that one can clone all packages at once. It also helps keeping up-to-date,
by fetching everything through a single command.


## Bootstrap

Go to the directory where you want to clone all XSF packages (let's
13
call it `~/debian-x`) and run this:
14 15

    # Get XSF tools:
16
    git clone git://git.debian.org/git/pkg-xorg/debian/xsf-tools.git debian/xsf-tools.git
17 18 19 20 21
    # Make the mrconfig file visible from the top-level:
    ln -s debian/xsf-tools.git/mrconfig .mrconfig
    # Needed to get custom commands to work:
    echo $(pwd)/.mrconfig >> ~/.mrtrust

22
You're now ready to fetch everything. By calling `mr up`, if a local
23 24 25 26
repository is missing, cloning happens, fetching otherwise:

    mr -c .mrconfig up

27
To speed things up, you can pass `--jobs` to fetch in parallel:
28 29 30 31 32 33

    mr -c .mrconfig --jobs 4 up


## Further configuration

34 35
To avoid passing `-c .mrconfig` every time, you can add the following stanza
to `~/.mrconfig`:
36

Cyril Brulebois's avatar
Cyril Brulebois committed
37
    [debian-x]
38 39 40
    chain = true
    update = echo "Updating XSF packages."

41
It's now sufficient to call `mr up` in any directory in the `~/debian-x`
42
directory to update all repositories the former contains.
43 44 45 46 47


## But I want to commit!

By default all repositories are cloned anonymously through the git protocol.
48
See the `pushInsteadOf` trick on <http://pkg-xorg.alioth.debian.org/reference/git-usage.html>.
49 50 51

## I want to update that file!

52 53 54 55
The `mrconfig-update` script is what you want. As long as you have an account
on `git.debian.org`, it's going to run a find command there to fetch an
updated list of all repositories, and generate an updated mrconfig file
accordingly, using `mrconfig.head` as header.