Re: EasyGit [Was: Re: my git problem]

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

 



On Fri, May 2, 2008 at 5:41 AM, Elijah Newren <newren@xxxxxxxxx> wrote:
> ... all I've really done so far in EasyGit is
>  * provide built-in tutorial-oriented documentation
>  * check for common user mistakes and warn about them
>  * add subcommand options in a way that breaks up the near cylic
>  knowledge dependence of git subcommands so that they can be learned in
>  a layered/hierarchical fashion
>  * add some gratuitous svn-compatibility commands to ease the
>  transition for svn users

I had typed up an explanation of what EasyGit is and does in more
detail and was going to wait to send it until I resolved some of the
issues Havoc brought up, but maybe it makes sense to send that out
now.  So, here it is:


EasyGit (eg) is a single-file script/porcelain that looks and feels like
core git.  In contrast to other simple-to-use porcelains, eg has all the
same capabilities as git (in particular, it does not remove the index) and
uses the same general syntax as core git.  Eg primarily reduces the
learning curve associated with git and prevents common user errors.

Changes:
  Most of the changes in eg relative to git boil down to:
    - plugging a large gap in git documentation (namely, providing a
      tutorial-oriented built-in help system)
    - warning about or preventing many common gotchas users run into with
      git
    - enabling users to learn in a layered fashion
  A detailed explanation of the differences, rationale for the changes in
  eg, and even arguments against some of the changes I made in eg can be
  found at
    http://www.gnome.org/~newren/eg/git-eg-differences.html

Saving cvs/svn users:
  EasyGit also looks and feels like svn on the most common subset of
  functionality used in the two systems, mostly due to the addition of a
  number of gratuitous svn-compatibility commands (such as cat, resolved,
  update).  cvs and svn users may be interested in the detailed comparison
  at
    http://www.gnome.org/~newren/eg/git-for-svn-users.html

Trying it:
  I believe new users will be able to learn git faster by first using eg,
  than by starting with git directly.  Switching between using eg and git
  on the same repositories is considered perfectly normal.  There are a
  couple aids to assist users in switching back and forth between eg and
  git:
    - Each help page has a section for listing any differences between eg
      and git.
    - Users can run
        eg --translate ARGS...
      to see what git command(s) would be run by
        eg ARGS...
      without actually running them.

Goals for eg:
  Git has obtained a reputation for being difficult to learn.  I wanted to
  prove that a porcelain could be written which
    1) was easy to learn
    2) retained all the functionality in git
    3) does not hinder the workflows of longtime git users and does not
       require them to relearn the UI
  Feedback from early adopters suggest that I have made good progress
  towards achieving the first two goals; I do not have enough feedback
  to determine whether I have done well with the last one.

  I would like to see the parts of eg that the community likes
  incorporated into git core.  I do not know which changes would be wanted
  or welcome, and it may turn out that some of my changes show ignorance
  of certain aspects of git (some such cases have previously been
  uncovered already...and fixed).  But the discussion can't hurt, and a
  number of the solutions I used in eg I have not found in searches of
  previous discussions in the archives.


Elijah
--
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]

  Powered by Linux