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.
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.
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.
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)
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)
58 =item Structure of this book
60 =item Conventions used in this book
62 =item Creative Commons
66 =item Acknowledgements
70 =head3 Introduction to Distributed Source Control (20 pages)
74 =item What is source control?
76 =item Why distributed?
80 =item Other distributed source control systems
84 =head3 Creating a Local Repository (20 pages)
92 =head3 Branching (20 pages)
100 =head3 Committing (20 pages)
108 =head3 Configuring Git (20 pages)
116 =head3 Sharing with Others (20 pages)
126 =head3 Cloning (20 pages)
134 =head3 Inspecting history (20 pages)
142 =head3 Reverting (20 pages)
150 =head3 Resolving Conflicts (20 pages)
158 =head3 Restructuring Your Repository (20 pages)
166 =head3 Pulling From Others (20 pages)
174 =head3 Dealing with Patches (20 pages)
182 =head3 Advanced Branching (20 pages)
186 =item Abandoning branches
192 =head3 Working with an Existing Project (20 pages)
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)
212 There is no publication schedule with this book. We intend to write
213 most of the book before we look for a publisher.
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.
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
246 Final layout format depends on the publisher.