This patch series contains several small code cleanups for
merge-recursive.
Changes since v2:
* Now built on master (the topics this depended on have graduated);
merges cleanly with next and pu.
* Patch #2 has a few additional argument alignment fixes; some in
code added by topics that have since graduated, and a couple that
were overlooked previously.
* Patch #3 is entirely new.
* Re-wrapped the commit message of the final patch.
(range-diff below)
Elijah Newren (6):
merge-recursive: fix miscellaneous grammar error in comment
merge-recursive: fix numerous argument alignment issues
merge-recursive: align labels with their respective code blocks
merge-recursive: clarify the rename_dir/RENAME_DIR meaning
merge-recursive: rename conflict_rename_*() family of functions
merge-recursive: add pointer about unduly complex looking code
merge-recursive.c | 186 ++++++++++++++++++++++++++--------------------
1 file changed, 104 insertions(+), 82 deletions(-)
range-diff against v2:
1: 4222f174de = 1: 4222f174de merge-recursive: fix miscellaneous grammar
error in comment
2: 4ebf93822d ! 2: 284a5fee3d merge-recursive: fix numerous argument
alignment issues
@@ -33,6 +33,76 @@
{
struct path_hashmap_entry *entry;
int baselen = base->len;
+@@
+ */
+ if (would_lose_untracked(path))
+ return err(o, _("refusing to lose untracked file at '%s'"),
+- path);
++ path);
+
+ /* Successful unlink is good.. */
+ if (!unlink(path))
+@@
+ unlink(path);
+ if (symlink(lnk, path))
+ ret = err(o, _("failed to symlink '%s': %s"),
+- path, strerror(errno));
++ path, strerror(errno));
+ free(lnk);
+ } else
+ ret = err(o,
+@@
+ }
+
+ static int find_first_merges(struct object_array *result, const char
*path,
+- struct commit *a, struct commit *b)
++ struct commit *a, struct commit *b)
+ {
+ int i, j;
+ struct object_array merges = OBJECT_ARRAY_INIT;
+@@
+
+ /* get all revisions that merge commit a */
+ xsnprintf(merged_revision, sizeof(merged_revision), "^%s",
+- oid_to_hex(&a->object.oid));
++ oid_to_hex(&a->object.oid));
+ init_revisions(&revs, NULL);
+ rev_opts.submodule = path;
+ /* FIXME: can't handle linked worktrees in submodules yet */
+@@
+ output(o, 2, _("Found a possible merge resolution for the
submodule:\n"));
+ print_commit((struct commit *) merges.objects[0].item);
+ output(o, 2, _(
+- "If this is correct simply add it to the index "
+- "for example\n"
+- "by using:\n\n"
+- " git update-index --cacheinfo 160000 %s \"%s\"\n\n"
+- "which will accept this suggestion.\n"),
+- oid_to_hex(&merges.objects[0].item->oid), path);
++ "If this is correct simply add it to the index "
++ "for example\n"
++ "by using:\n\n"
++ " git update-index --cacheinfo 160000 %s \"%s\"\n\n"
++ "which will accept this suggestion.\n"),
++ oid_to_hex(&merges.objects[0].item->oid), path);
+ break;
+
+ default:
+@@
+ result->clean = (merge_status == 0);
+ } else if (S_ISGITLINK(a->mode)) {
+ result->clean = merge_submodule(o, &result->oid,
+- one->path,
+- &one->oid,
+- &a->oid,
+- &b->oid);
++ one->path,
++ &one->oid,
++ &a->oid,
++ &b->oid);
+ } else if (S_ISLNK(a->mode)) {
+ switch (o->recursive_variant) {
+ case MERGE_RECURSIVE_NORMAL:
@@
}
--: ---------- > 3: 6bae2a267f merge-recursive: align labels with their
respective code blocks
3: 585759f07a = 4: aecf1267d8 merge-recursive: clarify the
rename_dir/RENAME_DIR meaning
4: 3cfb8b01b8 = 5: f7637bef12 merge-recursive: rename conflict_rename_*()
family of functions
5: d2a24f5b38 ! 6: ffeb3ef585 merge-recursive: add pointer about unduly
complex looking code
@@ -3,10 +3,11 @@
merge-recursive: add pointer about unduly complex looking code
handle_change_delete() has a block of code displaying one of four
nearly
- identical messages. Each contains about half a dozen variable
interpolations,
- which use nearly identical variables as well. Someone trying to parse
this
- may be slowed down trying to parse the differences and why they are
here; help
- them out by adding a comment explaining the differences.
+ identical messages. Each contains about half a dozen variable
+ interpolations, which use nearly identical variables as well. Someone
+ trying to parse this may be slowed down trying to parse the differences
+ and why they are here; help them out by adding a comment explaining the
+ differences.
Further, point out that this code structure isn't collapsed into
something
more concise and readable for the programmer, because we want to keep
full
--
2.18.0.rc1.6.gffeb3ef585