From patchwork Sun Jul 5 21:45:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manolis Stamatogiannakis X-Patchwork-Id: 20835 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:80ca:0:0:0:0:0 with SMTP id c10csp3984322ybm; Sun, 5 Jul 2020 14:47:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy6t6IoNGl+7I0SCksQJ5ysak0kI22aWmz+tLkr0g07Up61Z/M4WZNGeCcfpN+TTWmhSk9L X-Received: by 2002:a1c:4303:: with SMTP id q3mr48282793wma.134.1593985634713; Sun, 05 Jul 2020 14:47:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593985634; cv=none; d=google.com; s=arc-20160816; b=VjWnBRW9dml/4WT+FaaqnYdjr3YoFuvt6Gx+0dBhApul4X0mwjb+0d3RKXB3PaxlIY zeLuTWvlz7ey+/zCYcJa1WdyRQU+6yGyU7ei5Da+FvM5khIG3QJDlIdEGwcTez+tPuFJ h3SjNvMpZTFWTsaQ31A0FonU6irPDQN93pmiU22bVbSxynDn2YrpaHLR5gv04tGtX2jl C6xbsRBrO9k9CKoMJtUzlI3NvLtFF1PnKZIcT2BFSZYEhrdbHlG9Y/976rEvWErBtSXK RI1Er1WHxOlVrZG6GteTkDuNtVK3vFFbVLJvmq/2kEEY6iGLNAByO0Aj+mO84i/rqoPT Iekw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=1yN47gKM4MY6Ng+cKy19vmexiZrs4UT8wWKCVBdtTQY=; b=cz7KQRYj71XB78GP0pSm0dH65Kb6ofuAhU/1bTelk/7Yf+FMu7UlcVq3Xe4q7ImiJE CAL0+dc/qeGy9+kgumRYiDVMzAB2rc8qtSR+SLuNzh47DJhW3GaOnD2/QfkW6ECW+Yij inxfRJfxSmmoHUU0TZVBSdElAsOLYkjpb5QnmmmN+6QpDg8yAhpQVMGb/N/KmizqVNY2 aJJx1/SCppGEOArGJWkBWT+1+WXrcT78uS6KNvWbwH6Cj3bV1CzLRuOnJ2//UwvuueTw lsc/56zEqqdpu4S5lyVSGM4+/EZjqtgdouNHs3i95ErAEzkYCa8SOE4aZUT4/P6FuXLa 6wNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=HAYGeBFs; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l11si6639072wrx.381.2020.07.05.14.47.14; Sun, 05 Jul 2020 14:47:14 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=HAYGeBFs; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3C17168A9BB; Mon, 6 Jul 2020 00:47:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8B54C68A9BB for ; Mon, 6 Jul 2020 00:47:04 +0300 (EEST) Received: by mail-ed1-f41.google.com with SMTP id g20so32887653edm.4 for ; Sun, 05 Jul 2020 14:47:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=dtHUbAs4Yf/JVWb48VX/Lmu0fZ5IXW5m9jvrJJJTfD4=; b=HAYGeBFsFiOzMZD1YoNnd89lr2Eel9kG8fYutEEA1unl7dVYrwcP/w8BOFT6MZPcjX k+6jBWIA+pq8WOGPWc12ZrH7KokMMQTTsMQDYCVurV9Q7ONS28C4gAsgInsRVOSaVC76 CoHs2WY1626vbEA7eHJmp3gtCVB3mARWZpyV5IDUBlqXKrB8tFJoBELhjHb/gyYdQMxE VD/LpqzSvt4h+tFVk0cReN9s3Si3Z1PebD5QWR8Hyys0Ao3E0sfFPBPIA9oMkGdxLLkG 7/Swra/Uq2WzsIEa3uuFVMgvYD3xmp60UD5Z3AscNsNbQC2iMRwLxj57AYB0/hzhxtg9 bmbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=dtHUbAs4Yf/JVWb48VX/Lmu0fZ5IXW5m9jvrJJJTfD4=; b=QuZiNXbMyRaVoYxjPnRpZ/p+pGy5Y+xh6ZTOFxfBPceXJVTzaOKayEyXHWJ944q+ar ctmHvt9esKjeTDxfEZpndZ78cVKIEo/YT3tlP5OvyEo1JTRpSnCuGHrtBwlJPxwHxay0 0i9tYBwYs5kJYWgrw2n40h+LvCueVKj4ltK7dlS4lxmw3BCGTwv35AJsV5x4Ou9AjnoB xGWiymiiGvLxdTr5b3PUS4hMzucES8NK8tev8gBIXal3xrtlx1EBvGc135RGAM61wozm ovWYrOB1Jq/6UtMyyPU1FCl+mwL0YOESADYpnmzXICpY1MDNGOzTrZeaXEQzHd8ixqAc dbuA== X-Gm-Message-State: AOAM533r1c9jCpr24HjudUMb7Gfqlv2nzL7SDgzIDXaIPQZqVRW6ZmHZ rQA1sI5ZoSBA40c+d9BIXinZ3BwvCyU= X-Received: by 2002:a50:c219:: with SMTP id n25mr53033343edf.306.1593985623538; Sun, 05 Jul 2020 14:47:03 -0700 (PDT) Received: from wasteland.vu.local ([145.108.189.179]) by smtp.gmail.com with ESMTPSA id j19sm21691041edt.44.2020.07.05.14.47.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jul 2020 14:47:03 -0700 (PDT) From: Manolis Stamatogiannakis To: ffmpeg-devel@ffmpeg.org Date: Sun, 5 Jul 2020 23:45:46 +0200 Message-Id: <20200705214547.16485-2-mstamat@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200705214547.16485-1-mstamat@gmail.com> References: <20200705214547.16485-1-mstamat@gmail.com> Subject: [FFmpeg-devel] [PATCH v1 2/3] doc/developer.texi: Restructured Submitting patches section. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Manolis Stamatogiannakis MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: LF7j9DJ9EDkz Content-Length: 6639 - Main text split to two sections. - Detailed checklist for new codecs or formats demoted to section. - Detailed checklist for patch submission demoted to section. Signed-off-by: Manolis Stamatogiannakis --- doc/developer.texi | 64 +++++++++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 20 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index dec27cb509..6d4f6afcf9 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -457,31 +457,49 @@ Finally, keep in mind the immortal words of Bill and Ted, @anchor{Submitting patches} @chapter Submitting patches -First, read the @ref{Coding Rules} above if you did not yet, in particular +@anchor{patch guidelines} +@section Guidelines for preparing a patch + +The @strong{absolute minimum} you have to do before submitting a patch are the +following: + +@enumerate +@item Carefully read the @ref{Coding Rules} above if you did not yet, in particular the rules regarding patch submission. -When you submit your patch, please use @code{git format-patch} or -@code{git send-email}. We cannot read other diffs :-). +@item Make sure your commit messages accurately describe the changes made +(e.g. 'replaces lrint by lrintf') and why these changes are made (e.g. +'*BSD isn't C99 compliant and has no lrint()'). -Also please do not submit a patch which contains several unrelated changes. -Split it into separate, self-contained pieces. This does not mean splitting -file by file. Instead, make the patch as small as possible while still -keeping it as a logical unit that contains an individual change, even -if it spans multiple files. This makes reviewing your patches much easier -for us and greatly increases your chances of getting your patch applied. +@item Make sure you use @code{git format-patch} or @code{git send-email} to prepare +your patch. We cannot read other diffs :-). + +@item Run the @ref{Regression tests, regression tests} before submitting a patch +in order to verify it does not cause unexpected problems. -Use the patcheck tool of FFmpeg to check your patch. -The tool is located in the tools directory. +@item If you send your patches with an external email client +(i.e. not @code{git send-email}), make sure to send each patch as a separate +email. Do not attach several patches to the same email! -Run the @ref{Regression tests} before submitting a patch in order to verify -it does not cause unexpected problems. +@item Do not submit a patch which contains several unrelated changes. +@end enumerate + +Additionally, it is also important that the commits comprising a patch +are logically self-contained. I.e. each commit should be as small as +possible while still containing a meaningful individual change. +Commits spanning multiple files are perfectly fine, as long as the +commit can be seen as a single logical unit. -It also helps quite a bit if you tell us what the patch does (for example -'replaces lrint by lrintf'), and why (for example '*BSD isn't C99 compliant -and has no lrint()') +Following these guidelines makes reviewing your patches much easier +for us and greatly increases your chances of getting your patch applied. +To further reduce the chance that you will need to revise your patch, +it is also recommended to go through the detailed +@ref{patch submission checklist, patch} and +@ref{new codec format checklist, new codec or format} +checklists. -Also please if you send several patches, send each patch as a separate mail, -do not attach several unrelated patches to the same mail. +@anchor{patch submission process} +@section Patch submission and revision process Patches should be posted to the @uref{https://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel, ffmpeg-devel} @@ -511,7 +529,8 @@ Additionally, it is recommended to register for a This will allow you to mark previous version of your patches as "Superseded", and reduce the chance of someone spending time to review a stale patch. -@chapter New codecs or formats checklist +@anchor{new codec format checklist} +@section New codecs or formats checklist @enumerate @item @@ -563,7 +582,8 @@ Did you make sure it compiles standalone, i.e. with @end enumerate -@chapter Patch submission checklist +@anchor{patch submission checklist} +@section Patch submission checklist @enumerate @item @@ -592,6 +612,10 @@ of @dfn{sign-off}. @item Did you provide a clear git commit log message? +@item +Did you use the @code{patcheck} tool of FFmpeg to check your patch +for common issues? E.g. @code{tools/patcheck *.patch}. + @item Is the patch against latest FFmpeg git master branch?