diff --git a/git.rpmlintrc b/git.rpmlintrc
index e7911a4..ca9c075 100644
--- a/git.rpmlintrc
+++ b/git.rpmlintrc
@@ -19,5 +19,5 @@ addFilter("perl-Git-SVN.noarch: W: no-documentation")
 addFilter("git-core\..*: W: no-manual-page-for-binary")
 
 # nothing provides git-gnome-keyring, it's simply obsolete
-# similarly ignore the warning when git-p4 is disabled
-addFilter("git.* obsolete-not-provided git-(gnome-keyring|p4)")
+# similarly ignore the warning when git-cvs and git-p4 are disabled
+addFilter("git.* obsolete-not-provided git-(cvs|gnome-keyring|p4)")
diff --git a/git.spec b/git.spec
index c699524..4af2689 100644
--- a/git.spec
+++ b/git.spec
@@ -214,6 +214,11 @@ Requires:       perl-Git = %{version}-%{release}
 Requires:       emacs-filesystem >= %{_emacs_version}
 %endif
 
+# Obsolete git-cvs if it's disabled
+%if %{without cvs}
+Obsoletes:      git-cvs < %{?epoch:%{epoch}:}%{version}-%{release}
+%endif
+
 # Obsolete gnome-keyring credential helper (remove after Fedora 29)
 Obsoletes:      git-gnome-keyring < 2.11.1-4
 
@@ -881,6 +886,7 @@ make -C contrib/credential/netrc/ testverbose
 * Tue Sep 04 2018 Todd Zullinger <tmz@pobox.com> - 2.19.0-0.3.rc2
 - Update to 2.19.0.rc2
 - Drop unnecessary Conflicts: when git-p4 is disabled
+- Obsolete git-cvs if it's disabled
 
 * Tue Sep 04 2018 Nils Philippsen <nils@redhat.com> - 2.19.0-0.2.rc1
 - obsolete git-p4 if it's disabled