ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Christian Couder <chriscool@tuxfamily.org>
To: tiwai@suse.de
Cc: jason@lakedaemon.net, ksummit-discuss@lists.linuxfoundation.org
Subject: Re: [Ksummit-discuss] [TOPIC] Metadata addendum to git commit
Date: Wed, 21 May 2014 07:36:24 +0200 (CEST)	[thread overview]
Message-ID: <20140521.073624.2203336639003326118.chriscool@tuxfamily.org> (raw)
In-Reply-To: <s5hha4l53qb.wl%tiwai@suse.de>

From: Takashi Iwai <tiwai@suse.de>
>
> At Tue, 20 May 2014 08:37:18 +0200 (CEST),
> Christian Couder wrote:
>> 
>> From: Takashi Iwai <tiwai@suse.de>
>> 
>> > We don't want to change the history at all.
>> 
>> What I understood is that you want to be able to bisect on a history
>> where many bugs that prevent testing can easily be fixed.
> 
> Well, the bisection is just an example where the extra metadata would
> help.  It's not the purpose itself.
> 
>> 
>> Using git replace, it can go like this:
>> 
>> - a developer learns that some part of the history can be fixed to
>>   bisect more easily by applying a patch,
>> 
>> - the developer recreates a part of the history where the patch has
>>   been applied (using git cherry-pick or git rebase -i for example)
>> 
>> - the developer uses git replace to create a replace ref so that the
>>   new part of the history is used instead of the old one
>> 
>> - the developer pushes this new replace ref to a common repo where
>>   replace refs are shared (this pushes the new part of the history
>>   too)
>> 
>> - other developers fetch the replace refs from the common repo before
>>   they bisect
>> 
>> - when these other developers bisect, the new parts of the history are
>>   automatically used, so bisecting is faster, easier and maybe safer
>>   too
>> 
>> I think that it is better than when everyone changes the history
>> manually by applying patches in the middle of a bisection.
> 
> This is nice, but I'm not sure whether it'll work / suit well with a
> tree like kernel, which is the results of tons of merges from various
> maintainers.  I guess little maintainers would publish the corrected
> repo.  I hope my guess is wrong.

Yeah, I don't know if it's easy enough to redo many merges with
current Git. On the other hand, I don't see why it couldn't be made
easy if it isn't already.

About maintainers publishing the corrected/improved repo, I think if a
few developers publish one that provide some benefits, and come up
with a way/workflow to do so quite easily, then other will follow.

>> > A preferred option is
>> > just addendum on top of the existing commits, and the way to easily
>> > share the change (at best with the normal git pull).  If git-replace
>> > provides such a good integration, I'd love to see it in our use case.
>> 
>> git notes is probably better if what you want is only addendum on top
>> of the existing commits. git notes creates notes refs that you can
>> easily share.
> 
> IMO, it's not that easy to share git notes.  At least, it's not in the
> same level as sharing tags.  If it were as easy as tags, I see no
> reason to avoid using git-notes.  That said, having a separate refs
> that requires the extra non-standard step looks like a big obstacle.

I don't see why it is not easy to share git notes.

Basically I think that you just need to add refspecs like

	  push = +refs/notes/*:refs/notes/*

or

	  fetch = +refs/notes/*:refs/notes/*

in your config file, in the sections of the remotes you want to push
or fetch notes.

But we should probably CC Johan Herland <johan@herland.net> or Junio
when discussing this as I don't know notes well.

Best,
Christian.

  reply	other threads:[~2014-05-21  5:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-13 13:25 Takashi Iwai
2014-05-13 23:23 ` NeilBrown
2014-05-13 23:29   ` Jiri Kosina
2014-05-13 23:49     ` NeilBrown
2014-05-14  1:40 ` Li Zefan
2014-05-16  3:07 ` Jason Cooper
2014-05-16  5:12   ` Christian Couder
2014-05-16  9:24   ` Li Zefan
2014-05-16  9:33   ` Takashi Iwai
2014-05-18 19:23     ` Christian Couder
2014-05-18 22:12       ` Jason Cooper
2014-05-19  6:34         ` Christian Couder
2014-05-19 13:29       ` Takashi Iwai
2014-05-20  6:37         ` Christian Couder
2014-05-20  7:06           ` Takashi Iwai
2014-05-21  5:36             ` Christian Couder [this message]
2014-05-22  4:49     ` Christian Couder
2014-05-22  5:58       ` Takashi Iwai
2014-05-22  6:28         ` Johan Herland
2014-05-22  6:52           ` Christian Couder
2014-05-22  7:29             ` Johan Herland
2014-05-22  7:45           ` Takashi Iwai
2014-05-22  7:49             ` Geert Uytterhoeven
2014-05-22  8:03               ` Takashi Iwai
2014-05-22 15:51       ` Theodore Ts'o

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=20140521.073624.2203336639003326118.chriscool@tuxfamily.org \
    --to=chriscool@tuxfamily.org \
    --cc=jason@lakedaemon.net \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=tiwai@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox