** Description changed: [ Impact ] - svn2git is completely unusable. It will immediately when any user executes it. + svn2git is completely unusable. It will immediately crash when any user executes it. The error will be: $ svn2git /usr/lib/ruby/vendor_ruby/svn2git/migration.rb:58:in `parse': undefined method `exists?' for File:Class (NoMethodError) if File.exists?(File.expand_path(DEFAULT_AUTHORS_FILE)) ^^^^^^^^ Did you mean? exist? from /usr/lib/ruby/vendor_ruby/svn2git/migration.rb:14:in `initialize' from /usr/bin/svn2git:26:in `new' from /usr/bin/svn2git:26:in `<main>' This is cause by Ruby3.2 upgrade in Ubuntu as the API (which was deprecated) has been removed now. [ Test Plan ] sudo apt install svn2git mkdir test cd test svn2git svn://repo.hu/fungw/trunk -v -m --rootistrunk After the above command completes: 'git log' to confirm that the svn is now available as a git repo locally. [ Where problems could occur ] There is a small change in the code to use File.exist() instead of File.exists() which has been removed from Ruby-3.2. Looking at the code, the new API is using stat() or fstat() system calls but the previous API had a different implementation. So, there can be a risk that the new API does not work same way as the old one. But considering that currently svn2git does not even start so as a worst case scenario if the fix causes some regression then the user will not see any new issue but will continue to see the same problem as is now. [ Other Info ] The issue is not seen in Debian yet as Debian is still using the old Ruby-3.1 [ Original Bug Description ] svn2git will crash with the following error message: /usr/lib/ruby/vendor_ruby/svn2git/migration.rb:58:in `parse': undefined method `exists?' for File:Class (NoMethodError) Due to API change, `exists` -> `exist` svn2git: Installed: 2.4.0-3 Candidate: 2.4.0-3 Version table: *** 2.4.0-3 500 500 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages 100 /var/lib/dpkg/status DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS" PRETTY_NAME="Ubuntu 24.04 LTS" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo
** Description changed: [ Impact ] svn2git is completely unusable. It will immediately crash when any user executes it. The error will be: $ svn2git /usr/lib/ruby/vendor_ruby/svn2git/migration.rb:58:in `parse': undefined method `exists?' for File:Class (NoMethodError) if File.exists?(File.expand_path(DEFAULT_AUTHORS_FILE)) ^^^^^^^^ Did you mean? exist? from /usr/lib/ruby/vendor_ruby/svn2git/migration.rb:14:in `initialize' from /usr/bin/svn2git:26:in `new' from /usr/bin/svn2git:26:in `<main>' - This is cause by Ruby3.2 upgrade in Ubuntu as the API (which was + This is caused by the Ruby3.2 upgrade in Ubuntu as the API (which was deprecated) has been removed now. [ Test Plan ] sudo apt install svn2git mkdir test cd test svn2git svn://repo.hu/fungw/trunk -v -m --rootistrunk After the above command completes: 'git log' to confirm that the svn is now available as a git repo locally. [ Where problems could occur ] There is a small change in the code to use File.exist() instead of File.exists() which has been removed from Ruby-3.2. Looking at the code, the new API is using stat() or fstat() system calls but the previous API had a different implementation. So, there can be a risk that the new API does not work same way as the old one. But considering that currently svn2git does not even start so as a worst case scenario if the fix causes some regression then the user will not see any new issue but will continue to see the same problem as is now. [ Other Info ] The issue is not seen in Debian yet as Debian is still using the old Ruby-3.1 [ Original Bug Description ] svn2git will crash with the following error message: /usr/lib/ruby/vendor_ruby/svn2git/migration.rb:58:in `parse': undefined method `exists?' for File:Class (NoMethodError) Due to API change, `exists` -> `exist` svn2git: Installed: 2.4.0-3 Candidate: 2.4.0-3 Version table: *** 2.4.0-3 500 500 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages 100 /var/lib/dpkg/status DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS" PRETTY_NAME="Ubuntu 24.04 LTS" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2073346 Title: [SRU] svn2git crashes due to API change in ruby 3.2 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/svn2git/+bug/2073346/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs