Groovy
  1. Groovy
  2. GROOVY-820

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

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0-JSR-1
    • Fix Version/s: 1.0-JSR-3
    • Component/s: None
    • Labels:
      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.

      1. patchfile.txt
        0.6 kB
        Tom White

        Activity

        Hide
        Dierk König added a comment -

        applied the patch.

        Hi Tom! Nice Blog! and thanx for the posting

        Show
        Dierk König added a comment - applied the patch. Hi Tom! Nice Blog! and thanx for the posting

          People

          • Assignee:
            Unassigned
            Reporter:
            Tom White
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development