Re: git todo-list ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 2007, April 24, Johannes Schindelin wrote:

> Like Junio said, it is not starting it, but maintaining. (BTW Andy, I
> am still waiting for that list...)

Ask and ye shall receive.   I had to make it look pretty first didn't I?
Couldn't just send you any old rubbish.

The only remaining things are hardly worth worrying about or weren't accepted
any way.

Enjoy.

----------------------------------------------------------
ADP niggle list
===============

 * git-revert should be called git-invert.  It doesn't remove a change
   from history, it simply applies another commit that does the
   opposite of whatever commit you are "revert"ing.  That's an inversion.
 * git-branch is not verbose enough when creating a new branch, for a new user
   a little reassurance that what they meant to happen has happened would be
   nice.
 * git-fetch output is confusing:
    remote: Generating pack...
    remote: Done counting 189146 objects.
    remote: Result has 186566 objects.
    remote: Deltifying 186566 objects.
    remote:  100% (186566/186566) done
    Unpacking 186566 objects
    24% (44792/186566) done
   Some questions from the point of view of a newbie: what is a pack?  what is
   an object? Why is the remote counting them?  Which remote am I reading
   from?  What am I fetching?  What is "Deltifying"?  How much data do I have
   to download (number of objects doesn't tell me).  How long has this taken?
   How long is left to go?
 * Similar things can be said about git-clone
 * Similar things can be said about git-push
 * git-show-branch output is cryptic.


Not accepted by list
--------------------

 * git-apply output is horrible.  It says a few things about whitespace on
   stdin then just finishes.  When it succeeds.   When it fails, it just says
   failed, it doesn't say why a particular hunk failed.
 * git-rebase/git-cherry-pick/git-reset/etc should all tell the user that they
   need to run git-prune to tidy up after themselves.
 * git-add has no output, whether it works or not
 * git-cat-file is badly named.  git-cat-object would be slightly
   better.
 * In general the principle for messages should be the same as for
   presentations:
    - say what you're going to do
    - do it
    - say what you did
   So for example, "git-branch newbranch existingbranch" would say
    Branching at "existingbranch", hash XXXXXXXXXXXXXXXXXX
     - created branch "newbranch"
     - your working branch is "existingbranch"
   Rather than the nothing that it currently outputs.


Accepted but unimplemented
--------------------------

 * git-rebase --skip requires that the offending file be clean with
     git-checkout HEAD file
   before the skip will work.  Why?  The fact of the skip is enough
   knowledge for rebase to know that I don't care if the merge is lost


Fixed
-----

 * Apart from a little convenience of being able to add trees, I'm not
   really sure that git-add is different from git-update-index --add

   git-add is now more powerful and can replace update-index

 * We should never have to see git-update-index; instead git-rm, git-mv
   and git-add would take its place.  git-add would get new functionality
   where it can be used on already tracked files and hence would be renamed
   to, say git-prepare.

   git-add is now more powerful and can replace update-index.

 * git-fetch has to be in working root.  If I can do git-push from anywhere in
   my tree, why can't I do git-fetch?

 * git-reset has to be in working root.  If you typically sit in, say "src/",
   it's annoying to have to change directory to do a reset.

 * git-verify-tag would be nicer as a switch to git-tag

 * git-commit doesn't (generally) have output - after a commit, it's difficult
   to know if anything happened.  Get users used to the idea of hashes to
   identify commits by telling them which one they just made.  Tell them if
   they made a branch as well, which branch they are now on.

 * git-init-db says "defaulting to local storage area", as if that is
   meant to be a helpful message.

 * git-commit without "-a" and without an "update-index" says "nothing
   to commit", which isn't an adequate message to help a user who hasn't
   realised they need to update the index

 * git-merge output is horrible - this affects git-pull, git-rebase,
   and git-cherry-pick.  Issuing "fatal" errors and then carrying on is very
   confusing.  Errors in merges appear multiple times.  The files upon which
   which there is a conflict are spread throughout the output.  Most of the
   output is not relevant to an average user.

 * It would be really nice to be able to do an arbitrary checkout, rather than
   having to make a branch for it.  Then I could do
    git-checkout remotes/origin/master && make
   (obviously committing with a non-branch HEAD would be prevented).
   I think this is going to be a pre-requisite for submodule support





-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@xxxxxxxxx
-
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]