On 2018/10/18 19:41, Daniel Jakots wrote:
> On Mon, 24 Sep 2018 20:00:32 -0300, "Elias M. Mariani"
> <marianiel...@gmail.com> wrote:
> 
> > Updated to patch current quirks version.
> 
> Thanks committed!
> 
> FYI, whenever you want to talk to remove a port there's no need to
> include a diff. It's easier to run cvs rm -f than saving the patch,
> applying it and so on (and you will still need to cvs rm -f them anyway
> because otherwise they will just be emptied by patch(1)).

use "patch -E" to remove the files - I normally use -E -p0 (adjust -p
as appropriate for the number of directories in the diff) so that new
directories get created if necessary and old files are removed.

Here's a script I use to help sync file additions/removals to cvs.
Doesn't handle everything (especially new directories) and I don't trust
it enough to run the commands directly (it just outputs lines that can be
copy-and-pasted) but still find it pretty useful.

#!/bin/ksh
state=initial

cvs -n -q up -PdA 2>/dev/null | grep -v ^M | while read x y; do
        fn=$(basename "$y")
        pn=$(dirname "$y")
        prefix=
        case "$x" in
        \?)     newstate=add ;;
        U)      newstate=rm ;;
        [AR])   continue ;;
        *)      echo "can't handle $x"
                exit 1 ;;
        esac
        if [[ $pn != $opn ]]; then
                [[ -n $opn ]] && echo $suffix
                state=
                if [[ $pn != . ]]; then
                        prefix="(cd $pn; "
                        suffix=")"
                fi
        fi
        if [[ $state != $newstate ]]; then
                state=$newstate
                if [[ -n $prefix ]]; then
                        echo -n "${prefix}"
                fi
                [[ $pn == $opn ]] && echo -n "; "
                echo -n "cvs $newstate"
        fi
        echo -n " \"$fn\""
        [[ $pn != $opn ]] && opn="$pn"
done

echo ")"

Reply via email to