From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32302 invoked from network); 28 Mar 2021 21:36:52 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 28 Mar 2021 21:36:52 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1616967412; b=qVIcss81+i7sko10e8MtHu8dWAkoNF3BxyKPHpuBGJEpbJGoh5L52cuNns1rgj7548rUms+d9Q A14EM8Zw8FE+LDXgPFf/fOVMULqFoDjSOGJR9SAuojL/uhEyLIn90dwoLjmaV0DYNOQrW1IXcI 9r4Lh2EvOKaIM27bvbboam7crAz0T0NdfrF50EXNOP4F+6nAPEex/StZeQ9QEeb31x8vX4H+Ch CQesijh4/2NspPzGahVBe34CTzaRmFj7aoyIu9g6UoRS8TUcOy7ykfxyOlvglBHmLkFNYw2j/u jrtWRrxcdVjqCgRJQMY/Hnqhq/QX3XmywSOJ3iyKfVDwKw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-pg1-f174.google.com) smtp.remote-ip=209.85.215.174; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1616967412; bh=5dQg6mLCzuAgl9y1jy6l9zWhQzlZaoq0raIsswYfdc4=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:MIME-Version:Message-ID:Subject:To:From:Date: DKIM-Signature:DKIM-Signature; b=rDo8sqCRltwEyxQK1FctnAB+GVIpNth0QjUvNzzqH0DMAOJCsJCSY5VHIuAmDnlxI9AQbiyaSP +fKUVBF6ntCnJTU8RBFcEOrBdw37NjcRSPA4pl9+iEX1x57i+p1dNX6a9SoYZsu6rVXqSG4Zna a57eTArEVcuvkAsBKrNGtkOxL457+yEVkBPzfv9MmgM9FyxaUspxHUIju4QRBBxqN2THFZj5T3 RIqwrsh3OnUAO6Pv/Fl9ApqwoSMWwNd6RhTi6OILog9mXdKMUEE7bulr97yVZcraUJ2un7Ly1B F5oUj8WjtNZEYR1yQXK0N8fpBDxdcmGIdoVatZHooSuDWA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:MIME-Version:Message-ID: Subject:To:From:Date:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=BKyC7He998I9AveO73/AxOYtfLEtUJTnFu9RG9IkWT4=; b=JApEy0L3lCnH9O0G4W8ZDYt8d9 hWEYx+3ikbv+mzjUNNYzLsSbO6EyiXupYdYgNfIvVGgDUGbO208TbKOUZCnSMuHa6tJjOj47W6Jy3 7d3K6eqZjns3GvdxDg5Mo4+xtKHDcc1DeE8nuW6qwKBmr6iZ1MAhWfNpHV8sJIeHcWv8yTG0jlSLe xGPMPrigdfKF0wqqgyIZH/rRACdm1QD9uBrNf79ZO5CbQH0pQvgFXEpfxnLCbdTG4tM2ZZkndgcnh fkFhza7Xd/t94DtliBiSCTKR0nqhK/y1PiioX8VA06MN8y7pcabrNw0+3olvEEq9tKdA+p7wAvjVW +dksqUGA==; Received: from authenticated user by zero.zsh.org with local id 1lQd5X-000Nr7-2N; Sun, 28 Mar 2021 21:36:51 +0000 Authentication-Results: zsh.org; iprev=pass (mail-pg1-f174.google.com) smtp.remote-ip=209.85.215.174; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-pg1-f174.google.com ([209.85.215.174]:34343) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1lQd5G-000Nhr-3u; Sun, 28 Mar 2021 21:36:34 +0000 Received: by mail-pg1-f174.google.com with SMTP id i6so1002921pgs.1 for ; Sun, 28 Mar 2021 14:36:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:mime-version:content-disposition; bh=BKyC7He998I9AveO73/AxOYtfLEtUJTnFu9RG9IkWT4=; b=MYfZgWtVCPRKcgXh2A1xA/Gob3+f2C7c4t9xgqYPFVH2ReJK054kWuwxqA2qQ7VETX HumacrEaLd3gTV4LrlQiPHoMXyTSJwz3PNXhKNxVhptSOkBoQnDdVH3mvQU2gIy2V408 7Tq7OeUJJTHnpvZtYKUuGT65vucK2sVUip+3y6CGgC81qMHOCXSIR6b9hnryHtwx326R 9DjG6j82790jG1f7Pimeev0NvnXDtyyvQXPBF6+MMIhuVpIfDaAarRP3Vu+j+6Lkjq67 +qt0/5VfJOF9WMDrz0WSXaD/03O1bVgrngxXnOT++7+ueOkCFWZeNMN5yJbmFBWSkEj0 FToA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-disposition; bh=BKyC7He998I9AveO73/AxOYtfLEtUJTnFu9RG9IkWT4=; b=DQ5FXtw/0ZX/5zlERos880FiN5Gcnsx49tAkN+Ds3H4oMH2PlILEuUery5G9NLwWLV 5vtD6bqCnjD+D8FIyYy2BGq/k0OqmZguc4xITgBHxf8JxYJmVowjFROc/sdYpwR4myLR rBDoeekwKHzHRahxCMXtgK/Mi/SmF/VPp1Q2S7ER6BrEcoEfY3JSOmrXC5sMQSTCxE6F q+F/WireDlFt+j0evUKt9S5QXTorubCDXKb975wvgm5fHvkqvpIuo2NEYr+8eCanvVRy u0ph07UrVJkg15gaLpZ8EezkwD9D4C86XNpzNOtGOOanEf69BvFXGVf5Cd+RZ/apMmW1 Y5WA== X-Gm-Message-State: AOAM532olzhfMxd8YVikOEyVBlKs/8N0ilT7ZwkYdHYgomKKwjRAl63V 5/tiBbeIWC5n1fXCNTdqpqsJebCJYyU= X-Google-Smtp-Source: ABdhPJxoBnvqVisrSicRdIskEYJoc7xeii4nX5DwgCFJgCL+wNDEcJYU5cH8+pgCdmncnSJ+F/O10Q== X-Received: by 2002:a05:6a00:706:b029:217:9e8d:f9cc with SMTP id 6-20020a056a000706b02902179e8df9ccmr22631723pfl.1.1616967392718; Sun, 28 Mar 2021 14:36:32 -0700 (PDT) Received: from home-guest ([61.6.235.134]) by smtp.gmail.com with ESMTPSA id fa21sm13672635pjb.25.2021.03.28.14.36.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Mar 2021 14:36:32 -0700 (PDT) Date: Mon, 29 Mar 2021 05:36:28 +0800 From: Tim Lee To: zsh-workers@zsh.org Subject: [PATCH] Improve vcs_info example for ahead/behind git commits Message-ID: <20210328213628.7rwz62bq5p2isd6b@home-guest> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Seq: 48294 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: This patch improves the example hook that shows +N/-N when the local git branch is ahead-of or behind the remote HEAD. Improvements: * Use git-rev-list's `--count` option instead of piping to `wc -l`. `--count` has been available since git 1.7.2 (https://github.com/git/git/commit/f69c501832ecd6880602c55565508e70c3a013d5) * Remove unnecessary use of `${hook_com[branch]}` because `@{upstream}` defaults to the current branch when no branch name is provided. `@{upstream}` was introduced in git 1.7.0 (https://github.com/git/git/commit/28fb84382b0eb728534dbe2972bbfec3f3d83dd9) diff --git a/Misc/vcs_info-examples b/Misc/vcs_info-examples index 94b8a7b5e..36d4d3bf8 100644 --- a/Misc/vcs_info-examples +++ b/Misc/vcs_info-examples @@ -179,14 +179,18 @@ function +vi-git-st() { local ahead behind local -a gitstatus - # for git prior to 1.7 + # for git prior to 1.7.0 # ahead=$(git rev-list origin/${hook_com[branch]}..HEAD | wc -l) - ahead=$(git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l) + # for git 1.7.0 and 1.7.1 + # ahead=$(git rev-list @{upstream}..HEAD 2>/dev/null | wc -l) + ahead=$(git rev-list --count @{upstream}..HEAD 2>/dev/null) (( $ahead )) && gitstatus+=( "+${ahead}" ) - # for git prior to 1.7 + # for git prior to 1.7.0 # behind=$(git rev-list HEAD..origin/${hook_com[branch]} | wc -l) - behind=$(git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l) + # for git 1.7.0 and 1.7.1 + # behind=$(git rev-list HEAD..@{upstream} 2>/dev/null | wc -l) + behind=$(git rev-list --count HEAD..@{upstream} 2>/dev/null) (( $behind )) && gitstatus+=( "-${behind}" ) hook_com[misc]+=${(j:/:)gitstatus}