Class SVNPatchTarget


  • public class SVNPatchTarget
    extends java.lang.Object
    Version:
    1.3
    Author:
    TMate Software Ltd.
    • Method Detail

      • isLocalMods

        public boolean isLocalMods()
      • getEolStr

        public java.lang.String getEolStr()
      • getKeywords

        public java.util.Map getKeywords()
      • getEolStyle

        public java.lang.String getEolStyle()
      • getFile

        public java.io.RandomAccessFile getFile()
      • getPatchedRaw

        public java.io.OutputStream getPatchedRaw()
      • getCanonPathFromPatchfile

        public java.io.File getCanonPathFromPatchfile()
      • getCurrentLine

        public int getCurrentLine()
      • isModified

        public boolean isModified()
      • isEof

        public boolean isEof()
      • getLines

        public java.util.List getLines()
      • isSkipped

        public boolean isSkipped()
      • getHunks

        public java.util.List getHunks()
      • getPatched

        public java.io.OutputStream getPatched()
      • getPatchedPath

        public java.io.File getPatchedPath()
      • isAdded

        public boolean isAdded()
      • isDeleted

        public boolean isDeleted()
      • isExecutable

        public boolean isExecutable()
      • getRejectPath

        public java.io.File getRejectPath()
      • getAbsPath

        public java.io.File getAbsPath()
      • getRelPath

        public java.io.File getRelPath()
      • isHadRejects

        public boolean isHadRejects()
      • isParentDirExists

        public boolean isParentDirExists()
      • initPatchTarget

        public static SVNPatchTarget initPatchTarget​(SVNPatch patch,
                                                     java.io.File baseDir,
                                                     int stripCount,
                                                     SVNAdminArea wc)
                                              throws SVNException,
                                                     java.io.IOException
        Attempt to initialize a patch TARGET structure for a target file described by PATCH. Use client context CTX to send notifiations and retrieve WC_CTX. STRIP_COUNT specifies the number of leading path components which should be stripped from target paths in the patch. Upon success, return the patch target structure. Else, return NULL.
        Throws:
        SVNException
        java.io.IOException
      • isChildPath

        public static boolean isChildPath​(java.io.File baseFile,
                                          java.io.File file)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • stripPath

        public static java.io.File stripPath​(java.io.File path,
                                             int stripCount)
      • rejectHunk

        public void rejectHunk​(SVNPatchHunkInfo hi)
                        throws SVNException,
                               java.io.IOException
        Write the diff text of the hunk described by HI to the reject stream of TARGET, and mark TARGET as having had rejects.
        Throws:
        java.io.IOException
        SVNException
      • applyHunk

        public void applyHunk​(SVNPatchHunkInfo hi)
                       throws SVNException,
                              java.io.IOException
        Write the modified text of hunk described by HI to the patched stream of TARGET.
        Throws:
        SVNException
        java.io.IOException
      • seekToLine

        public void seekToLine​(int line)
                        throws SVNException,
                               java.io.IOException
        Seek to the specified LINE in TARGET. Mark any lines not read before in TARGET->LINES.
        Throws:
        SVNException
        java.io.IOException
      • readLine

        public void readLine​(java.lang.StringBuffer line)
                      throws SVNException,
                             java.io.IOException
        Read a *LINE from TARGET. If the line has not been read before mark the line in TARGET->LINES.
        Throws:
        SVNException
        java.io.IOException
      • copyLinesToTarget

        public void copyLinesToTarget​(int line)
                               throws SVNException,
                                      java.io.IOException
        Copy lines to the patched stream until the specified LINE has been reached. Indicate in *EOF whether end-of-file was encountered while reading from the target. If LINE is zero, copy lines until end-of-file has been reached.
        Throws:
        java.io.IOException
        SVNException
      • installPatchedTarget

        public void installPatchedTarget​(java.io.File absWCPath,
                                         boolean dryRun,
                                         SVNAdminArea wc)
                                  throws SVNException
        Install a patched TARGET into the working copy at ABS_WC_PATH. Use client context CTX to retrieve WC_CTX, and possibly doing notifications. If DRY_RUN is TRUE, don't modify the working copy.
        Throws:
        SVNException
      • decomposePath

        public static java.lang.String[] decomposePath​(java.io.File path)
      • applyPatch

        public static SVNPatchTarget applyPatch​(SVNPatch patch,
                                                java.io.File absWCPath,
                                                int stripCount,
                                                SVNAdminArea wc)
                                         throws SVNException,
                                                java.io.IOException
        Apply a PATCH to a working copy at ABS_WC_PATH. STRIP_COUNT specifies the number of leading path components which should be stripped from target paths in the patch.
        Throws:
        SVNException
        java.io.IOException
      • getHunkInfo

        public SVNPatchHunkInfo getHunkInfo​(SVNPatchHunk hunk,
                                            int fuzz)
                                     throws SVNException,
                                            java.io.IOException
        Determine the line at which a HUNK applies to the TARGET file, and return an appropriate hunk_info object in *HI, allocated from RESULT_POOL. Use fuzz factor FUZZ. Set HI->FUZZ to FUZZ. If no correct line can be determined, set HI->REJECTED to TRUE. When this function returns, neither TARGET->CURRENT_LINE nor the file offset in the target file will have changed.
        Throws:
        SVNException
        java.io.IOException
      • scanForMatch

        public int scanForMatch​(SVNPatchHunk hunk,
                                boolean matchFirst,
                                int upperLine,
                                int fuzz)
                         throws SVNException,
                                java.io.IOException
        Scan lines of TARGET for a match of the original text of HUNK, up to but not including the specified UPPER_LINE. Use fuzz factor FUZZ. If UPPER_LINE is zero scan until EOF occurs when reading from TARGET. Return the line at which HUNK was matched in *MATCHED_LINE. If the hunk did not match at all, set *MATCHED_LINE to zero. If the hunk matched multiple times, and MATCH_FIRST is TRUE, return the line number at which the first match occured in *MATCHED_LINE. If the hunk matched multiple times, and MATCH_FIRST is FALSE, return the line number at which the last match occured in *MATCHED_LINE.
        Throws:
        SVNException
        java.io.IOException
      • sendPatchNotification

        public void sendPatchNotification​(SVNAdminArea wc)
                                   throws SVNException
        Use client context CTX to send a suitable notification for a patch TARGET.
        Throws:
        SVNException