#
our %subcmd_props = (
# build (default) =>[qw( )],
-'generate-lockfile'=>[qw( lock-update !target !target-dir )],
- update =>[qw( lock-update !target online )],
fetch =>[qw( online !target-dir )],
fmt =>[qw( !locked !target !offline !target-dir edits )],
+'generate-lockfile'=>[qw( lock-update !target !target-dir )],
init =>[qw( creates )],
metadata =>[qw( !target-dir )],
miri =>[qw( !locked !offline linkfarm-shallow )],
publish =>[qw( !offline linkfarm-gitclean )],
+ update =>[qw( lock-update !target online )],
upgrades =>[qw( !locked !target-dir )],
);
my ($toml, $mf_org_subdir) = @{ $manifests{$mf} };
foreach my $deps (get_dependency_tables $toml) {
next unless $deps;
- foreach my $p (keys %packagemap) {
- my $info = $deps->{$p};
- next unless defined $info;
+ foreach my $dep_key (keys %$deps) {
+ my $info = $deps->{$dep_key};
+ my $p = (ref $info ? $info->{package} : undef) // $dep_key;
+ next unless defined $packagemap{$p};
next if $packagemap{$p}[1] eq $mf_org_subdir;
- $deps->{$p} = $info = { } unless ref $info;
+ $deps->{$dep_key} = $info = { } unless ref $info; # was just version
my $oldpath = $info->{path};
delete $info->{version};
my $newpath = $worksphere.'/'.$packagemap{$p}[0];