git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Elijah Newren" <newren@gmail.com>
To: git@vger.kernel.org
Cc: "Havoc Pennington" <hp@pobox.com>, "Carl Worth" <cworth@cworth.org>
Subject: Re: EasyGit [Was: Re: my git problem]
Date: Fri, 2 May 2008 05:54:04 -0600	[thread overview]
Message-ID: <51419b2c0805020454p144698e4l843e8edab00ddeb7@mail.gmail.com> (raw)
In-Reply-To: <51419b2c0805020441l7a52f9d2q6bfc8eb4e18e4e7e@mail.gmail.com>

On Fri, May 2, 2008 at 5:41 AM, Elijah Newren <newren@gmail.com> 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

  reply	other threads:[~2008-05-02 11:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-02 11:41 EasyGit [Was: Re: my git problem] Elijah Newren
2008-05-02 11:54 ` Elijah Newren [this message]
2008-05-04 10:00   ` Christian Couder
2008-06-30 16:23 ` Sean Kelley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51419b2c0805020454p144698e4l843e8edab00ddeb7@mail.gmail.com \
    --to=newren@gmail.com \
    --cc=cworth@cworth.org \
    --cc=git@vger.kernel.org \
    --cc=hp@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).