conda-forge / git-feedstock

A conda-smithy repository for git.
BSD 3-Clause "New" or "Revised" License
1 stars 32 forks source link

git svn does not work after installing git #60

Open madisonsus opened 5 years ago

madisonsus commented 5 years ago

Issue: I have installed git and svn in my anaconda environment with the intent of using it to convert an SVN repository to git. To get this to work, I need the git svn command to work. When I try the command, I get this error

Can't locate SVN/Core.pm in @INC (you may need to install the SVN::Core module) (@INC contains: /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/share/perl5 /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/lib/site_perl/5.26.2/x86_64-linux-thread-multi /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/lib/site_perl/5.26.2 /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/lib/5.26.2/x86_64-linux-thread-multi /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/lib/5.26.2 .) at /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/share/perl5/Git/SVN/Utils.pm line 6. BEGIN failed--compilation aborted at /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/share/perl5/Git/SVN/Utils.pm line 6. Compilation failed in require at /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/share/perl5/Git/SVN.pm line 32. BEGIN failed--compilation aborted at /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/share/perl5/Git/SVN.pm line 32. Compilation failed in require at /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/libexec/git-core/git-svn line 22. BEGIN failed--compilation aborted at /projects/python_proj/anaconda2/envs/python_3.6.2_assortment/libexec/git-core/git-svn line 22.

I brought this up on the Google Groups and Ray Donnelly thought it might be possible but tricky. It will involve the addition of a perl script which has been done before. He thought I should bring it up on here so now I have.


Environment (conda list):

``` $ conda list # packages in environment at /projects/python_proj/anaconda2/envs/python_3.6.2_assortment: # anaconda custom py36_0 apr 1.6.3 he40df45_0 anaconda ca-certificates 2019.1.23 0 anaconda curl 7.64.1 hbc83047_0 anaconda cyrus-sasl 2.1.26 h20670df_3 anaconda expat 2.2.5 he0dffb1_0 anaconda git 2.20.1 pl526hacde149_0 anaconda krb5 1.16.1 hc83ff2d_6 anaconda libcurl 7.64.1 h20c2e04_0 anaconda libedit 3.1.20170329 h6b74fdf_2 anaconda libgcc-ng 7.2.0 hdf63c60_3 anaconda libntlm 1.4 h14c3975_2 anaconda libssh2 1.8.2 h1ba5d50_0 anaconda libstdcxx-ng 7.2.0 hdf63c60_3 anaconda libutf8proc 2.1.1 h14c3975_0 anaconda lz4-c 1.8.1.2 h14c3975_0 anaconda ncurses 6.1 hf484d3e_0 anaconda openssl 1.0.2p h14c3975_0 anaconda perl 5.26.2 h14c3975_0 anaconda serf 1.3.9 hb3b5fc1_0 anaconda sqlite 3.24.0 h84994c4_0 anaconda svn 1.10.2 h52f66ed_0 anaconda tk 8.6.7 hc745277_3 anaconda assortment-non-modeled-global-variables 1.0 backcall 0.1.0 certifi 2016.2.28 py36_0 certifi 2018.8.24 cycler 0.10.0 decorator 4.1.2 py36_0 decorator 4.3.0 ipython 6.1.0 py36_0 ipython 6.5.0 ipython_genutils 0.2.0 py36_0 jedi 0.10.2 py36_2 jedi 0.12.1 kiwisolver 1.0.1 matplotlib 3.0.0 mkl 2017.0.3 0 numpy 1.13.1 py36_0 numpy 1.15.1 pandas 0.20.3 py36_0 pandas 0.23.4 parso 0.3.1 path.py 10.3.1 py36_0 pexpect 4.2.1 py36_0 pexpect 4.6.0 pickleshare 0.7.4 py36_0 pip 19.1.1 pip 9.0.1 py36_1 prompt-toolkit 2.0.4 prompt_toolkit 1.0.15 py36_0 ptyprocess 0.5.2 py36_0 py4j 0.10.7 pygments 2.2.0 py36_0 pyodbc 4.0.24 pyparsing 2.2.1 pyspark 2.3.1 python 3.6.2 0 python-dateutil 2.6.1 py36_0 python-dateutil 2.7.3 pytz 2017.2 py36_0 pytz 2018.5 readline 6.2 2 sas7bdat 2.1.1 scikit-learn 0.19.2 setuptools 36.4.0 py36_1 setuptools 40.4.1 simplegeneric 0.8.1 py36_1 six 1.10.0 py36_0 six 1.11.0 sklearn 0.0 traitlets 4.3.2 py36_0 wcwidth 0.1.7 py36_0 wheel 0.29.0 py36_0 wheel 0.31.1 xz 5.2.3 0 zlib 1.2.11 0 ```


