Git (gitfiletree) on Pharo vs Windows

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
33 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

hernanmd
Thierry,

It seems to work fine so far. However I would like to commit and push (propagate changes from my local git cloned repository to the remote one) from Pharo. Is that possible right now from Monticello or an (Smalltalk) expression? Would you us how? :)

I want to avoid to switch to SourceTree as in the following video (at 5:41)

2015-02-27 3:45 GMT-03:00 Thierry Goubier <[hidden email]>:
Hi Hernán,

I didn't put ProcessWrapper as a dependency yet, you'll have to load it first.

Gofer new
          url: 'https://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main';
          configurationOf: 'ProcessWrapper';
          loadStable

Thierry

Le 27/02/2015 02:58, Hernán Morales Durand a écrit :

Hi Thierry,

I have tried in Pharo 3:

Gofer new
         url: 'https://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main';
         configurationOf: 'GitFileTree';
         loadDevelopment

But it didn't load the ProcessWrapper. Can you tell me how should I install?

Cheers,

Hernán






Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Thierry Goubier
Le 28/02/2015 00:49, Hernán Morales Durand a écrit :
> Thierry,
>
> It seems to work fine so far. However I would like to commit and push
> (propagate changes from my local git cloned repository to the remote
> one) from Pharo. Is that possible right now from Monticello or an
> (Smalltalk) expression? Would you us how? :)

Do you mean this: making changes outside Pharo in the git, and doing a
commit (and a push) ?

I've integrated commit and push inside Monticello: commit is done
automatically when you save, push can be done when opening the
repository and pressing push...

But I haven't done a GUI over Git. It could be done, but would not be
that easy (and some of the existing Guis for Git, such as gitg, have
serious performance issues).

Thierry

> I want to avoid to switch to SourceTree as in the following video (at 5:41)
>
> https://www.youtube.com/watch?feature=player_detailpage&v=n2WNYDtO0cE#t=344
>
> Hernán
>
>
> 2015-02-27 3:45 GMT-03:00 Thierry Goubier <[hidden email]
> <mailto:[hidden email]>>:
>
>     Hi Hernán,
>
>     I didn't put ProcessWrapper as a dependency yet, you'll have to load
>     it first.
>
>     Gofer new
>                url:
>     'https://smalltalkhub.com/mc/__Pharo/MetaRepoForPharo30/main
>     <https://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main>'__;
>                configurationOf: 'ProcessWrapper';
>                loadStable
>
>     Thierry
>
>     Le 27/02/2015 02:58, Hernán Morales Durand a écrit :
>
>         Hi Thierry,
>
>         I have tried in Pharo 3:
>
>         Gofer new
>                   url:
>         'https://smalltalkhub.com/mc/__Pharo/MetaRepoForPharo30/main
>         <https://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main>'__;
>                   configurationOf: 'GitFileTree';
>                   loadDevelopment
>
>         But it didn't load the ProcessWrapper. Can you tell me how
>         should I install?
>
>         Cheers,
>
>         Hernán
>
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Jan Blizničenko
A Pharo gui for git would be an excellent thing. As you (and Alan Kay) know, simple things should be simple, complex things should be possible... With git itself and its command line, there are lots of complex things possible, but my opinion is that simple thing are far from simple with git.
Nice example of git gui I personally like is github for mac (and github for windows).
https://mac.github.com  https://windows.github.com
Of course, it is just for github, but it contains all things one usually needs for commiting, branching etc. in the gui and if something is not so simple, it has command line, too.
So, just for inspiration of overall design... how hard implementation for git in general might be, that is another thing.

Jan

 
Thierry Goubier wrote
Le 28/02/2015 00:49, Hernán Morales Durand a écrit :

But I haven't done a GUI over Git. It could be done, but would not be
that easy (and some of the existing Guis for Git, such as gitg, have
serious performance issues).

Thierry
Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Thierry Goubier
Le 01/03/2015 09:54, Jan B. a écrit :
> A Pharo gui for git would be an excellent thing. As you (and Alan Kay) know,
> simple things should be simple, complex things should be possible... With
> git itself and its command line, there are lots of complex things possible,
> but my opinion is that simple thing are far from simple with git.

I do agree with you on that simple things are far from simple with git
;) and complex things are complex, and things that we shouldn't be doing
are possible :)

> Nice example of git gui I personally like is github for mac (and github for
> windows).
> https://mac.github.com  https://windows.github.com

