All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Mike Hommey <mh@glandium.org>
Cc: Michael Rappazzo <rappazzo@gmail.com>,
	git@vger.kernel.org, pclouds@gmail.com, szeder@ira.uka.de,
	sunshine@sunshineco.com
Subject: Re: [PATCH v4 2/2] rev-parse: fix some options when executed from subpath of main tree
Date: Fri, 27 May 2016 11:50:35 -0700	[thread overview]
Message-ID: <xmqqa8jbqqro.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20160526132611.GA2736@glandium.org> (Mike Hommey's message of "Thu, 26 May 2016 22:26:11 +0900")

Mike Hommey <mh@glandium.org> writes:

> On Thu, May 26, 2016 at 07:19:16AM -0400, Michael Rappazzo wrote:
>> Executing `git-rev-parse` with `--git-common-dir`, `--git-path <path>`,
>> or `--shared-index-path` from the root of the main worktree results in
>> a relative path to the git dir.
>> 
>> When executed from a subdirectory of the main tree, it can incorrectly
>> return a path which starts 'sub/path/.git'.  Change this to return the
>> proper relative path to the git directory.
>> 
>> Related tests marked to expect failure are updated to expect success
>
> As mentioned previously (but late in the thread), I don't get why this
> one case of --git-common-dir should not return the same thing as
> --git-dir, which is an absolute directory. Especially when there is
> other flag telling you whether you are in the main or another worktree,
> so comparing the output for --git-dir and --git-common-dir is the
> easiest way to do so, but then you have to normalize them on their own
> because git returns different values pointing to the same directory.

Sounds like a sensible line of thought.

A possible/plausible counter-argument from Michael's side that would
be equally sensible might run along the lines of:

    An expected use of "git rev-parse --commit-dir" is to store the
    output in $GIT_DIR/$X so that the layout the worktree machinery
    expects can be set up by scripted Porcelains without using "git
    worktree".  Making the value stored in $GIT_DIR/$X relative to
    $Y would help for such and such reasons.

While making it easier to build a competing UI like that is a
sensible goal, I do not think of what that $X or $Y are, and I do
not think of what that "such and such reasons" are, either.

And the cost of having to compare absolute --git-dir output with
relative --git-common-dir (i.e. the justification for Mike's
proposal to make --git-common-dir absolute) and the cost of having
to turn absolute output from --git-common-dir to a path relative to
$Y (i.e. the justification of making it relative in the hypothetical
counter-argument) would be about the same, so it does not sound very
compelling after all.

      reply	other threads:[~2016-05-27 18:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-26 11:19 [PATCH v4 0/2] rev-parse: fix some options when executed from subpath of main tree Michael Rappazzo
2016-05-26 11:19 ` [PATCH v4 1/2] rev-parse tests: add tests executed from a subdirectory Michael Rappazzo
2016-05-26 11:19 ` [PATCH v4 2/2] rev-parse: fix some options when executed from subpath of main tree Michael Rappazzo
2016-05-26 13:26   ` Mike Hommey
2016-05-27 18:50     ` Junio C Hamano [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqa8jbqqro.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=mh@glandium.org \
    --cc=pclouds@gmail.com \
    --cc=rappazzo@gmail.com \
    --cc=sunshine@sunshineco.com \
    --cc=szeder@ira.uka.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.