···
"tangled.org/core/appview/pages"
"tangled.org/core/appview/pages/markup"
"tangled.org/core/appview/reporesolver"
26
+
"tangled.org/core/appview/validator"
"tangled.org/core/appview/xrpcclient"
"tangled.org/core/idresolver"
"tangled.org/core/patchutil"
···
51
+
validator *validator.Validator
···
notifier notify.Notifier,
63
+
validator *validator.Validator,
···
76
+
validator: validator,
···
patch := comparison.FormatPatchRaw
combined := comparison.CombinedPatchRaw
968
-
if !patchutil.IsPatchValid(patch) {
972
+
if err := s.validator.ValidatePatch(&patch); err != nil {
973
+
s.logger.Error("failed to validate patch", "err", err)
s.pages.Notice(w, "pull", "Invalid patch format. Please provide a valid diff.")
···
func (s *Pulls) handlePatchBasedPull(w http.ResponseWriter, r *http.Request, f *reporesolver.ResolvedRepo, user *oauth.User, title, body, targetBranch, patch string, isStacked bool) {
985
-
if !patchutil.IsPatchValid(patch) {
990
+
if err := s.validator.ValidatePatch(&patch); err != nil {
991
+
s.logger.Error("patch validation failed", "err", err)
s.pages.Notice(w, "pull", "Invalid patch format. Please provide a valid diff.")
···
patch := comparison.FormatPatchRaw
combined := comparison.CombinedPatchRaw
1076
-
if !patchutil.IsPatchValid(patch) {
1082
+
if err := s.validator.ValidatePatch(&patch); err != nil {
1083
+
s.logger.Error("failed to validate patch", "err", err)
s.pages.Notice(w, "pull", "Invalid patch format. Please provide a valid diff.")
···
1340
-
if patch == "" || !patchutil.IsPatchValid(patch) {
1347
+
if err := s.validator.ValidatePatch(&patch); err != nil {
1348
+
s.logger.Error("faield to validate patch", "err", err)
s.pages.Notice(w, "patch-error", "Invalid patch format. Please provide a valid git diff or format-patch.")
···
s.resubmitPullHelper(w, r, f, user, pull, patch, combined, sourceRev)
1757
-
// validate a resubmission against a pull request
1758
-
func validateResubmittedPatch(pull *models.Pull, patch string) error {
1760
-
return fmt.Errorf("Patch is empty.")
1763
-
if patch == pull.LatestPatch() {
1764
-
return fmt.Errorf("Patch is identical to previous submission.")
1767
-
if !patchutil.IsPatchValid(patch) {
1768
-
return fmt.Errorf("Invalid patch format. Please provide a valid diff.")
func (s *Pulls) resubmitPullHelper(
···
1790
-
if err := validateResubmittedPatch(pull, patch); err != nil {
1781
+
if err := s.validator.ValidatePatch(&patch); err != nil {
s.pages.Notice(w, "resubmit-error", err.Error())
1786
+
if patch == pull.LatestPatch() {
1787
+
s.pages.Notice(w, "resubmit-error", "Patch is identical to previous submission.")
// validate sourceRev if branch/fork based
if pull.IsBranchBased() || pull.IsForkBased() {
if sourceRev == pull.LatestSha() {