[Pkg-shadow-devel] Switch to quilt committed. Don't fear ;)

Martin Quinson martin.quinson@loria.fr
Wed, 11 May 2005 17:22:02 +0200


--J2SCkAp4GZ/dPZZf
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, May 11, 2005 at 07:21:26AM +0200, Christian Perrier wrote:
>
> Martin, you can go ahead and work on switching to quilt. Just ask when
> you need us to stop commiting, if needed.

Ok, it's done.  I first uploaded a new quilt version including the makefile
sniplet we need to mimick /usr/share/dpatch/dpatch.make=20

Afterward, I realized that keeping shadow buildable within sarge is also a
good idea, and I replaced the include by the actual content of the file.=20

So, you only need to install a version of quilt, not the very last one which
is not even dinstall'ed yet.

You can commit your changes on top of this without fear. dpatch patches are
perfectly accepted as input to quilt. They are valid patches after all.=20

Any changes to debian/patches/00list must be done onto debian/patches/series
too. Note that the .dpatch suffix is not implicit in quilt (guess why) and
should be writen in the serie file.

In summary, I didn't completely kill dpatch yet and if you miss it, you
should be able to move back to it quite easily (that's why I commited so
quickly).

Now, do "echo QUILT_PATCHES=3Ddebian/patches > ~/.quiltrc"
This is because of a long standing bug in quilt, which I only recently
understood. It won't be needed in next versions, I guess.

A quick quilt tour, now.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

The quilt system can be assimilated to a Pile Of Patches management system.
Patches live in debian/patches, the working directory is "."

The basic commands are (abbreviation accepted):
quilt push (asks to apply the next patch in the pile)
quilt pop  (removes the current patch and go up in the pile)
quilt refresh (take the current changes in tree onto the patch)

When a file is changed by a patch, quilt saves it somewhere under .pc on
application. This is how it can refresh it afterward (comparing the version
in .pc and the one you currently have in your working dir).

There is two common pitfall with quilt:
 - doing "quilt pop" without doing "quilt refresh". The version of current
   dir is replaced with the version of the .pc dir. Your changes are lost.
   Quilt wont let you do so, but you can force it with '-f' if you're fool.
 - editing a file with is not in the patch yet. Quilt didn't do any previous
     backup.=20
   Use "quilt add" to add files to patches.=20
   Set $EDITOR and use "quilt edit" to edit a file, and add it onto the
     patch if needed.
    =20
The documentation is quite well done, I think. "quilt -h" will list you the
commands. "quilt <cmd> -h" will give you some hints about it. "man quilt" is
a reference documentation. /usr/share/doc/quilt/quilt.pdf.gz is a complete
manual, with tutorial.

If you have any other question, they are welcome.
Bye, Mt.

--J2SCkAp4GZ/dPZZf
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCgiMaIiC/MeFF8zQRAu4cAKDSGkwpteoJeZtyngDf/V+3P22iDACfdJfg
tJR3e27RzoY0mdssTiLT2uY=
=SPJT
-----END PGP SIGNATURE-----

--J2SCkAp4GZ/dPZZf--