When git on Windows suddenly gives you this when the repository URL opens fine in Chrome:
C:\Users\jeroenp\Versioned>git clone https://bitbucket.org/jeroenp/libssh2-delphi Cloning into 'libssh2-delphi'... remote: Not Found fatal: repository 'https://bitbucket.org/jeroenp/libssh2-delphi/' not found
but this worked fine:
C:\Users\jeroenp\Versioned>git clone https://github.com/jpluimers/GExperts.git Cloning into 'GExperts'... remote: Counting objects: 12031, done. remote: Total 12031 (delta 0), reused 0 (delta 0), pack-reused 12031R Receiving objects: 100% (12031/12031), 9.77 MiB | 1.36 MiB/s, done. Resolving deltas: 100% (9284/9284), done.
I first thought “huh?”.
Then I remembered: this was a Mercurial repository, but I hardly use Mercurial any more…
C:\Users\jeroenp\Versioned>hg clone https://jeroenp@bitbucket.org/jeroenp/libssh 2-delphi destination directory: libssh2-delphi requesting all changes adding changesets adding manifests adding file changes added 30 changesets with 56 changes to 25 files updating to branch default 12 files updated, 0 files merged, 0 files removed, 0 files unresolved
Since I wanted to switch away from bitbucket for a long time anyway, it was time to say goodbye and find out how to make the conversion to git.
A quick search revealed there were many tedious manual ways involving command-lines: [WayBack] Convert Mercurial project to Git – Stack Overflow
But then I found out that github can fully automagically import a Mercurial Repository (of course without the BitBucket attached bells and whistles like issue tracker):
- [WayBack] About GitHub Importer – User Documentation
- [WayBack] Importing a repository with GitHub Importer – User Documentation
So it is now at github.com/jpluimers/libssh2-delphi with one user still to be mapped at github.com … libssh2-delphi/import/authors: Zeljko Marjanovic. If I ever get in contact with him (I tried over the last 2 years), then I will add him.
For now, I will be in touch with Vadum Lou (a.k.a. https://github.com/pult, full nameVadim V. Lopushansky) who already made another manually copied fork and get his additions integrated.
I might redo the conversion process later on as at least some of his submissions are at least partially in a Mercurial pull request.
Then I need to merge the develop branch into the master branch and prepare a release.
Oh: if it fails to debug in Delphi, then run the EXE alone. You will get an error like this:
---------------------------
SftpClientDemo.exe - System Error
---------------------------
The program can't start because MSVCR120.dll is missing from your computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------
I need to document this better in the README.md: the underlying libssh2
DLLs require the Visual Studio 2013 C++ run-time library to be installed. The latest version I could find as of writing is vcredist_x86.exe
version 12.0.40649.5
from the Update for Visual C++ 2013 and Visual C++ Redistributable Package
at https://support.microsoft.com/en-us/kb/3138367 (download selection) or http://download.microsoft.com/download/C/C/2/CC2DF5F8-4454-44B4-802D-5EA68D086676/vcredist_x86.exe (direct download).
I need to update If a program you wrote can’t start becuase MSVCR*.dll is missing, then you forgot to ship the Visual C++ runtime… from 2012 on this as well as there are more versions available now than listed there.
Another error I got was the one below when running .NET stuff, but that might be because Windows Update was in progress:
- [WayBack] Update for the d3dcompiler_47.dll component on Windows Server 2012, Windows 7, and Windows Server 2008 R2
- [WayBack] D3DCompiler_47.dll is missing. How to fix it? – [Solved] – Windows 7
---------------------------
SourceTree.exe - System Error
---------------------------
The program can't start because D3DCOMPILER_47.dll is missing from your computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------
Later: yes, that was indeed fixed during Windows update. Apparently, Microsoft has an update installation order issue or a dependency requirement issue where part of .NET depends on that DLL, even though it is not yet present.
–jeroen