manual: improve explanation of target directory definition
[gnu-stow.git] / AUTHORS
blob1e98122ac5587c6f448876b34fa06e6151ffb667
1 This file documents the high-level history of Stow, and some of its
2 major contributors.  See also the THANKS file for a more complete list
3 of contributors.
5 Stow was originally written by Bob Glickstein <bobg+stow@zanshin.com>,
6 Zanshin Software, Inc.
8 Gord Matzigkeit <gord@enci.ucalgary.ca> made some early contributions.
10 John Bazik wrote `fastcwd', the Perl subroutine for computing the
11 current working directory (later removed in 1.3.3).
13 Charles Briscoe-Smith <cpbs@debian.org> wrote the fix to prevent
14 stow -D / stow -R removing initially-empty directories (mentioned
15 in 1.3.3 section of NEWS).
17 Adam Lackorzynski <al10@inf.tu-dresden.de> wrote the fix to prevent
18 the generation of wrong links if there are links in the stow directory.
20 Stow was maintained by Guillaume Morin <gmorin@gnu.org> up to November
21 2007.  Guillaume originally imported the source code into the Savannah
22 CVS repository on 2001/12/24 with the tag "v1_3_2".  This history was
23 later imported into git as described below.
25 1.3.3 was the last release of the 1.x series.  The CVS history
26 contains a few commits after 1.3.3 preparing for a 1.3.4 release which
27 was never published (see the "import-cvs" tag in git).
29 Between 2007 and 2009, a small team of people collaborated on a
30 private in-house project on Stow:
32     https://lists.gnu.org/archive/html/stow-devel/2011-11/msg00003.html
34 Kahlil (Kal) Hodgson <kahlil@internode.on.net> performed a major
35 rewrite in order to implement:
37     1. deferred operations,
38     2. option parsing via Getopt::Long,
39     3. options to support shared files,
40     4. support for multiple operations per invocation,
41     5. default command line arguments via '.stowrc' and '~/.stowrc' files,
42     6. better cooperation between multiple stow directories,
43     7. a test suite (and support code) to ensure that everything still works.
45 As these changes required a dramatic reorganisation of the code, very
46 little was left untouched, and so Stow's major version number was
47 bumped up to 2.  Austin Wood <austin.wood@rmit.edu.au> and Chris
48 Hoobin <christopher.hoobin@rmit.edu.au> helped clean up the
49 documentation for the new 2.x.y series, and created the texi2man
50 script.
52 Kahlil obtained permission to donate these changes back to GNU.  The
53 Subversion history from this period is no longer accessible, so the
54 breakdown of the individual changes to the source code between 1.3.3
55 and the unreleased 2.0.2 version have been lost; however some details
56 are still visible in ChangeLog.OLD, which also acknowledges the
57 contributions of Geoffrey Giesemann and Emil Mikulc.
59 Sometime after this, Troy Will took over maintainership and imported
60 the unreleased 2.0.2 code base as the original root commit into
61 Savannah git repository.
63 On 25th November 2011, Adam Spiers <stow@adamspiers.org> took over
64 maintainership.  He imported the CVS history into the Savannah git
65 repository, grafting it onto the previous root commit imported by
66 Troy, and tagged this as v2.0.2:
68   https://lists.gnu.org/archive/html/stow-devel/2011-11/msg00001.html
69   https://lists.gnu.org/archive/html/stow-devel/2011-11/msg00002.html
71 refactored the backend code into new Stow.pm and Stow/Util.pm modules
72 providing an OO interface, tightened up the test suite, added support
73 for ignore lists, `make test', and distribution via CPAN, and cleaned
74 up numerous other minor issues.
76 These changes were included in 2.1.0, which was the first official
77 release since 1.3.3 in 2002.
79 Stow is currently maintained by Adam Spiers.