@@ -19,24 +19,27 @@ public bool Push(string message)
19
19
20
20
public bool Push ( List < Models . Change > changes , string message , bool onlyStaged , bool keepIndex )
21
21
{
22
- var pathsBuilder = new StringBuilder ( ) ;
23
-
24
- var indexOpts = keepIndex ? "--keep-index" : "" ;
22
+ var builder = new StringBuilder ( ) ;
23
+ builder . Append ( "stash push " ) ;
24
+ if ( onlyStaged )
25
+ builder . Append ( "--staged " ) ;
26
+ if ( keepIndex )
27
+ builder . Append ( "--keep-index " ) ;
28
+ builder . Append ( "-m \" " ) ;
29
+ builder . Append ( message ) ;
30
+ builder . Append ( "\" -- " ) ;
25
31
26
32
if ( onlyStaged )
27
33
{
28
34
foreach ( var c in changes )
29
- pathsBuilder . Append ( $ "\" { c . Path } \" ") ;
30
-
31
- var paths = pathsBuilder . ToString ( ) ;
32
- Args = $ "stash push { indexOpts } --staged -m \" { message } \" -- { paths } ";
35
+ builder . Append ( $ "\" { c . Path } \" ") ;
33
36
}
34
37
else
35
38
{
36
39
var needAdd = new List < Models . Change > ( ) ;
37
40
foreach ( var c in changes )
38
41
{
39
- pathsBuilder . Append ( $ "\" { c . Path } \" ") ;
42
+ builder . Append ( $ "\" { c . Path } \" ") ;
40
43
41
44
if ( c . WorkTree == Models . ChangeState . Added || c . WorkTree == Models . ChangeState . Untracked )
42
45
{
@@ -53,11 +56,9 @@ public bool Push(List<Models.Change> changes, string message, bool onlyStaged, b
53
56
new Add ( WorkingDirectory , needAdd ) . Exec ( ) ;
54
57
needAdd . Clear ( ) ;
55
58
}
56
-
57
- var paths = pathsBuilder . ToString ( ) ;
58
- Args = $ "stash push { indexOpts } -m \" { message } \" -- { paths } ";
59
59
}
60
60
61
+ Args = builder . ToString ( ) ;
61
62
return Exec ( ) ;
62
63
}
63
64
0 commit comments