Skip to content
This repository was archived by the owner on Nov 27, 2023. It is now read-only.

Managing Checkouts

falconindy edited this page Sep 27, 2014 · 1 revision

asp checkout allows you to fork individual Arch packages and maintain your own changes in a fully functional git repository. asp has no direct knowledge of this new repository, and it's yours mutate as you desire.

Implementation

asp clones $ASPROOT into a new repository, but uses the --single-branch flag to limit the fetched refs. asp becomes the upstream remote of your new repo, and changes can be be pulled in via the usual means after calling asp update.

Repository Layout and Suggested Usage

Repos Repositories created by asp checkout will mirror the layout of Arch's SVN. For a given package pkgfile, it might look like the following:

    pkgfile
    ├── repos
    │   ├── extra-i686
    │   │   ├── PKGBUILD
    │   │   └── pkgfile.install
    │   └── extra-x86_64
    │       ├── PKGBUILD
    │       └── pkgfile.install
    └── trunk
        ├── PKGBUILD
        └── pkgfile.install

The trunk directory contains the most up to date build files. Each subdirectory in the repos directory represents the build files that were used to build the packages destined for that repository and architecture. Arch developers commit changes to trunk, but rely on automation to manage the files in the repos directories. You should follow this lead, treating repos as read only, and making changes in trunk.

Since this is strictly a downstream repository, calling git pull defaults to performing a rebase instead of a merge. This facilitates making changes on the default branch, but you can develop in a different branch if choose to do so. Note that you must call asp update before changes will be available to pull into your local repository.

Clone this wiki locally