$ mkdir patches # quilt should not remove symlinks to patch files $ echo foo > foo $ quilt new test.diff > Patch %{P}test.diff is now on top $ quilt add foo > File foo added to patch %{P}test.diff $ echo "foo changed" > foo $ quilt refresh > Refreshed patch %{P}test.diff # Setup a symlink $ mv patches/test.diff . $ ln -s ../test.diff patches/test.diff $ readlink patches/test.diff > ../test.diff # Test the refresh $ echo "foo changed 2" > foo $ quilt refresh --no-index -p ab > Refreshed patch %{P}test.diff $ readlink patches/test.diff > ../test.diff # Test the refresh --backup $ echo "foo changed 3" > foo $ touch -r patches/test.diff test.timeref $ quilt refresh --backup --no-index -p ab > Refreshed patch %{P}test.diff $ readlink patches/test.diff > ../test.diff $ cat patches/test.diff > --- a/foo > +++ b/foo > @@ -1 +1 @@ > -foo > +foo changed 3 $ readlink patches/test.diff~ $ echo %{?} > 1 $ cat patches/test.diff~ > --- a/foo > +++ b/foo > @@ -1 +1 @@ > -foo > +foo changed 2 $ [ patches/test.diff~ -nt test.timeref ] && echo "mtimes differ" # Test the header update $ quilt header -a < A test patch > Appended text to header of patch %{P}test.diff $ readlink patches/test.diff > ../test.diff # Test the header update with a backup $ touch -r patches/test.diff test.timeref $ quilt header -r --backup > Replaced header of patch %{P}test.diff $ readlink patches/test.diff > ../test.diff $ cat patches/test.diff > --- a/foo > +++ b/foo > @@ -1 +1 @@ > -foo > +foo changed 3 $ readlink patches/test.diff~ $ echo %{?} > 1 $ cat patches/test.diff~ > A test patch > --- a/foo > +++ b/foo > @@ -1 +1 @@ > -foo > +foo changed 3 $ [ patches/test.diff~ -nt test.timeref ] && echo "mtimes differ" # Test the refresh when target is read-only $ chmod -w test.diff $ echo "foo changed 4" > foo $ quilt refresh --no-index -p ab > Refreshed patch %{P}test.diff $ readlink patches/test.diff $ echo %{?} > 1 $ cat patches/test.diff > --- a/foo > +++ b/foo > @@ -1 +1 @@ > -foo > +foo changed 4 # Test the refresh --backup when target is read-only $ rm -f test.diff $ mv patches/test.diff . $ ln -s ../test.diff patches/test.diff $ chmod -w test.diff $ echo "foo changed 5" > foo $ quilt refresh --backup --no-index -p ab > Refreshed patch %{P}test.diff $ readlink patches/test.diff $ echo %{?} > 1 $ cat patches/test.diff > --- a/foo > +++ b/foo > @@ -1 +1 @@ > -foo > +foo changed 5 $ readlink patches/test.diff~ $ echo %{?} > 1 $ cat patches/test.diff~ > --- a/foo > +++ b/foo > @@ -1 +1 @@ > -foo > +foo changed 4