Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-820

GroovyMain command line switch -i fails when no backup extension is specified

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0-JSR-1
    • 1.0-JSR-3
    • None
    • None

    Description

      The command

      groovy -pi -e "(line =~ 'a').replaceAll('b')" ok.txt

      fails with

      Caught: java.io.IOException: unable to rename ok.txt to C:\DOCUME~1\TOMWHI~1\LOC
      ALS~1\Temp\groovy_61377.tmp

      whereas

      groovy -pi.bak -e "(line =~ 'a').replaceAll('b')" ok.txt

      works fine.

      The problem is that after creating a temporary backup file using File.createTempFile() the code needs to delete it before renaming the original to the backup.

      The attached patch file fixes the problem.

      Attachments

        1. patchfile.txt
          0.6 kB
          Thomas White

        Activity

          People

            Unassigned Unassigned
            tomwhite Thomas White
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: