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

Reply via email to