I am running Julia on cygwin. I followed the instructions at https://github.com/JuliaLang/julia/blob/master/README.windows.md , which tells to build it from sources, beginning with
git clone https://github.com/JuliaLang/julia.git
followed by a compile (which took about 2 hours).
But what I got was an unstable version (1.1.0-DEV.699). Is there any way to get the stable version of Julia, on cygwin?
Checkout the current stable version:
git clone git://github.com/JuliaLang/julia.git
cd julia
git checkout v1.0.2
And now you are ready to build.
Related
There is a package I want to use that is implemented based on fairseq toolkit. The package requirement says:
Please use an earlier commit of Apex - NVIDIA/apex#4a8c4ac
Even though I know how to install Apex, I'm not sure if I understand what it means to use an earlier commit of a package and how exactly I can use the commit (e.g., how can I install a commit of a package)? Does it just mean a specific version of that package? And if so, how can I find that specific version from a commit?
Well, I figured out how to install a specific commit! Here is how in case anyone else is wondering:
$ git clone https://github.com/nvidia/apex
$ cd apex
$ git checkout <commit hash>
$ pip install ... # whatever install command
So for example, if there is a specific commit for a GitHub repo like the following (in my case, I was trying to use an earlier commit of Apex):
https://github.com/NVIDIA/apex/commit/4a8c4ac088b6f84a10569ee89db3a938b48922b4
After cloning the repo, you run:
git checkout 4a8c4ac088b6f84a10569ee89db3a938b48922b4
Using this command, you in fact change the HEAD to a specific commit. Then, you install your package using whatever command you have.
I want to get started developing my own packages. I am also adding version control via Github. I mainly develop on my Mac and a Windows laptop, but there is potential for me to develop on other machines down the line. My IDE of choice is PyCharm. I need to figure out where to place my packages both on Github and on my local machines so that my packages are always in sync regardless of where I am developing. Help??
First, let's clarify that git is the version control system, and Github is a platform for hosting git repositories (there are many other platforms aside from Github). You use git commands to manage your codes, and Github is where you store a copy of your codes.
By adding version control and putting a copy on Github, you've already taken the first step in managing your codes on different machines. All you need to do is to make sure the codes on Github is always the latest updated or maintained version.
Here's a sample workflow:
On machine 1 (Mac), clone a copy of the Github repo
Develop on machine 1
When you are satisfied with your changes, push your codes from machine 1 to Github
On machine 2 (Windows), clone a copy of the Github repo
Develop on machine 2
When you are satisfied with your changes, push your codes from machine 2 to Github
On machine 1, do a fetch to check for updates to the code
If there are updates, pull those changes to machine 1
Again, when done making changes, push them from machine 1 to Github
On machine 2 again, fetch and pull changes
Repeat this fetch-pull-push- cycle for all machines
Basically, you'll need to make sure that on wherever machine you are, when you are done, you should always push those changes to the remote (Github). So that other machines, can fetch and pull those changes and continue where you left off.
UPDATE (based on comment):
Once you've got the workflow for your package source codes, next is to package them like any other regular Python package and install them to your site-packages (either directly for your system or preferably in a virtual environment).
I recommend taking a look at the Python docs on Packaging Python Projects which uses setuptools to make your package compatible with pip.
Here's a sample workflow:
git clone <mypackage#github.com> # or git pull if you already cloned it before
cd mypackage
pip install -r requirements.txt
pip install -e . or pip install --user -e .
That last step will install your package to your site-packages folder, like any other pip-compatible package (assuming you've setup your setup.py file properly). If you are using virtual environments, you'll have to activate the virtual env first, then install your package there.
If you are not going to do any modification on the source code, and you just want to install the package on a specific machine, then you can also specify the Github URL to pip:
$ pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject # from git
Lastly, if you are planning to upload this package to PyPi, check out the docs on Uploading the distribution archives. This just adds an extra step to your workflow of uploading your package to PyPi and then doing pip install from there next time.
I'm having a problem with git-svn that may be related to the perl svn bindings. Even after installing new versions of subversion and git using homebrew, git-svn is using an old version of svn:
$ git svn --version
git-svn version 1.8.2.1 (svn 1.6.18)
$ svn --version
svn, version 1.7.7 (r1393599)
How do I make git-svn use the newer version of svn?
Thanks to this answer, I found a reasonable solution. I ran sudo cpan SVN::Core, which updated the svn version of git-svn:
$ git svn --version
git-svn version 1.8.2.1 (svn 1.7.3)
The native svn version was unchanged. So I'm left with two different versions of svn, but at least they are the same major version.
If using homebrew, uninstall git, update/install svn with homebrew, then reinstall git with:
brew install git --with-brewed-svn
Another way to point the svn-perl binding to a specific svn installation on your system would be to add following line to the bash profile:
export PERL5LIB=/usr/local/lib/svn-perl
The path will vary depending on the installation directory of svn-perl bindings. For e.g., WanDisco svn client installation is usually under /opt/subversion/lib/svn-perl.
I learned about this trick from here.
I am going through the MOTODEV Core plugins installation here
I get to the step:
- "Use the git clone command to download the MOTODEV Core Plugins source repository into a working copy"
And this is where I get stuck. Where do I input this "git clone" command into Eclipse?
You could very easily do the clone from the command line as follows:
git clone https://android.googlesource.com/platform/tools/motodev.git
and then import the sources from the filesystem into eclipse -- it should pick up your project structure automatically.
Install "windows git" (http://msysgit.github.com/)
then type that git clone into a command line.
It keeps stopping between 43% and 61% for me though...damned aggravating because git clone doesn't have a continue command (I googled for a while for it and apparently it was a 2009 Google Summer of Code project but was never done)=:
I'm new to Jenkins and experimenting at the moment. I use Eclipse and run Git from within Eclipse, using the Git plugin, which is described as follows: 'Eclipse Git is an Eclipse Team provider based on JGit, a pure Java implementation of the Git version control system'.
I've installed the Git plugin for Jenkins but when I go to configure it, Jenkins complains that it can't find the Git executable. That makes sense, and the obvious solution is to install it (in my case, using a Ubuntu repository - sudo apt-get install git-core). My concern is that having two installations of Git on the machine will give rise to problems - or am I being over-cautious?
It's fine to have both - since EGit is pure Java, it has nothing to do with the installed (native code) version of Git.
Problems might arise if there was a breaking change in a future version of Git, but it should be easy enough to fix by updating both installations.