Ryan Zoeller <rtzoeller@xxxxxxxxxxxxx> writes: > Is there a way to tell git "resume the difftool process at file n"? > The difftool prompt counts which file I'm on ("Viewing (10/20): > 'filename'"), so it seems like I ought to be able to jump ahead by > specifying a starting index (or range to view). There is no such support in the code. diff.c::run_external_diff() maitains and increments the counters used to show the prompt in the form of a pair of environment variables, GIT_DIFF_PATH_TOTAL and GIT_DIFF_PATH_COUNTER, and they are used in git-difftool--helper::launch_merge_tool() when asking you if you want to run the difftool backend on that 10th file out of the 20 files. Right now, you can only say Yes or No to that prompt, but it shouldn't be too hard to add another choice to the response to the prompt, saying "skip to 15th file", for example, and record that "15" in a temporary file in $GIT_DIR/ and exit without running the difftool backend on the 10th file, so that later invocation of the git-difftool-helper script can skip without prompting you until it is the turn for 15th file. The launch_merge_tool() function needs to be modified in the following way to do so: - At the beginning, see if $GIT_DIR/difftool-skip-to file exists. - If exists, read its contents. - See if the value is larger than $GIT_DIFF_PATH_COUNTER. If so, just 'return' without doing anything else. - Remove that file (we are at the 15th path and done skipping). - Update the "Viewing .../ Launch?" prompt and offer another choice "Skip to?". - Update the if/then/fi statement that processes the answer to the prompt (right now, it takes n as a sign to skip the file). When the user says "skip to 15th", create $GIT_DIR/difftool-skip-to file and record "15" in it and 'return'. #leftoverbits.