** 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

Reply via email to