Mercurial > hg > mercurial
changeset 2:ebcad5c4378e
utility added
author | Pavel.Sher |
---|---|
date | Mon, 14 Jul 2008 19:46:11 +0400 |
parents | 56e7f34ca887 |
children | dbf4236e7fb7 |
files | mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/LocalRepositoryUtil.java mercurial.ipr |
diffstat | 2 files changed, 37 insertions(+), 48 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/LocalRepositoryUtil.java Mon Jul 14 19:46:11 2008 +0400 @@ -0,0 +1,36 @@ +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; + } +}
--- a/mercurial.ipr Mon Jul 14 19:44:16 2008 +0400 +++ b/mercurial.ipr Mon Jul 14 19:46:11 2008 +0400 @@ -57,53 +57,6 @@ <entry name="?*.tld" /> </wildcardResourcePatterns> </component> - <component name="Cvs2Configuration"> - <option name="PRUNE_EMPTY_DIRECTORIES" value="true" /> - <option name="MERGING_MODE" value="0" /> - <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" /> - <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" /> - <option name="RESET_STICKY" value="false" /> - <option name="CREATE_NEW_DIRECTORIES" value="true" /> - <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv" /> - <option name="PROCESS_UNKNOWN_FILES" value="false" /> - <option name="PROCESS_DELETED_FILES" value="false" /> - <option name="PROCESS_IGNORED_FILES" value="false" /> - <option name="RESERVED_EDIT" value="false" /> - <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS"> - <value> - <option name="BRANCH" value="" /> - <option name="DATE" value="" /> - <option name="USE_BRANCH" value="false" /> - <option name="USE_DATE" value="false" /> - </value> - </option> - <option name="UPDATE_DATE_OR_REVISION_SETTINGS"> - <value> - <option name="BRANCH" value="" /> - <option name="DATE" value="" /> - <option name="USE_BRANCH" value="false" /> - <option name="USE_DATE" value="false" /> - </value> - </option> - <option name="SHOW_CHANGES_REVISION_SETTINGS"> - <value> - <option name="BRANCH" value="" /> - <option name="DATE" value="" /> - <option name="USE_BRANCH" value="false" /> - <option name="USE_DATE" value="false" /> - </value> - </option> - <option name="SHOW_OUTPUT" value="false" /> - <option name="ADD_WATCH_INDEX" value="0" /> - <option name="REMOVE_WATCH_INDEX" value="0" /> - <option name="UPDATE_KEYWORD_SUBSTITUTION" /> - <option name="MAKE_NEW_FILES_READONLY" value="false" /> - <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0" /> - <option name="TAG_AFTER_PROJECT_COMMIT" value="false" /> - <option name="OVERRIDE_EXISTING_TAG_FOR_PROJECT" value="true" /> - <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value="" /> - <option name="CLEAN_COPY" value="false" /> - </component> <component name="DependenciesAnalyzeManager"> <option name="myForwardDirection" value="false" /> </component> @@ -422,7 +375,7 @@ <option name="SHOW_FILE_HISTORY_AS_TREE" value="true" /> </component> <component name="VcsDirectoryMappings"> - <mapping directory="" vcs="" /> + <mapping directory="" vcs="Mercurial" /> </component> <component name="VssConfiguration"> <option name="CLIENT_PATH" value="" />