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 <sglazier...@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://sglazier...@bitbucket.org/sglazier456/new-qline.git
> Password for 'https://sglazier...@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:passw...@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_passw...@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_passw...@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 <sglazier...@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.
>> g...@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.henri...@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-tp4907386p4907660.html
>>>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>

Reply via email to