Mercurial > hg > mercurial
view mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/LocalRepositoryUtil.java @ 2:ebcad5c4378e
utility added
author | Pavel.Sher |
---|---|
date | Mon, 14 Jul 2008 19:46:11 +0400 |
parents | |
children | 7047f643747f |
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial; import jetbrains.buildServer.TempFiles; import jetbrains.buildServer.util.FileUtil; import org.jetbrains.annotations.NotNull; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * @author Pavel.Sher * Date: 14.07.2008 */ public class LocalRepositoryUtil { private final static TempFiles myTempFiles = new TempFiles(); private final static Map<String, File> myRepositories = new HashMap<String, File>(); static { Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { public void run() { myTempFiles.cleanup(); } })); } public static File prepareRepository(@NotNull String repPath) throws IOException { File repository = myRepositories.get(repPath); if (repository != null) return repository; final File tempDir = myTempFiles.createTempDir(); FileUtil.copyDir(new File(repPath), tempDir); FileUtil.rename(new File(tempDir, "hg"), new File(tempDir, ".hg")); myRepositories.put(repPath, tempDir); return tempDir; } }