On Thu, Apr 24, 2008 at 12:59:34PM -0400, Avery Pennarun wrote: > I gather there's a movement in recent git versions (sorry, I only > tuned in recently) to encourage people to use git-gc instead of > git-prune in almost all cases. The reasons I ever looked at git-prune Yes, I don't think there is any reason for most people to use git-prune at all, unless they are trying specifically to prune and don't want the other gc effects to happen. Junio, please correct me if I'm wrong there. > Adding git-gc *and* git-reflog as See Also entries in git-prune would > make sense to me. Agreed. Below is a patch that will hopefully clarify the situation. -- >8 -- Documentation: point git-prune users to git-gc Most users should be using git-gc instead of directly calling prune. For those who really do want more information on pruning, let's point them at git-fsck, which goes into slightly more detail on reachability. And since we're pointing users there, let's make sure reflogs are mentioned in git-fsck(1). Signed-off-by: Jeff King <peff@xxxxxxxx> --- Documentation/git-fsck.txt | 3 ++- Documentation/git-prune.txt | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletions(-) diff --git a/Documentation/git-fsck.txt b/Documentation/git-fsck.txt index f16cb98..4cc26fb 100644 --- a/Documentation/git-fsck.txt +++ b/Documentation/git-fsck.txt @@ -22,7 +22,8 @@ OPTIONS An object to treat as the head of an unreachability trace. + If no objects are given, git-fsck defaults to using the -index file and all SHA1 references in .git/refs/* as heads. +index file, all SHA1 references in .git/refs/*, and all reflogs (unless +--no-reflogs is given) as heads. --unreachable:: Print out objects that exist but that aren't readable from any diff --git a/Documentation/git-prune.txt b/Documentation/git-prune.txt index f151cff..f92bb8c 100644 --- a/Documentation/git-prune.txt +++ b/Documentation/git-prune.txt @@ -13,6 +13,9 @@ SYNOPSIS DESCRIPTION ----------- +NOTE: In most cases, users should run linkgit:git-gc[1], which calls +git-prune. See the section "NOTES", below. + This runs `git-fsck --unreachable` using all the refs available in `$GIT_DIR/refs`, optionally with additional set of objects specified on the command line, and prunes all @@ -50,6 +53,23 @@ borrows from your repository via its $ git prune $(cd ../another && $(git-rev-parse --all)) ------------ +Notes +----- + +In most cases, users will not need to call git-prune directly, but +should instead call linkgit:git-gc[1], which handles pruning along with +many other housekeeping tasks. + +For a description of which objects are considered for pruning, see +git-fsck's --unreachable option. + +See Also +-------- + +linkgit:git-fsck[1], +linkgit:git-gc[1], +linkgit:git-reflog[1] + Author ------ Written by Linus Torvalds <torvalds@xxxxxxxx> -- 1.5.5.1.172.g4dce -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html