Re: Groups of commits (Übercommits)

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

 



On Tue, Apr 27, 2010 at 20:59, John Tapsell <johnflux@xxxxxxxxx> wrote:
>  It would be nice to have a commit in the repository, treated as a
> single commit for all purposes, but then be able to split it into
> multiple commits if necessary.
>
>  Any ideas?

Just for the record, I brought up such an idea in another thread; I
called them übercommits:

    http://marc.info/?l=git&m=126470903523316&w=2
    http://marc.info/?l=git&m=126471007125357&w=2
    http://marc.info/?l=git&m=126471096827004&w=2

Specifically:

On Thu, Jan 28, 2010 at 15:03, Michael Witten <mfwitten@xxxxxxxxx> wrote:
> I've been thinking for a while that it would be useful to
> have übercommits (they don't exist) that are treated like single
> commits but that actually encapsulate multiple continguous commits.
>
> ...
>
> These übercommits would also allow developers to make a string of
> commits that by themselves break things but together formulate a
> complete solution; because the übercommits encapsulate the breakage,
> bisection would still be simple (no fear of dealing with broken
> commits), but the small manageable commits would still be available
> for references and manipulation.
>
> Perhaps trees could be reappropriated for the implementation of übercommits.

On Thu, Jan 28, 2010 at 15:20, Michael Witten <mfwitten@xxxxxxxxx> wrote:

> In fact, the commit message body is already being used to create
> unofficial übercommits. Consider a common merge commit from a
> clone of Linus's Linux repo:
>
>    commit e80b1359858df17b0034bdf7d1b6f3e0d5b97257
>    Merge: 341031c b27d515
>    Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>    Date:   Thu Jan 21 08:50:04 2010 -0800
>
>        Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
>
>        * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
>          perf: x86: Add support for the ANY bit
>          perf: Change the is_software_event() definition
>          perf: Honour event state for aux stream data
>          perf: Fix perf_event_do_pending() fallback callsite
>          perf kmem: Print usage help for unknown commands
>          perf kmem: Increase "Hit" column length
>          hw-breakpoints, perf: Fix broken mmiotrace due to dr6 by reference change
>          perf timechart: Use tid not pid for COMM change
>
> It seems like this kind of useful information should be a more
> integral part of the metadata.
>
> Indeed, it seems like commit messages are often used for metadata
> that git perhaps *should* handle natively, like sign-offs and
> multiple Authors, etc.
>
> Of course, I'm betting that git doesn't handle such things
> officially because it would require more general data structures
> (especially for variable numbers of Authors) and thus slower
> algorithms.

On Thu, Jan 28, 2010 at 15:35, Michael Witten <mfwitten@xxxxxxxxx> wrote:

> On Thu, Jan 28, 2010 at 2:03 PM, Michael Witten <mfwitten@xxxxxxxxx> wrote:
>> These übercommits would also allow developers to make a string of
>> commits that by themselves break things but together formulate a
>> complete solution; because the übercommits encapsulate the breakage,
>> bisection would still be simple (no fear of dealing with broken
>> commits), but the small manageable commits would still be available
>
> As a corollary to this, developers can maintain patch integrity.
>
> Quite often, I've sent a patch off to some project only to have
> the maintainer `tweak' the result before making a commit. However,
> I frankly don't want my name attached to someone else's work,
> because I may disagree with what has been done.
>
> Were übercommits available, the maintainer could commit my original
> work and then make a new `tweak' commit and then bundle the 2 together
> as an übercommit in order to encapsulate this series of events.

Sincerely,
Michael Witten
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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]