groovy
  1. groovy
  2. GROOVY-820

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

    Details

    • Type: Bug Bug
    • Status: Closed 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
    • Number of attachments :
      1

      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.

        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: