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

Re: [PATCH 81/83] apply: roll back index in case of error

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
May 2, 2016, 07:07 UTC
Message-ID
<alpine.DEB.2.20.1605020906400.9313@virtualbox>
In-Reply-To
<alpine.DEB.2.20.1604251802480.2896@virtualbox>
Hi,
apparently this mail never made it to the list???
On Mon, 25 Apr 2016, Johannes Schindelin wrote:
Show 33 quoted lines
> Hi Chris,
> 
> On Sun, 24 Apr 2016, Christian Couder wrote:
> 
> > @@ -4734,16 +4737,22 @@ int apply_all_patches(struct apply_state *state,
> >  		read_stdin = 0;
> >  		set_default_whitespace_mode(state);
> >  		res = apply_patch(state, fd, arg, options);
> > -		if (res < 0)
> > +		if (res < 0) {
> > +			if (state->lock_file)
> > +				rollback_lock_file(state->lock_file);
> >  			return -1;
> > +		}
> >  		errs |= res;
> >  		close(fd);
> 
> In case of error, this leaves fd open, which in the end will prevent the
> "patch" file, and hence the "rebase-apply/" directory from being removed
> on Windows. This triggered a failure of t4014 here (and possibly more, but
> it took me quite a while to track this down, what with builtin/am.c's
> am_destroy() not bothering at all to check the return value of
> remove_dir_recursively(), resulting in the error to be caught only much,
> much later).
> 
> Could you please review all open()/close() and fopen()/fclose() calls in
> your patch series, to make sure that there are no mistakes? A passing test
> suite does not really make me confident here, as our code coverage is not
> quite 100%.
> 
> Thanks,
> Dscho
> 
Previous: Johannes SchindelinNext: Eric Sunshine
Message 4 of 24 in “run-command: make dup_devnull() non static”
  1. 80/83 run-command: make dup_devnull() non staticChristian Couder, Apr 24, 2016
  2. 81/83 apply: roll back index in case of errorChristian Couder, Apr 24, 2016
  3. Johannes SchindelinApr 25, 2016
  4. Johannes SchindelinMay 2, 2016
  5. Eric SunshineMay 2, 2016
  6. Christian CouderMay 3, 2016
  7. 82/83 environment: add set_index_file()Christian Couder, Apr 24, 2016
  8. Junio C HamanoMay 3, 2016
  9. Christian CouderMay 4, 2016
  10. 83/83 builtin/am: use apply api in run_apply()Christian Couder, Apr 24, 2016
  11. Johannes SchindelinApr 25, 2016
  12. Christian CouderMay 5, 2016
  13. Johannes SchindelinApr 25, 2016
  14. Christian CouderMay 5, 2016
  15. Johannes SixtMay 5, 2016
  16. Christian CouderMay 6, 2016
  17. Johannes SchindelinMay 6, 2016
  18. Christian CouderMay 7, 2016
  19. Johannes SchindelinMay 7, 2016
  20. Christian CouderMay 7, 2016
  21. Johannes SchindelinMay 8, 2016
  22. Duy NguyenMay 8, 2016
  23. Johannes SchindelinMay 9, 2016
  24. Junio C HamanoMay 9, 2016

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.