Am 19.05.2011 20:14, schrieb Junio C Hamano: > Jens Lehmann <Jens.Lehmann@xxxxxx> writes: > >>>> + if (opts.update && dry_run) >>>> + opts.update = 0; >>> >>> ... this hunk must go, right? >> >> But this is the "don't update the work tree when -n is used together >> with -u" part, so it is needed, no? With this patch applied first and >> opts.check_worktree set to 1 inside that if() added there all tests >> succeed. > > I would say the natural way to do your "dry-run" would be to change the > inner guts of unpack_trees() codepath that currently does > > if (opts.update) { > if (do something to the work tree and get non-zero on failure) > die("... cannot update '%s'", path); > } > > with your "-n" work to > > if (opts.update) { > if (opts.dry_run) { > if (would the work tree operation fail?) > say("... update would fail because ... '%s'", path); > } else { > if (do something to the work tree and get non-zero on failure) > die("... cannot update '%s'", path); > } > } > > and that was why I thought you would want to keep the original value of > opts.update. I wouldn't think of a good way to make the code that kicks > in when both update and dry_run are set if you clear update that early in > the codepath. Ah, now I get it ... Thanks, will add a dry_run flag that keeps update from changing anything. -- 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