Details about conda and system ( conda info ):

``` $ conda info Current conda install: platform : linux-64 conda version : 4.1.11 conda-env version : 2.5.2 conda-build version : 1.21.3 python version : 2.7.12.final.0 requests version : 2.10.0 root environment : /projects/python_proj/anaconda2 (writable) default environment : /projects/python_proj/anaconda2/envs/python_3.6.2_assortment envs directories : /projects/python_proj/anaconda2/envs package cache : /projects/python_proj/anaconda2/pkgs channel URLs : https://repo.continuum.io/pkgs/free/linux-64/ https://repo.continuum.io/pkgs/free/noarch/ https://repo.continuum.io/pkgs/pro/linux-64/ https://repo.continuum.io/pkgs/pro/noarch/ config file : None offline mode : False is foreign system : False ```
mingwandroid commented 5 years ago

I'll just make sure this isn't an AD only problem now.. Thanks.

jmozmoz commented 4 years ago

According to this https://github.com/termux/termux-packages/issues/2516#issuecomment-446695582 the perl module of SVN is missing (libsvn-perl)

I cannot find this library in conda or conda-forge

scopatz commented 4 years ago

Please add to conda forge then

phil-blain commented 4 years ago

@jmozmoz or for anyone else reading, the steps to fix this issue would be:

jmozmoz commented 4 years ago
* create a conda-forge package for the `SVN::Core` Perl module (should be easy using `conda skeleton cpan`, check the [conda build documentation](https://docs.conda.io/projects/conda-build/en/latest/user-guide/tutorials/index.html) and https://conda-forge.orgs/docs

https://conda-forge.org/docs/ https://docs.conda.io/projects/conda-build/en/latest/resources/commands/conda-skeleton-cpan.html?highlight=cpan

jmozmoz commented 4 years ago

Unfortunately, this is not so easy, as there is no real SVN::Core Perl module. I guess, the Perl bindings must be build together with svn.

@jmozmoz or for anyone else reading, the steps to fix this issue would be:

* create a conda-forge package for the `SVN::Core` Perl module (should be easy using `conda skeleton cpan`, check the [conda build documentation](https://docs.conda.io/projects/conda-build/en/latest/user-guide/tutorials/index.html) and https://conda-forge.orgs/docs

* once the Perl SVN::Core package is merged, add it as a dependency of this here package and make a PR
phil-blain commented 4 years ago

@jmozmoz that's indeed possible. There are also reports of git-svn not working in Homebrew on Catalina: https://github.com/Homebrew/homebrew-core/issues/52490 This might give more info.

One potential solution would be to make this feedstock a "multiple outputs" feedstock, with git and git-svn both produced by this feedstock, but git-svn having svn as a dependency... I think this is possible but I don't know conda-build enough to do that myself.

scopatz commented 4 years ago

Yep that is possible @phil-blain

zklaus commented 4 years ago

Right now there is a PR in subversion-feedstock that would solve this, I believe. It is conda-forge/subversion-feedstock#5. If you feel you have some insight that might help, maybe head over there :smile: .

zklaus commented 3 years ago

I am happy to report that with the inclusion of conda-forge/subversion-feedstock#7, git svn now works. I believe this issue can be closed.

guziy commented 1 year ago

I have encountered this problem recently, installing subversion helped.

micromamba create -n git-env git -c conda-forge
micromamba activate git-env
git svn # ERROR 
micromamba install subversion
git svn # No ERROR