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