:( No mac, no windows here...

> Of course, it is just for github, but it contains all things one usually
> needs for commiting, branching etc. in the gui and if something is not so
> simple, it has command line, too.

I think this 'GUI for usual things', 'command line for the rest' is
probably the pragmatic solution.

> So, just for inspiration of overall design... how hard implementation for
> git in general might be, that is another thing.

There is a possibility there, which is offered by libcgit integration in
Pharo. If one wanted to do a full GUI integration, then it could be
easier to do it that way (i.e. low-level access to git concepts, better
mastery of those concepts since their understanding is needed when
integrating into Pharo).. instead of a high-level flying overhead like
GitFileTree does.

Max, Esteban, what do you think?

The other one is to focus on VCS overall, and to consider Monticello GUI
refactoring to support concepts such as branches and external merging,
so that it could be portable to other VCS (svn, mercurial, bazaar) and
support whatever flow is needed out there (see my point during PharoDays
2015).

It could even allow us to let branches appear in .mcz repositories :)

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Ben Coman


On Sun, Mar 1, 2015 at 5:19 PM, Thierry Goubier <[hidden email]> wrote:
Le 01/03/2015 09:54, Jan B. a écrit :
A Pharo gui for git would be an excellent thing. As you (and Alan Kay) know,
simple things should be simple, complex things should be possible... With
git itself and its command line, there are lots of complex things possible,
but my opinion is that simple thing are far from simple with git.

I do agree with you on that simple things are far from simple with git ;) and complex things are complex, and things that we shouldn't be doing are possible :)

Nice example of git gui I personally like is github for mac (and github for
windows).
https://mac.github.com  https://windows.github.com

:( No mac, no windows here...

Of course, it is just for github, but it contains all things one usually
needs for commiting, branching etc. in the gui and if something is not so
simple, it has command line, too.

I think this 'GUI for usual things', 'command line for the rest' is probably the pragmatic solution.

So, just for inspiration of overall design... how hard implementation for
git in general might be, that is another thing.

There is a possibility there, which is offered by libcgit integration in Pharo. If one wanted to do a full GUI integration, then it could be easier to do it that way (i.e. low-level access to git concepts, better mastery of those concepts since their understanding is needed when integrating into Pharo).. instead of a high-level flying overhead like GitFileTree does.

Max, Esteban, what do you think?

The other one is to focus on VCS overall, and to consider Monticello GUI refactoring to support concepts such as branches and external merging, so that it could be portable to other VCS (svn, mercurial, bazaar) and support whatever flow is needed out there (see my point during PharoDays 2015).

It could even allow us to let branches appear in .mcz repositories :)

Thierry

I believe there would be some advantage to having a general git GUI app on Pharo for:
* providing a test bed for Pharo libcgit integration
* for others to get some familiarity with Pharo libcgit usage, before adapting any core Pharo to make use of it
* it would be an app that "I" would have the power to add features to

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Ben Coman


On Sun, Mar 1, 2015 at 7:17 PM, Ben Coman <[hidden email]> wrote:


On Sun, Mar 1, 2015 at 5:19 PM, Thierry Goubier <[hidden email]> wrote:
Le 01/03/2015 09:54, Jan B. a écrit :
A Pharo gui for git would be an excellent thing. As you (and Alan Kay) know,
simple things should be simple, complex things should be possible... With
git itself and its command line, there are lots of complex things possible,
but my opinion is that simple thing are far from simple with git.

I do agree with you on that simple things are far from simple with git ;) and complex things are complex, and things that we shouldn't be doing are possible :)

Nice example of git gui I personally like is github for mac (and github for
windows).
https://mac.github.com  https://windows.github.com

:( No mac, no windows here...

Of course, it is just for github, but it contains all things one usually
needs for commiting, branching etc. in the gui and if something is not so
simple, it has command line, too.

I think this 'GUI for usual things', 'command line for the rest' is probably the pragmatic solution.

So, just for inspiration of overall design... how hard implementation for
git in general might be, that is another thing.

There is a possibility there, which is offered by libcgit integration in Pharo. If one wanted to do a full GUI integration, then it could be easier to do it that way (i.e. low-level access to git concepts, better mastery of those concepts since their understanding is needed when integrating into Pharo).. instead of a high-level flying overhead like GitFileTree does.

Max, Esteban, what do you think?

The other one is to focus on VCS overall, and to consider Monticello GUI refactoring to support concepts such as branches and external merging, so that it could be portable to other VCS (svn, mercurial, bazaar) and support whatever flow is needed out there (see my point during PharoDays 2015).

It could even allow us to let branches appear in .mcz repositories :)

Thierry

I believe there would be some advantage to having a general git GUI app on Pharo for:
* providing a test bed for Pharo libcgit integration
* for others to get some familiarity with Pharo libcgit usage, before adapting any core Pharo to make use of it
* it would be an app that "I" would have the power to add features to


I meant to add, this might make an attractive GSoC project.  
Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Thierry Goubier
Le 01/03/2015 13:39, Ben Coman a écrit :

