1 |
commit: fffa9fcef6b65f4c299f393d49396e275d78245b |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Mar 22 19:00:39 2012 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Mar 22 19:00:39 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=fffa9fce |
7 |
|
8 |
emerge --changelog: show some log entries above |
9 |
|
10 |
This will fix bug #373009. |
11 |
|
12 |
--- |
13 |
pym/_emerge/resolver/output_helpers.py | 21 ++++++++++++++++++--- |
14 |
1 files changed, 18 insertions(+), 3 deletions(-) |
15 |
|
16 |
diff --git a/pym/_emerge/resolver/output_helpers.py b/pym/_emerge/resolver/output_helpers.py |
17 |
index ae84158..e751dd8 100644 |
18 |
--- a/pym/_emerge/resolver/output_helpers.py |
19 |
+++ b/pym/_emerge/resolver/output_helpers.py |
20 |
@@ -534,10 +534,25 @@ def _calc_changelog(ebuildpath,current,next): |
21 |
#print 'XX from',current,'to',next |
22 |
#for div,text in divisions: print 'XX',div |
23 |
# skip entries for all revisions above the one we are about to emerge |
24 |
- for i in range(len(divisions)): |
25 |
- if divisions[i][0]==next: |
26 |
- divisions = divisions[i:] |
27 |
+ later_rev_index = None |
28 |
+ for i, node in enumerate(divisions): |
29 |
+ if node[0] == next: |
30 |
+ if later_rev_index is not None: |
31 |
+ first_node = divisions[later_rev_index] |
32 |
+ # Discard the later revision and the first ChangeLog entry |
33 |
+ # that follows it. We want to display all the entries after |
34 |
+ # that first entry, as discussed in bug #373009. |
35 |
+ trimmed_lines = [] |
36 |
+ iterator = iter(first_node[1]) |
37 |
+ for l in iterator: |
38 |
+ if not l: |
39 |
+ # end of the first entry that's discarded |
40 |
+ break |
41 |
+ first_node = (None, list(iterator)) |
42 |
+ divisions = [first_node] + divisions[later_rev_index+1:] |
43 |
break |
44 |
+ if node[0] is not None: |
45 |
+ later_rev_index = i |
46 |
|
47 |
output = [] |
48 |
prev_blank = False |