Mercurial > jhg
comparison src/org/tmatesoft/hg/core/HgChangesetFileSneaker.java @ 691:72fc7774b87e
Fix file.isCopy() for blame/annotate. Refactor status and blame to use newly introduced FileHistory helper that builds file rename history
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Fri, 02 Aug 2013 23:07:23 +0200 |
parents | b286222158be |
children |
comparison
equal
deleted
inserted
replaced
690:b286222158be | 691:72fc7774b87e |
---|---|
150 int ccFileRevIndex = dataFile.getLastRevision(); // copy candidate | 150 int ccFileRevIndex = dataFile.getLastRevision(); // copy candidate |
151 int csetFileEnds = dataFile.getChangesetRevisionIndex(ccFileRevIndex); | 151 int csetFileEnds = dataFile.getChangesetRevisionIndex(ccFileRevIndex); |
152 if (csetIndex > csetFileEnds) { | 152 if (csetIndex > csetFileEnds) { |
153 return new Outcome(Outcome.Kind.Success, String.format("%s: last known changeset for the file %s is %d. Follow renames is possible towards older changesets only", phaseMsg, file, csetFileEnds)); | 153 return new Outcome(Outcome.Kind.Success, String.format("%s: last known changeset for the file %s is %d. Follow renames is possible towards older changesets only", phaseMsg, file, csetFileEnds)); |
154 } | 154 } |
155 // XXX code is similar to that in HgStatusCollector#getOriginIfCopy. Why it's different in lastOrigin processing then? | 155 // @see FileRenameHistory, with similar code, which doesn't trace alternative paths |
156 // traceback stack keeps record of all files with isCopy(fileRev) == true we've tried to follow, so that we can try earlier file | 156 // traceback stack keeps record of all files with isCopy(fileRev) == true we've tried to follow, so that we can try earlier file |
157 // revisions in case followed fileRev didn't succeed | 157 // revisions in case followed fileRev didn't succeed |
158 ArrayDeque<Pair<HgDataFile, Integer>> traceback = new ArrayDeque<Pair<HgDataFile, Integer>>(); | 158 ArrayDeque<Pair<HgDataFile, Integer>> traceback = new ArrayDeque<Pair<HgDataFile, Integer>>(); |
159 do { | 159 do { |
160 int ccCsetIndex = dataFile.getChangesetRevisionIndex(ccFileRevIndex); | 160 int ccCsetIndex = dataFile.getChangesetRevisionIndex(ccFileRevIndex); |