8N/A * The contents of this file are subject to the terms of the 8N/A * Common Development and Distribution License (the "License"). 8N/A * You may not use this file except in compliance with the License. 8N/A * language governing permissions and limitations under the License. 8N/A * When distributing Covered Code, include this CDDL HEADER in each 8N/A * If applicable, add the following below this CDDL HEADER, with the 8N/A * fields enclosed by brackets "[]" replaced with your own identifying 8N/A * information: Portions Copyright [yyyy] [name of copyright owner] 1297N/A * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. 65N/A * Access to a Mercurial repository. 1182N/A /** The property name used to obtain the client command for thisrepository. */ 1182N/A /** The command to use to access the repository if none was given explicitly */ 1182N/A /** The boolean property and environment variable name to indicate 1182N/A * whether forest-extension in Mercurial adds repositories inside the 635N/A /** Template for formatting hg log output for files. */ 1481N/A "changeset: {rev}:{node|short}\\n" 1183N/A +
"{branches}{tags}{parents}\\n" 1463N/A +
"user: {author}\\ndate: {date|rfc3339date}\\n" 1481N/A +
"description: {desc|strip|obfuscate}\\n",
1481N/A "changeset: {rev}:{node|short}:{node}\\n" 1481N/A +
"{branches}{tags}{parents}\\n" 1481N/A +
"user: {author}\\ndate: {date|rfc3339date}\\n" 1481N/A +
"description: {desc|strip|obfuscate}\\n" 635N/A /** Template for formatting hg log output for directories. */ 1481N/A // 0 .. normal repo, 1 .. bridged repo, i.e "cloned" from a different type 1462N/A * Create a new instance of type {@code Mercurial}. 1479N/A // actually mercurial needs to provide a way to escape certain 1479N/A // chars in filenames, to get this 100% correct 1481N/A * Get the mapping of this repository based revisions to the revisions of 1481N/A * the non-hybrid repository. Key is the full hg revision aka 1481N/A * 'node', the corresponding value is the revision string in the non-hybrid 1481N/A * @return an empty map, if this is a native mercurial repository or is not 1481N/A * a hybrid (like hgsubversion), the fully populated map otherwise. 1481N/A * Get the UUID assigned by hgsubversion to the repository. 1481N/A * @return {@code null} if this is not a subversion hybrid repository, 1481N/A * the hgsubversion UUID otherwise. 574N/A * Get an executor to be used for retrieving the history log for the 1479N/A * named file. When indexing it gets usually called twice: 1st without any 1479N/A * -r option, 2nd with -r $currentRev:tip. 1473N/A * @param file The file to retrieve history for (canonical path incl. source 792N/A * @param changeset the oldest changeset to return from the executor, 792N/A * or {@code null} if all changesets should be returned 574N/A * @return An Executor ready to be started 71N/A // Clean up zombie-processes... 71N/A // the process is still running??? just kill it.. 1297N/A // Construct hash map for history entries from history cache. This is 1297N/A // needed later to get user string for particular revision. 1473N/A // Chop out the colon and all hexadecimal what follows. 1297N/A // This is because the whole changeset identification is 1297N/A // stored in history index while annotate only needs the 1384N/A // Use the history index hash map to get the author. 1384N/A // no different strings for the same author 1481N/A // hgsubversioned entries have no e-mail 355N/A // the process is still running??? just kill it.. 212N/A // Todo: is there a cheap test for whether mercurial has history 212N/A // available for a file? 212N/A // Otherwise, this is harmless, since mercurial's commands will just 212N/A // print nothing if there is no history.