| CODENOTIFIER | HelpYou are not signed inSign in |
Project: TortoiseSVN
Revision: 13824
Author: steveking
Date: 04 Sep 2008 13:55:38
Changes:Pass the original revision to TortoiseBlame too, not just the merged revision: the original revision is required for diffing/blaming from TortoiseBlame.
Files:| ... | ...@@ -105,6 +105,7 @@ | |
| 105 | 105 | LONG m_mouserev; |
| 106 | 106 | std::string m_mouseauthor; |
| 107 | 107 | LONG m_selectedrev; |
| 108 | LONG m_selectedorigrev; | |
| 108 | 109 | std::string m_selectedauthor; |
| 109 | 110 | std::string m_selecteddate; |
| 110 | 111 | static long m_gotoline; |
| ... | ...@@ -114,6 +115,7 @@ | |
| 114 | 115 | |
| 115 | 116 | std::vector<bool> mergelines; |
| 116 | 117 | std::vector<LONG> revs; |
| 118 | std::vector<LONG> origrevs; | |
| 117 | 119 | std::vector<std::string> dates; |
| 118 | 120 | std::vector<std::string> authors; |
| 119 | 121 | std::vector<std::string> paths; |
| ... | ...@@ -1,27 +1,27 @@ | |
| 1 | line rev date path author content | |
| 1 | line rev rev date path author content | |
| 2 | 2 | |
| 3 | G 0 1 26.05.2007 02:01:05 /trunk/about/index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | |
| 4 | G 1 1 26.05.2007 02:01:05 /trunk/about/index.html user "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
| 5 | G 2 1 26.05.2007 02:01:05 /trunk/about/index.html user <html> | |
| 6 | G 3 1 26.05.2007 02:01:05 /trunk/about/index.html user <head> | |
| 7 | G 4 1 26.05.2007 02:01:05 /trunk/about/index.html user <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> | |
| 8 | G 5 1 26.05.2007 02:01:05 /trunk/about/index.html user <title></title> | |
| 9 | G 6 1 26.05.2007 02:01:05 /trunk/about/index.html user </head> | |
| 10 | G 7 1 26.05.2007 02:01:05 /trunk/about/index.html user | |
| 11 | G 8 1 26.05.2007 02:01:05 /trunk/about/index.html user <body> | |
| 12 | G 9 1 26.05.2007 02:01:05 /trunk/about/index.html user <p>Content for merge tracking early adopter program</p> | |
| 13 | G 10 1 26.05.2007 02:01:05 /trunk/about/index.html user | |
| 14 | G 11 1 26.05.2007 02:01:05 /trunk/about/index.html user <p>This is the index page in the about folder</p> | |
| 15 | G 12 2 26.05.2007 02:07:03 /trunk/about/index.html user <p>Here is some content about our company. | |
| 16 | G 13 13 30.05.2007 21:46:48 /branches/b/about/index.html buser We are really great. | |
| 17 | G 14 13 30.05.2007 21:46:48 /branches/b/about/index.html buser We have great products. | |
| 18 | G 15 13 30.05.2007 21:46:48 /branches/b/about/index.html buser We have a great roadmap.</p> | |
| 19 | G 16 1 26.05.2007 02:01:05 /trunk/about/index.html user | |
| 20 | G 17 1 26.05.2007 02:01:05 /trunk/about/index.html user <p>List of children:</p> | |
| 21 | G 18 1 26.05.2007 02:01:05 /trunk/about/index.html user <ul> | |
| 22 | G 19 1 26.05.2007 02:01:05 /trunk/about/index.html user <li>--</li> | |
| 23 | G 20 1 26.05.2007 02:01:05 /trunk/about/index.html user </ul> | |
| 24 | G 21 1 26.05.2007 02:01:05 /trunk/about/index.html user | |
| 25 | G 22 1 26.05.2007 02:01:05 /trunk/about/index.html user <p>Copyright 2007, CollabNet</p> | |
| 26 | G 23 1 26.05.2007 02:01:05 /trunk/about/index.html user </body> | |
| 27 | G 24 1 26.05.2007 02:01:05 /trunk/about/index.html user </html> | |
| 3 | G 0 1 1 26.05.2007 02:01:05 /trunk/about/index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | |
| 4 | G 1 1 1 26.05.2007 02:01:05 /trunk/about/index.html user "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
| 5 | G 2 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <html> | |
| 6 | G 3 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <head> | |
| 7 | G 4 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> | |
| 8 | G 5 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <title></title> | |
| 9 | G 6 1 1 26.05.2007 02:01:05 /trunk/about/index.html user </head> | |
| 10 | G 7 1 1 26.05.2007 02:01:05 /trunk/about/index.html user | |
| 11 | G 8 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <body> | |
| 12 | G 9 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <p>Content for merge tracking early adopter program</p> | |
| 13 | G 10 1 1 26.05.2007 02:01:05 /trunk/about/index.html user | |
| 14 | G 11 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <p>This is the index page in the about folder</p> | |
| 15 | G 12 2 1 26.05.2007 02:07:03 /trunk/about/index.html user <p>Here is some content about our company. | |
| 16 | G 13 13 1 30.05.2007 21:46:48 /branches/b/about/index.html buser We are really great. | |
| 17 | G 14 13 1 30.05.2007 21:46:48 /branches/b/about/index.html buser We have great products. | |
| 18 | G 15 13 1 30.05.2007 21:46:48 /branches/b/about/index.html buser We have a great roadmap.</p> | |
| 19 | G 16 1 1 26.05.2007 02:01:05 /trunk/about/index.html user | |
| 20 | G 17 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <p>List of children:</p> | |
| 21 | G 18 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <ul> | |
| 22 | G 19 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <li>--</li> | |
| 23 | G 20 1 1 26.05.2007 02:01:05 /trunk/about/index.html user </ul> | |
| 24 | G 21 1 1 26.05.2007 02:01:05 /trunk/about/index.html user | |
| 25 | G 22 1 1 26.05.2007 02:01:05 /trunk/about/index.html user <p>Copyright 2007, CollabNet</p> | |
| 26 | G 23 1 1 26.05.2007 02:01:05 /trunk/about/index.html user </body> | |
| 27 | G 24 1 1 26.05.2007 02:01:05 /trunk/about/index.html user </html> |
| ... | ...@@ -1,458 +1,6 @@ | |
| 1 | line rev date path author content | |
| 1 | line rev rev date path author content | |
| 2 | 2 | |
| 3 | 0 474 07.12.2003 10:05:41 /trunk/src/TortoistestingeMerge/Test iles/Schiller'sGlocke_base.txt steveking Das Lied von der Glocke | |
| 4 | 1 474 07.12.2003 10:05:41 /trunk/src/TortoiseMerge/Testfiles/Schiller'sGlocke_base.txt steveking (Friedrich Schiller) | |
| 5 | 2 474 07.12.2003 10:05:41 /trunk/src/TortoiseMerge/Test iles/Schiller'sGlocke_base.txt steveking | |
| 6 | 3 474 07.12.2003 10:05:41 /trunk/src/TortoiseMerge/Test iles/Schiller'sGlocke_base.txt steveking Festgemauert in der Erden | |
| 7 | 4 474 07.12.2003 10:05:41 /trunk/src/TortoiseMerge/Testfiles/Schiller'sGlocke_base.txt steveking Steht die Form, aus Lehm gebrannt. | |
| 8 | 5 474 07.12.2003 10:05:41 /trunk/src/TortoiseMerge/Testfiles/Schiller'sGlocke_base.txt steveking Heute mu |
| ... | ...@@ -45,6 +45,7 @@ | |
| 45 | 45 | { |
| 46 | 46 | CStringA infolineA; |
| 47 | 47 | CStringA fulllineA; |
| 48 | svn_revnum_t origrev = revision; | |
| 48 | 49 | |
| 49 | 50 | if (((m_lowestrev < 0)||(m_lowestrev > revision))&&(revision >= 0)) |
| 50 | 51 | m_lowestrev = revision; |
| ... | ...@@ -76,9 +77,9 @@ | |
| 76 | 77 | if (authorA.GetLength() > 30 ) |
| 77 | 78 | authorA = authorA.Left(30); |
| 78 | 79 | if (m_bNoLineNo) |
| 79 | infolineA.Format("%c %6ld %-30s %-60s %-30s ", c, revision, (LPCSTR)dateA, (LPCSTR)pathA, (LPCSTR)authorA); | |
| 80 | infolineA.Format("%c %6ld %6ld %-30s %-60s %-30s ", c, revision, origrev, (LPCSTR)dateA, (LPCSTR)pathA, (LPCSTR)authorA); | |
| 80 | 81 | else |
| 81 | infolineA.Format("%c %6ld %6ld %-30s %-60s %-30s ", c, linenumber, revision, (LPCSTR)dateA, (LPCSTR)pathA, (LPCSTR)authorA); | |
| 82 | infolineA.Format("%c %6ld %6ld %6ld %-30s %-60s %-30s ", c, linenumber, revision, origrev, (LPCSTR)dateA, (LPCSTR)pathA, (LPCSTR)authorA); | |
| 82 | 83 | fulllineA = line; |
| 83 | 84 | fulllineA.TrimRight("\r\n"); |
| 84 | 85 | fulllineA += "\n"; |
| ... | ...@@ -133,7 +134,7 @@ | |
| 133 | 134 | return _T(""); |
| 134 | 135 | CString headline; |
| 135 | 136 | m_bNoLineNo = false; |
| 136 | headline.Format(_T("%c %-6s %-6s %-30s %-60s %-30s %-s \n"), ' ', _T("line"), _T("rev"), _T("date"), _T("path"), _T("author"), _T("content")); | |
| 137 | headline.Format(_T("%c %-6s %-6s %-6s %-30s %-60s %-30s %-s \n"), ' ', _T("line"), _T("rev"), _T("rev"), _T("date"), _T("path"), _T("author"), _T("content")); | |
| 137 | 138 | m_saveFile.WriteString(headline); |
| 138 | 139 | m_saveFile.WriteString(_T("\n")); |
| 139 | 140 | m_progressDlg.SetTitle(IDS_BLAME_PROGRESSTITLE); |
| ... | ...@@ -1,5 +1,5 @@ | |
| 1 | line rev date path author content | |
| 1 | line rev rev date path author content | |
| 2 | 2 | |
| 3 | 0 6752 09.06.2006 17:07:20 /trunk/test/mergediff/chinese_utf8_right.php steveking <?PHP | |
| 4 | 1 6752 09.06.2006 17:07:20 /trunk/test/mergediff/chinese_utf8_right.php steveking echo "测试_UTF-8"; | |
| 5 | 2 6752 09.06.2006 17:07:20 /trunk/test/mergediff/chinese_utf8_right.php steveking ?> | |
| 3 | 0 6752 100 09.06.2006 17:07:20 /trunk/test/mergediff/chinese_utf8_right.php steveking <?PHP | |
| 4 | 1 6752 101 09.06.2006 17:07:20 /trunk/test/mergediff/chinese_utf8_right.php steveking echo "测试_UTF-8"; | |
| 5 | 2 6752 101 09.06.2006 17:07:20 /trunk/test/mergediff/chinese_utf8_right.php steveking ?> |
| ... | ...@@ -71,6 +71,7 @@ | |
| 71 | 71 | m_mouserev = -2; |
| 72 | 72 | |
| 73 | 73 | m_selectedrev = -1; |
| 74 | m_selectedorigrev = -1; | |
| 74 | 75 | m_SelectedLine = -1; |
| 75 | 76 | m_directPointer = 0; |
| 76 | 77 | m_directFunction = 0; |
| ... | ...@@ -235,6 +236,9 @@ | |
| 235 | 236 | m_lowestrev = min(m_lowestrev, rev); |
| 236 | 237 | m_highestrev = max(m_highestrev, rev); |
| 237 | 238 | lineptr += 7; |
| 239 | rev = _ttol(lineptr); | |
| 240 | origrevs.push_back(rev); | |
| 241 | lineptr += 7; | |
| 238 | 242 | dates.push_back(std::string(lineptr, 30)); |
| 239 | 243 | lineptr += 31; |
| 240 | 244 | // unfortunately, the 'path' entry can be longer than the 60 chars |
| ... | ...@@ -607,7 +611,7 @@ | |
| 607 | 611 | |
| 608 | 612 | void TortoiseBlame::BlamePreviousRevision() |
| 609 | 613 | { |
| 610 | LONG nRevisionTo = m_selectedrev - 1; | |
| 614 | LONG nRevisionTo = m_selectedorigrev - 1; | |
| 611 | 615 | if ( nRevisionTo<1 ) |
| 612 | 616 | { |
| 613 | 617 | return; |
| ... | ...@@ -674,7 +678,7 @@ | |
| 674 | 678 | |
| 675 | 679 | void TortoiseBlame::DiffPreviousRevision() |
| 676 | 680 | { |
| 677 | LONG nRevisionTo = m_selectedrev; | |
| 681 | LONG nRevisionTo = m_selectedorigrev; | |
| 678 | 682 | if ( nRevisionTo<1 ) |
| 679 | 683 | { |
| 680 | 684 | return; |
| ... | ...@@ -712,7 +716,7 @@ | |
| 712 | 716 | void TortoiseBlame::ShowLog() |
| 713 | 717 | { |
| 714 | 718 | char bufRev[20]; |
| 715 | _stprintf_s(bufRev, 20, _T("%d"), m_selectedrev); | |
| 719 | _stprintf_s(bufRev, 20, _T("%d"), m_selectedorigrev); | |
| 716 | 720 | |
| 717 | 721 | STARTUPINFO startup; |
| 718 | 722 | PROCESS_INFORMATION process; |
| ... | ...@@ -1738,6 +1742,7 @@ | |
| 1738 | 1742 | if (app.revs[line] != app.m_selectedrev) |
| 1739 | 1743 | { |
| 1740 | 1744 | app.m_selectedrev = app.revs[line]; |
| 1745 | app.m_selectedorigrev = app.origrevs[line]; | |
| 1741 | 1746 | app.m_selectedauthor = app.authors[line]; |
| 1742 | 1747 | app.m_selecteddate = app.dates[line]; |
| 1743 | 1748 | } |
| ... | ...@@ -1746,6 +1751,7 @@ | |
| 1746 | 1751 | app.m_selectedauthor.clear(); |
| 1747 | 1752 | app.m_selecteddate.clear(); |
| 1748 | 1753 | app.m_selectedrev = -2; |
| 1754 | app.m_selectedorigrev = -2; | |
| 1749 | 1755 | } |
| 1750 | 1756 | ::InvalidateRect(app.wBlame, NULL, FALSE); |
| 1751 | 1757 | } |
| ... | ...@@ -28,6 +28,8 @@ | |
| 28 | 28 | repository root, showing the log did not always work. (Stefan) |
| 29 | 29 | - BUG: Comparing two revisions sometimes did not work if the url didn't |
| 30 | 30 | exist anymore in HEAD. (Stefan) |
| 31 | - BUG: Diffing/Blaming from TortoiseBlame on merged revisions did not | |
| 32 | work in certain situations. (Stefan) | |
| 31 | 33 | |
| 32 | 34 | Version 1.5.3 |
| 33 | 35 | - CHG: paths in error messages are nor truncated to 80 chars anymore. (Stefan) |