>
>
> On Sun, Mar 1, 2015 at 7:17 PM, Ben Coman <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>
>
>     On Sun, Mar 1, 2015 at 5:19 PM, Thierry Goubier
>     <[hidden email] <mailto:[hidden email]>> wrote:
>
>         Le 01/03/2015 09:54, Jan B. a écrit :
>
>             A Pharo gui for git would be an excellent thing. As you (and
>             Alan Kay) know,
>             simple things should be simple, complex things should be
>             possible... With
>             git itself and its command line, there are lots of complex
>             things possible,
>             but my opinion is that simple thing are far from simple with
>             git.
>
>
>         I do agree with you on that simple things are far from simple
>         with git ;) and complex things are complex, and things that we
>         shouldn't be doing are possible :)
>
>             Nice example of git gui I personally like is github for mac
>             (and github for
>             windows).
>             https://mac.github.com https://windows.github.com
>
>
>         :( No mac, no windows here...
>
>             Of course, it is just for github, but it contains all things
>             one usually
>             needs for commiting, branching etc. in the gui and if
>             something is not so
>             simple, it has command line, too.
>
>
>         I think this 'GUI for usual things', 'command line for the rest'
>         is probably the pragmatic solution.
>
>             So, just for inspiration of overall design... how hard
>             implementation for
>             git in general might be, that is another thing.
>
>
>         There is a possibility there, which is offered by libcgit
>         integration in Pharo. If one wanted to do a full GUI
>         integration, then it could be easier to do it that way (i.e.
>         low-level access to git concepts, better mastery of those
>         concepts since their understanding is needed when integrating
>         into Pharo).. instead of a high-level flying overhead like
>         GitFileTree does.
>
>         Max, Esteban, what do you think?
>
>         The other one is to focus on VCS overall, and to consider
>         Monticello GUI refactoring to support concepts such as branches
>         and external merging, so that it could be portable to other VCS
>         (svn, mercurial, bazaar) and support whatever flow is needed out
>         there (see my point during PharoDays 2015).
>
>         It could even allow us to let branches appear in .mcz
>         repositories :)
>
>         Thierry
>
>
>     I believe there would be some advantage to having a general git GUI
>     app on Pharo for:
>     * providing a test bed for Pharo libcgit integration
>     * for others to get some familiarity with Pharo libcgit usage,
>     before adapting any core Pharo to make use of it
>     * it would be an app that "I" would have the power to add features to
>
>
> I meant to add, this might make an attractive GSoC project.

I'll add it then.

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Thierry Goubier
In reply to this post by Jan Blizničenko
Hi Jan,

With Hernán's help and Dave Lewis confirmation, I have updated
GitFileTree so that it loads ProcessWrapper and wrote a solution to the
loading issue you have encountered.

Please tell me any issues you would have with it.

Thierry

Le 26/02/2015 11:06, Jan B. a écrit :

> Hi
>
> This time, when I add gitfiletree repository via monticello, it loads all
> packages and classes.
> However, it does not load any methods. Even if I use "Browse" in repository
> window, it displays class definition, including variables and category
> correctly, but still no methods. Normal filetree shows and loads these
> methods.
>
> And another thing is that if I try to add and load gitfiletree repository
> via following command, not GUI, I get an Error: filetree:// repository
> 'C:\Users\User\Pharo\ourproject\repository\' does not exist
>
> command was:
>
> Metacello new
>      baseline: 'OurProject';
>      repository: 'gitfiletree:///C:\Users\User\Pharo\ourproject\repository';
>      load.
>
> when I delete that 'git' characters and leave just repository:
> 'filetree:///C:\Users (etc.), it loads fine, too, but it may be my mistake.
>
> Jan
>
>
> Thierry Goubier wrote
>> Hi Jan,
>>
>> I pushed a new version (development) of GitFileTree using ProcessWrapper
>> on Windows (version 82 on Smalltalkhub).
>>
>> You need to get ProcessWrapper loaded first, of course, from the
>> Configuration browser in Pharo 3.
>>
>> If you want to try?
>>
>> Thierry
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Git-gitfiletree-on-Pharo-vs-Windows-tp4806791p4807789.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Jan Blizničenko
Hello Thierry

It works now, thank you a lot.

It just seems like ProcessWrapper needs to be included also into MetaRepoForPharo40, but when I load ProcessWrapper separately from https://smalltalkhub.com/mc/hernan/ProcessWrapper/main , everything is fine on both Pharo 3 and 4 (40526).

So only remaining minor windows problem (which probably is not on your side anyway) is that about getting gitfiletree repository address from string, so I have to add repository manually via monticello gui, but it does not matter too much.

