progit / progit2

Pro Git 2nd Edition
Other
5.82k stars 1.92k forks source link

Should book be updated to refer to newer version of Git than "2.0.0"? #855

Open rpjday opened 6 years ago

rpjday commented 6 years ago

NOTE in installation section:

"This book was written using Git version 2.0.0. Though most of the commands we use should work even in ancient versions of Git, some of them might not or might act slightly differently if you're using an older version. Since Git is quite excellent at preserving backwards compatibility, any version after 2.0 should work just fine."

At this point, given recent updates, is it worth bumping up the version number that the book claims to represent? Pretty sure a lot has happened since 2.0.0, and some parts of the book clearly document features added or changed since then.

P.S. More pedantic nitpickery (hey, it's what I do) but preface by Scott refers to first edition published "over four years ago now". Given that the second edition is a living, breathing beast, might be useful to tweak that to "over eight years ago now", as first ed was in 2009.

P.P.S. Just occurred to me, does the book describe how to get the most recent version of itself? I just noticed that there's no early reference in the book as to how to download and build from source ... or is there?

ben commented 6 years ago

All of these issues stem from the duality of this repository. We first used it to write the print version, where it's appropriate to talk about things as they are when it goes to press. The second use is the continually-improving ebooks and website presence.

  1. The note you're pointing to specifically says "older versions might be wonky, but everything you're reading should still be correct for newer versions," so I don't really see a problem there. To the average reader who needs help installing Git, 2.0.0 and 2.14.1 aren't significantly different version numbers, so they won't be worried that they're reading out-of-date claptrap. And most of the book technically was written using 2.0.0, so it's not incorrect.

  2. The prefaces are personal notes from the authors, and are a sort of time capsule of how we were thinking and feeling at the time, so I'd leave those alone. Maybe including a date might be appropriate, but I wouldn't change anything else.

  3. "The most recent version" to a regular Git user is the one they can download from the website. I'd guess that if you rounded to the nearest percentage point, 0% of Git users compile from source. A user who wants to hack on Git itself, or wants a custom build for some other reason can take a look at the Git repository, but that's not what this book is for.

mamh2021 commented 6 years ago

yeah,i aggree. Though most of the commands we use should work even in ancient versions of Git, some of them might not or might act slightly differently if you're using an older version. Can list the difference between 2.0.0 and 2.14.1 for some git commands in the book???

in progit2/book/10-git-internals/sections/refspec.asc for example:

You can’t use partial globs in the pattern, so this would be invalid:

fetch = +refs/heads/qa*:refs/remotes/origin/qa*

this is wrong on git 2.14.1.

$ git fetch origin +refs/heads/m*:refs/remotes/origin/a*
From https://github.com/mageSFC/myblog
 * [new branch]      master     -> origin/aaster

when publish this book version 3 ??? will update the git version to newest in book V3 at the same time???

ben commented 6 years ago

this is wrong on git 2.14.1.

Ooh, we should definitely fix that then.

when publish this book version 3 ??? will update the git version to newest in book V3 at the same time???

1e was just over 5 years old when 2e was released, and 2e is only 3½ years old at this point. The amount of change from a user point of view from 2009 to 2014 was quite large, where the number of UI changes since then is relatively small.

I think the community has done a fantastic job of keeping the book up to date, and I look forward to releasing that in print form. But "3rd edition" implies a full cycle of research, revision, and rewriting of the entire book, and I don't have room in my life for that just now. 😄