@@ -67,87 +67,90 @@ def main():
67
67
patch_list = list (pathlib .Path (abs_patch_dir ).glob ("*.patch" ))
68
68
patch_list .sort ()
69
69
70
- print (f"Found { len (patch_list )} patches to apply:" )
71
- print ("\n " .join (p .name for p in patch_list ))
72
-
73
- if args .method == "am" :
74
- merge_args = git_cmd + ["am" , "-k" , "--ignore-whitespace" ]
75
- if args .three_way :
76
- merge_args .append ("--3way" )
77
- for patch in patch_list :
78
- merge_args .append (str (patch ))
79
- p = subprocess .run (merge_args , capture_output = True , text = True )
80
- print (p .stdout )
81
- print (p .stderr )
82
-
83
- if p .returncode == 0 :
84
- print (f"All patches applied." )
85
- sys .exit (0 )
86
- if args .restore_on_fail :
87
- # Check that the operation can be aborted.
88
- # git am doesn't give any specific return codes,
89
- # so check for unresolved working files.
90
- rebase_apply_path = os .path .join (".git" , "rebase-apply" )
91
- if args .repo_dir :
92
- rebase_apply_path = os .path .join (args .repo_dir , rebase_apply_path )
93
- if os .path .isdir (rebase_apply_path ):
94
- print ("Aborting git am..." )
95
- subprocess .run (git_cmd + ["am" , "--abort" ], check = True )
96
- print (f"Abort successful." )
97
- sys .exit (2 )
98
- else :
99
- print ("Unable to abort." )
100
- sys .exit (1 )
70
+ if len (patch_list ) == 0 :
71
+ print (f"Found no patches to apply." )
101
72
else :
102
- applied_patches = []
103
- for current_patch in patch_list :
104
- print (f"Checking { current_patch .name } ..." )
105
- # Check that the patch applies before trying to apply it.
106
- apply_check_args = git_cmd + [
107
- "apply" ,
108
- "--ignore-whitespace" ,
109
- "--check" ,
110
- ]
73
+ print (f"Found { len (patch_list )} patches to apply:" )
74
+ print ("\n " .join (p .name for p in patch_list ))
75
+
76
+ if args .method == "am" :
77
+ merge_args = git_cmd + ["am" , "-k" , "--ignore-whitespace" ]
111
78
if args .three_way :
112
- apply_check_args .append ("--3way" )
113
- apply_check_args .append (str (current_patch ))
114
- p_check = subprocess .run (apply_check_args )
79
+ merge_args .append ("--3way" )
80
+ for patch in patch_list :
81
+ merge_args .append (str (patch ))
82
+ p = subprocess .run (merge_args , capture_output = True , text = True )
83
+ print (p .stdout )
84
+ print (p .stderr )
115
85
116
- if p_check .returncode == 0 :
117
- # Patch will apply.
118
- print (f"Applying { current_patch .name } ..." )
119
- apply_args = git_cmd + [
86
+ if p .returncode == 0 :
87
+ print (f"All patches applied." )
88
+ sys .exit (0 )
89
+ if args .restore_on_fail :
90
+ # Check that the operation can be aborted.
91
+ # git am doesn't give any specific return codes,
92
+ # so check for unresolved working files.
93
+ rebase_apply_path = os .path .join (".git" , "rebase-apply" )
94
+ if args .repo_dir :
95
+ rebase_apply_path = os .path .join (args .repo_dir , rebase_apply_path )
96
+ if os .path .isdir (rebase_apply_path ):
97
+ print ("Aborting git am..." )
98
+ subprocess .run (git_cmd + ["am" , "--abort" ], check = True )
99
+ print (f"Abort successful." )
100
+ sys .exit (2 )
101
+ else :
102
+ print ("Unable to abort." )
103
+ sys .exit (1 )
104
+ else :
105
+ applied_patches = []
106
+ for current_patch in patch_list :
107
+ print (f"Checking { current_patch .name } ..." )
108
+ # Check that the patch applies before trying to apply it.
109
+ apply_check_args = git_cmd + [
120
110
"apply" ,
121
111
"--ignore-whitespace" ,
112
+ "--check" ,
122
113
]
123
114
if args .three_way :
124
- apply_args .append ("--3way" )
125
- apply_args .append (str (current_patch ))
126
- p = subprocess .run (apply_args , check = True )
127
- applied_patches .append (current_patch )
128
- else :
129
- # Patch won't apply.
130
- print (f"Unable to apply { current_patch .name } " )
131
- if args .restore_on_fail :
132
- # Remove any patches that have already been applied.
133
- while len (applied_patches ) > 0 :
134
- previous_patch = applied_patches .pop ()
135
- print (f"Reversing { previous_patch .name } ..." )
136
- reverse_args = git_cmd + [
137
- "apply" ,
138
- "--ignore-whitespace" ,
139
- "--reverse" ,
140
- ]
141
- if args .three_way :
142
- reverse_args .append ("--3way" )
143
- reverse_args .append (str (previous_patch ))
144
- p_check = subprocess .run (reverse_args , check = True )
145
- print (
146
- f"Rollback successful, failure occured on { current_patch .name } "
147
- )
148
- sys .exit (2 )
149
- sys .exit (1 )
150
- print (f"All patches applied." )
115
+ apply_check_args .append ("--3way" )
116
+ apply_check_args .append (str (current_patch ))
117
+ p_check = subprocess .run (apply_check_args )
118
+
119
+ if p_check .returncode == 0 :
120
+ # Patch will apply.
121
+ print (f"Applying { current_patch .name } ..." )
122
+ apply_args = git_cmd + [
123
+ "apply" ,
124
+ "--ignore-whitespace" ,
125
+ ]
126
+ if args .three_way :
127
+ apply_args .append ("--3way" )
128
+ apply_args .append (str (current_patch ))
129
+ p = subprocess .run (apply_args , check = True )
130
+ applied_patches .append (current_patch )
131
+ else :
132
+ # Patch won't apply.
133
+ print (f"Unable to apply { current_patch .name } " )
134
+ if args .restore_on_fail :
135
+ # Remove any patches that have already been applied.
136
+ while len (applied_patches ) > 0 :
137
+ previous_patch = applied_patches .pop ()
138
+ print (f"Reversing { previous_patch .name } ..." )
139
+ reverse_args = git_cmd + [
140
+ "apply" ,
141
+ "--ignore-whitespace" ,
142
+ "--reverse" ,
143
+ ]
144
+ if args .three_way :
145
+ reverse_args .append ("--3way" )
146
+ reverse_args .append (str (previous_patch ))
147
+ p_check = subprocess .run (reverse_args , check = True )
148
+ print (
149
+ f"Rollback successful, failure occured on { current_patch .name } "
150
+ )
151
+ sys .exit (2 )
152
+ sys .exit (1 )
153
+ print (f"All patches applied." )
151
154
152
155
153
156
main ()
0 commit comments