-
-
Notifications
You must be signed in to change notification settings - Fork 12.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
git-svn no longer working after upgrade to Catalina 10.15.4 #52490
Comments
Please fill out the entire issue template, leaving all parts. They're needed to debug. This can be reopened once all the needed information is provided. |
I updated the post, sorry for that. Can you, @SMillerDev pleas reopen the issue? Best, |
I am also seeing the same issue. It appears that svn was removed from the CommandLineTools after the latest update and git-svn is not using the homebrew version of svn. The following workaround works for me: /usr/local/Cellar/git/2.26.0/libexec/git-core/git-svn/usr/local/Cellar/git/2.26.0/libexec/git-core/git-svn has a hardcoded |
The problem is, that the newest Xcode/ComandLineTools no longer supports SVN, but the brew git expect this and dosn`t work with the brew svn. I found a quick fix at StackOverflow.
|
How does that work, do you end up using the CLT git and svn if you do that? I had no idea "git svn ..." was this complicated till this update 😦 |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
This is still broken. |
It is indeed still a problem - I think that the above proposed workarounds are no-longer valid either with Xcode 11.4 and the associated comandline tools, subversion is definitely not in either package from Apple. Given that not everyone needs git and svn (or even git-svn) I propose that the solution is to do what the major distros have done and put git-svn into its own Formula - for me this would not be the whole solution however, as because of this gradual slowdown of support for subversion, other tooling that I use is not updating its subversion support as frequently as previously - just at the time that svn itself had gone to the crazy 6-month time based versioning. To avoid update hell, as git-svn depends on git, svn and perl, I think that it should depend on some explicitly versioned LTS versions of those tools. |
The problem cannot be solved by installing the brew subversion and brew git as they currently exist either - this is basically because of the
I have manually edited mine (just to get something working quickly) so that the first few lines currently look like -ignore the exact versions (I have had to create my own subversion versioned formula in a local tap for other reasons), but replace with the version numbers that you have installed for each formula #!/usr/local/bin/perl use lib (split(/:/, $ENV{GITPERLLIB} || '/usr/local/Cellar/git/2.26.2/share/perl5:/usr/local/Cellar/subversion@1.11/1.11.1/lib/perl5/site_perl/5.30.2/darwin-thread-multi-2level/')); # Copyright (C) 2006, Eric Wong |
Incidentally, if someone does have a go at updating the git and subversion Formulae to fix this, I would recommend removing the dependency that each has on brew perl and rely on the system perl - as otherwise there is an interdependency problem that means that when any one of the three is updated they all need to be updated, and I am not sure that homebrew has the ability to detect that. |
subscribed for future developments on this topic. searches on the web showed me that once there was an option "--with-brewed-svn" for installing git and "--with-perl" for installing subversion. I would assume that using these options would have solved the problem, but neither formulae of git and subversion have these options anymore. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
The problem still exists. |
I'm seeing the same problems (macOS Catalina 10.15.5, latest brew updates as of today). 'cpan' fails to build "SVN::Core" for lack of APR-related stuff (I didn't dig in, because third-party dependencies like this strike me as a losing battle). For the moment it looks like I'll be using a local Fedora box for my 'git-svn' needs, which is ... less than ideal. As mentioned previously in this thread, probably the best fix is to separate out 'git-svn' as its own formula (and sort out the dependencies) as is done on Fedora: 'git-svn' isn't part of the 'git' default install. Which makes sense when you think of packages like 'git-extras' and the reality that not a lot of people need 'git-svn'. Apologies for telling the Homebrew folks what to do and not doing it myself ... I've never dug into Homebrew's build system ... |
This work around doesn't work on MacOS from 10.15.4+. Reinstallation of xcode command line tool doesn't bring in SVN packages. |
For Catalina, the fix described above by pahjbo worked for me. YMMV. |
Correct; the problem is that the newest CLI tools don't include SVN related stuff anymore. But you CAN downgrade (at least, currently, but who knows for how long). you will need Command Line Tools version 11.3.1. It is available through developer.apple.com (and I got a copy of it on my blog, but I am unsure if I am allowed to link it here) |
pahjbo's solution is correct, macOS 10.15 |
I have git version 2.21.1 and svn version 1.10.4 installed on macOS 10.15.5, and I can confirm that downloading and installing Command Line Tools 11.3.1 from the developer.apple.com site fixed |
I have a simple fixed solution on macOS 10.15.5
replace
The above solution only works under
Now, I have to downgrade the |
Hi - when I try to use the solution @pahjbo posted: use lib (split(/:/, $ENV{GITPERLLIB} || “/usr/local/Cellar/git/2.27.0/share/perl5:/usr/local/Cellar/subversion@1.11/1.11.1/lib/perl5/site_perl/5.30.0/darwin-thread-multi-2level/“)) I get the following error: -bash: syntax error near unexpected token `(' Any idea what I might be missing? I am new to all of this, so apologies if there is an obvious answer! |
@objczl an elegant and logical solution. Will try that very soon. |
In the meantime, I've put this script into ~/bin/git-svn as a workaround: #!/bin/sh -x
# TODO remove as soon as https://github.com/Homebrew/homebrew-core/issues/52490 is resolved
PERL_VERSION=$(brew info --json perl |jq -r '.[0].installed | .[0].version')
export PERL5LIB=$(brew --prefix)/opt/subversion/lib/perl5/site_perl/$PERL_VERSION/darwin-thread-multi-2level/:$PERL5LIB
GIT_VERSION=$(brew info --json git |jq -r '.[0].installed | .[0].version')
$(which perl) $(brew --cellar)/git/$GIT_VERSION/libexec/git-core/git-svn $* This allows me to invoke This builds on the previously posted solutions. Thanks for those! |
@gromgit any idea how to get git-svn working on an M1 MacBook? |
Sorry, been busy and don't have an M1 box. That said:
That last line is troubling. IIRC, Rosetta should be enabled for
|
FWIW, I have brew installed as both Rosetta and native. My Not that it matters, but I used |
I think I've used Rosetta before on my laptop and it seems to be there already:
Reading from the subversion brew page, I should get the perl bindings installed into:
That doesn't happen over here:
However, the parent directory does exist, it just doesn't contain the perl5 directory:
Maybe part of the problem is that some files necessary to run git-svn on M1 are installed into the wrong places and we have to find out where those files went? |
I've been banging my head against the wall recently trying to figure this out, and I think I found the cause of the missing perl bindings-- the I'm currently checking what happens when you install the formula after removing those guardrails. I imagine I'll start seeing the issue that the pull request was made to fix. |
Perl bindings were removed from subversion on Apple Silicon machines in Homebrew#67531 due to test failures. However, the bindings being missing prevents other things that depend on them, such as git-svn, from working properly on this architecture (see some of the comments on Homebrew#52490). The tests have been updated since that PR, so it appears to be safe to add the bindings back now without reintroducing the failures.
Perl bindings were removed from subversion on Apple Silicon machines in #67531 due to test failures. However, the bindings being missing prevents other things that depend on them, such as git-svn, from working properly on this architecture (see some of the comments on #52490). The tests have been updated since that PR, so it appears to be safe to add the bindings back now without reintroducing the failures. Closes #85418. Signed-off-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>
Alright, with #85418 perl bindings should be installed now when building |
@jbyauk thanks a lot for the fix! It's still not working over here, though. On my M1 machine, I installed the current version of git and subversion via brew. When running ´git-svn´, I get the following error:
Any idea what I'm missing? EDIT: The issue only happens when the terminal process is intel-based/rosetta. I wasn't aware of that. A native/Apple Silicon terminal will work with the above GITPERLLIB variable. |
If you have git and subversion installed via brew running natively (no Rosetta), then the paths should all be "/opt/homebrew/...". |
@jbyauk I see. In fact, ´/usr/local/opt/git/share/perl5´ didn't exist on my machine but With a native/Apple Silicon based terminal, git-svn works either with the GITPERLLIB path from my previous post (which doesn't exist on my system) or with your suggested path (which does exist). What do I have to do to get git-svn working for GUIs and terminal sessions running under Rosetta? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
up, the problem still happens on Big Sur, a year and a half later:
On Mac M1 but it shouldn't matter. |
FWIW, it still breaks for me when I upgrade (as it just did), but for the last few times all I've had to do to fix it is I have |
We have now a separate git-svn formula that can now be used. Thanks all for your patience, and thanks to all of you who tested this and/or wrote code to fix this. |
FYI, in case anyone else has trouble with the new formula, I had to undo some stuff I had tried earlier: To install the new formula: First, it was crashing (SEGV) until I unset Then I was getting errors about not finding In any case, my first solution was just
|
Still no cake, subversion fails to build here, but due to an incorrect |
That will indeed be an entirely separate issue. It's probably a |
If it consoles you, I have the same problem (malformed rpath option in building libserf) on one of my systems. |
At least it's reassuring that I'm not alone 😁 |
Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.
brew update
and can still reproduce the problem?brew doctor
, fixed all issues and can still reproduce the problem?brew gist-logs <formula>
(where<formula>
is the name of the formula that failed) and included the output link?for svn formular: https://gist.github.com/627d85f2c1fc341b76f8f98f162331c8
for git formular: https://gist.github.com/0597eb212b85e92f35d8e35fc91d866a
brew gist-logs
didn't work: ranbrew config
andbrew doctor
and included their output with your issue?What you were trying to do (and why)
Try to using git-svn to checkout and mange some svn repos with git
What happened (include command output)
git svn is no longer working. There are some problems with the perl bindings.
Command output
What you expected to happen
That
git svn rebase
update my repository.Step-by-step reproduction instructions (by running
brew install
commands)Installed Git and SVN on Catalina 10.15.3
git svn
works fine.Upgraded my system from Catalina 10.15.3 to Catalina 10.15.4 and
git svn
no longer works.Reinstall git and svn don't solved the problem.
The text was updated successfully, but these errors were encountered: