Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
July 2016
- 72 participants
- 501 messages
Re: [Pharo-users] System Browser "Implementors of..." drill down?
by Hernán Morales Durand
See attachment
Hernán
2016-07-24 18:19 GMT-03:00 stepharo <stepharo(a)free.fr>:
> Hi hernan
>
> Could you send a screenshot so that I understand precisely what you mean?
>
> I tend to listen to grumbling people like you and me :)
>
> Stef
>
> Le 22/7/16 à 09:24, Hernán Morales Durand a écrit :
>
> This was actually implemented in older versions of Pharo (or Squeak), the
> browser also included very handy buttons in the middle to save precious
> clicks.
>
> The right thing to do is to replace the "..." non-sense with the selected
> method selector, and to offer another menu item which displays all method
> selectors of the currently selected method, and let the user to decide
> which one to browse.
>
> Hernán
>
> 2016-07-21 14:54 GMT-03:00 Norbert Fortelny <norbert.fortelny(a)gmail.com>:
>
>> Something I have not figured out how to do easily in the Pharo system
>> browser:
>> I am looking at a method and want to see how a message that is used in
>> this
>> method is implemented. In other Smalltalks (e.g. Cincoms) I use the menu
>> item "Implementors of..." and get a list of all the messages that are used
>> in this method and can choose one to drill down.
>> In Pharo I get an immediate answer but only the implementors of my
>> original
>> method.
>> Why are there those "..." at the end of this menu item indicating some
>> further choice when there is none?
>> How to do this drilling down in Pharo?
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://forum.world.st/System-Browser-Implementors-of-drill-down-tp4907380.h…
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>
>>
>
>
July 25, 2016
Re: [Pharo-users] Pharo and GIT
by Hernán Morales Durand
2016-07-25 19:33 GMT-03:00 Sean Glazier <sglazier456(a)gmail.com>:
> Thank you, Peter for documenting that :-). While I think git tools are OK,
> my opinion though is that Smalltalk hub should be moved forward as well. At
> cincom the Store experience started out painful and it has its quirks, but
> one of the advantages is that I could write tools to do things like browse
> senders and implementors in the repository. I git you are working with
> files and text and it does not have the notion of classes and methods and
> the value of being able to see the history of the class / methods. It is
> valuable when needing to understand not just the current implementation but
> where it came from. In Store, I could search and see when a method was
> present of a class and in what version lets say it got dropped
> unintentionally for instance. Even more important I think is to also note
> thing like renames and in cincom namespace renames and moves.
> I was working a while back on a way to have a persistent diary for a
> class that could note these histories and maintained and more importantly
> searchable from the image.
> I wrote tools too, to attach to a number of databases (repositories) and
> search for classes and the comments. Helpful when you are searching to see
> if someone else has solved a problem before. Git tools can tell you a lot
> about the repository you are publishing to and comparing code etc. But it
> does not help you to search across repositories and the data.
>
> I know this idea is a tall order. If we improved our tools to beable do
> this, no matter what the repository is behind it, that would be very
> helpful and powerful. I think it is a challenge in git because it is
> dealing with text and does not have a notion of what a class is etc. If we
> continue and put in more powerful search abilities, it will require using
> different paradigm in representing code so we can do more powerful things
> with the repository. We can browse the class without loading it but that
> gets us only so far.
>
>
That is exactly the core problem with Git. It was conceived by people very
used to think in terms of files and directories. And it was promoted as a
revolutionary tool.
If the model of Git were well-done would be adaptable to handle references
of classes, and methods, of any typical programming language, regardless of
paradigms.
Do you published the source code of your tools?
Hernán
> Just my 0.02 ;-)
>
>
>
> Kind Regards,
>
> Sean Glazier
>
>
> On Mon, Jul 25, 2016 at 1:28 PM, Peter Uhnak <i.uhnak(a)gmail.com> wrote:
>
>> Hi Juraj,
>>
>> I've finally forced myself to finish a guide on using gitfiletree:
>> https://www.peteruhnak.com/blog/2016/07/25/how-to-use-git-and-github-with-p…
>> so hopefully it will be of some use to you.
>>
>> Couple of notes:
>> * GitFileTree loaded from Catalog still doesn't work in Pharo 6,
>> so use the script Thierry provided
>> * There's some pain associated with some operations (e.g.
>> merging, loading), this will be addressed sooner or later by IceBerg, which
>> is hopefully the future of git in Pharo (
>> https://github.com/npasserini/iceberg )
>>
>> Peter
>>
>> On Mon, Jul 25, 2016 at 11:47:24AM -0400, Juraj Kubelka wrote:
>> > Hi Alexandre,
>> >
>> > I will first give a try. I think once the Pharo community moves to
>> GitHub, it will help to all. It could be painful, but SmalltalkHub is also
>> painful and we are loosing other opportunities that GitHub service offers.
>> >
>> > I agree that it could be painful. I am fine using external GIT tools.
>> Even for Java (or other) projects I use external GIT tools. The important
>> is that we can easily deploy projects and people can load it (,e.g.,
>> Catalog Browser).
>> >
>> > Cheers,
>> > Juraj
>> >
>> > > On Jul 25, 2016, at 09:14, Alexandre Bergel <alexandre.bergel(a)me.com>
>> wrote:
>> > >
>> > > Hi Juraj,
>> > >
>> > > Although I find very appealing to work with Git, it is still very
>> painful. Some of the issues I feel right now: difficult of merging,
>> checking for source code differences, there is unfortunately a difference
>> between installing using Metacello and cloning a repository, â¦
>> > > We can discuss it if you want (I am back in Chile).
>> > >
>> > > Alexandre
>> > >
>> > >
>> > >> On Jul 25, 2016, at 8:41 AM, Juraj Kubelka <juraj.kubelka(a)icloud.com>
>> wrote:
>> > >>
>> > >> Hi,
>> > >>
>> > >> can you point me to a latest (best) way to use GitHub for Pharo
>> projects (Pharo 6)?
>> > >>
>> > >> Is the GitFileTree project the way to use it?
>> > >>
>> > >> How does ConfigurationOf change?
>> > >>
>> > >> Thanks!
>> > >> Juraj
>> > >
>> > > --
>> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> > > Alexandre Bergel http://www.bergel.eu
>> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>> > >
>> > >
>> > >
>> > >
>> >
>> >
>>
>>
>
July 25, 2016
Re: [Pharo-users] Pharo and GIT
by Peter Uhnak
On Mon, Jul 25, 2016 at 10:49:41PM +0200, Nicolas Passerini wrote:
> On Mon, Jul 25, 2016 at 7:28 PM, Peter Uhnak <i.uhnak(a)gmail.com> wrote:
>
> > IceBerg, which is hopefully the future of git in Pharo (
> > https://github.com/npasserini/iceberg )
> >
>
> Well, I hope so :)
>
> Iceberg is under development, but beta testers and feedback are welcome. I
> will be happy to help you if you intend to adopt it.
Well I wasn't sure if I should be reporting things now (because obviously it's incomplete), and I saw 58 issues on github, so didn't want to add more.
But if you want some feedback :)
* (confusing) The colors of the working copy / local repo should be switched, because now it's showing me new code in red, and removed code in green, which is confusing
* (really minor) Opening the synchronizing window by double clicking on the repository (instead of clicking on the button) will open it four times
* (docs) from readme file it's not clear whether I have to run the update command; running it will brick the installation
* (yay!) I am really happy I can use it side-by-side with gitfiletree so I always have a fallback option
* (unsure) I wasn't sure from the docs / experiments whether I can point it to local clone, or always have to use github
I am really looking forward to this project, and I am slowly starting to use it for some smaller projects, so more feedback will certainly come. :)
Thanks!
Peter
July 25, 2016
Re: [Pharo-users] Pharo and GIT
by Sean Glazier
I look forward to using Iceberg !
Kind Regards,
Sean Glazier
On Mon, Jul 25, 2016 at 1:28 PM, Peter Uhnak <i.uhnak(a)gmail.com> wrote:
> Hi Juraj,
>
> I've finally forced myself to finish a guide on using gitfiletree:
> https://www.peteruhnak.com/blog/2016/07/25/how-to-use-git-and-github-with-p…
> so hopefully it will be of some use to you.
>
> Couple of notes:
> * GitFileTree loaded from Catalog still doesn't work in Pharo 6,
> so use the script Thierry provided
> * There's some pain associated with some operations (e.g. merging,
> loading), this will be addressed sooner or later by IceBerg, which is
> hopefully the future of git in Pharo (
> https://github.com/npasserini/iceberg )
>
> Peter
>
> On Mon, Jul 25, 2016 at 11:47:24AM -0400, Juraj Kubelka wrote:
> > Hi Alexandre,
> >
> > I will first give a try. I think once the Pharo community moves to
> GitHub, it will help to all. It could be painful, but SmalltalkHub is also
> painful and we are loosing other opportunities that GitHub service offers.
> >
> > I agree that it could be painful. I am fine using external GIT tools.
> Even for Java (or other) projects I use external GIT tools. The important
> is that we can easily deploy projects and people can load it (,e.g.,
> Catalog Browser).
> >
> > Cheers,
> > Juraj
> >
> > > On Jul 25, 2016, at 09:14, Alexandre Bergel <alexandre.bergel(a)me.com>
> wrote:
> > >
> > > Hi Juraj,
> > >
> > > Although I find very appealing to work with Git, it is still very
> painful. Some of the issues I feel right now: difficult of merging,
> checking for source code differences, there is unfortunately a difference
> between installing using Metacello and cloning a repository, â¦
> > > We can discuss it if you want (I am back in Chile).
> > >
> > > Alexandre
> > >
> > >
> > >> On Jul 25, 2016, at 8:41 AM, Juraj Kubelka <juraj.kubelka(a)icloud.com>
> wrote:
> > >>
> > >> Hi,
> > >>
> > >> can you point me to a latest (best) way to use GitHub for Pharo
> projects (Pharo 6)?
> > >>
> > >> Is the GitFileTree project the way to use it?
> > >>
> > >> How does ConfigurationOf change?
> > >>
> > >> Thanks!
> > >> Juraj
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> >
> >
>
>
July 25, 2016
Re: [Pharo-users] Pharo and GIT
by Sean Glazier
Thank you, Peter for documenting that :-). While I think git tools are OK,
my opinion though is that Smalltalk hub should be moved forward as well. At
cincom the Store experience started out painful and it has its quirks, but
one of the advantages is that I could write tools to do things like browse
senders and implementors in the repository. I git you are working with
files and text and it does not have the notion of classes and methods and
the value of being able to see the history of the class / methods. It is
valuable when needing to understand not just the current implementation but
where it came from. In Store, I could search and see when a method was
present of a class and in what version lets say it got dropped
unintentionally for instance. Even more important I think is to also note
thing like renames and in cincom namespace renames and moves.
I was working a while back on a way to have a persistent diary for a class
that could note these histories and maintained and more importantly
searchable from the image.
I wrote tools too, to attach to a number of databases (repositories) and
search for classes and the comments. Helpful when you are searching to see
if someone else has solved a problem before. Git tools can tell you a lot
about the repository you are publishing to and comparing code etc. But it
does not help you to search across repositories and the data.
I know this idea is a tall order. If we improved our tools to beable do
this, no matter what the repository is behind it, that would be very
helpful and powerful. I think it is a challenge in git because it is
dealing with text and does not have a notion of what a class is etc. If we
continue and put in more powerful search abilities, it will require using
different paradigm in representing code so we can do more powerful things
with the repository. We can browse the class without loading it but that
gets us only so far.
Just my 0.02 ;-)
Kind Regards,
Sean Glazier
On Mon, Jul 25, 2016 at 1:28 PM, Peter Uhnak <i.uhnak(a)gmail.com> wrote:
> Hi Juraj,
>
> I've finally forced myself to finish a guide on using gitfiletree:
> https://www.peteruhnak.com/blog/2016/07/25/how-to-use-git-and-github-with-p…
> so hopefully it will be of some use to you.
>
> Couple of notes:
> * GitFileTree loaded from Catalog still doesn't work in Pharo 6,
> so use the script Thierry provided
> * There's some pain associated with some operations (e.g. merging,
> loading), this will be addressed sooner or later by IceBerg, which is
> hopefully the future of git in Pharo (
> https://github.com/npasserini/iceberg )
>
> Peter
>
> On Mon, Jul 25, 2016 at 11:47:24AM -0400, Juraj Kubelka wrote:
> > Hi Alexandre,
> >
> > I will first give a try. I think once the Pharo community moves to
> GitHub, it will help to all. It could be painful, but SmalltalkHub is also
> painful and we are loosing other opportunities that GitHub service offers.
> >
> > I agree that it could be painful. I am fine using external GIT tools.
> Even for Java (or other) projects I use external GIT tools. The important
> is that we can easily deploy projects and people can load it (,e.g.,
> Catalog Browser).
> >
> > Cheers,
> > Juraj
> >
> > > On Jul 25, 2016, at 09:14, Alexandre Bergel <alexandre.bergel(a)me.com>
> wrote:
> > >
> > > Hi Juraj,
> > >
> > > Although I find very appealing to work with Git, it is still very
> painful. Some of the issues I feel right now: difficult of merging,
> checking for source code differences, there is unfortunately a difference
> between installing using Metacello and cloning a repository, â¦
> > > We can discuss it if you want (I am back in Chile).
> > >
> > > Alexandre
> > >
> > >
> > >> On Jul 25, 2016, at 8:41 AM, Juraj Kubelka <juraj.kubelka(a)icloud.com>
> wrote:
> > >>
> > >> Hi,
> > >>
> > >> can you point me to a latest (best) way to use GitHub for Pharo
> projects (Pharo 6)?
> > >>
> > >> Is the GitFileTree project the way to use it?
> > >>
> > >> How does ConfigurationOf change?
> > >>
> > >> Thanks!
> > >> Juraj
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> >
> >
>
>
July 25, 2016
Spec: Capturing changes in a text morph
by Offray Vladimir Luna Cárdenas
Hi,
I'm migrating my grafoscopio interface from I'm trying to capture some
changes in a text morph that is part of a Spec interface. The interface
is split in 4 parts, as you can see at [a]: (1) a main menu, (2) a tree,
(3) a node header input text and (4) a text morph. When you click any
node on the tree (2) the name of the node, called the header is shown in
(3) and the node contents, called the body are shown at (4). If you made
a change in the header (pressing enter) it's reflected back to the main
tree. And the node's body is changed for a text morph [b] or a and
embedded playground [c] according to tags in the node. So the reading
part is working and I have some partial support for persistence, at
least for node headers.
[a] https://offray.withknown.com/2016/grafoscopio-notebook-interface
[b] https://offray.withknown.com/2016/grafoscopio-text-node
[c] https://offray.withknown.com/2016/grafoscopio-code-node
Now I would like to extend the persistence for node's body content, so
when any changes happens in the (4) panel, be it a text panel or a
playground, it is stored in a similar way to what is happening with node
headers and the (3) panel, but I'm unsuccessful trying to capture those
changes.
My initializeWidgets and initializePresenter are implemented this way:
=================
GrafoscopioNotebook>>initializeWidgets
windowMainMenu := self newWindowMainMenu.
tree := TreeModel new.
body := self newText.
header := self newTextInput.
body disable.
body text: '<-- Select a node in the left panel'.
tree
childrenBlock: [:node | node children];
displayBlock: [:node | node title ].
=================
initializePresenter
tree whenSelectedItemsChanged: [ :arg |
arg isEmpty ifFalse: [self changeBody: arg ]].
header whenTextChanged: [ :arg |
Transcript show: arg.
(tree selectedItem content header) = arg
ifFalse: [
(tree selectedItem) content header: arg.
tree roots: tree roots]].
body whenTextIsAccepted: [ :arg |
Transcript show: arg
]
=================
I'm capturing properly the changes in text with whenTextChanged on the
header but using the same message on body or whenTextIsAccepted doesn't
produce any change on the trascript, and of course I can't update the
any tree/node contents properly.
Any advice on how to solve this will be greatly appreciated. If can
happen soon in this week even better, because we could show this to our
hackathon/workshop attendees.
Cheers,
Offray
July 25, 2016
Re: [Pharo-users] Can GitHubcello be used against BitBucket?
by Thierry Goubier
Hi Sean,
I think I got something working (at least it seems to be working... I'm
tracking a bug, but I can't reproduce it now. In Pharo5).
Try the following in Pharo 5.
Add a remote git repository as usual from Monticello, but, instead of
the MCFileTreeGitRemoteRepository
location: 'git@'
name: ''
subdirectory: ''
branch: ''
template, change the template to :
MCFileTreeGitRemoteRepository
basicFromUrl:
'gitfiletree://username:password@bitbucket.org/MyUsername/MyProject.git:master/subdirectory'
asZnUrl
Then press Ok and it should clone it properly for you (and not ask
anymore for credentials).
Tell me if that works for you, The same Url should also work with Metacello.
Thierry
Le 25/07/2016 à 23:40, Sean Glazier a écrit :
> I do have the git hub desktop installed for windows as well. I aws
> thinking that in a command shell cmd.exe that if you have the ssl-agent
> running which I do that running the git command should just use the
> keys. Some where I think windows gets confused. when using source tree I
> imported the key and also imported the key for the running ssl agent
> pageant as well.
>
> I could see it select the right sll key and it was the same one used
> and upload to the bitbucket server (public key of course using copy
> paste. I removed or backed up rather all previous sshssl keys I
> have used for SSH tunnels etc into other systems etc. I finally got
> source tree to push. But after a while, it seems to lose track of the
> key or something. I think it might have to do with the growing number of
> git shells that keep increasing until I have to finally reboot and the
> reapply the settings in SourceTree and it works again and I am fine
> until the number of shells gets too big.
>
> There is a very real bug on the windows platform. I can say hooking up
> with git hub with their tool was easier. However I was only doing public
> repositories so I had no need for all the encryption. I got to get
> myself a better laptop again ;-).
>
> I have been reading through acres of documentation. I was part of the
> Cincom crypto team and have worked with it a number of times. I even
> detected serious bugs in SSL that I reported long ago. Smalltalk during
> my tests that ran for hours went and put a large integer in for the
> session key which caused ssl on all platform to seg fault. Nice thing
> about Smalltalk is those attacks can be eliminated (unless of course,you
> are using a c dll that has the bug ;-) )
>
> I think it is better to have the feature for https and just tell the
> developer that it is insecure.
>
> I tried the get credentials and for whatever reason, it was not picking
> it up. I updated to the latest libraries etc. That worked for the guy
> on Linux, but on windows 10 especially it seems it loses track of
> things. I tried to uninstall reinstall as well. I had other ssh tools
> working under windows 8 but the upgrade to 10 I noticed the issues with
> ssh in general. Now that I have a gig where I need to use ssh again it
> seems windows 10 might be complicating things. the git hub tool seems to
> work better IMHO.
>
> I would like to be able to do it direct from metacello. I like working
> with Pharo and want to use it and contribute to the project. I have
> Smalltalk in my blood and once I got trained on it I was hooked. It is
> more addictive that heroin and that is a compliment. IO think the
> developers have done great work with it. So I say thank you to all the
> developers who put their time and hearts into it.
>
> Hopefully, I can get thing configured so it is using the ssh keys
> seamlessly. I must say thing are easier on a Linux box, but many
> customers use windoze. Personally, I liked windows 7 more than 8
> IMHO..... I am not sure if the problem exists with git hubacello as
> well. It might since these interfaces are using git command as far as I
> can tell.
>
> To use the https authentication, I found just putting the https url in
> as shown above was able to do the push. From what I read, as long as
> you specify the username and password in the url you should not get a
> prompt to authenticate. ( of course, the ssh key was supposed to work
> right too, so I can only report what I am observing on windoze 10) I
> used the commands as specified both from the debugger and the cmd shell
> and git seemed to accept it with out asking for the username password
> since they are in the url. It is good not to have a password that uses
> periods or /'s or anything that might not be URL friendly. So there is
> that. If you use the password in the URL it is something that needs to
> be parseable or you have to go through the trouble of providing the
> appropriate escape sequence etc.
>
> I thank every one for the help. With luck, we can get things resolved
> and if it is a matter of documentation, being able to have the procedure
> written down. I know it is a tall order to try and keep up in the
> ever-changing worlds of tools. evry rlease of windoze itr feels like I
> am starting from scratch again ....
>
>
> Kind Regards,
>
> Sean Glazier
>
>
> On Mon, Jul 25, 2016 at 10:47 AM, Dale Henrichs
> <dale.henrichs(a)gemtalksystems.com
> <mailto:dale.henrichs@gemtalksystems.com>> wrote:
>
> Sean,
>
> For GsDevKit_home[1] users on Windows, I recommend that users
> install GitHub DeskTop for Windows[2]. You get a bash shell
> installed that allows you to use git on windows in a reasonable
> environment ... I assume that at the bash shell level, you can work
> with local clones of bitbucket git repositories ...
>
> Dale
>
> [1]
> https://github.com/GsDevKit/GsDevKit_home/blob/master/docs/installation/con…
>
> [2] https://desktop.github.com/
>
>
> On 7/25/16 6:58 AM, Sean Glazier wrote:
>> Hi,
>>
>> Thank you for all your help. Yes, windows is a pain. I am using
>> Pharo 5. I would love to know how to get the ssh part working on
>> Linux as well since the other team member is a Linux user and it
>> is his first time using Smalltalk. I think he saw it in college
>> but that was about it. I have shared the sort of things you can do
>> in Smalltalk compared to other languages. However, The tool set
>> can be a bit intimidating at times. There is a learning curve even
>> for experienced small talkers coming from a different toolset. So
>> when I set it up for myself I want to set his up as well.
>>
>> I think while it is insecure the https version is useful
>> especially when tearing your hair out just trying to get source
>> tree and bit bucket on speaking terms using ssh. I just spent the
>> better part of a day and night trying to figure out why when both
>> sides have the right key the server was still rejecting. It is
>> windoze 10 of course. It should be a crime to sell that operating
>> system! I have had more fun kicking cinder blocks with my feet. I
>> mean that literally too, as I used to do that in the Okinawa Kempo
>> classes. A broken toe is far more pleasant by comparison.
>>
>> By the time morning rolled around I was having fantasies of making
>> Bill Gates condemned to rolling a boulder uphill only to have it
>> to always fall down and he would have to repeat for eternity . :-)
>> But I digress...
>>
>> If you could point me in the right direction it would help.
>>
>> Thank you in advance :-)
>>
>>
>> Kind Regards,
>>
>> Sean Glazier
>>
>>
>> On Mon, Jul 25, 2016 at 9:33 AM, Thierry Goubier
>> <thierry.goubier(a)gmail.com <mailto:thierry.goubier@gmail.com>> wrote:
>>
>>
>>
>> 2016-07-25 14:49 GMT+02:00 Sean Glazier
>> <<mailto:sglazier456@gmail.com>sglazier456(a)gmail.com
>> <mailto:sglazier456@gmail.com>>:
>>
>> yes I was using the command generated by the source tree
>> tool. The code generates a command line command and that
>> can use https if you form the commands as I detailed. I
>> also indicated where the master:master and related
>> switches can be replaced with what most people use which
>> is just --all. the class forming the command can be
>> extended to parse out the username password from the url
>> you set it up with provided you include it or it could be
>> extra parameters provided and stored. This is so that when
>> the push and pull commands put together the url can be
>> formed and placed on the command line as well. GITI will
>> take care of using https etc. it just needs the url with
>> the username password on it so that the command line does
>> not ask for a password and hangs the image because Pharo
>> is waiting for a response and the command line is waiting
>> for the password to be inputted and you have a deadlock as
>> I detailed in the method.
>>
>>
>> Yes, I understand that.
>>
>>
>> The command line git command that worked for me was:
>> git -C "C:\pharo5win\new-qline" -c
>> diff.mnemonicprefix=false -c core.quotepath=false
>> push https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git
>> --all
>> I am sure some of the other options are not really needed.
>> As I indicated I used what source tree built as its
>> command that it executed.
>>
>> So with a git repository that needs a username password
>> you can form the git push and pull commands as indicated.
>>
>> to use ssh I did not see how that could be done from the
>> command line on windows unless to were able to tell git to
>> use ssh or the putty running on windows. Linux of course,
>> is probably more straightforward to get working.
>>
>>
>> I know that there is a kind of special way to use ssh-agent in
>> Windows, and get this to work.
>>
>> I did not implement the https username and password support,
>> because I was a bit unsure of writing in clear the username
>> and password, and I didn't want to handle the terminal
>> interaction to inject username and password into the git
>> command upon request.
>>
>>
>>
>> Right now the current version of the git remote repository
>> is broken because it is using either old commands or an
>> incorrect command. The push was sent to the command line
>> as follows:
>>
>> git -C "C:\pharo5win\new-qline"
>>
>>
>> I'm sure there is a push in the command otherwise none of the
>> git support would work; I use that code every day
>> professionnally for as long as GitFileTree existed. The git
>> command has been complete for the past few years, so it will
>> stay this way unless harm is proven with the lack of certain
>> options.
>>
>>
>>
>> This as far as I know is not a proper push command because
>> it needs the push keyword followed by at least I think by
>> the --all .
>> I tried it from the windows command line and it worked for
>> a repository that was not password protected. If it is,
>> the command line will ask for the password and will not
>> time out which deadlocks the push since pharo is waiting
>> for the command to finish, which it cannot. So the image
>> is locked until you give it a user interrupt to get the
>> debugger.
>>
>> I hope this helps in understanding what I ran into...
>>
>>
>> Windows is a hard platform for me to test on; I'll fetch a
>> past discussion on ssh-agent on windows and I may create a
>> branch for you to test. On which version of Pharo are you?
>>
>> Regards,
>>
>> Thierry
>>
>>
>>
>> Kind Regards,
>>
>> Sean Glazier
>>
>>
>> On Mon, Jul 25, 2016 at 7:20 AM, Thierry Goubier
>> <<mailto:thierry.goubier@gmail.com>thierry.goubier(a)gmail.com
>> <mailto:thierry.goubier@gmail.com>> wrote:
>>
>> Hi Sean,
>>
>> I think the issue is simply that GitFileTree does not
>> support https with authentification. You need to
>> switch to ssh with keys.
>>
>> Now, about the various options you add on the git push
>> command line (diff.mnemonicprefix, core.quotepath),
>> could you detail them? The seems to be unnecessary in
>> the git development scenarios I've seen so far.
>>
>> Also note that master:master may be wrong, because you
>> could be switching to another branch.
>>
>> I expect all those issues to be taken care of through
>> the new tools in development for Pharo6.
>>
>> Regards,
>>
>> Thierry
>>
>> 2016-07-25 10:04 GMT+02:00 Sean Glazier
>> <<mailto:sglazier456@gmail.com>sglazier456(a)gmail.com
>> <mailto:sglazier456@gmail.com>>:
>>
>> some more information the git command that it runs is
>> git -C "C:\pharo5win\new-qline"
>> This is run in the method
>> MCFileTreeGitRemoteRepository>>runProcessWrapperGitCommand:
>> anArrayOfStrings in: aDirectory.
>>
>> It is stuck on the line:
>> command waitForExit.
>>
>> this wait for exit has no timeout to it and you
>> wait forever. I found out on windows the user
>> interrupt is alt . Just like the Mac ;-)
>>
>> I have no error in the error stream at all.
>>
>> From the source tree tool the command should look
>> more like this:
>> git -c diff.mnemonicprefix=false -c
>> core.quotepath=false push -v --tags origin
>> master:master
>>
>> and then followed by the -C "C:\pharo5win\new-qline"
>>
>> git -C "C:\pharo5win\new-qline" -c
>> diff.mnemonicprefix=false -c core.quotepath=false
>> push -v --tags origin master:master
>>
>> However doing this from a command line it asks for
>> the users password like thus
>> C:\pharo5win\New-Qline>git -C
>> "C:\pharo5win\new-qline" -c
>> diff.mnemonicprefix=false -c core.quotepath=false
>> push -v --tags origin master:master
>> Pushing to
>> <https://sglazier456@bitbucket.org/sglazier456/new-qline.git>https://sglazier456@bitbucket.org/sglazier456/new-qline.git
>> Password for
>> '<https://sglazier456@bitbucket.org>https://sglazier456@bitbucket.org':
>>
>> to avoid the password prompt you can do this
>>
>> git -C "C:\pharo5win\new-qline" -c
>> diff.mnemonicprefix=false -c core.quotepath=false
>> push https://username:password@myrepository.biz/file.git
>> -v --tags origin master:master
>>
>> you can also replace -v --tags origin
>> master:master with --all as well
>> in my case it would look like
>> git -C "C:\pharo5win\new-qline" -c
>> diff.mnemonicprefix=false -c core.quotepath=false
>> push https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git
>> -v --tags origin master:master
>>
>> OR
>> git -C "C:\pharo5win\new-qline" -c
>> diff.mnemonicprefix=false -c core.quotepath=false
>> push https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git
>> -all
>> and that works with out the system waiting for a
>> password.
>> I notice that there is a class that has the
>> username password for bit bucket in the method
>> MCGitBasedNetworkRepository >> siteUsername:
>> username sitePassword: pass "MCBitbucketRepository
>> siteUsername: '' sitePassword: ''"
>> "MCGitHubRepository siteUsername: '' sitePassword:
>> ''" self siteUsername: username; sitePassword: pass
>> I tried setting it up with the username and
>> password in the url for the remote repository and
>> no luck.
>> the class MCFileTreeGitRemoteRepository should
>> override the getPull and gitPush so as to include
>> the url with the site name and password or there
>> might be a need for a different creation class for
>> the bitbucket remote repositories. However it is a
>> standrad git command to be able to include the
>> username password in the url.
>> when one does a pull as well there is a hang as
>> well for the same reasons.
>> I am not attempting to hack this at the moment
>> because I can use source tree to do the commits
>> and pushes and pulls. I do think though since we
>> have those commands available on the remote
>> repos and people can mark it private requiring a
>> username password.
>> Also we should consider a repository configuration
>> that specifys the SSH kaey and then run the
>> command in the context of SSH. this would
>> eliminate the username password issue and it is
>> much more secure.
>> SO since you are more experienced than I in this
>> area of the code, I should ask how should we go
>> about fixing the issue. Also were should I report
>> this issue as well?
>>
>> running the command from a cmd line produced the
>> following:
>> C:\pharo5win\New-Qline>git -C "C:\pharo5win\new-qline"
>> usage: git [--version] [--help] [-C <path>] [-c
>> name=value]
>> [--exec-path[=<path>]] [--html-path]
>> [--man-path] [--info-path]
>> [-p|--paginate|--no-pager]
>> [--no-replace-objects] [--bare]
>> [--git-dir=<path>] [--work-tree=<path>]
>> [--namespace=<name>]
>> <command> [<args>]
>>
>> The most commonly used git commands are:
>> add Add file contents to the index
>> bisect Find by binary search the change
>> that introduced a bug
>> branch List, create, or delete branches
>> checkout Checkout a branch or paths to the
>> working tree
>> clone Clone a repository into a new directory
>> commit Record changes to the repository
>> diff Show changes between commits, commit
>> and working tree, etc
>> fetch Download objects and refs from
>> another repository
>> grep Print lines matching a pattern
>> init Create an empty Git repository or
>> reinitialize an existing one
>> log Show commit logs
>> merge Join two or more development
>> histories together
>> mv Move or rename a file, a directory,
>> or a symlink
>> pull Fetch from and integrate with
>> another repository or a local branch
>> push Update remote refs along with
>> associated objects
>> rebase Forward-port local commits to the
>> updated upstream head
>> reset Reset current HEAD to the specified
>> state
>> rm Remove files from the working tree
>> and from the index
>> show Show various types of objects
>> status Show the working tree status
>> tag Create, list, delete or verify a tag
>> object signed with GPG
>>
>> 'git help -a' and 'git help -g' lists available
>> subcommands and some
>> concept guides. See 'git help <command>' or 'git
>> help <concept>'
>> to read about a specific subcommand or concept.
>>
>> C:\pharo5win\New-Qline>
>>
>>
>> So according to the help the command it self is
>> formulated incorrectly.
>>
>> runProcessWrapperGitCommand: anArrayOfStrings in:
>> aDirectory
>> "Enclose all parameters with double quotes to
>> protect."
>>
>> | r aCommandString |
>> aCommandString := String
>> streamContents: [ :stream |
>> anArrayOfStrings
>> do: [ :e |
>> stream
>> nextPut: $";
>> nextPutAll: e;
>> nextPutAll: '" ' ] ].
>> (Smalltalk at: #ProcessWrapper ifAbsent: [ self
>> error: 'Please load ProcessWrapper' ])
>> ifNotNil: [ :pW |
>> | command |
>> command := pW new
>> useStdout;
>> useStderr;
>> startWithCommand:
>> self gitCommand , ' -C "'
>> ,
>> (MCFileTreeFileUtils current directoryPathString:
>> aDirectory)
>> , '" ' , aCommandString;
>> yourself.
>> command waitForExit.
>> self assert: command isRunning not.
>> r := command upToEnd.
>> command exitCode > 0
>> ifTrue:
>> [
>> | errorString |
>> errorString := command errorUpToEnd.
>> errorString notEmpty
>> ifTrue:
>> [ MCFileTreeGitError new signal: 'Git error: ' ,
>> errorString ].
>> r := '' ] ].
>> ^ r
>>
>>
>> Kind Regards,
>>
>> Sean Glazier
>>
>>
>> On Mon, Jul 25, 2016 at 1:01 AM, Sean Glazier
>> <<mailto:sglazier456@gmail.com>sglazier456(a)gmail.com
>> <mailto:sglazier456@gmail.com>> wrote:
>>
>> Yes,
>>
>> I created in Bitbucket a repository named
>> New-QLine. I created aBaselinOfNewQLine which
>> just has stubs. I created 2 Packages.
>> New-Qline and New-Qline-Tests each of these
>> have 3 tags underneath and no classes defined
>> since I wanted to ensure I would have no
>> loading issue and so I can verify committing
>> code and then doing a push and then I also
>> wanted to verify doing a Pull. The picture
>> below is clipped from my pharo5 image.
>>
>> In the window
>> Respository:sglazier456/new-qline.git [master]
>> (Remote Git) shown below. The code at this
>> point has been committed successfully and now
>> I want to Push it to the repository. Once I
>> hit the Push button the image freezes. I can
>> press the x button on the main Pharo 5 window
>> and I get the dialog do you want to quit with
>> out saving.
>>
>> I am assuming that the push is using a git
>> command. I am not familiar with the Pharo 5
>> keyboard shortcuts. I tried control b along
>> with some others in hopes of interrupting this
>> process and bringing the image back and being
>> able to debug. However, I was unsuccessful in
>> that. I was thinking that I might need to
>> supply a setting so the ssh session can use
>> the privateKey I generated and then I can be
>> verified and the command continues.
>>
>> I am not sure what is going on yet. I thought
>> I would ask to see if it is something simple I
>> am missing.
>>
>> If you need to I can email you my privateKey
>> so you can try it against the same repository
>> I am using.
>> git@bitbucket.org:sglazier456/new-qline.git
>> <mailto:git@bitbucket.org:sglazier456/new-qline.git>
>>
>> Partial sceen shot showing the repository
>> window is below.
>>
>> Inline image 1
>>
>> Thank you for your help and if you can point
>> me to where I need to added a break point I
>> can provide more information :-)
>>
>>
>> Kind Regards,
>>
>> Sean Glazier
>>
>>
>> On Mon, Jul 25, 2016 at 12:37 AM, Dale
>> Henrichs
>> <<mailto:dale.henrichs@gemtalksystems.com>dale.henrichs(a)gemtalksystems.com
>> <mailto:dale.henrichs@gemtalksystems.com>> wrote:
>>
>> I'd be interested in making this work ...
>> could you supply additional details about
>> the problems you are seeing perhaps we can
>> fix the problems?
>>
>> Dale
>>
>>
>> On 7/24/16 6:42 PM, Sean P. DeNigris wrote:
>>
>> Dale Henrichs-3 wrote
>>
>> Yes, Metacello supports
>> bitbucket:// repos...
>>
>> N.B. IIRC I wasn't able to use it for
>> my private projects because it doesn't
>> work with private repos accessed via SSH
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> View this message in context:
>> <http://forum.world.st/Can-GitHubcello-be-used-against-BitBucket-tp4907386p4…>http://forum.world.st/Can-GitHubcello-be-used-against-BitBucket-tp4907386p4…
>> Sent from the Pharo Smalltalk Users
>> mailing list archive at Nabble.com.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
July 25, 2016
Re: [Pharo-users] Can GitHubcello be used against BitBucket?
by Sean Glazier
I do have the git hub desktop installed for windows as well. I aws thinking
that in a command shell cmd.exe that if you have the ssl-agent running
which I do that running the git command should just use the keys. Some
where I think windows gets confused. when using source tree I imported the
key and also imported the key for the running ssl agent pageant as well.
I could see it select the right sll key and it was the same one used and
upload to the bitbucket server (public key of course using copy paste. I
removed or backed up rather all previous sshssl keys I have used for SSH
tunnels etc into other systems etc. I finally got source tree to push. But
after a while, it seems to lose track of the key or something. I think it
might have to do with the growing number of git shells that keep increasing
until I have to finally reboot and the reapply the settings in SourceTree
and it works again and I am fine until the number of shells gets too big.
There is a very real bug on the windows platform. I can say hooking up
with git hub with their tool was easier. However I was only doing public
repositories so I had no need for all the encryption. I got to get myself a
better laptop again ;-).
I have been reading through acres of documentation. I was part of the
Cincom crypto team and have worked with it a number of times. I even
detected serious bugs in SSL that I reported long ago. Smalltalk during my
tests that ran for hours went and put a large integer in for the session
key which caused ssl on all platform to seg fault. Nice thing about
Smalltalk is those attacks can be eliminated (unless of course,you are
using a c dll that has the bug ;-) )
I think it is better to have the feature for https and just tell the
developer that it is insecure.
I tried the get credentials and for whatever reason, it was not picking it
up. I updated to the latest libraries etc. That worked for the guy on
Linux, but on windows 10 especially it seems it loses track of things. I
tried to uninstall reinstall as well. I had other ssh tools working under
windows 8 but the upgrade to 10 I noticed the issues with ssh in general.
Now that I have a gig where I need to use ssh again it seems windows 10
might be complicating things. the git hub tool seems to work better IMHO.
I would like to be able to do it direct from metacello. I like working with
Pharo and want to use it and contribute to the project. I have Smalltalk in
my blood and once I got trained on it I was hooked. It is more addictive
that heroin and that is a compliment. IO think the developers have done
great work with it. So I say thank you to all the developers who put their
time and hearts into it.
Hopefully, I can get thing configured so it is using the ssh keys
seamlessly. I must say thing are easier on a Linux box, but many customers
use windoze. Personally, I liked windows 7 more than 8 IMHO..... I am not
sure if the problem exists with git hubacello as well. It might since these
interfaces are using git command as far as I can tell.
To use the https authentication, I found just putting the https url in as
shown above was able to do the push. From what I read, as long as you
specify the username and password in the url you should not get a prompt to
authenticate. ( of course, the ssh key was supposed to work right too, so I
can only report what I am observing on windoze 10) I used the commands as
specified both from the debugger and the cmd shell and git seemed to accept
it with out asking for the username password since they are in the url. It
is good not to have a password that uses periods or /'s or anything that
might not be URL friendly. So there is that. If you use the password in the
URL it is something that needs to be parseable or you have to go through
the trouble of providing the appropriate escape sequence etc.
I thank every one for the help. With luck, we can get things resolved and
if it is a matter of documentation, being able to have the procedure
written down. I know it is a tall order to try and keep up in the
ever-changing worlds of tools. evry rlease of windoze itr feels like I am
starting from scratch again ....
Kind Regards,
Sean Glazier
On Mon, Jul 25, 2016 at 10:47 AM, Dale Henrichs <
dale.henrichs(a)gemtalksystems.com> wrote:
> Sean,
>
> For GsDevKit_home[1] users on Windows, I recommend that users install
> GitHub DeskTop for Windows[2]. You get a bash shell installed that allows
> you to use git on windows in a reasonable environment ... I assume that at
> the bash shell level, you can work with local clones of bitbucket git
> repositories ...
>
> Dale
>
> [1]
> https://github.com/GsDevKit/GsDevKit_home/blob/master/docs/installation/con…
>
> [2] https://desktop.github.com/
>
> On 7/25/16 6:58 AM, Sean Glazier wrote:
>
> Hi,
>
> Thank you for all your help. Yes, windows is a pain. I am using Pharo 5. I
> would love to know how to get the ssh part working on Linux as well since
> the other team member is a Linux user and it is his first time using
> Smalltalk. I think he saw it in college but that was about it. I have
> shared the sort of things you can do in Smalltalk compared to other
> languages. However, The tool set can be a bit intimidating at times. There
> is a learning curve even for experienced small talkers coming from a
> different toolset. So when I set it up for myself I want to set his up as
> well.
>
> I think while it is insecure the https version is useful especially when
> tearing your hair out just trying to get source tree and bit bucket on
> speaking terms using ssh. I just spent the better part of a day and night
> trying to figure out why when both sides have the right key the server was
> still rejecting. It is windoze 10 of course. It should be a crime to sell
> that operating system! I have had more fun kicking cinder blocks with my
> feet. I mean that literally too, as I used to do that in the Okinawa Kempo
> classes. A broken toe is far more pleasant by comparison.
>
> By the time morning rolled around I was having fantasies of making Bill
> Gates condemned to rolling a boulder uphill only to have it to always fall
> down and he would have to repeat for eternity . :-) But I digress...
>
> If you could point me in the right direction it would help.
>
> Thank you in advance :-)
>
>
> Kind Regards,
>
> Sean Glazier
>
>
> On Mon, Jul 25, 2016 at 9:33 AM, Thierry Goubier <
> thierry.goubier(a)gmail.com> wrote:
>
>>
>>
>> 2016-07-25 14:49 GMT+02:00 Sean Glazier < <sglazier456(a)gmail.com>
>> sglazier456(a)gmail.com>:
>>
>>> yes I was using the command generated by the source tree tool. The code
>>> generates a command line command and that can use https if you form the
>>> commands as I detailed. I also indicated where the master:master and
>>> related switches can be replaced with what most people use which is just
>>> --all. the class forming the command can be extended to parse out the
>>> username password from the url you set it up with provided you include it
>>> or it could be extra parameters provided and stored. This is so that when
>>> the push and pull commands put together the url can be formed and placed on
>>> the command line as well. GITI will take care of using https etc. it just
>>> needs the url with the username password on it so that the command
>>> line does not ask for a password and hangs the image because Pharo is
>>> waiting for a response and the command line is waiting for the password to
>>> be inputted and you have a deadlock as I detailed in the method.
>>>
>>
>> Yes, I understand that.
>>
>>
>>> The command line git command that worked for me was:
>>> git -C "C:\pharo5win\new-qline" -c diff.mnemonicprefix=false -c
>>> core.quotepath=false push
>>> https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git
>>> --all
>>> I am sure some of the other options are not really needed. As I
>>> indicated I used what source tree built as its command that it executed.
>>>
>>> So with a git repository that needs a username password you can form the
>>> git push and pull commands as indicated.
>>>
>>> to use ssh I did not see how that could be done from the command line on
>>> windows unless to were able to tell git to use ssh or the putty running on
>>> windows. Linux of course, is probably more straightforward to get working.
>>>
>>
>> I know that there is a kind of special way to use ssh-agent in Windows,
>> and get this to work.
>>
>> I did not implement the https username and password support, because I
>> was a bit unsure of writing in clear the username and password, and I
>> didn't want to handle the terminal interaction to inject username and
>> password into the git command upon request.
>>
>>
>>>
>>> Right now the current version of the git remote repository is broken
>>> because it is using either old commands or an incorrect command. The push
>>> was sent to the command line as follows:
>>>
>>> git -C "C:\pharo5win\new-qline"
>>>
>>
>> I'm sure there is a push in the command otherwise none of the git support
>> would work; I use that code every day professionnally for as long as
>> GitFileTree existed. The git command has been complete for the past few
>> years, so it will stay this way unless harm is proven with the lack of
>> certain options.
>>
>>
>>>
>>> This as far as I know is not a proper push command because it needs the
>>> push keyword followed by at least I think by the --all .
>>> I tried it from the windows command line and it worked for a repository
>>> that was not password protected. If it is, the command line will ask for
>>> the password and will not time out which deadlocks the push since pharo is
>>> waiting for the command to finish, which it cannot. So the image is locked
>>> until you give it a user interrupt to get the debugger.
>>>
>>> I hope this helps in understanding what I ran into...
>>>
>>
>> Windows is a hard platform for me to test on; I'll fetch a past
>> discussion on ssh-agent on windows and I may create a branch for you to
>> test. On which version of Pharo are you?
>>
>> Regards,
>>
>> Thierry
>>
>>
>>>
>>> Kind Regards,
>>>
>>> Sean Glazier
>>>
>>>
>>> On Mon, Jul 25, 2016 at 7:20 AM, Thierry Goubier <
>>> <thierry.goubier(a)gmail.com>thierry.goubier(a)gmail.com> wrote:
>>>
>>>> Hi Sean,
>>>>
>>>> I think the issue is simply that GitFileTree does not support https
>>>> with authentification. You need to switch to ssh with keys.
>>>>
>>>> Now, about the various options you add on the git push command line
>>>> (diff.mnemonicprefix, core.quotepath), could you detail them? The seems to
>>>> be unnecessary in the git development scenarios I've seen so far.
>>>>
>>>> Also note that master:master may be wrong, because you could be
>>>> switching to another branch.
>>>>
>>>> I expect all those issues to be taken care of through the new tools in
>>>> development for Pharo6.
>>>>
>>>> Regards,
>>>>
>>>> Thierry
>>>>
>>>> 2016-07-25 10:04 GMT+02:00 Sean Glazier < <sglazier456(a)gmail.com>
>>>> sglazier456(a)gmail.com>:
>>>>
>>>>> some more information the git command that it runs is
>>>>> git -C "C:\pharo5win\new-qline"
>>>>> This is run in the method
>>>>> MCFileTreeGitRemoteRepository>>runProcessWrapperGitCommand:
>>>>> anArrayOfStrings in: aDirectory.
>>>>>
>>>>> It is stuck on the line:
>>>>> command waitForExit.
>>>>>
>>>>> this wait for exit has no timeout to it and you wait forever. I found
>>>>> out on windows the user interrupt is alt . Just like the Mac ;-)
>>>>>
>>>>> I have no error in the error stream at all.
>>>>>
>>>>> From the source tree tool the command should look more like this:
>>>>> git -c diff.mnemonicprefix=false -c core.quotepath=false push -v
>>>>> --tags origin master:master
>>>>>
>>>>> and then followed by the -C "C:\pharo5win\new-qline"
>>>>>
>>>>> git -C "C:\pharo5win\new-qline" -c diff.mnemonicprefix=false -c
>>>>> core.quotepath=false push -v --tags origin master:master
>>>>>
>>>>> However doing this from a command line it asks for the users password
>>>>> like thus
>>>>> C:\pharo5win\New-Qline>git -C "C:\pharo5win\new-qline" -c
>>>>> diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin
>>>>> master:master
>>>>> Pushing to
>>>>> <https://sglazier456@bitbucket.org/sglazier456/new-qline.git>
>>>>> https://sglazier456@bitbucket.org/sglazier456/new-qline.git
>>>>> Password for ' <https://sglazier456@bitbucket.org>
>>>>> https://sglazier456@bitbucket.org':
>>>>>
>>>>> to avoid the password prompt you can do this
>>>>>
>>>>> git -C "C:\pharo5win\new-qline" -c diff.mnemonicprefix=false -c
>>>>> core.quotepath=false push
>>>>> https://username:password@myrepository.biz/file.git -v --tags origin
>>>>> master:master
>>>>>
>>>>> you can also replace -v --tags origin master:master with --all as well
>>>>> in my case it would look like
>>>>> git -C "C:\pharo5win\new-qline" -c diff.mnemonicprefix=false -c
>>>>> core.quotepath=false push
>>>>> https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git -v
>>>>> --tags origin master:master
>>>>>
>>>>> OR
>>>>> git -C "C:\pharo5win\new-qline" -c diff.mnemonicprefix=false -c
>>>>> core.quotepath=false push
>>>>> https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git
>>>>> -all
>>>>> and that works with out the system waiting for a password.
>>>>> I notice that there is a class that has the username password for bit
>>>>> bucket in the method MCGitBasedNetworkRepository >> siteUsername:
>>>>> username sitePassword: pass "MCBitbucketRepository siteUsername: ''
>>>>> sitePassword: ''" "MCGitHubRepository siteUsername: '' sitePassword: ''"
>>>>> self siteUsername: username; sitePassword: pass
>>>>> I tried setting it up with the username and password in the url for
>>>>> the remote repository and no luck.
>>>>> the class MCFileTreeGitRemoteRepository should override the getPull
>>>>> and gitPush so as to include the url with the site name and password or
>>>>> there might be a need for a different creation class for the bitbucket
>>>>> remote repositories. However it is a standrad git command to be able to
>>>>> include the username password in the url.
>>>>> when one does a pull as well there is a hang as well for the same
>>>>> reasons.
>>>>> I am not attempting to hack this at the moment because I can use
>>>>> source tree to do the commits and pushes and pulls. I do think though since
>>>>> we have those commands available on the remote repos and people can mark it
>>>>> private requiring a username password.
>>>>> Also we should consider a repository configuration that specifys the
>>>>> SSH kaey and then run the command in the context of SSH. this would
>>>>> eliminate the username password issue and it is much more secure.
>>>>> SO since you are more experienced than I in this area of the code, I
>>>>> should ask how should we go about fixing the issue. Also were should I
>>>>> report this issue as well?
>>>>>
>>>>> running the command from a cmd line produced the following:
>>>>> C:\pharo5win\New-Qline>git -C "C:\pharo5win\new-qline"
>>>>> usage: git [--version] [--help] [-C <path>] [-c name=value]
>>>>> [--exec-path[=<path>]] [--html-path] [--man-path]
>>>>> [--info-path]
>>>>> [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
>>>>> [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
>>>>> <command> [<args>]
>>>>>
>>>>> The most commonly used git commands are:
>>>>> add Add file contents to the index
>>>>> bisect Find by binary search the change that introduced a bug
>>>>> branch List, create, or delete branches
>>>>> checkout Checkout a branch or paths to the working tree
>>>>> clone Clone a repository into a new directory
>>>>> commit Record changes to the repository
>>>>> diff Show changes between commits, commit and working tree,
>>>>> etc
>>>>> fetch Download objects and refs from another repository
>>>>> grep Print lines matching a pattern
>>>>> init Create an empty Git repository or reinitialize an
>>>>> existing one
>>>>> log Show commit logs
>>>>> merge Join two or more development histories together
>>>>> mv Move or rename a file, a directory, or a symlink
>>>>> pull Fetch from and integrate with another repository or a
>>>>> local branch
>>>>> push Update remote refs along with associated objects
>>>>> rebase Forward-port local commits to the updated upstream head
>>>>> reset Reset current HEAD to the specified state
>>>>> rm Remove files from the working tree and from the index
>>>>> show Show various types of objects
>>>>> status Show the working tree status
>>>>> tag Create, list, delete or verify a tag object signed with
>>>>> GPG
>>>>>
>>>>> 'git help -a' and 'git help -g' lists available subcommands and some
>>>>> concept guides. See 'git help <command>' or 'git help <concept>'
>>>>> to read about a specific subcommand or concept.
>>>>>
>>>>> C:\pharo5win\New-Qline>
>>>>>
>>>>>
>>>>> So according to the help the command it self is formulated incorrectly.
>>>>>
>>>>> runProcessWrapperGitCommand: anArrayOfStrings in: aDirectory
>>>>> "Enclose all parameters with double quotes to protect."
>>>>>
>>>>> | r aCommandString |
>>>>> aCommandString := String
>>>>> streamContents: [ :stream |
>>>>> anArrayOfStrings
>>>>> do: [ :e |
>>>>> stream
>>>>> nextPut: $";
>>>>> nextPutAll: e;
>>>>> nextPutAll: '" ' ] ].
>>>>> (Smalltalk at: #ProcessWrapper ifAbsent: [ self error: 'Please load
>>>>> ProcessWrapper' ])
>>>>> ifNotNil: [ :pW |
>>>>> | command |
>>>>> command := pW new
>>>>> useStdout;
>>>>> useStderr;
>>>>> startWithCommand:
>>>>> self gitCommand , ' -C "'
>>>>> ,
>>>>> (MCFileTreeFileUtils current directoryPathString: aDirectory)
>>>>> , '" ' , aCommandString;
>>>>> yourself.
>>>>> command waitForExit.
>>>>> self assert: command isRunning not.
>>>>> r := command upToEnd.
>>>>> command exitCode > 0
>>>>> ifTrue:
>>>>> [
>>>>> | errorString |
>>>>> errorString := command errorUpToEnd.
>>>>> errorString notEmpty
>>>>> ifTrue:
>>>>> [ MCFileTreeGitError new signal: 'Git error: ' , errorString ].
>>>>> r := '' ] ].
>>>>> ^ r
>>>>>
>>>>>
>>>>> Kind Regards,
>>>>>
>>>>> Sean Glazier
>>>>>
>>>>>
>>>>> On Mon, Jul 25, 2016 at 1:01 AM, Sean Glazier <
>>>>> <sglazier456(a)gmail.com>sglazier456(a)gmail.com> wrote:
>>>>>
>>>>>> Yes,
>>>>>>
>>>>>> I created in Bitbucket a repository named New-QLine. I created
>>>>>> aBaselinOfNewQLine which just has stubs. I created 2 Packages.
>>>>>> New-Qline and New-Qline-Tests each of these have 3 tags underneath and no
>>>>>> classes defined since I wanted to ensure I would have no loading issue and
>>>>>> so I can verify committing code and then doing a push and then I also
>>>>>> wanted to verify doing a Pull. The picture below is clipped from my pharo5
>>>>>> image.
>>>>>>
>>>>>> In the window Respository:sglazier456/new-qline.git [master] (Remote
>>>>>> Git) shown below. The code at this point has been committed successfully
>>>>>> and now I want to Push it to the repository. Once I hit the Push button
>>>>>> the image freezes. I can press the x button on the main Pharo 5 window and
>>>>>> I get the dialog do you want to quit with out saving.
>>>>>>
>>>>>> I am assuming that the push is using a git command. I am not familiar
>>>>>> with the Pharo 5 keyboard shortcuts. I tried control b along with some
>>>>>> others in hopes of interrupting this process and bringing the image back
>>>>>> and being able to debug. However, I was unsuccessful in that. I was
>>>>>> thinking that I might need to supply a setting so the ssh session can use
>>>>>> the privateKey I generated and then I can be verified and the command
>>>>>> continues.
>>>>>>
>>>>>> I am not sure what is going on yet. I thought I would ask to see if
>>>>>> it is something simple I am missing.
>>>>>>
>>>>>> If you need to I can email you my privateKey so you can try it
>>>>>> against the same repository I am using.
>>>>>> git@bitbucket.org:sglazier456/new-qline.git
>>>>>>
>>>>>> Partial sceen shot showing the repository window is below.
>>>>>>
>>>>>> [image: Inline image 1]
>>>>>>
>>>>>> Thank you for your help and if you can point me to where I need to
>>>>>> added a break point I can provide more information :-)
>>>>>>
>>>>>>
>>>>>> Kind Regards,
>>>>>>
>>>>>> Sean Glazier
>>>>>>
>>>>>>
>>>>>> On Mon, Jul 25, 2016 at 12:37 AM, Dale Henrichs <
>>>>>> <dale.henrichs(a)gemtalksystems.com>dale.henrichs(a)gemtalksystems.com>
>>>>>> wrote:
>>>>>>
>>>>>>> I'd be interested in making this work ... could you supply
>>>>>>> additional details about the problems you are seeing perhaps we can fix the
>>>>>>> problems?
>>>>>>>
>>>>>>> Dale
>>>>>>>
>>>>>>>
>>>>>>> On 7/24/16 6:42 PM, Sean P. DeNigris wrote:
>>>>>>>
>>>>>>>> Dale Henrichs-3 wrote
>>>>>>>>
>>>>>>>>> Yes, Metacello supports bitbucket:// repos...
>>>>>>>>>
>>>>>>>> N.B. IIRC I wasn't able to use it for my private projects because
>>>>>>>> it doesn't
>>>>>>>> work with private repos accessed via SSH
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -----
>>>>>>>> Cheers,
>>>>>>>> Sean
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> <http://forum.world.st/Can-GitHubcello-be-used-against-BitBucket-tp4907386p4…>
>>>>>>>> http://forum.world.st/Can-GitHubcello-be-used-against-BitBucket-tp4907386p4…
>>>>>>>> Sent from the Pharo Smalltalk Users mailing list archive at
>>>>>>>> Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
July 25, 2016
Re: [Pharo-users] Can GitHubcello be used against BitBucket?
by Thierry Goubier
Hi Sean,
I have a solution for you, with just a specific setup of git. It a bit
'by hand', but it should work (at least it worked for me on a private
github repository). I'll give you first a reasonable approach (limit the
effect to a single repository) and then a global approach (affect all
repositories).
First limit the change to one repository:
1- Clone the repository from bitbucket, removing the username
in the https url if any(*). It will query for both username and
password.
$ git clone https://bitbucket.org/MyName/MyRepository.git
Cloning into MyRepository
Username for 'https://bitbucket.org': MyUsername
Password for 'https://MyUsername@bitbucket.org':
...
2- Switch to that repository, and add a credential.helper store
config option (ask git to store all credentials to a
.git-credentials file).
$ cd MyRepository
$ git config credential.helper 'store'
3- Do a git pull to get git to store the credentials...
$ git pull
Username for 'https://bitbucket.org': MyName
Password for 'https://MyName@bitbucket.org':
Already up-to-date.
4- Do a git pull again: we should not be asked for a username
or a password again.
$ git pull
Already up-to-date.
5- Add this repository as a gitfiletree repository into Pharo
(not a remote git). Push and pull now work!
Credential storage will be kept over the project life and apply to other
bitbucket repositories with https urls if you do step 2- in them.
The global version is a bit more drastic (will apply to all https based
bitbucket repositories, both current and new, if you use the same
username), but shorter.
1- Add a credential.helper store global config option to git
(ask git to store all credentials to a .git-credentials file).
$ git config --global credential.helper 'store'
2- Clone the repository from bitbucket, removing the username
in the https url if any(*). It will query for both username and
password.
$ git clone https://bitbucket.org/MyName/MyRepository.git
Cloning into MyRepository
Username for 'https://bitbucket.org': MyUsername
Password for 'https://MyUsername@bitbucket.org':
...
3- Try a git pull in the repository to see that the username
and password are already stored.
$ cd MyRepository
$ git pull
already up-to-date
4- Use with GitFileTree and Pharo.
Once the credentials have been stored and the global setting set,
Pharo/GitFileTree and Metacello should be able to use https everywhere.
If your project has a BaselineOfMyProject, then this should now work:
Metacello new
baseline: 'MyProject';
repository:
'gitfiletree://bitbucket.org/MyName/MyRepository?protocol=https';
load
Regards,
Thierry
(*) I'm not sure that removing the MyUsername@ of the urlit is entirely
significant or an effect of doing it with a private bitbucket
repository, or while logged in into bitbucket.
(**) I just noticed that in fact GitFileTree has full support for
https://username:password@bitbucket.org/ urls, apart from a stupid bug.
Argggg :( (Or the one who asked me for that feature never used it :()
Le 25/07/2016 à 15:58, Sean Glazier a écrit :
> Hi,
>
> Thank you for all your help. Yes, windows is a pain. I am using Pharo 5.
> I would love to know how to get the ssh part working on Linux as well
> since the other team member is a Linux user and it is his first time
> using Smalltalk. I think he saw it in college but that was about it. I
> have shared the sort of things you can do in Smalltalk compared to other
> languages. However, The tool set can be a bit intimidating at times.
> There is a learning curve even for experienced small talkers coming from
> a different toolset. So when I set it up for myself I want to set his up
> as well.
>
> I think while it is insecure the https version is useful especially when
> tearing your hair out just trying to get source tree and bit bucket on
> speaking terms using ssh. I just spent the better part of a day and
> night trying to figure out why when both sides have the right key the
> server was still rejecting. It is windoze 10 of course. It should be a
> crime to sell that operating system! I have had more fun kicking cinder
> blocks with my feet. I mean that literally too, as I used to do that in
> the Okinawa Kempo classes. A broken toe is far more pleasant by comparison.
>
> By the time morning rolled around I was having fantasies of making Bill
> Gates condemned to rolling a boulder uphill only to have it to always
> fall down and he would have to repeat for eternity . :-) But I digress...
>
> If you could point me in the right direction it would help.
>
> Thank you in advance :-)
>
>
> Kind Regards,
>
> Sean Glazier
>
>
> On Mon, Jul 25, 2016 at 9:33 AM, Thierry Goubier
> <thierry.goubier(a)gmail.com <mailto:thierry.goubier@gmail.com>> wrote:
>
>
>
> 2016-07-25 14:49 GMT+02:00 Sean Glazier <sglazier456(a)gmail.com
> <mailto:sglazier456@gmail.com>>:
>
> yes I was using the command generated by the source tree tool.
> The code generates a command line command and that can use https
> if you form the commands as I detailed. I also indicated where
> the master:master and related switches can be replaced with what
> most people use which is just --all. the class forming the
> command can be extended to parse out the username password
> from the url you set it up with provided you include it or it
> could be extra parameters provided and stored. This is so that
> when the push and pull commands put together the url can be
> formed and placed on the command line as well. GITI will take
> care of using https etc. it just needs the url with the username
> password on it so that the command line does not ask for a
> password and hangs the image because Pharo is waiting for a
> response and the command line is waiting for the password to be
> inputted and you have a deadlock as I detailed in the method.
>
>
> Yes, I understand that.
>
>
> The command line git command that worked for me was:
> git -C "C:\pharo5win\new-qline" -c diff.mnemonicprefix=false -c
> core.quotepath=false
> push https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git
> --all
> I am sure some of the other options are not really needed. As I
> indicated I used what source tree built as its command that it
> executed.
>
> So with a git repository that needs a username password you can
> form the git push and pull commands as indicated.
>
> to use ssh I did not see how that could be done from the command
> line on windows unless to were able to tell git to use ssh or
> the putty running on windows. Linux of course, is probably more
> straightforward to get working.
>
>
> I know that there is a kind of special way to use ssh-agent in
> Windows, and get this to work.
>
> I did not implement the https username and password support, because
> I was a bit unsure of writing in clear the username and password,
> and I didn't want to handle the terminal interaction to inject
> username and password into the git command upon request.
>
>
>
> Right now the current version of the git remote repository is
> broken because it is using either old commands or an incorrect
> command. The push was sent to the command line as follows:
>
> git -C "C:\pharo5win\new-qline"
>
>
> I'm sure there is a push in the command otherwise none of the git
> support would work; I use that code every day professionnally for as
> long as GitFileTree existed. The git command has been complete for
> the past few years, so it will stay this way unless harm is proven
> with the lack of certain options.
>
>
>
> This as far as I know is not a proper push command because it
> needs the push keyword followed by at least I think by the --all .
> I tried it from the windows command line and it worked for a
> repository that was not password protected. If it is, the
> command line will ask for the password and will not time out
> which deadlocks the push since pharo is waiting for the command
> to finish, which it cannot. So the image is locked until you
> give it a user interrupt to get the debugger.
>
> I hope this helps in understanding what I ran into...
>
>
> Windows is a hard platform for me to test on; I'll fetch a past
> discussion on ssh-agent on windows and I may create a branch for you
> to test. On which version of Pharo are you?
>
> Regards,
>
> Thierry
>
>
>
> Kind Regards,
>
> Sean Glazier
>
>
> On Mon, Jul 25, 2016 at 7:20 AM, Thierry Goubier
> <thierry.goubier(a)gmail.com <mailto:thierry.goubier@gmail.com>>
> wrote:
>
> Hi Sean,
>
> I think the issue is simply that GitFileTree does not
> support https with authentification. You need to switch to
> ssh with keys.
>
> Now, about the various options you add on the git push
> command line (diff.mnemonicprefix, core.quotepath), could
> you detail them? The seems to be unnecessary in the git
> development scenarios I've seen so far.
>
> Also note that master:master may be wrong, because you could
> be switching to another branch.
>
> I expect all those issues to be taken care of through the
> new tools in development for Pharo6.
>
> Regards,
>
> Thierry
>
> 2016-07-25 10:04 GMT+02:00 Sean Glazier
> <sglazier456(a)gmail.com <mailto:sglazier456@gmail.com>>:
>
> some more information the git command that it runs is
> git -C "C:\pharo5win\new-qline"
> This is run in the method
> MCFileTreeGitRemoteRepository>>runProcessWrapperGitCommand:
> anArrayOfStrings in: aDirectory.
>
> It is stuck on the line:
> command waitForExit.
>
> this wait for exit has no timeout to it and you wait
> forever. I found out on windows the user interrupt is
> alt . Just like the Mac ;-)
>
> I have no error in the error stream at all.
>
> From the source tree tool the command should look more
> like this:
> git -c diff.mnemonicprefix=false -c core.quotepath=false
> push -v --tags origin master:master
>
> and then followed by the -C "C:\pharo5win\new-qline"
>
> git -C "C:\pharo5win\new-qline" -c
> diff.mnemonicprefix=false -c core.quotepath=false push
> -v --tags origin master:master
>
> However doing this from a command line it asks for the
> users password like thus
> C:\pharo5win\New-Qline>git -C "C:\pharo5win\new-qline"
> -c diff.mnemonicprefix=false -c core.quotepath=false
> push -v --tags origin master:master
> Pushing to
> https://sglazier456@bitbucket.org/sglazier456/new-qline.git
> Password for 'https://sglazier456@bitbucket.org':
>
> to avoid the password prompt you can do this
>
> git -C "C:\pharo5win\new-qline" -c
> diff.mnemonicprefix=false -c core.quotepath=false
> push https://username:password@myrepository.biz/file.git
> -v --tags origin master:master
>
> you can also replace -v --tags origin master:master
> with --all as well
>
> in my case it would look like
>
> git -C "C:\pharo5win\new-qline" -c
> diff.mnemonicprefix=false -c core.quotepath=false
> push https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git
> -v --tags origin master:master
>
> OR
> git -C "C:\pharo5win\new-qline" -c
> diff.mnemonicprefix=false -c core.quotepath=false
> push https://sglazier456:MY_PASSWORD@bitbucket.org/sglazier456/new-qline.git
> -all
>
> and that works with out the system waiting for a password.
>
> I notice that there is a class that has the username
> password for bit bucket in the method
> MCGitBasedNetworkRepository >> siteUsername: username
> sitePassword: pass "MCBitbucketRepository siteUsername:
> '' sitePassword: ''" "MCGitHubRepository siteUsername:
> '' sitePassword: ''" self siteUsername: username;
> sitePassword: pass
>
> I tried setting it up with the username and password in
> the url for the remote repository and no luck.
> the class MCFileTreeGitRemoteRepository should override
> the getPull and gitPush so as to include the url with
> the site name and password or there might be a need for
> a different creation class for the bitbucket remote
> repositories. However it is a standrad git command to be
> able to include the username password in the url.
>
> when one does a pull as well there is a hang as well for
> the same reasons.
>
> I am not attempting to hack this at the moment because I
> can use source tree to do the commits and pushes and
> pulls. I do think though since we have those commands
> available on the remote repos and people can mark it
> private requiring a username password.
>
> Also we should consider a repository configuration that
> specifys the SSH kaey and then run the command in the
> context of SSH. this would eliminate the username
> password issue and it is much more secure.
>
> SO since you are more experienced than I in this area of
> the code, I should ask how should we go about fixing the
> issue. Also were should I report this issue as well?
>
> running the command from a cmd line produced the following:
> C:\pharo5win\New-Qline>git -C "C:\pharo5win\new-qline"
> usage: git [--version] [--help] [-C <path>] [-c name=value]
> [--exec-path[=<path>]] [--html-path]
> [--man-path] [--info-path]
> [-p|--paginate|--no-pager]
> [--no-replace-objects] [--bare]
> [--git-dir=<path>] [--work-tree=<path>]
> [--namespace=<name>]
> <command> [<args>]
>
> The most commonly used git commands are:
> add Add file contents to the index
> bisect Find by binary search the change that
> introduced a bug
> branch List, create, or delete branches
> checkout Checkout a branch or paths to the working tree
> clone Clone a repository into a new directory
> commit Record changes to the repository
> diff Show changes between commits, commit and
> working tree, etc
> fetch Download objects and refs from another
> repository
> grep Print lines matching a pattern
> init Create an empty Git repository or
> reinitialize an existing one
> log Show commit logs
> merge Join two or more development histories
> together
> mv Move or rename a file, a directory, or a
> symlink
> pull Fetch from and integrate with another
> repository or a local branch
> push Update remote refs along with associated
> objects
> rebase Forward-port local commits to the updated
> upstream head
> reset Reset current HEAD to the specified state
> rm Remove files from the working tree and
> from the index
> show Show various types of objects
> status Show the working tree status
> tag Create, list, delete or verify a tag
> object signed with GPG
>
> 'git help -a' and 'git help -g' lists available
> subcommands and some
> concept guides. See 'git help <command>' or 'git help
> <concept>'
> to read about a specific subcommand or concept.
>
> C:\pharo5win\New-Qline>
>
>
> So according to the help the command it self is
> formulated incorrectly.
>
> runProcessWrapperGitCommand: anArrayOfStrings in: aDirectory
> "Enclose all parameters with double quotes to protect."
>
> | r aCommandString |
> aCommandString := String
> streamContents: [ :stream |
> anArrayOfStrings
> do: [ :e |
> stream
> nextPut: $";
> nextPutAll: e;
> nextPutAll: '" ' ] ].
> (Smalltalk at: #ProcessWrapper ifAbsent: [ self error:
> 'Please load ProcessWrapper' ])
> ifNotNil: [ :pW |
> | command |
> command := pW new
> useStdout;
> useStderr;
> startWithCommand:
> self gitCommand , ' -C "'
> ,
> (MCFileTreeFileUtils current directoryPathString:
> aDirectory)
> , '" ' , aCommandString;
> yourself.
> command waitForExit.
> self assert: command isRunning not.
> r := command upToEnd.
> command exitCode > 0
> ifTrue:
> [
> | errorString |
> errorString := command errorUpToEnd.
> errorString notEmpty
> ifTrue:
> [ MCFileTreeGitError new signal: 'Git error: ' ,
> errorString ].
> r := '' ] ].
> ^ r
>
>
> Kind Regards,
>
> Sean Glazier
>
>
> On Mon, Jul 25, 2016 at 1:01 AM, Sean Glazier
> <sglazier456(a)gmail.com <mailto:sglazier456@gmail.com>>
> wrote:
>
> Yes,
>
> I created in Bitbucket a repository named New-QLine.
> I created aBaselinOfNewQLine which just has stubs. I
> created 2 Packages. New-Qline and New-Qline-Tests
> each of these have 3 tags underneath and no classes
> defined since I wanted to ensure I would have no
> loading issue and so I can verify committing code
> and then doing a push and then I also wanted to
> verify doing a Pull. The picture below is clipped
> from my pharo5 image.
>
> In the window Respository:sglazier456/new-qline.git
> [master] (Remote Git) shown below. The code at this
> point has been committed successfully and now I want
> to Push it to the repository. Once I hit the Push
> button the image freezes. I can press the x button
> on the main Pharo 5 window and I get the dialog do
> you want to quit with out saving.
>
> I am assuming that the push is using a git command.
> I am not familiar with the Pharo 5 keyboard
> shortcuts. I tried control b along with some others
> in hopes of interrupting this process and bringing
> the image back and being able to debug. However, I
> was unsuccessful in that. I was thinking that I
> might need to supply a setting so the ssh session
> can use the privateKey I generated and then I can be
> verified and the command continues.
>
> I am not sure what is going on yet. I thought I
> would ask to see if it is something simple I am missing.
>
> If you need to I can email you my privateKey so you
> can try it against the same repository I am using.
> git@bitbucket.org:sglazier456/new-qline.git
>
> Partial sceen shot showing the repository window is
> below.
>
> Inline image 1
>
> Thank you for your help and if you can point me to
> where I need to added a break point I can provide
> more information :-)
>
>
> Kind Regards,
>
> Sean Glazier
>
>
> On Mon, Jul 25, 2016 at 12:37 AM, Dale Henrichs
> <dale.henrichs(a)gemtalksystems.com
> <mailto:dale.henrichs@gemtalksystems.com>> wrote:
>
> I'd be interested in making this work ... could
> you supply additional details about the problems
> you are seeing perhaps we can fix the problems?
>
> Dale
>
>
> On 7/24/16 6:42 PM, Sean P. DeNigris wrote:
>
> Dale Henrichs-3 wrote
>
> Yes, Metacello supports bitbucket://
> repos...
>
> N.B. IIRC I wasn't able to use it for my
> private projects because it doesn't
> work with private repos accessed via SSH
>
>
>
> -----
> Cheers,
> Sean
> --
> View this message in context:
> http://forum.world.st/Can-GitHubcello-be-used-against-BitBucket-tp4907386p4…
> Sent from the Pharo Smalltalk Users mailing
> list archive at Nabble.com.
>
>
>
>
>
>
>
>
>
July 25, 2016
Re: [Pharo-users] Pharo and GIT
by Nicolas Passerini
On Mon, Jul 25, 2016 at 7:28 PM, Peter Uhnak <i.uhnak(a)gmail.com> wrote:
> IceBerg, which is hopefully the future of git in Pharo (
> https://github.com/npasserini/iceberg )
>
Well, I hope so :)
Iceberg is under development, but beta testers and feedback are welcome. I
will be happy to help you if you intend to adopt it.
July 25, 2016