Jan

Thierry Goubier wrote
Hi Jan,

With Hernán's help and Dave Lewis confirmation, I have updated
GitFileTree so that it loads ProcessWrapper and wrote a solution to the
loading issue you have encountered.

Please tell me any issues you would have with it.

Thierry
Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

hernanmd


2015-03-02 19:53 GMT-03:00 Jan B. <[hidden email]>:
Hello Thierry

It works now, thank you a lot.

It just seems like ProcessWrapper needs to be included also into
MetaRepoForPharo40, but when I load ProcessWrapper separately from
https://smalltalkhub.com/mc/hernan/ProcessWrapper/main , everything is fine
on both Pharo 3 and 4 (40526).


Yes, I should prepare a Configuration for Pharo 4 because some things changed.

Hernán
 

Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

hernanmd
In reply to this post by Thierry Goubier
It seems to work now,
Thank you Thierry,

Hernán

2015-03-02 17:07 GMT-03:00 Thierry Goubier <[hidden email]>:
Hi Jan,

With Hernán's help and Dave Lewis confirmation, I have updated GitFileTree so that it loads ProcessWrapper and wrote a solution to the loading issue you have encountered.

Please tell me any issues you would have with it.

Thierry

Le 26/02/2015 11:06, Jan B. a écrit :

Hi

This time, when I add gitfiletree repository via monticello, it loads all
packages and classes.
However, it does not load any methods. Even if I use "Browse" in repository
window, it displays class definition, including variables and category
correctly, but still no methods. Normal filetree shows and loads these
methods.

And another thing is that if I try to add and load gitfiletree repository
via following command, not GUI, I get an Error: filetree:// repository
'C:\Users\User\Pharo\ourproject\repository\' does not exist

command was:

Metacello new
     baseline: 'OurProject';
     repository: 'gitfiletree:///C:\Users\User\Pharo\ourproject\repository';
     load.

when I delete that 'git' characters and leave just repository:
'filetree:///C:\Users (etc.), it loads fine, too, but it may be my mistake.

Jan


Thierry Goubier wrote
Hi Jan,

I pushed a new version (development) of GitFileTree using ProcessWrapper
on Windows (version 82 on Smalltalkhub).

You need to get ProcessWrapper loaded first, of course, from the
Configuration browser in Pharo 3.

If you want to try?

Thierry





--
View this message in context: http://forum.world.st/Git-gitfiletree-on-Pharo-vs-Windows-tp4806791p4807789.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Thierry Goubier
In reply to this post by Jan Blizničenko
Le 02/03/2015 23:53, Jan B. a écrit :

> Hello Thierry
>
> It works now, thank you a lot.
>
> It just seems like ProcessWrapper needs to be included also into
> MetaRepoForPharo40, but when I load ProcessWrapper separately from
> https://smalltalkhub.com/mc/hernan/ProcessWrapper/main , everything is fine
> on both Pharo 3 and 4 (40526).
>
> So only remaining minor windows problem (which probably is not on your side
> anyway) is that about getting gitfiletree repository address from string, so
> I have to add repository manually via monticello gui, but it does not matter
> too much.

Hi Jan,

I remember that you said you used something like:

Le 26/02/2015 11:06, Jan B. a écrit :> Metacello new
 >      baseline: 'OurProject';
 >      repository:
'gitfiletree:///C:\Users\User\Pharo\ourproject\repository';
 >      load.

Can you try with
'gitfiletree:///C:/Users/User/Pharo/ourproject/repository' ?

I had a look at the code and gitfiletree uses ZnUrl>>asFileReference, so
it behaves like a file:// url which has / (and not \) as path separator [1].

And i'll make sure you get a gitfiletree (and not a filetree) error :)

[1] http://www-archive.mozilla.org/quality/networking/testing/filetests.html

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: Git (gitfiletree) on Pharo vs Windows

Jan Blizničenko
Of course, forward slashes. They seemed a little unnatural on windows, but it works indeed.
So thank you once again.

Jan

Thierry Goubier wrote
Hi Jan,

I remember that you said you used something like:

Le 26/02/2015 11:06, Jan B. a écrit :> Metacello new
 >      baseline: 'OurProject';
 >      repository:
'gitfiletree:///C:\Users\User\Pharo\ourproject\repository';
 >      load.

Can you try with
'gitfiletree:///C:/Users/User/Pharo/ourproject/repository' ?

I had a look at the code and gitfiletree uses ZnUrl>>asFileReference, so
it behaves like a file:// url which has / (and not \) as path separator [1].

And i'll make sure you get a gitfiletree (and not a filetree) error :)

[1] http://www-archive.mozilla.org/quality/networking/testing/filetests.html

Thierry
12