Commit Diff


commit - 08e5873e99dff11184476ccc3186fbd2a97a2e0b
commit + b043307bfaa7ea801d19677c0cdb5d4074c0c234
blob - c36aa31e0ff6bcfe5a01de76286166e339af3aa0
blob + 8b3c89a63705d6cc8e573d8ed692ff00d798a79e
--- got/got.1
+++ got/got.1
@@ -711,6 +711,9 @@ argument.
 Any combination of codes from the above list of possible status codes
 may be specified.
 For staged files, status codes displayed in either column will be matched.
+Cannot be used together with the
+.Fl S
+option.
 .It Fl S Ar status-codes
 Suppress the output of files with a modification status matching any of the
 single-character status codes contained in the
@@ -719,6 +722,9 @@ argument.
 Any combination of codes from the above list of possible status codes
 may be specified.
 For staged files, status codes displayed in either column will be matched.
+Cannot be used together with the
+.Fl s
+option.
 .El
 .Pp
 For compatibility with
blob - 54b0e26378f33bc033b4126550be4a433a503352
blob + 66d66fa67062d2fcd2b01b19223762ec2e13efab
--- got/got.c
+++ got/got.c
@@ -5341,9 +5341,13 @@ cmd_status(int argc, char *argv[])
 					    optarg[i]);
 				}
 			}
+			if (st.suppress)
+				option_conflict('s', 'S');
 			st.status_codes = optarg;
 			break;
 		case 'S':
+			if (st.status_codes != NULL && st.suppress == 0)
+				option_conflict('S', 's');
 			st.status_codes = optarg;
 			st.suppress = 1;
 			break;