Re: Call Me Gitless
- From
Alexander E Genaud <alex@genaud.net>
- Date
- Aug 19, 2008, 08:57 UTC
- Message-ID
- <ee521d6f0808190157s6a676a75t2ba3ef095f608431@mail.gmail.com>
- In-Reply-To
- <7vk5edfn6g.fsf@gitster.siamese.dyndns.org>
Hi Junio,
I would volunteer as the documentation git-virgin. To prove the hymen intact, here are some of my thoughts and stumbling blocks over the past two weeks:
There is no indication in the documentation distinguishing porcelain from plumbing. Perhaps there is a grey scale, but operations that do not move the HEAD to the latest should indicate that fact (for example, pull vs. push, fetch).
Remote never seems to do what I expect, so I manually edit the .git/refs!! Nor is git-reset what I expect and use git checkout (which does make sense only after a few backup trials). Git-add adds to the index but does not create, however git-rm removes from the index and does delete (an --index-only or --keep flag might be nice).
A single term for cache and index should be decided upon. git diff --cached is not intuitive when 'index' is used throughout the documentation. Generally the index is a simple and powerful concept that should be more thoroughly explained. Likewise for moving the HEAD, though I don't yet grok it (git-reset HEAD^, git push, git fetch).
Squashing commits into one is something I do often, and carefully read the manual every time, whether it's merge, rebase -i, etc. I would expect all merge-like functions to have an option to squash all new commits into a new single commit (rather than upon the latest commit). I'd also expect an abort option at all times during the git rebase -i. For example, when asked to create a single squash commit message, I might get cold feet.
I'd expect most commands to accept a branch argument without having to check it out first, such as git-log and git-status. Git diff might allow flags before branch, directories, etc to avoid ambiguity (such as when a branch and directory have the same name)
Cheers, Alex
-- [ alex@genaud.net ][ http://genaud.net ] [ B068 ED90 F47B 0965 2953 9FC3 EE9C C4D5 3E51 A207 ]