Re: Gerrit, GitButler, and Jujutsu projects collaborating on change-id commit footer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 3 Apr 2025 at 19:40, Elijah Newren <newren@xxxxxxxxx> wrote:
>
> One possible simple solution here is just to treat change-ids (or
> there abbreviations) kind of like abbreviated hashes -- they aren't
> guaranteed to be unique.  If the user specifies a change-id and there
> are multiple branches with such a change-id, we provide the user an
> error much like we do for abbreviated hashes.
>
> Is that what folks have in mind?  If so, I'll be happy to drop my
> reservations about this aspect.

Yes, that's close to what we have in mind. I think I just didn't
explain clearly that it's mostly harmless in at least Jujutsu if there
are multiple commits with the same change id. If there are multiple
visible commits with the same change id, then you'll just have to
decide what should happen when the user tries to refer to commits by
change id. We currently let it resolve to all the visible commits with
the given change id. We may change that to be an error instead [1].
The user can always fall back to using the commit id in such cases. We
call change ids with multiple visible commits "divergent". They
currently show up in red in `jj log`, which I think we all agree makes
them seem unnecessarily scary. We'll probably change that soon [2]
[3].

So when I said that I think it's quite uncommon to have multiple
commits with the same change id, I didn't mean that as an excuse to
not consider the other cases at all. I just mean that I think the vast
majority of commits are not cherry-picked, so we don't need to
optimize the user experience for that case - it's fine if it's a bit
more complicated to refer to such commits.

I hope that clarifies. Let me know if there are still unanswered
questions that I have missed.

[1] https://github.com/jj-vcs/jj/issues/5632
[2] https://github.com/jj-vcs/jj/pull/5800
[3] https://github.com/jj-vcs/jj/pull/5850




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux