From patchwork Fri Jul 1 20:24:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Anderson X-Patchwork-Id: 1651387 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256 header.s=google header.b=H3m67Ow7; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LZRXh1vYYz9s07 for ; Sat, 2 Jul 2022 06:25:39 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0AD39844AF; Fri, 1 Jul 2022 22:24:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="H3m67Ow7"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5BED28449C; Fri, 1 Jul 2022 22:24:35 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 41EAF84499 for ; Fri, 1 Jul 2022 22:24:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=dianders@chromium.org Received: by mail-pf1-x42b.google.com with SMTP id a15so3409838pfv.13 for ; Fri, 01 Jul 2022 13:24:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D4jQ7NDqb51EmooVx8YeKHPmjcXCUpiEKxiEDCJLMms=; b=H3m67Ow7zEOoDVvwkBu7/CgOGOZUPlvQklaAjRInuTkcdrHcpeJuBHYeqc24mPJV3s 6+PjZb2V15jseoK+LlLYaHGw6vHjJAmwsTTU33xarkdx3x4esJyPZxtdEAKoLjklQ9XC tTNmwuoYEay6lfWjfTFK/+hwuuckS2eO+Z5tw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D4jQ7NDqb51EmooVx8YeKHPmjcXCUpiEKxiEDCJLMms=; b=gsbRx/Bzat+qEqv8By7Bt+SuqhuxE/1SvNe6vkcOnaZdVjKDiMDCpjB3HvMo9pGykO u+M/YlnjFUyLLO/RAwy1Ig7vYeVwCtI9Fe8yu+jUZ1I+JYrK33VSd6p+jx1IPHz6HgI1 0Yu1YDtipsF8s3edz01/Yu0SRzcNJ1NBtExqeTyLQ0EkLt5kJJnTAovc3cm97VfeQPO0 HWfS7qYAtGEwV4ECPICzqdah5ZQZsw9RYxDsLJrEex3sChuLM2TwN3n4QqnHT1fyj+cl 8wmYlqgsCZE5dYuZB9VM7sTIM/+jAosZuZ+nUxKf2aLQz187gbX9xiMK9626uUko9AZF Ke8Q== X-Gm-Message-State: AJIora/itTetDGaM7mSyCCifVL4o3d2uCkywNsPLW/YGQAD3YAMvyeuq 4+PS3u/SQe+DTKxWnBhtqUN1Jg== X-Google-Smtp-Source: AGRyM1u20aUvz8RYQ7fXXQKOm2UkpADI9JTYr6z5BgzFWT3CvmD8KU2PAQuiZrq9L9/M7A8nyfUrgQ== X-Received: by 2002:a63:2c10:0:b0:411:4fd8:9fc8 with SMTP id s16-20020a632c10000000b004114fd89fc8mr14128428pgs.313.1656707070579; Fri, 01 Jul 2022 13:24:30 -0700 (PDT) Received: from tictac2.mtv.corp.google.com ([2620:15c:202:201:7ff8:1e17:ae28:6bf8]) by smtp.gmail.com with ESMTPSA id p3-20020a170902e74300b00168a216f629sm4095484plf.11.2022.07.01.13.24.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Jul 2022 13:24:30 -0700 (PDT) From: Douglas Anderson To: sjg@chromium.org Cc: briannorris@chromium.org, mka@chromium.org, amstan@chromium.org, Douglas Anderson , u-boot@lists.denx.de Subject: [PATCH v2 6/6] patman: Take project defaults into account for --help Date: Fri, 1 Jul 2022 13:24:02 -0700 Message-Id: <20220701132328.v2.6.I79b8a2fc40f11af2ba8108f0f8166c574ae5ab47@changeid> X-Mailer: git-send-email 2.37.0.rc0.161.g10f37bed90-goog In-Reply-To: <20220701202402.3551274-1-dianders@chromium.org> References: <20220701202402.3551274-1-dianders@chromium.org> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean I'd like it so that when you do "patman send --help" and you're using Linux that it show it the proper defaults for Linux. Signed-off-by: Douglas Anderson Tested-by: Brian Norris Reviewed-by: Simon Glass --- Changes in v2: - Make comment about parsing three times less nonsensical. tools/patman/main.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/patman/main.py b/tools/patman/main.py index feb26f22e46c..792124bb7555 100755 --- a/tools/patman/main.py +++ b/tools/patman/main.py @@ -108,14 +108,19 @@ status.add_argument('-d', '--dest-branch', type=str, status.add_argument('-f', '--force', action=BooleanOptionalAction, help='Force overwriting an existing branch') -# Parse options twice: first to get the project and second to handle -# defaults properly (which depends on project) -# Use parse_known_args() in case 'cmd' is omitted +# Parse options several times: +# - First to get the project. +# - Second to handle defaults properly (which depends on project). This +# makes help display the right defaults. +# - Finally after we have added an implicit command if necessary. +# +# Use parse_known_args() for the first two in case 'cmd' is omitted +argv = [arg for arg in sys.argv[1:] if arg not in ('-h', '--help')] +args, _ = parser.parse_known_args(argv) argv = sys.argv[1:] -args, rest = parser.parse_known_args(argv) if hasattr(args, 'project'): settings.Setup(gitutil, parser, args.project, '') - args, rest = parser.parse_known_args(argv) +args, rest = parser.parse_known_args(argv) # If we have a command, it is safe to parse all arguments if args.cmd: