chiark / gitweb /
New contrib scripts: stg-dispatch and stg-show.
[stgit] / contrib / stg-dispatch
CommitLineData
5a30e78c
YD
1#!/bin/sh
2set -e
3
4# stg-dispatch - percollates files matching a pattern down to another patch.
5# It does the same job as stg-fold-files-from (and makes use of it to
6# do so), but from the patch containing the changes to migrate,
7# instead of doing so from the target patch.
8
9# usage: stg-dispatch <topatch> [-#<n>[-<n>][,<n>]...] <file-pattern>
10
11# Copyright (c) 2007 Yann Dirson <ydirson@altern.org>
12# Subject to the GNU GPL, version 2.
13
14die()
15{
16 echo >&2 "$(basename $0) error: $*"
17 exit 1
18}
19
20TOPATCH="$1"
21shift
22
23stg applied | grep "^$TOPATCH\$" >/dev/null ||
24 die "cannot dispatch to unapplied patch '$TOPATCH'"
25
26CURRENTPATCH=$(stg top)
27
28[ "x$TOPATCH" != "x$CURRENTPATCH" ] ||
29 die "dispatching to current patch ($CURRENTPATCH) makes no sense"
30
31stg goto "$TOPATCH"
32stg-fold-files-from "$CURRENTPATCH" "$@"
33stg refresh
34stg goto "$CURRENTPATCH"