Implements the Git.Command behaviour for git rerere.
Reuse recorded resolution of conflicted merges. Supports the status,
diff, clear, forget, gc, and remaining subcommands.
Summary
Types
Functions
Returns the argument list for git rerere.
Examples
iex> Git.Commands.Rerere.args(%Git.Commands.Rerere{})
["rerere", "status"]
iex> Git.Commands.Rerere.args(%Git.Commands.Rerere{status: true})
["rerere", "status"]
iex> Git.Commands.Rerere.args(%Git.Commands.Rerere{diff: true})
["rerere", "diff"]
iex> Git.Commands.Rerere.args(%Git.Commands.Rerere{clear: true})
["rerere", "clear"]
iex> Git.Commands.Rerere.args(%Git.Commands.Rerere{forget: "path/to/file"})
["rerere", "forget", "path/to/file"]
iex> Git.Commands.Rerere.args(%Git.Commands.Rerere{gc: true})
["rerere", "gc"]
iex> Git.Commands.Rerere.args(%Git.Commands.Rerere{remaining: true})
["rerere", "remaining"]
@spec parse_output(String.t(), non_neg_integer()) :: {:ok, [String.t()]} | {:ok, String.t()} | {:ok, :done} | {:error, {String.t(), non_neg_integer()}}
Parses the output of git rerere.
- For
statusandremainingmodes, returns{:ok, [String.t()]}with a list of file paths. - For
diffmode, returns{:ok, String.t()}with raw diff output. - For
clear,forget, andgcmodes, returns{:ok, :done}.