From afa7b8a479e48c5642a796563a615314c0261a1a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 7 May 2012 17:55:56 -0400 Subject: nix-channel --update: allow updating only the specified channels --- scripts/nix-channel.in | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'scripts/nix-channel.in') diff --git a/scripts/nix-channel.in b/scripts/nix-channel.in index 8f0fbbaa5097..6883ffd18db2 100755 --- a/scripts/nix-channel.in +++ b/scripts/nix-channel.in @@ -76,6 +76,8 @@ sub removeChannel { # Fetch Nix expressions and pull manifests from the subscribed # channels. sub update { + my @channelNames = @_; + readChannels; # Create the manifests directory if it doesn't exist. @@ -87,6 +89,8 @@ sub update { # Download each channel. my $exprs = ""; foreach my $name (keys %channels) { + next if scalar @channelNames > 0 && ! grep { $_ eq $name } @{channelNames}; + my $url = $channels{$name}; my $origUrl = "$url/MANIFEST"; @@ -141,7 +145,7 @@ Usage: nix-channel --add URL [CHANNEL-NAME] nix-channel --remove CHANNEL-NAME nix-channel --list - nix-channel --update + nix-channel --update [CHANNEL-NAME...] EOF exit 1; } @@ -182,8 +186,7 @@ while (scalar @ARGV) { } elsif ($arg eq "--update") { - usageError if scalar @ARGV != 0; - update; + update(@ARGV); last; } -- cgit 1.4.1