Remove broken empty file.
[learning_git.git] / learning_git_proposal.pod
blobd98a5f857e1569623730c2a4bea9ff988df2f476
1 =head1 Proposal
3 Randal Schwartz and brian d foy intend to write a beginner-level book
4 of the Git source control tools. This book will be approximately 350
5 pages organized as a task-driven introduction to Git and distributed
6 source control. We plan the publish this book commercially while
7 also distributing it under a Creative Commons license.
9 =head2 What will this book be good for?
11 This is the tutorial book aimed at source control beginners to
12 accompany the Git documentation. It takes the reader from no knowledge
13 of source control to being competent with everyday distributed source
14 control tasks using Git. 
16 =over 4
18 =head2 The market for the book
20 Git is the source control system for Linux, XXX, XXX, and many other
21 large projects. The total market for this book is anyone using source
22 control, which breaks down into several sub-markets:
24 =item People with no source control experience
26 This is our target audience, although that does not rule out any other
27 audience. This market assumes the least about the reader, and also gives
28 us a chance to un-brainwash the users of inferior systems.
30 =item CVS users
32 We expect that most people using source control are stuck with CVS. It's been
33 around for a long time, is easy to use, and has several design limitations.
35 =item SVN users
37 Subversion is another popular source control system. It's available publicly
38 through Sourceforge and Google Code. Privately, it's a bear of a system to install.
39 People who've felt the pain of SVN, especially those with CVS experience, want
40 to return to the simplicity of CVS. 
42 =item Commercial source control (Perforce, Clearcase)
44 =item Everyone else
46 =cut
48 =head2 The outline
50 =head3 Foreword (2 pages)
52 Can we get Linus to write this? Maybe talk about how stupid SVN is? :)
54 =head3 Preface (5 pages)
56 =over 4
58 =item Structure of this book
60 =item Conventions used in this book
62 =item Creative Commons
64 =item Installing git
66 =item Acknowledgements
68 =back
70 =head3 Introduction to Distributed Source Control (20 pages)
72 =over 4
74 =item What is source control?
76 =item Why distributed?
78 =item Why Git?
80 =item Other distributed source control systems
82 =back
84 =head3 Creating a Local Repository (20 pages)
86 =over 4
88 =item Exercises
90 =back
92 =head3 Branching (20 pages)
94 =over 4
96 =item Exercises
98 =back
100 =head3 Committing (20 pages)
102 =over 4
104 =item Exercises
106 =back
108 =head3 Configuring Git (20 pages)
110 =over 4
112 =item Exercises
114 =back
116 =head3 Sharing with Others (20 pages)
118 =over 4
120 =item Git over ssh
122 =item Git over HTTP
124 =back
126 =head3 Cloning (20 pages)
128 =over 4
130 =item Exercises
132 =back
134 =head3 Inspecting history (20 pages)
136 =over 4
138 =item Exercises
140 =back
142 =head3 Reverting (20 pages)
144 =over 4
146 =item Exercises
148 =back
150 =head3 Resolving Conflicts (20 pages)
152 =over 4
154 =item Exercises
156 =back
158 =head3 Restructuring Your Repository (20 pages)
160 =over 4
162 =item Exercises
164 =back
166 =head3 Pulling From Others (20 pages)
168 =over 4
170 =item Exercises
172 =back
174 =head3 Dealing with Patches (20 pages)
176 =over 4
178 =item Exercises
180 =back
182 =head3 Advanced Branching (20 pages)
184 =over 4
186 =item Abandoning branches
188 =item Exercises
190 =back
192 =head3 Working with an Existing Project (20 pages)
194 =over 4
196 =item Exercises
198 =back
200 =head3 Appendix A: Answers to Exercises (20 pages)
202 =head3 Appendix B: Dual sourcing and Git co-existence  (5 pages)
204 =head3 Appendix C: Converting to Git from CVS (5 pages)
206 =head3 Appendix D: Converting to Git from SVN  (5 pages)
208 =head3 Appendix E: Setting up an account on a public repo host  (5 pages)
210 =head2 Schedule
212 There is no publication schedule with this book. We intend to write
213 most of the book before we look for a publisher.
215 =head2 License
217 This work is licensed under the Creative Commons 
218 Attribution-Noncommercial-Share Alike 3.0 License
219 U<http://creativecommons.org/licenses/by-nc-sa/3.0/>.
221 =head2 Advance payments
223 We do not want any advance payment from any publisher.
225 =head2 Our writing sample
227 Randal Schwartz is the author of I<Randal Schwartz's Perls of Wisdon>
228 and I<Learning Perl Objects, References, and Modules>, co-author of
229 I<Learning Perl, 4th Edition>, I<Intermediate Perl>, and contributor
230 to I<Effective Perl Programming>.
232 brian d foy is the author of I<Mastering Perl>, co-author of
233 I<Learning Perl, 4th Edition> and I<Intermediate Perl>, publisher of
234 I<The Perl Review>, and the author of articles in I<The Perl Review>,
235 I<The Perl Journal>, and other magazines.
237 =head2 Tools
239 We'll use plain text POD. We're familiar with O'Reilly's pseudo-pod
240 extensions and have already developed a set of tools to work with
241 them. From the POD we can go to any other format very easily.
243 As we develop the book we'll export the POD to HTML to make it easier
244 to read.
246 Final layout format depends on the publisher.
248 =cut