@@ -2,7 +2,7 @@ namespace GitFlowVersion
2
2
{
3
3
using System ;
4
4
5
- public class ShortVersionParser
5
+ class ShortVersionParser
6
6
{
7
7
8
8
public static void Parse ( string versionString , out int major , out int minor , out int patch )
@@ -31,14 +31,45 @@ public static void Parse(string versionString, out int major, out int minor, out
31
31
32
32
public static bool TryParseMajorMinor ( string versionString , out int major , out int minor )
33
33
{
34
- int patch ;
34
+ major = 0 ;
35
+ minor = 0 ;
36
+ var strings = versionString . Split ( '.' ) ;
37
+ if ( strings . Length == 2 )
38
+ {
39
+ if ( ! int . TryParse ( strings [ 0 ] , out major ) )
40
+ {
41
+ return false ;
42
+ }
43
+
44
+ if ( ! int . TryParse ( strings [ 1 ] , out minor ) )
45
+ {
46
+ return false ;
47
+ }
48
+ return true ;
49
+ }
35
50
36
- if ( ! TryParse ( versionString , out major , out minor , out patch ) )
51
+
52
+ if ( strings . Length == 3 )
37
53
{
38
- return false ;
54
+ if ( ! int . TryParse ( strings [ 0 ] , out major ) )
55
+ {
56
+ return false ;
57
+ }
58
+
59
+ if ( ! int . TryParse ( strings [ 1 ] , out minor ) )
60
+ {
61
+ return false ;
62
+ }
63
+ int patch ;
64
+ if ( ! int . TryParse ( strings [ 2 ] , out patch ) )
65
+ {
66
+ return false ;
67
+ }
68
+ return patch == 0 ;
39
69
}
40
70
41
- return patch == 0 ;
71
+
72
+ return false ;
42
73
}
43
74
44
75
public static bool TryParse ( string versionString , out int major , out int minor , out int patch )
@@ -74,4 +105,5 @@ static void Throw(string versionString)
74
105
throw new Exception ( string . Format ( "Could not parse version from '{0}' expected 'major.minor.patch'" , versionString ) ) ;
75
106
}
76
107
}
108
+
77
109
}
0 commit comments