The command "copy to clipboard / revisions" copied the revision numbers
unsorted into clipboard.
I wrote a patch that sort the revision numbers before write them to
clipboard.
--
You received this message because you are subscribed to the Google Groups
"TortoiseSVN-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tortoisesvn-dev/d8af35d5-857d-40e5-9715-c7330cf9f376n%40googlegroups.com.
Index: src/TortoiseProc/LogDialog/LogDlg.cpp
===================================================================
--- src/TortoiseProc/LogDialog/LogDlg.cpp (revision 224)
+++ src/TortoiseProc/LogDialog/LogDlg.cpp (working copy)
@@ -2040,9 +2040,9 @@
void CLogDlg::CopyCommaSeparatedRevisionsToClipboard()
{
POSITION pos = m_LogList.GetFirstSelectedItemPosition();
- CString sRevisions;
- CString sRevision;
+ std::set<svn_revnum_t> setSelectedRevisions;
+
if (pos != NULL)
{
while (pos)
@@ -2053,18 +2053,20 @@
PLOGENTRYDATA pLogEntry = m_logEntries.GetVisible(index);
if (pLogEntry)
{
- sRevision.Format(L"%ld, ", pLogEntry->GetRevision());
- sRevisions += sRevision;
+ setSelectedRevisions.insert(pLogEntry->GetRevision());
}
}
-
- // trim trailing comma and space
- int revisionsLength = sRevisions.GetLength() - 2;
- if (revisionsLength > 0)
- {
- sRevisions = sRevisions.Left(revisionsLength);
- CStringUtils::WriteAsciiStringToClipboard(sRevisions,
GetSafeHwnd());
+ }
+ if (setSelectedRevisions.size() > 0)
+ {
+ CString sRevisions;
+ std::set<svn_revnum_t>::iterator it;
+ for (it = setSelectedRevisions.begin(); it !=
setSelectedRevisions.end(); ++it) {
+ if (!sRevisions.IsEmpty())
+ sRevisions += ", ";
+ sRevisions += SVNRev(*it).ToString();
}
+ CStringUtils::WriteAsciiStringToClipboard(sRevisions, GetSafeHwnd());
}
}