threads / patch / 21315

patcheveryday: fsck and gc are not everyday operations

Subject: [PATCH] everyday: fsck and gc are not everyday operations

## tl;dr

2 messages between Oct 21, 2009 and Mar 15, 2010. Diffs are folded; open one to read it.

replies: 1people: 1as markdown or json

Anders Kaseorg· Oct 21, 2009, 20:02 UTC · lore

Back in 2005 when this document was written, it may have made sense to introduce ‘git fsck’ (then ‘git fsck-objects’) as the very first example command for new users of Git 0.99.9. Now that Git has been stable for years and does not actually tend to eat your data, it makes significantly less sense. In fact, it sends an entirely wrong message.

‘git gc’ is also unnecessary for the purposes of this document, especially with gc.auto enabled by default.

The only other commands in the “Basic Repository” section were ‘git init’ and ‘git clone’. ‘clone’ is already listed in the “Participant” section, so move ‘init’ to the “Standalone” section and get rid of “Basic Repository” entirely.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
---
 Documentation/everyday.txt |   51 +++----------------------------------------
 1 files changed, 4 insertions(+), 47 deletions(-)
Show changes to Documentation/everyday.txt +4 −42
diff --git a/Documentation/everyday.txt b/Documentation/everyday.txt
index 9310b65..e0ba8cc 100644
--- a/Documentation/everyday.txt
+++ b/Documentation/everyday.txt
@@ -1,13 +1,8 @@
 Everyday GIT With 20 Commands Or So
 ===================================
 
-<<Basic Repository>> commands are needed by people who have a
-repository --- that is everybody, because every working tree of
-git is a repository.
-
-In addition, <<Individual Developer (Standalone)>> commands are
-essential for anybody who makes a commit, even for somebody who
-works alone.
+<<Individual Developer (Standalone)>> commands are essential for
+anybody who makes a commit, even for somebody who works alone.
 
 If you work with other people, you will need commands listed in
 the <<Individual Developer (Participant)>> section as well.
@@ -20,46 +15,6 @@ administrators who are responsible for the care and feeding
 of git repositories.
 
 
-Basic Repository[[Basic Repository]]
-------------------------------------
-
-Everybody uses these commands to maintain git repositories.
-
-  * linkgit:git-init[1] or linkgit:git-clone[1] to create a
-    new repository.
-
-  * linkgit:git-fsck[1] to check the repository for errors.
-
-  * linkgit:git-gc[1] to do common housekeeping tasks such as
-    repack and prune.
-
-Examples
-~~~~~~~~
-
-Check health and remove cruft.::
-+
-------------
-$ git fsck <1>
-$ git count-objects <2>
-$ git gc <3>
-------------
-+
-<1> running without `\--full` is usually cheap and assures the
-repository health reasonably well.
-<2> check how many loose objects there are and how much
-disk space is wasted by not repacking.
-<3> repacks the local repository and performs other housekeeping tasks.
-
-Repack a small project into single pack.::
-+
-------------
-$ git gc <1>
-------------
-+
-<1> pack all the objects reachable from the refs into one pack,
-then remove the other packs.
-
-
 Individual Developer (Standalone)[[Individual Developer (Standalone)]]
 ----------------------------------------------------------------------
 
@@ -67,6 +22,8 @@ A standalone individual developer does not exchange patches with
 other people, and works alone in a single repository, using the
 following commands.
 
+  * linkgit:git-init[1] to create a new repository.
+
   * linkgit:git-show-branch[1] to see where you are.
 
   * linkgit:git-log[1] to see what happened.
-- 
1.6.5.1
Anders Kaseorg· Mar 15, 2010, 01:12 UTC · re: Anders Kaseorg · lore

Re: [PATCH] everyday: fsck and gc are not everyday operations

On Wed, 21 Oct 2009, Anders Kaseorg wrote:
Show 15 quoted lines
> Back in 2005 when this document was written, it may have made sense to 
> introduce ‘git fsck’ (then ‘git fsck-objects’) as the very first example 
> command for new users of Git 0.99.9.  Now that Git has been stable for 
> years and does not actually tend to eat your data, it makes significantly 
> less sense.  In fact, it sends an entirely wrong message.
> 
> ‘git gc’ is also unnecessary for the purposes of this document, especially 
> with gc.auto enabled by default.
> 
> The only other commands in the “Basic Repository” section were ‘git init’ 
> and ‘git clone’.  ‘clone’ is already listed in the “Participant” section, 
> so move ‘init’ to the “Standalone” section and get rid of “Basic 
> Repository” entirely.
> 
> Signed-off-by: Anders Kaseorg <andersk@mit.edu>

This patch seems to have been forgotten. Are there any opinions on it? I think it goes a long way toward making the “Everyday” document look less scary to Git newcomers.

Anders

← back to recent threads