Change-Id: Id65dc94c970ffd3ca3d3d4a5d57123c95d29e8af Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>tags/v5.0.0.201806131550-r
@@ -45,8 +45,9 @@ | |||
package org.eclipse.jgit.internal.storage.file; | |||
import static org.eclipse.jgit.lib.Constants.CHARSET; | |||
import static org.eclipse.jgit.junit.Assert.assertEquals; | |||
import static org.eclipse.jgit.lib.Constants.CHARSET; | |||
import static org.eclipse.jgit.lib.Constants.LOCK_SUFFIX; | |||
import static org.junit.Assert.assertEquals; | |||
import static org.junit.Assert.assertFalse; | |||
import static org.junit.Assert.assertNotNull; | |||
@@ -819,11 +820,11 @@ public class RefUpdateTest extends SampleDataRepositoryTestCase { | |||
// Check that the involved refs are the same despite the failure | |||
assertExists(false, toName); | |||
if (!toLock.equals(toName)) | |||
assertExists(false, toName + ".lock"); | |||
assertExists(true, toLock + ".lock"); | |||
assertExists(false, toName + LOCK_SUFFIX); | |||
assertExists(true, toLock + LOCK_SUFFIX); | |||
if (!toLock.equals(fromName)) | |||
assertExists(false, "logs/" + fromName + ".lock"); | |||
assertExists(false, "logs/" + toName + ".lock"); | |||
assertExists(false, "logs/" + fromName + LOCK_SUFFIX); | |||
assertExists(false, "logs/" + toName + LOCK_SUFFIX); | |||
assertEquals(oldHeadId, db.resolve(Constants.HEAD)); | |||
assertEquals(oldfromId, db.resolve(fromName)); | |||
assertNull(db.resolve(toName)); |
@@ -44,6 +44,8 @@ | |||
package org.eclipse.jgit.internal.storage.file; | |||
import static org.eclipse.jgit.lib.Constants.LOCK_SUFFIX; | |||
import java.io.File; | |||
import java.io.FileInputStream; | |||
import java.io.FileNotFoundException; | |||
@@ -74,7 +76,6 @@ import org.eclipse.jgit.util.FileUtils; | |||
* name. | |||
*/ | |||
public class LockFile { | |||
static final String SUFFIX = ".lock"; //$NON-NLS-1$ | |||
/** | |||
* Unlock the given file. | |||
@@ -106,14 +107,15 @@ public class LockFile { | |||
* @return lock file | |||
*/ | |||
static File getLockFile(File file) { | |||
return new File(file.getParentFile(), file.getName() + SUFFIX); | |||
return new File(file.getParentFile(), | |||
file.getName() + LOCK_SUFFIX); | |||
} | |||
/** Filter to skip over active lock files when listing a directory. */ | |||
static final FilenameFilter FILTER = new FilenameFilter() { | |||
@Override | |||
public boolean accept(File dir, String name) { | |||
return !name.endsWith(SUFFIX); | |||
return !name.endsWith(LOCK_SUFFIX); | |||
} | |||
}; | |||
@@ -46,6 +46,7 @@ | |||
package org.eclipse.jgit.internal.storage.file; | |||
import static org.eclipse.jgit.lib.Constants.HEAD; | |||
import static org.eclipse.jgit.lib.Constants.LOCK_SUFFIX; | |||
import static org.eclipse.jgit.lib.Constants.R_HEADS; | |||
import static org.eclipse.jgit.lib.Constants.R_NOTES; | |||
import static org.eclipse.jgit.lib.Constants.R_REFS; | |||
@@ -84,7 +85,7 @@ public class ReflogWriter { | |||
* @return the name of the ref's lock ref. | |||
*/ | |||
public static String refLockFor(String name) { | |||
return name + LockFile.SUFFIX; | |||
return name + LOCK_SUFFIX; | |||
} | |||
private final RefDirectory refdb; |
@@ -691,6 +691,13 @@ public final class Constants { | |||
public static final ObjectId EMPTY_BLOB_ID = ObjectId | |||
.fromString("e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"); | |||
/** | |||
* Suffix of lock file name | |||
* | |||
* @since 5.0 | |||
*/ | |||
public static final String LOCK_SUFFIX = ".lock"; //$NON-NLS-1$ | |||
private Constants() { | |||
// Hide the default constructor | |||
} |
@@ -48,6 +48,8 @@ | |||
package org.eclipse.jgit.lib; | |||
import static org.eclipse.jgit.lib.Constants.LOCK_SUFFIX; | |||
import java.io.BufferedOutputStream; | |||
import java.io.File; | |||
import java.io.FileNotFoundException; | |||
@@ -1366,10 +1368,12 @@ public abstract class Repository implements AutoCloseable { | |||
*/ | |||
public static boolean isValidRefName(String refName) { | |||
final int len = refName.length(); | |||
if (len == 0) | |||
if (len == 0) { | |||
return false; | |||
if (refName.endsWith(".lock")) //$NON-NLS-1$ | |||
} | |||
if (refName.endsWith(LOCK_SUFFIX)) { | |||
return false; | |||
} | |||
// Refs may be stored as loose files so invalid paths | |||
// on the local system must also be invalid refs. |
@@ -43,6 +43,8 @@ | |||
package org.eclipse.jgit.transport; | |||
import static org.eclipse.jgit.lib.Constants.LOCK_SUFFIX; | |||
import java.io.BufferedReader; | |||
import java.io.FileNotFoundException; | |||
import java.io.IOException; | |||
@@ -344,7 +346,7 @@ public class TransportSftp extends SshTransport implements WalkTransport { | |||
@Override | |||
void writeFile(String path, byte[] data) throws IOException { | |||
final String lock = path + ".lock"; //$NON-NLS-1$ | |||
final String lock = path + LOCK_SUFFIX; | |||
try { | |||
super.writeFile(lock, data); | |||
try { |