git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 05/10] replace: make sure --edit results in a different object

From
Jeff King <peff@peff.net>
Date
May 17, 2014, 07:03 UTC
Message-ID
<20140517070339.GC13003@sigill.intra.peff.net>
In-Reply-To
<20140517064133.18932.27058.chriscool@tuxfamily.org>
On Sat, May 17, 2014 at 08:41:27AM +0200, Christian Couder wrote:
Show 6 quoted lines
> It's a bad idea to create a replace ref for an object
> that points to the original object itself.
> 
> That's why we have to check if the result from editing
> the original object is a different object and error out
> if it isn't.
I think that's reasonable.

Another option, which I think I mentioned earlier, would be to delete any existing replacement ref, and return success. So you could use that to "revert" a replaced object back to its original non-replaced form.

On a similar note, we might want to consider what happens when you "--edit" an object which already has a replacement. Right now you end up editing the _original_ object. I wonder if it would make sense to start the editor with the contents of the replacement object (in which case you might even "revert" without realizing it).

But those can easily come later if somebody feels like working on them. Erroring out is not that bad an outcome, since the user can then "git replace -d" themselves if they want to.

-Peff
Previous: Christian CouderNext: Christian Couder
Message 7 of 16 in “replace: add option to edit a Git object”
  1. 00/10 replace: add option to edit a Git objectChristian Couder, May 17, 2014
  2. 01/10 replace: refactor command-mode determinationChristian Couder, May 17, 2014
  3. 02/10 replace: use OPT_CMDMODE to handle modesChristian Couder, May 17, 2014
  4. 03/10 replace: factor object resolution out of replace_objectChristian Couder, May 17, 2014
  5. 04/10 replace: add --edit optionChristian Couder, May 17, 2014
  6. 05/10 replace: make sure --edit results in a different objectChristian Couder, May 17, 2014
  7. Jeff KingMay 17, 2014
  8. 06/10 replace: refactor checking ref validityChristian Couder, May 17, 2014
  9. 07/10 replace: die early if replace ref already existsChristian Couder, May 17, 2014
  10. Jeff KingMay 17, 2014
  11. 08/10 replace: add tests for --editChristian Couder, May 17, 2014
  12. Jeff KingMay 17, 2014
  13. 09/10 replace: add --edit to usage stringChristian Couder, May 17, 2014
  14. 10/10 Documentation: replace: describe new --edit optionChristian Couder, May 17, 2014
  15. Jeff KingMay 17, 2014
  16. Jeff KingMay 17, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.