This is an automated email from the git hooks/post-receive script. nthykier pushed a commit to branch master in repository lintian.
commit b72ec074b54d6555f815d1124c745ff44507a24a Author: Niels Thykier <ni...@thykier.net> Date: Tue Aug 20 21:13:56 2013 +0200 L::DepMap: Remove "soft" unlink'ing of nodes Signed-off-by: Niels Thykier <ni...@thykier.net> --- lib/Lintian/DepMap.pm | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/lib/Lintian/DepMap.pm b/lib/Lintian/DepMap.pm index dfc38a7..01a27a2 100644 --- a/lib/Lintian/DepMap.pm +++ b/lib/Lintian/DepMap.pm @@ -264,19 +264,17 @@ sub done { return exists $self->{'satisfied_nodes'}->{$node}; } -=item unlink(node[, 'soft']) +=item unlink(node) Removes all references to the given C<node> except for the entry in the known() table. B<IMPORTANT>: since all references are deleted it is possible that a node that depended on C<node> may become available even when it was not expected -to. To avoid this behaviour, the C<soft> option can be passed, which -will make its branches unreachable. +to. B<IMPORTANT>: this operation can B<not> be reversed by the means of -initialise(). Re-adding a 'soft'ly removed node does not correct the -references of the branches of the old node to the new node. +initialise(). E.g. @@ -295,9 +293,6 @@ B<Note>: shall the requested node not exist this method die()s. sub unlink { my $self = shift; my $node = shift; - my $soft = shift; - - $soft = (defined($soft) && $soft eq 'soft'); if (not exists($self->{'nodes'}{$node})) { fail("Attempted to unlink node '$node' but it can not be found". @@ -310,17 +305,15 @@ sub unlink { delete $self->{'selected'}{$node} if (exists($self->{'selected'}{$node})); - unless ($soft) { - for my $parent (keys %{$self->{'nodes'}{$node}->{'parents'}}) { - delete $self->{'nodes'}{$parent}{'branches'}{$node} - if exists $self->{'nodes'}{$parent}{'branches'}{$node}; - delete $self->{'nodes'}{$node}{'parents'}{$parent}; - } + for my $parent (keys %{$self->{'nodes'}{$node}->{'parents'}}) { + delete $self->{'nodes'}{$parent}{'branches'}{$node} + if exists $self->{'nodes'}{$parent}{'branches'}{$node}; + delete $self->{'nodes'}{$node}{'parents'}{$parent}; + } - for my $branch (keys %{$self->{'nodes'}{$node}->{'branches'}}) { - delete $self->{'nodes'}{$branch}{'parents'}{$node}; - delete $self->{'nodes'}{$node}{'branches'}{$branch}; - } + for my $branch (keys %{$self->{'nodes'}{$node}->{'branches'}}) { + delete $self->{'nodes'}{$branch}{'parents'}{$node}; + delete $self->{'nodes'}{$node}{'branches'}{$branch}; } delete $self->{'nodes'}{$node}; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git -- To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1vbs97-00062y...@vasks.debian.org