(my 2 cents as another ordinary new git user)
Hmm, not necessarily. That a system knows what the best action is
doesn't meant that _right now_ is the best time to take that action.
One subtle difference I think between git's gc and Java/python/etc.'s
gc is that in the latter case it is, at least metaphorically, a life
and death situation - if gc isn't run, the application will run out of
memory, where as in git, it's more of a performance degradation issue,
which, sort of, can wait.
On the issue of implementation awareness, a warning message saying
something along the lines of "your repository is getting slower. You
might want to consider running 'git gc', and remember to do that from
time to time." is not much different from "your file system is getting
slower. You might want to consider running <whatever-defrag-tool>, and
remember to do that from time to time."
Neither these messages nor the actions they propose _require_ users to
learn what "repacking", "loose object", or "file fragments" are about
before they can proceed.
Cheers.
--
Jing Xue
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html