| Modifier and Type | Field and Description |
|---|---|
| private List | |
| private int | bigFileThreshold
File size threshold (in bytes) for detecting renames. |
| private int | breakScore
Similarity score required to keep modified file pairs together. |
| private List | |
| private static final Comparator | |
| private boolean | |
| private List | |
| private static final int | |
| private final ObjectReader | |
| private boolean | overRenameLimit
Set if the number of adds or deletes was over the limit. |
| private int | renameLimit
Limit in the number of files to consider for renames. |
| private int | renameScore
Similarity score required to pair an add/delete as a rename. |
| private boolean | skipContentRenamesForBinaryFiles
Skip detecting content renames for binary files. |
| Access | Constructor and Description |
|---|---|
| public | RenameDetector(Repository
the repository to use for rename detection repo)Create a new rename detector for the given repository |
| public | RenameDetector(ObjectReader
reader to obtain objects from the repository with. reader, DiffConfig diff config specifying rename detection options. cfg)Create a new rename detector with a specified reader and diff config. |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public void | addAll(Collection<DiffEntry>
one or more entries to add. entriesToAdd)Add entries to be considered for rename detection. |
| private void | |
| private static DiffEntry | Returns: the DiffEntry from <list> who's file path best matches <src>the DiffEntry to try to find a match for src, List<DiffEntry> a list of DiffEntrys to search through list)Find the best match by file path for a given DiffEntry from a list of DiffEntrys. |
| private void | |
| private int | |
| public List | Returns: an unmodifiable list oforg.s
representing all files that have been changed.Detect renames in the current file set. |
| public List | Returns: an unmodifiable list oforg.s
representing all files that have been changed.report progress during the detection phases. pm)Detect renames in the current file set. |
| public List | Returns: an unmodifiable list oforg.s
representing all files that have been changed.reader to obtain objects from the repository with. reader, ProgressMonitor report progress during the detection phases. pm)Detect renames in the current file set. |
| public List | Returns: an unmodifiable list oforg.s
representing all files that have been changed.reader to obtain objects from the repository with. reader,report progress during the detection phases. pm)Detect renames in the current file set. |
| private static DiffEntry | |
| private static DiffEntry | |
| private void | |
| private void | |
| public int | Returns: threshold in bytes of the file size.Get file size threshold for detecting renames. |
| public int | Returns: the similarity score required to keep modified file pairs together. Any modify pairs that score below this will be broken apart into separate add/deletes. Values less than or equal to zero indicate that no modifies will be broken apart. Values over 100 cause all modify pairs to be broken.Get break score |
| public int | Returns: limit on number of paths to perform inexact rename detectionGet rename limit |
| public int | Returns: minimum score required to pair an add/delete as a rename. The score ranges are within the bounds of (0, 100).Get rename score |
| public boolean | Returns: true if content renames should be skipped for binary files, false otherwise.Get skipping detecting content renames for binary files. |
| private static AbbreviatedObjectId | |
| public boolean | Returns: true if the detector has more file additions or removals than the rename limit is currently set to. In such configurations the detector will skip expensive computation.Check if the detector is over the rename limit. |
| private static FileMode | |
| private static String | |
| private HashMap | |
| private void | |
| public void | |
| pack-priv static boolean | |
| public void | setBigFileThreshold(int
file size threshold in bytes. threshold)Set the file size threshold for detecting renames. |
| public void | setBreakScore(int
the similarity score required to keep modified file pairs
together. Any modify pairs that score below this will be
broken apart into separate add/deletes. Values less than or
equal to zero indicate that no modifies will be broken apart.
Values over 100 cause all modify pairs to be broken. breakScore)Set break score |
| public void | setRenameLimit(int
new file limit. 0 means no limit; a negative number means no
inexact rename detection will be performed, only exact rename
detection. limit)Set the limit on the number of files to perform inexact rename detection. |
| public void | setRenameScore(int
new rename score, must be within [0, 100]. score)Set the minimum score required to pair an add/delete as a rename. |
| public void | setSkipContentRenamesForBinaryFiles(boolean
true if content renames should be skipped for binary files, false otherwise. value)Sets skipping detecting content renames for binary files. |
| added | back to summary |
|---|---|
| private List<DiffEntry> added | |
| bigFileThreshold | back to summary |
|---|---|
| private int bigFileThreshold File size threshold (in bytes) for detecting renames. Files larger than this size will not be processed for renames. | |
| breakScore | back to summary |
|---|---|
| private int breakScore Similarity score required to keep modified file pairs together. Any modified file pairs with a similarity score below this will be broken apart. | |
| deleted | back to summary |
|---|---|
| private List<DiffEntry> deleted | |
| DIFF_COMPARATOR | back to summary |
|---|---|
| private static final Comparator<DiffEntry> DIFF_COMPARATOR | |
| done | back to summary |
|---|---|
| private boolean done | |
| entries | back to summary |
|---|---|
| private List<DiffEntry> entries | |
| EXACT_RENAME_SCORE | back to summary |
|---|---|
| private static final int EXACT_RENAME_SCORE | |
| objectReader | back to summary |
|---|---|
| private final ObjectReader objectReader | |
| overRenameLimit | back to summary |
|---|---|
| private boolean overRenameLimit Set if the number of adds or deletes was over the limit. | |
| renameLimit | back to summary |
|---|---|
| private int renameLimit Limit in the number of files to consider for renames. | |
| renameScore | back to summary |
|---|---|
| private int renameScore Similarity score required to pair an add/delete as a rename. | |
| skipContentRenamesForBinaryFiles | back to summary |
|---|---|
| private boolean skipContentRenamesForBinaryFiles Skip detecting content renames for binary files. Content renames are those that are not exact, that is with a slight content modification between the two files. | |
| RenameDetector | back to summary |
|---|---|
| public RenameDetector(Repository repo) Create a new rename detector for the given repository
| |
| RenameDetector | back to summary |
|---|---|
| public RenameDetector(ObjectReader reader, DiffConfig cfg) Create a new rename detector with a specified reader and diff config.
| |
| add | back to summary |
|---|---|
| public void add(DiffEntry entry) Add an entry to be considered for rename detection.
| |
| addAll | back to summary |
|---|---|
| public void addAll(Collection<DiffEntry> entriesToAdd) Add entries to be considered for rename detection.
| |
| advanceOrCancel | back to summary |
|---|---|
| private void advanceOrCancel(ProgressMonitor pm) throws CanceledException | |
| bestPathMatch | back to summary |
|---|---|
| private static DiffEntry bestPathMatch(DiffEntry src, List<DiffEntry> list) Find the best match by file path for a given DiffEntry from a list of DiffEntrys. The returned DiffEntry will be of the same type as <src>. If no DiffEntry can be found that has the same type, this method will return null. | |
| breakModifies | back to summary |
|---|---|
| private void breakModifies(ContentSource. | |
| calculateModifyScore | back to summary |
|---|---|
| private int calculateModifyScore(ContentSource. | |
| compute | back to summary |
|---|---|
| public List Detect renames in the current file set. This convenience function runs without a progress monitor.
| |
| compute | back to summary |
|---|---|
| public List Detect renames in the current file set.
| |
| compute | back to summary |
|---|---|
| public List Detect renames in the current file set.
| |
| compute | back to summary |
|---|---|
| public List Detect renames in the current file set.
| |
| exactCopy | back to summary |
|---|---|
| private static DiffEntry exactCopy(DiffEntry src, DiffEntry dst) | |
| exactRename | back to summary |
|---|---|
| private static DiffEntry exactRename(DiffEntry src, DiffEntry dst) | |
| findContentRenames | back to summary |
|---|---|
| private void findContentRenames(ContentSource. | |
| findExactRenames | back to summary |
|---|---|
private void findExactRenames(ProgressMonitor pm) throws CanceledException
| |
| getBigFileThreshold | back to summary |
|---|---|
| public int getBigFileThreshold() Get file size threshold for detecting renames. Files larger than this size will not be processed for rename detection.
| |
| getBreakScore | back to summary |
|---|---|
| public int getBreakScore() Get break score
| |
| getRenameLimit | back to summary |
|---|---|
| public int getRenameLimit() Get rename limit
| |
| getRenameScore | back to summary |
|---|---|
| public int getRenameScore() Get rename score
| |
| getSkipContentRenamesForBinaryFiles | back to summary |
|---|---|
| public boolean getSkipContentRenamesForBinaryFiles() Get skipping detecting content renames for binary files.
| |
| id | back to summary |
|---|---|
| private static AbbreviatedObjectId id(DiffEntry de) | |
| isOverRenameLimit | back to summary |
|---|---|
| public boolean isOverRenameLimit() Check if the detector is over the rename limit.
This method can be invoked either before or after
| |
| mode | back to summary |
|---|---|
| private static FileMode mode(DiffEntry de) | |
| path | back to summary |
|---|---|
| private static String path(DiffEntry de) | |
| populateMap | back to summary |
|---|---|
private HashMap
| |
| rejoinModifies | back to summary |
|---|---|
| private void rejoinModifies(ProgressMonitor pm) throws CanceledException | |
| reset | back to summary |
|---|---|
| public void reset() Reset this rename detector for another rename detection pass. | |
| sameType | back to summary |
|---|---|
| pack-priv static boolean sameType(FileMode a, FileMode b) | |
| setBigFileThreshold | back to summary |
|---|---|
| public void setBigFileThreshold(int threshold) Set the file size threshold for detecting renames. Files larger than this threshold will be skipped during rename detection computation.
| |
| setBreakScore | back to summary |
|---|---|
| public void setBreakScore(int breakScore) Set break score
| |
| setRenameLimit | back to summary |
|---|---|
| public void setRenameLimit(int limit) Set the limit on the number of files to perform inexact rename detection. The rename detector has to build a square matrix of the rename limit on each side, then perform that many file compares to determine similarity. If 1000 files are added, and 1000 files are deleted, a 1000*1000 matrix must be allocated, and 1,000,000 file compares may need to be performed.
| |
| setRenameScore | back to summary |
|---|---|
| public void setRenameScore(int score) Set the minimum score required to pair an add/delete as a rename. When comparing two files together their score must be greater than or equal to the rename score for them to be considered a rename match. The score is computed based on content similarity, so a score of 60 implies that approximately 60% of the bytes in the files are identical.
| |
| setSkipContentRenamesForBinaryFiles | back to summary |
|---|---|
| public void setSkipContentRenamesForBinaryFiles(boolean value) Sets skipping detecting content renames for binary files.
| |