From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_PASS, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by dcvr.yhbt.net (Postfix) with ESMTP id EC9B61F55B for ; Fri, 5 Jun 2020 21:16:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728189AbgFEVNm (ORCPT ); Fri, 5 Jun 2020 17:13:42 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:34933 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728013AbgFEVNm (ORCPT ); Fri, 5 Jun 2020 17:13:42 -0400 Received: by mail-wr1-f67.google.com with SMTP id x14so11099171wrp.2 for ; Fri, 05 Jun 2020 14:13:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hLCrETqGaYXZbehNdVc9pKQZASmpaSIRh4ExeVO8T2Y=; b=hul7Yk2S6Ghxg6xfvwzDJ90KSrLQoe+vkh8zPDvYTcrPh7vz9VMrtWXm+eFbIwSzlT vn94EPynZ7JnYiDQA/778XHQ2BCgWeIoRI3wjctKe0zucfmeCsulUCCMuMRGu2EqhagE NXhqY/ICjoH+gHh1hil1/+YFLOjx67OW87wZcGR0ZYe8441VN0mbjT1g4A+eIjtt/OWf u0id0KJ9b6V4vWR3laRaDvKcvHJev5uUMy6iNj8h+7Jz0H3Ku+oVxNwEarLsWRoAi57k E2R69nbCEmNj73mRE8e4qIKtpc/1AwfMt9Eq/QqxQMjEyM/rzLOZuXVXJ2J3UAdR1IC/ xL5w== X-Gm-Message-State: AOAM5324IkckdfeEpBZkb9ocBdeKeRO/0AgL2jWFskCeQyxj/7C5lTpO IRBAit9SYdG3eK0BmmQ3Vy/mseaYysInZI+Wl161a6Z+vlM= X-Google-Smtp-Source: ABdhPJxdQiHo22RlFmQSEMtlM94eyxze3T06JERoh58c0pnpZPYGSXB2fbDrAT3JsmA77qQ8yWzAKXdknQJ4GFRBVgI= X-Received: by 2002:adf:e648:: with SMTP id b8mr11914044wrn.386.1591391619916; Fri, 05 Jun 2020 14:13:39 -0700 (PDT) MIME-Version: 1.0 References: <20200605204803.lbolbny5m5dczynn@yadavpratyush.com> In-Reply-To: <20200605204803.lbolbny5m5dczynn@yadavpratyush.com> From: Eric Sunshine Date: Fri, 5 Jun 2020 17:13:28 -0400 Message-ID: Subject: Re: [PATCH] git-gui: allow opening work trees from the startup dialog To: Pratyush Yadav Cc: Mikhail Terekhov via GitGitGadget , Git List , Mikhail Terekhov Content-Type: text/plain; charset="UTF-8" Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org On Fri, Jun 5, 2020 at 4:48 PM Pratyush Yadav wrote: > On 26/05/20 03:33PM, Mikhail Terekhov via GitGitGadget wrote: > > From: Mikhail Terekhov > > + if {[file exists [file join $path gitdir]]} { > > + set fp [open [file join $path gitdir] r] > > + gets $fp worktree_path > > + close $fp > > + if {[string equal $check_path $worktree_path]} { > > + set outdir $path > > + return 1 > > + } > > + } > > I wonder if there is a way of finding if the path is a worktree path > using a Git plumbing command. That IMO would be better than rolling our > own logic to check if something is a worktree. Perhaps use: (cd "$path" && git rev-parse --is-inside-work-tree) That will return "true" for both the main worktree and a linked worktree. You may need to suppress stderr if you expect to run the command in an arbitrary directory since it will error out if the directory is not under Git's control.