mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] use getShortPresentation method instead of getName for presentation purposes; use toExactString for commit
This commit is contained in:
@@ -22,6 +22,7 @@ import com.intellij.openapi.vcs.changes.issueLinks.IssueLinkRenderer;
|
||||
import com.intellij.ui.ColoredTreeCellRenderer;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.intellij.vcs.log.VcsFullCommitDetails;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
@@ -53,7 +54,7 @@ public class CommitNode extends DefaultMutableTreeNode implements CustomRendered
|
||||
public String getTooltip() {
|
||||
String hash = DvcsUtil.getShortHash(getUserObject().getId().toString());
|
||||
String date = DvcsUtil.getDateString(getUserObject());
|
||||
String author = getUserObject().getAuthor().getName();
|
||||
String author = VcsUserUtil.getShortPresentation(getUserObject().getAuthor());
|
||||
String message = IssueLinkHtmlRenderer.formatTextWithLinks(myProject, getUserObject().getFullMessage());
|
||||
return String.format("%s %s by %s\n\n%s", hash, date, author, message);
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public class MyCommitsHighlighter implements VcsLogHighlighter {
|
||||
@NotNull
|
||||
@Override
|
||||
public String fun(VcsUser user) {
|
||||
return VcsUserUtil.getNameInStandardForm(user.getName());
|
||||
return VcsUserUtil.getNameInStandardForm(VcsUserUtil.getShortPresentation(user));
|
||||
}
|
||||
};
|
||||
Set<String> allUserNames = ContainerUtil.newHashSet(ContainerUtil.map(myDataManager.getAllUsers(), nameToString));
|
||||
|
||||
+2
-1
@@ -23,6 +23,7 @@ import com.intellij.vcs.log.VcsLogUserFilter;
|
||||
import com.intellij.vcs.log.VcsUser;
|
||||
import com.intellij.vcs.log.data.VcsLogDataManager;
|
||||
import com.intellij.vcs.log.data.VcsLogUiProperties;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -94,7 +95,7 @@ class UserFilterPopupComponent extends MultipleValueFilterPopupComponent<VcsLogU
|
||||
return ContainerUtil.map(myDataManager.getAllUsers(), new Function<VcsUser, String>() {
|
||||
@Override
|
||||
public String fun(VcsUser user) {
|
||||
return user.getName();
|
||||
return VcsUserUtil.getShortPresentation(user);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ import com.intellij.vcs.log.data.VisiblePack;
|
||||
import com.intellij.vcs.log.ui.VcsLogColorManager;
|
||||
import com.intellij.vcs.log.ui.render.VcsRefPainter;
|
||||
import com.intellij.vcs.log.ui.tables.GraphTableModel;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -440,8 +441,8 @@ class DetailsPanel extends JPanel implements ListSelectionListener {
|
||||
long authorTime = commit.getAuthorTime();
|
||||
long commitTime = commit.getCommitTime();
|
||||
|
||||
String authorText = commit.getAuthor().getName() + formatDateTime(authorTime);
|
||||
if (!commit.getAuthor().equals(commit.getCommitter())) {
|
||||
String authorText = VcsUserUtil.getShortPresentation(commit.getAuthor()) + formatDateTime(authorTime);
|
||||
if (!VcsUserUtil.isSamePerson(commit.getAuthor(), commit.getCommitter())) {
|
||||
String commitTimeText;
|
||||
if (authorTime != commitTime) {
|
||||
commitTimeText = formatDateTime(commitTime);
|
||||
@@ -449,7 +450,7 @@ class DetailsPanel extends JPanel implements ListSelectionListener {
|
||||
else {
|
||||
commitTimeText = "";
|
||||
}
|
||||
authorText += " (committed by " + commit.getCommitter().getName() + commitTimeText + ")";
|
||||
authorText += " (committed by " + VcsUserUtil.getShortPresentation(commit.getCommitter()) + commitTimeText + ")";
|
||||
}
|
||||
else if (authorTime != commitTime) {
|
||||
authorText += " (committed " + formatDateTime(commitTime) + ")";
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.intellij.vcs.log.ui.VcsLogUiImpl;
|
||||
import com.intellij.vcs.log.ui.actions.IntelliSortChooserPopupAction;
|
||||
import com.intellij.vcs.log.ui.filter.VcsLogClassicFilterUi;
|
||||
import com.intellij.vcs.log.util.BekUtil;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -276,7 +277,7 @@ public class MainFrame extends JPanel implements DataProvider, Disposable {
|
||||
.map2Array(details, CommittedChangeListForRevision.class, new Function<VcsFullCommitDetails, CommittedChangeListForRevision>() {
|
||||
@Override
|
||||
public CommittedChangeListForRevision fun(@NotNull VcsFullCommitDetails details) {
|
||||
return new CommittedChangeListForRevision(details.getSubject(), details.getFullMessage(), details.getCommitter().getName(),
|
||||
return new CommittedChangeListForRevision(details.getSubject(), details.getFullMessage(), VcsUserUtil.getShortPresentation(details.getCommitter()),
|
||||
new Date(details.getCommitTime()), details.getChanges(),
|
||||
convertToRevisionNumber(details.getId()));
|
||||
}
|
||||
|
||||
@@ -57,6 +57,7 @@ import com.intellij.vcs.log.ui.VcsLogUiImpl;
|
||||
import com.intellij.vcs.log.ui.render.GraphCommitCell;
|
||||
import com.intellij.vcs.log.ui.render.GraphCommitCellRender;
|
||||
import com.intellij.vcs.log.ui.tables.GraphTableModel;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import gnu.trove.TIntHashSet;
|
||||
import gnu.trove.TIntProcedure;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -442,7 +443,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi
|
||||
balloonText = "Jump to <b>\"" +
|
||||
StringUtil.shortenTextWithEllipsis(details.getSubject(), 50, 0, "...") +
|
||||
"\"</b> by " +
|
||||
details.getAuthor().getName() +
|
||||
VcsUserUtil.getShortPresentation(details.getAuthor()) +
|
||||
DetailsPanel.formatDateTime(details.getAuthorTime());
|
||||
}
|
||||
return balloonText;
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.intellij.vcs.log.data.VisiblePack;
|
||||
import com.intellij.vcs.log.impl.VcsLogUtil;
|
||||
import com.intellij.vcs.log.ui.VcsLogUiImpl;
|
||||
import com.intellij.vcs.log.ui.render.GraphCommitCell;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -116,9 +117,8 @@ public class GraphTableModel extends AbstractTableModel {
|
||||
case COMMIT_COLUMN:
|
||||
return new GraphCommitCell(data.getSubject(), myDataPack.getRefs().refsToCommit(data.getId(), data.getRoot()));
|
||||
case AUTHOR_COLUMN:
|
||||
String authorString = data.getAuthor().getName();
|
||||
if (authorString.isEmpty()) authorString = data.getAuthor().getEmail();
|
||||
return authorString + (data.getAuthor().equals(data.getCommitter()) ? "" : "*");
|
||||
String authorString = VcsUserUtil.getShortPresentation(data.getAuthor());
|
||||
return authorString + (VcsUserUtil.isSamePerson(data.getAuthor(), data.getCommitter()) ? "" : "*");
|
||||
case DATE_COLUMN:
|
||||
if (data.getAuthorTime() < 0) {
|
||||
return "";
|
||||
|
||||
@@ -44,7 +44,12 @@ public class VcsUserUtil {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getName(@NotNull VcsUser user) {
|
||||
public static String getShortPresentation(@NotNull VcsUser user) {
|
||||
return getName(user);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static String getName(@NotNull VcsUser user) {
|
||||
if (!user.getName().isEmpty()) return user.getName();
|
||||
String emailNamePart = getNameFromEmail(user.getEmail());
|
||||
if (emailNamePart != null) return emailNamePart;
|
||||
|
||||
@@ -50,6 +50,7 @@ import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.vcs.log.VcsFullCommitDetails;
|
||||
import com.intellij.vcs.log.VcsUser;
|
||||
import com.intellij.vcs.log.VcsUserRegistry;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import com.intellij.vcsUtil.VcsFileUtil;
|
||||
import com.intellij.vcsUtil.VcsUtil;
|
||||
import git4idea.GitUtil;
|
||||
@@ -657,7 +658,7 @@ public class GitCheckinEnvironment implements CheckinEnvironment {
|
||||
return ContainerUtil.map(userRegistry.getUsers(), new Function<VcsUser, String>() {
|
||||
@Override
|
||||
public String fun(VcsUser user) {
|
||||
return user.getName() + " <" + user.getEmail() + ">";
|
||||
return VcsUserUtil.toExactString(user);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -694,7 +695,7 @@ public class GitCheckinEnvironment implements CheckinEnvironment {
|
||||
Object data = list.getData();
|
||||
if (data instanceof VcsFullCommitDetails) {
|
||||
VcsFullCommitDetails commit = (VcsFullCommitDetails)data;
|
||||
String author = String.format("%s <%s>", commit.getAuthor().getName(), commit.getAuthor().getEmail());
|
||||
String author = VcsUserUtil.toExactString(commit.getAuthor());
|
||||
myAuthorField.setText(author);
|
||||
myAuthorDate = new Date(commit.getAuthorTime());
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.vcs.log.Hash;
|
||||
import com.intellij.vcs.log.VcsFullCommitDetails;
|
||||
import com.intellij.vcs.log.VcsLog;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import git4idea.GitLocalBranch;
|
||||
import git4idea.GitPlatformFacade;
|
||||
import git4idea.GitVcs;
|
||||
@@ -153,7 +154,7 @@ public class GitCherryPicker extends VcsCherryPicker {
|
||||
}
|
||||
else if (conflictDetector.hasHappened()) {
|
||||
boolean mergeCompleted = new CherryPickConflictResolver(myProject, myGit, myPlatformFacade, repository.getRoot(),
|
||||
commit.getId().asString(), commit.getAuthor().getName(),
|
||||
commit.getId().asString(), VcsUserUtil.getShortPresentation(commit.getAuthor()),
|
||||
commit.getSubject()).merge();
|
||||
|
||||
if (mergeCompleted) {
|
||||
@@ -227,7 +228,7 @@ public class GitCherryPicker extends VcsCherryPicker {
|
||||
@NotNull List<GitCommitWrapper> successfulCommits) {
|
||||
NotificationListener resolveLinkListener = new ResolveLinkListener(myProject, myGit, myPlatformFacade, repository.getRoot(),
|
||||
commit.getCommit().getId().toShortString(),
|
||||
commit.getCommit().getAuthor().getName(),
|
||||
VcsUserUtil.getShortPresentation(commit.getCommit().getAuthor()),
|
||||
commit.getSubject());
|
||||
String description = commitDetails(commit)
|
||||
+ "<br/>Unresolved conflicts remain in the working tree. <a href='resolve'>Resolve them.<a/>";
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.intellij.util.ui.GridBag;
|
||||
import com.intellij.util.ui.RadioButtonEnumModel;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.vcs.log.VcsFullCommitDetails;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import com.intellij.xml.util.XmlStringUtil;
|
||||
import git4idea.repo.GitRepository;
|
||||
import git4idea.repo.GitRepositoryManager;
|
||||
@@ -119,7 +120,7 @@ public class GitNewResetDialog extends DialogWrapper {
|
||||
private static String getTargetText(@NotNull VcsFullCommitDetails commit) {
|
||||
String commitMessage = StringUtil.escapeXml(StringUtil.shortenTextWithEllipsis(commit.getSubject(), 20, 0));
|
||||
return String.format("<code><b>%s</b> \"%s\"</code> by <code>%s</code>",
|
||||
commit.getId().toShortString(), commitMessage, commit.getAuthor().getName());
|
||||
commit.getId().toShortString(), commitMessage, VcsUserUtil.getShortPresentation(commit.getAuthor()));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.intellij.util.text.DateFormatUtil;
|
||||
import com.intellij.util.ui.ColumnInfo;
|
||||
import com.intellij.util.ui.ListTableModel;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import git4idea.GitCommit;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -202,7 +203,7 @@ public class GitCommitListPanel extends JPanel implements TypeSafeDataProvider {
|
||||
}
|
||||
|
||||
private static String getAuthor(GitCommit commit) {
|
||||
return commit.getAuthor().getName();
|
||||
return VcsUserUtil.getShortPresentation(commit.getAuthor());
|
||||
}
|
||||
|
||||
private static String getTime(GitCommit commit) {
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.intellij.util.containers.MultiMap;
|
||||
import com.intellij.vcs.log.*;
|
||||
import com.intellij.vcs.log.impl.VcsLogFilterCollectionImpl;
|
||||
import com.intellij.vcs.log.ui.filter.VcsLogUserFilterImpl;
|
||||
import com.intellij.vcs.log.util.VcsUserUtil;
|
||||
import git4idea.test.GitSingleRepoTest;
|
||||
import git4idea.test.GitTestUtil;
|
||||
import junit.framework.TestCase;
|
||||
@@ -118,7 +119,7 @@ public class GitUserFilterTest extends GitSingleRepoTest {
|
||||
@NotNull Collection<? extends String> expectedHashes,
|
||||
@NotNull StringBuilder errorMessageBuilder) throws VcsException {
|
||||
VcsLogUserFilter userFilter =
|
||||
new VcsLogUserFilterImpl(singleton(user.getName()), Collections.emptyMap(), allUsers);
|
||||
new VcsLogUserFilterImpl(singleton(VcsUserUtil.getShortPresentation(user)), Collections.emptyMap(), allUsers);
|
||||
List<String> actualHashes = getFilteredHashes(userFilter);
|
||||
|
||||
List<String> expected = ContainerUtil.reverse(ContainerUtil.newArrayList(expectedHashes));
|
||||
|
||||
Reference in New Issue
Block a user