On 9/27/15 11:53 PM, stepharo wrote:
Le 27/9/15 15:33, Peter Uhnák a écrit :
Because to me git is **really** complex. I do not talk about add
push commit but rebase remote....
Git allows you to do complex things if you need them.
But you can easily use git without ever needing rebase, filter-branch
or whatnot.
Everything that Monticello can do can be done with git easily
(commit, push, pull, merge).
It just gives you much more powerful tools.
sure except that suddenly you do not know why you have to know the
arcanes part.
I think that git is not layered so you get exposed to a lot of details
even when you avoid.
May be having a set of git macros would help.
Stef,
I have been working on this problem for several years now with tODE and
in tODE I've been able to build a project tool that handles the mundane
everyday, commit/checkout/branch/push/pull operations using menu items
... this approach means that folks can choose to use a git workflow
that matches their whims/needs --- without having to become intimately
familiar with the more arcane bits of git.
I did find that it is absolutely necessary to have a Smalltalk gui based
git merge tool ... there are non-smalltalk merge tools out there, but I
prefer to do my merges in the comfort of my Smalltalk development
environment:) ...
Another tool that is important is what I call `skew diff` and `skew
merge` ... `skew` happens when a git repository on disk is checked out
to a commit that differs from the commit when the packages were loaded
into an image (think of an image that has been sitting unused for a
couple of months). Metacello has features for making it possible to
record the SHA of the commit present when a project is loaded from a git
repository and my project tool compares this SHA with the current SHA of
the git repository and notices when SHA skew occurs ... `skew diff` and
`skew merge` were invented to help a developer understand the
implications and repair (if necessary) - more often than not a simple
load (or ignoring the skew) sufficient, but it is imperative that a
developer be notified that this skew is present ...
Sooooo, I think that Pharo-based tools can be built so that developers
can go about there daily work without ever having to drop down to the
git command-line (macros or no macros)...
Dale