-
Notifications
You must be signed in to change notification settings - Fork 34
Managing Checkouts
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.
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
.
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.