@@ -1413,7 +1413,7 @@ mod tests {
1413
1413
}
1414
1414
}
1415
1415
1416
- pub fn update_version_db ( paths : & GlobalPaths ) -> Result < ( ) > {
1416
+ pub fn update_version_db ( channel : & Option < String > , paths : & GlobalPaths ) -> Result < ( ) > {
1417
1417
eprintln ! (
1418
1418
"{} for new Julia versions" ,
1419
1419
style( "Checking" ) . green( ) . bold( )
@@ -1462,7 +1462,7 @@ pub fn update_version_db(paths: &GlobalPaths) -> Result<()> {
1462
1462
None => "release" . to_string ( ) ,
1463
1463
} ;
1464
1464
1465
- // TODO Figure out how we can learn about the correctn Juliaup channel here
1465
+ // TODO Figure out how we can learn about the correct Juliaup channel here
1466
1466
#[ cfg( not( feature = "selfupdate" ) ) ]
1467
1467
let juliaup_channel = "release" . to_string ( ) ;
1468
1468
@@ -1522,7 +1522,7 @@ pub fn update_version_db(paths: &GlobalPaths) -> Result<()> {
1522
1522
delete_old_version_db = true ;
1523
1523
}
1524
1524
1525
- let direct_download_etags = download_direct_download_etags ( & old_config_file. data ) ?;
1525
+ let direct_download_etags = download_direct_download_etags ( & channel , & old_config_file. data ) ?;
1526
1526
1527
1527
let mut new_config_file = load_mut_config_db ( paths) . with_context ( || {
1528
1528
"`run_command_update_version_db` command failed to load configuration db."
@@ -1624,6 +1624,7 @@ where
1624
1624
1625
1625
#[ cfg( windows) ]
1626
1626
fn download_direct_download_etags (
1627
+ channel : & Option < String > ,
1627
1628
config_data : & JuliaupConfig ,
1628
1629
) -> Result < Vec < ( String , Option < String > ) > > {
1629
1630
use windows:: core:: HSTRING ;
@@ -1636,8 +1637,15 @@ fn download_direct_download_etags(
1636
1637
1637
1638
let mut requests = Vec :: new ( ) ;
1638
1639
1639
- for ( channel_name, channel) in & config_data. installed_channels {
1640
- if let JuliaupConfigChannel :: DirectDownloadChannel { url, .. } = channel {
1640
+ for ( channel_name, installed_channel) in & config_data. installed_channels {
1641
+ if let Some ( chan) = channel{
1642
+ // TODO: convert to an if-let chain once stabilized https://github.com/rust-lang/rust/pull/132833
1643
+ if chan != channel_name {
1644
+ continue ;
1645
+ }
1646
+ }
1647
+
1648
+ if let JuliaupConfigChannel :: DirectDownloadChannel { url, .. } = installed_channel {
1641
1649
let http_client = http_client. clone ( ) ;
1642
1650
let url_clone = url. clone ( ) ;
1643
1651
let channel_name_clone = channel_name. clone ( ) ;
@@ -1691,6 +1699,7 @@ fn download_direct_download_etags(
1691
1699
1692
1700
#[ cfg( not( windows) ) ]
1693
1701
fn download_direct_download_etags (
1702
+ channel : & Option < String > ,
1694
1703
config_data : & JuliaupConfig ,
1695
1704
) -> Result < Vec < ( String , Option < String > ) > > {
1696
1705
use std:: sync:: Arc ;
@@ -1699,8 +1708,15 @@ fn download_direct_download_etags(
1699
1708
1700
1709
let mut requests = Vec :: new ( ) ;
1701
1710
1702
- for ( channel_name, channel) in & config_data. installed_channels {
1703
- if let JuliaupConfigChannel :: DirectDownloadChannel { url, .. } = channel {
1711
+ for ( channel_name, installed_channel) in & config_data. installed_channels {
1712
+ if let Some ( chan) = channel{
1713
+ // TODO: convert to an if-let chain once stabilized https://github.com/rust-lang/rust/pull/132833
1714
+ if chan != channel_name {
1715
+ continue ;
1716
+ }
1717
+ }
1718
+
1719
+ if let JuliaupConfigChannel :: DirectDownloadChannel { url, .. } = installed_channel {
1704
1720
let client = Arc :: clone ( & client) ;
1705
1721
let url_clone = url. clone ( ) ;
1706
1722
let channel_name_clone = channel_name. clone ( ) ;
0 commit comments