git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Daudt <me@ikke.info>
To: Jarkko Hietaniemi <jhi@iki.fi>
Cc: git@vger.kernel.org
Subject: Re: wishlist: make it possible to amend commit messages after push to remote
Date: Fri, 7 Aug 2015 18:09:24 +0200	[thread overview]
Message-ID: <20150807160924.GA4185@ikke.info> (raw)
In-Reply-To: <55C3FA66.90805@iki.fi>

On Thu, Aug 06, 2015 at 08:23:02PM -0400, Jarkko Hietaniemi wrote:
> Not for the first time, and probably not for the last, I pushed a commit
> upstream without adding a link for the bug report as I was meaning to.
> 
> Or it could have been...
> 
> - Simple typos.
> 
> - Broken URLs.
> 
> - The impossibility of two consecutive commits referring to each other
> because the older one cannot know what the newer one will be called.
> 
> - The following morning / 5 minutes / 5 second later thinking of
> an additional factoid that would've been great to have in the
> commit message.
> 
> In general, I find the fact that once a commit has left the building,
> it goes into your permanent record, and cannot be changed, ever, to be
> very, very annoying. I get the cryptographic "sealing" with all the
> preceding changes, but...
> 
> Not that I've thought this through... but couldn't there be a bunch of
> "aliases" (new SHAs) for a commit?  The original one being the
> "master", but as/if the commit message is changed, it could get new
> SHAs.  Sort of separating the real data of the commit, and the metadata?
> 
> 

There is something that solves at least part of this problem. It's
called git-notes[1]. This allows you to add notes to objects (ie,
commits) afterwards.

This can be used to attach additional information to a commit without
having to change the commit.

This obviously doesn't help for fixing typos in commits. There does
exist something that works likes you described called git-replace[2].
This allows you for example to replace any commit with any other commit.
For this to work with others, you have to make sure refs/replace/* is
being pushed, and is fetched by others. This can be done by setting up
refspecs, but it has to be done by everone who uses this repo.

One more thing, if you know that no one has fetched the branch you just
pushed yet, you can amend the commit and force-push it without any
problems (I'd sugget using --force-with-lease). 

Hope this helps, Kevin

[1]: http://jk.gs/git-notes.html
[2]: http://jk.gs/git-replace.html

  reply	other threads:[~2015-08-07 16:09 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-07  0:23 wishlist: make it possible to amend commit messages after push to remote Jarkko Hietaniemi
2015-08-07 16:09 ` Kevin Daudt [this message]
2015-08-07 17:14   ` Jarkko Hietaniemi
2015-08-07 21:02     ` Philip Oakley
2015-08-07 16:59 ` Junio C Hamano
2015-08-07 17:10   ` Jarkko Hietaniemi
2015-08-07 19:38     ` Johannes Schindelin
2015-08-07 22:50       ` Jarkko Hietaniemi
2015-08-08  9:24         ` Jeff King

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=20150807160924.GA4185@ikke.info \
    --to=me@ikke.info \
    --cc=git@vger.kernel.org \
    --cc=jhi@iki.fi \
    /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;
as well as URLs for NNTP newsgroup(s).