mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 10:15:53 +08:00 
			
		
		
		
	[Fix] nvm_ls: Reverts #1462 to fix io.js sorting.
				
					
				
			<details> <summary>Before this revert:</summary> ```sh iojs-v3.3.1 iojs-v2.5.0 v0.6.21 v0.7.12 iojs-v1.8.4 v0.8.28 v0.9.12 v0.10.48 v0.11.16 v0.12.9 v0.12.18 v0.12.87 v4.9.1 v5.11.1 v5.12.0 v6.14.4 v6.16.0 v7.10.1 v8.6.0 v8.9.1 v8.10.0 v8.11.3 v8.11.4 v8.12.0 v8.13.0 v8.14.1 v8.15.0 v9.11.2 v10.0.0 v10.1.0 v10.2.1 v10.3.0 v10.4.1 v10.5.0 v10.6.0 v10.7.0 v10.8.0 v10.9.0 v10.10.0 v10.11.0 v10.12.0 v10.13.0 v10.14.2 v10.15.1 v11.0.0 v11.1.0 v11.2.0 v11.3.0 v11.4.0 v11.5.0 v11.6.0 v11.7.0 v11.8.0 v11.9.0 v11.10.0 ``` </details> <details> <summary>After this revert:</summary> ```sh v0.6.21 v0.7.12 v0.8.28 v0.9.12 v0.10.48 v0.11.16 v0.12.9 v0.12.18 v0.12.87 iojs-v1.8.4 iojs-v2.5.0 iojs-v3.3.1 v4.9.1 v5.11.1 v5.12.0 v6.14.4 v6.16.0 v7.10.1 v8.6.0 v8.9.1 v8.10.0 v8.11.3 v8.11.4 v8.12.0 v8.13.0 v8.14.1 v8.15.0 v9.11.2 v10.0.0 v10.1.0 v10.2.1 v10.3.0 v10.4.1 v10.5.0 v10.6.0 v10.7.0 v10.8.0 v10.9.0 v10.10.0 v10.11.0 v10.12.0 v10.13.0 v10.14.2 v10.15.1 v11.0.0 v11.1.0 v11.2.0 v11.3.0 v11.4.0 v11.5.0 v11.6.0 v11.7.0 v11.8.0 v11.9.0 v11.10.0 ``` </details> In other words, the sorting needs to happen *before* the `NVM_NODE_PREFIX` is removed.
This commit is contained in:
		
							
								
								
									
										4
									
								
								nvm.sh
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								nvm.sh
									
									
									
									
									
								
							| @@ -1082,9 +1082,9 @@ nvm_ls() { | |||||||
|             \\#${SEARCH_PATTERN}# !d; |             \\#${SEARCH_PATTERN}# !d; | ||||||
|           " \ |           " \ | ||||||
|           -e 's#^\([^/]\{1,\}\)/\(.*\)$#\2.\1#;' \ |           -e 's#^\([^/]\{1,\}\)/\(.*\)$#\2.\1#;' \ | ||||||
|           -e 's#\(.*\)\.\([^\.]\{1,\}\)$#\2-\1#;' \ |  | ||||||
|           -e "s#^${NVM_NODE_PREFIX}-##;" \ |  | ||||||
|         | command sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n \ |         | command sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n \ | ||||||
|  |         | command sed -e 's#\(.*\)\.\([^\.]\{1,\}\)$#\2-\1#;' \ | ||||||
|  |                       -e "s#^${NVM_NODE_PREFIX}-##;" \ | ||||||
|       )" |       )" | ||||||
|     fi |     fi | ||||||
|   fi |   fi | ||||||
|   | |||||||
| @@ -25,3 +25,26 @@ nvm ls | grep v0.3.3 >/dev/null || die "v0.3.3 not found in: $(nvm ls)" | |||||||
| nvm ls | grep v0.3.9 >/dev/null || die "v0.3.9 not found in: $(nvm ls)" | nvm ls | grep v0.3.9 >/dev/null || die "v0.3.9 not found in: $(nvm ls)" | ||||||
| nvm ls | grep v0.12.87 >/dev/null || die "v0.12.87 not found in: $(nvm ls)" | nvm ls | grep v0.12.87 >/dev/null || die "v0.12.87 not found in: $(nvm ls)" | ||||||
| nvm ls | grep iojs-v0.1.2 >/dev/null || die "iojs-v0.1.2 not found in: $(nvm ls)" | nvm ls | grep iojs-v0.1.2 >/dev/null || die "iojs-v0.1.2 not found in: $(nvm ls)" | ||||||
|  |  | ||||||
|  | OUTPUT="$(nvm_ls)" | ||||||
|  | EXPECTED_OUTPUT="v0.0.1 | ||||||
|  | v0.0.2 | ||||||
|  | v0.0.3 | ||||||
|  | v0.0.9 | ||||||
|  | v0.0.20 | ||||||
|  | iojs-v0.1.2 | ||||||
|  | v0.1.3 | ||||||
|  | v0.1.4 | ||||||
|  | v0.2.3 | ||||||
|  | v0.3.1 | ||||||
|  | v0.3.3 | ||||||
|  | v0.3.9 | ||||||
|  | iojs-v0.10.2 | ||||||
|  | v0.12.9 | ||||||
|  | v0.12.87 | ||||||
|  | v0.20.3" | ||||||
|  | if nvm_has_system_node || nvm_has_system_iojs; then | ||||||
|  |   EXPECTED_OUTPUT="${EXPECTED_OUTPUT} | ||||||
|  | system" | ||||||
|  | fi | ||||||
|  | [ "${OUTPUT-}" = "${EXPECTED_OUTPUT-}" ] || die "expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user