]> source.dussan.org Git - jgit.git/commitdiff
FS, FS_Posix: remove deprecated #createNewFile(File) method 44/1200444/2
authorMatthias Sohn <matthias.sohn@sap.com>
Fri, 30 Aug 2024 20:07:17 +0000 (22:07 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Tue, 3 Sep 2024 14:11:03 +0000 (16:11 +0200)
Change-Id: Id34a0be998eee360e69f74b469c4990afa153c1b

org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java

index 4433dccc62141c04f5f02d195e2168c19df01f9d..8e0b93f082586663c6170d97b56ea998e83b8894 100644 (file)
@@ -1762,25 +1762,6 @@ public abstract class FS {
                FileUtils.createSymLink(path, target);
        }
 
-       /**
-        * Create a new file. See {@link java.io.File#createNewFile()}. Subclasses
-        * of this class may take care to provide a safe implementation for this
-        * even if {@link #supportsAtomicCreateNewFile()} is <code>false</code>
-        *
-        * @param path
-        *            the file to be created
-        * @return <code>true</code> if the file was created, <code>false</code> if
-        *         the file already existed
-        * @throws java.io.IOException
-        *             if an IO error occurred
-        * @deprecated use {@link #createNewFileAtomic(File)} instead
-        * @since 4.5
-        */
-       @Deprecated
-       public boolean createNewFile(File path) throws IOException {
-               return path.createNewFile();
-       }
-
        /**
         * A token representing a file created by
         * {@link #createNewFileAtomic(File)}. The token must be retained until the
index e73095f5a8873274bf115d223af7557d70930d75..db2b5b4f7143eaec04490fabc65f15eab6f4b2f4 100644 (file)
@@ -341,73 +341,6 @@ public class FS_POSIX extends FS {
                return supportsAtomicFileCreation == AtomicFileCreation.SUPPORTED;
        }
 
-       @Override
-       @SuppressWarnings("boxing")
-       /**
-        * {@inheritDoc}
-        * <p>
-        * An implementation of the File#createNewFile() semantics which works also
-        * on NFS. If the config option
-        * {@code core.supportsAtomicCreateNewFile = true} (which is the default)
-        * then simply File#createNewFile() is called.
-        *
-        * But if {@code core.supportsAtomicCreateNewFile = false} then after
-        * successful creation of the lock file a hard link to that lock file is
-        * created and the attribute nlink of the lock file is checked to be 2. If
-        * multiple clients manage to create the same lock file nlink would be
-        * greater than 2 showing the error.
-        *
-        * @see "https://www.time-travellers.org/shane/papers/NFS_considered_harmful.html"
-        *
-        * @deprecated use {@link FS_POSIX#createNewFileAtomic(File)} instead
-        * @since 4.5
-        */
-       @Deprecated
-       public boolean createNewFile(File lock) throws IOException {
-               if (!lock.createNewFile()) {
-                       return false;
-               }
-               if (supportsAtomicCreateNewFile()) {
-                       return true;
-               }
-               Path lockPath = lock.toPath();
-               Path link = null;
-               FileStore store = null;
-               try {
-                       store = Files.getFileStore(lockPath);
-               } catch (SecurityException e) {
-                       return true;
-               }
-               try {
-                       Boolean canLink = CAN_HARD_LINK.computeIfAbsent(store,
-                                       s -> Boolean.TRUE);
-                       if (Boolean.FALSE.equals(canLink)) {
-                               return true;
-                       }
-                       link = Files.createLink(
-                                       Paths.get(lock.getAbsolutePath() + ".lnk"), //$NON-NLS-1$
-                                       lockPath);
-                       Integer nlink = (Integer) Files.getAttribute(lockPath,
-                                       "unix:nlink"); //$NON-NLS-1$
-                       if (nlink > 2) {
-                               LOG.warn(MessageFormat.format(
-                                               JGitText.get().failedAtomicFileCreation, lockPath,
-                                               nlink));
-                               return false;
-                       } else if (nlink < 2) {
-                               CAN_HARD_LINK.put(store, Boolean.FALSE);
-                       }
-                       return true;
-               } catch (UnsupportedOperationException | IllegalArgumentException e) {
-                       CAN_HARD_LINK.put(store, Boolean.FALSE);
-                       return true;
-               } finally {
-                       if (link != null) {
-                               Files.delete(link);
-                       }
-               }
-       }
-
        /**
         * {@inheritDoc}
         * <p>