Git development
 help / color / mirror / Atom feed
From: "Philip Oakley" <philipoakley@iee.org>
To: "Jacob Keller" <jacob.keller@gmail.com>
Cc: "Mike Rappazzo" <rappazzo@gmail.com>,
	"Konstantin Khomoutov" <kostix+git@007spb.ru>,
	"Francois-Xavier Le Bail" <devel.fx.lebail@orange.fr>,
	"Matthieu Moy" <Matthieu.Moy@grenoble-inp.fr>,
	"Git List" <git@vger.kernel.org>
Subject: Re: How to rebase when some commit hashes are in some commit messages
Date: Wed, 14 Oct 2015 00:06:58 +0100	[thread overview]
Message-ID: <B8985A8E92044BD8845B1ABD23FABA13@PhilipOakley> (raw)
In-Reply-To: CA+P7+xpgY-PGdxDKHBeu0X=U6FKMavzmjexUTWatUzEdw8CmcQ@mail.gmail.com

From: "Jacob Keller" <jacob.keller@gmail.com>
> On Tue, Oct 13, 2015 at 12:24 PM, Philip Oakley <philipoakley@iee.org>
> wrote:
>> IIUC (as an alternate example),  in G4W one can submit a (long) pull
>> request
>> with internal back references that would be merged directly, so the
>> sha1's
>> could be updated as Francois-Xavier originally asked. I have a series
>> that's
>> been bumping along for a long while that needs regular rebasing, though
>> doesn't have sha1 back references, so I can see that the need does
>> happen. I
>> can see that others may have a workflow that would work well with the
>> sha1
>> auto-update.
>>
>> --
>> Philip
>>
>
> I still don't see how this is useful, because the part that *can* be
> implemented is not valuable and the part that is valuable can't be
> implemented.
>
> So, what we can implement easily enough:
>
> you rebase a series and any time the message contains sha1 of a commit
> we're modifying in this rebase, we update the sha1 to match again.
> This seems reasonable, but not useful. Why would you reference a
> commit that is *ITSELF* being rebased. No one has explained a
> reasonable use for this... I'm sure there exists one, but I would want
> an explanation of one first.
>
This particular case is about self-references within a long series. At the
moment, on the Git list there is general comments about say [PATCH v3
18/44], whichs is great for for the list ($gmane) but not for a `git log`.
In flows where PRs are valid, one can have what was [34/44] refering to
prior patch [26/44] as `deadbeaf` or whatever. It won't be suitable for most
flows but will be useful for a proportion (as already evidenced by the
request).

> The "useful" case is if you rebase "onto" a tree that has a previous
> history that has been changed. In this case, how do you propose we
> find it.

This use case (where upstream also rebases) hasn't been considered. It would
be a tricky one. As long as the possibility (of such an A depends on B
re-write) isn't closed off then the smaller requested case could still go
ahead.

> Doing as suggested above, ie: only changing sha1s that we are
> already rebasing works, but why are you backreferencing it if you are
> re-writing the commit?

 Essentially one wants to say `$CURR_COMMIT~nn` (i.e. "see nn commits
earlier in my series") and have that replaced with its cannonical sha1, and
updated when rebased.
It sort of begs the question whether there should be a ref shorthand for
"the (this) current commit" to allow THIS~<n> as an interpretable [valid?]
format.

> That doesn't make sense to me at all. Yes, you
> can do it, but I don't get why this is valuable.

> If you're backref is
> "fixes xyz" why not just fix xyz instead of have two commits. If the
> back ref has some other value... what is that value? I don't
> understand it I guess.
For the 'fixes' (of a bug report) case we are already talking about an
immutable so it would not be part of this.
Its use may be more of the type "Using helper function xyz introduced
earlier in patch abcde", which would change after each rebase.

>
> It just seems pretty narrow focus. I mean if someone wants to
> implement it, that is fine.
>
Agreed
--
Philip 

  reply	other threads:[~2015-10-13 23:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-12 19:59 How to rebase when some commit hashes are in some commit messages Francois-Xavier Le Bail
2015-10-12 20:21 ` Matthieu Moy
2015-10-13  8:50   ` Francois-Xavier Le Bail
2015-10-13 13:00     ` Konstantin Khomoutov
2015-10-13 13:29       ` Philip Oakley
2015-10-13 17:07         ` Jacob Keller
2015-10-13 18:00           ` Mike Rappazzo
2015-10-13 19:24             ` Philip Oakley
2015-10-13 21:28               ` Jacob Keller
2015-10-13 23:06                 ` Philip Oakley [this message]
2015-10-15  8:12             ` Francois-Xavier Le Bail
2015-10-15  8:06           ` Francois-Xavier Le Bail
2015-10-15  7:44         ` Francois-Xavier Le Bail
2015-10-15  9:41           ` Johannes Schindelin
2015-10-16  8:01             ` Philip Oakley
2015-10-18 13:58           ` Thomas Koch
2015-10-18 16:23 ` Ævar Arnfjörð Bjarmason

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=B8985A8E92044BD8845B1ABD23FABA13@PhilipOakley \
    --to=philipoakley@iee.org \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=devel.fx.lebail@orange.fr \
    --cc=git@vger.kernel.org \
    --cc=jacob.keller@gmail.com \
    --cc=kostix+git@007spb.ru \
    --cc=rappazzo@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox