From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id A941A385E006 for ; Fri, 27 Mar 2020 13:56:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A941A385E006 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=simark.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=simark@simark.ca Received: from [10.0.0.11] (unknown [192.222.164.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id EBA361E5F9; Fri, 27 Mar 2020 09:56:35 -0400 (EDT) Subject: Re: [PATCH 2/2] Add git sha information to the gdb version string To: Andrew Burgess , gdb-patches@sourceware.org Cc: Joel Brobecker References: <16599d81be47851f9ce53d7da037d9a1cdeba490.1585311874.git.andrew.burgess@embecosm.com> From: Simon Marchi Message-ID: <0b4bb502-4632-207c-cae6-94eeecb85f32@simark.ca> Date: Fri, 27 Mar 2020 09:56:35 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <16599d81be47851f9ce53d7da037d9a1cdeba490.1585311874.git.andrew.burgess@embecosm.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US-large Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-13.8 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Mar 2020 13:56:37 -0000 On 2020-03-27 8:27 a.m., Andrew Burgess wrote: > + > + # Use the remote url pattern from the remote-repository file to > + # find the local name for the remote git repository. > + remote_name=$( (cd "$srcdir" && git remote -v) \ > + | grep "${remote_repo_pattern}" | grep \(fetch\) \ > + | awk -F '\t' '{print $1}') I just tried it locally, this is what I get: GNU gdb (GDB) 10.0.50.20200327-git (c13ff238f921--0) I identifier the problem to the fact that I have two remotes that match the given URL: $ git remote -v | grep 'sourceware.org/git/binutils-gdb.git' origin git://sourceware.org/git/binutils-gdb.git (fetch) origin git://sourceware.org/git/binutils-gdb.git (push) upstream ssh://sourceware.org/git/binutils-gdb.git (fetch) upstream ssh://sourceware.org/git/binutils-gdb.git (push) I just prefer to use two remotes to reduce the changes of pushing to `upstream` by mistake. So the command above prints: origin upstream And that confuses the following commands. It works better if I put a `head -n 1` command in there: - | grep "${remote_repo_pattern}" | grep \(fetch\) \ + | grep "${remote_repo_pattern}" | grep \(fetch\) | head -n 1 \ That happens to work well for me, because origin/master is always the one I keep up to date (I fetch new changes from origin). upstream/master dates from the last time I pushed, so is outdated. Since `origin` alphabetically comes before `upstream`, it's the one that's going to be used as the reference point. But if my "push" remote came before `origin`, it would be the one used as a reference point, so the version string would always show that I am at ${some_old_commit} plus many commits on top. Not really a big deal for me though, I can live with it. Otherwise, it looks good to me. Thanks a lot for the extensive comments, that makes the script much easier to follow. Simon