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

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: 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
        codevise Dierk König added a comment -

        applied the patch.

        Hi Tom! Nice Blog! and thanx for the posting

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

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development