Note composer: When merging files, use source note name in the alias part of the updated wikilink

Hello :waving_hand::slightly_smiling_face:

Example:

When I merge an existing file called “Bicycle” into another existing file called “Bicycles” (Which contains “Bicycle” as an Alias name in the Metadata), I would find it convenient if all existing links in other files, that were before referring to the file “Bicycle” would then lead to the Alias name in the new File called Bicycles|Bicycle, in render view or live preview shown as “Bicycle”.

As now the old links would carry the name of the newly merged file (Here “Bicycles”) which does at times no longer fit into the context of the text that the link was in before. This example here contains two times the same word, one is singular one is plural, other examples could be more striking if the words differ more like “Earth” and as an Alias “Gaia”.

It would speed up my flow with Obsidian if this happened automatically while merging.

Proposed solution

If possible, this would happen automatically during the process of merging files.

Current workaround (optional)

I’m currently renaming old links manually.

Related FR

:cherry_blossom: Thank you, specially for Obsidian in general and have a good day

8 Likes

Additionally to “Proposed solution”

At the moment, when I merge two files, I can also select the name of the Alias of the file that I want to merge into and the files get merged.
But the name of the old links becomes the “main name” of the new file, not the name of the selected Alias.

In a “solution scenario” this selected Alias name would then be how all “old” links (that referred to the file that has been deleted during merging) are named. If selected in the merging process it could be the name they had before (If it exists as Alias in the newly merged file) or it could also be the name of a different Alias (In the newly merged file) if the user chooses this.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

I’d like to reopen this request since it was never responded to or implemented: When merging files, automatically replacing former link name with corresponding alias name in new merged file

Just to sum up the request a bit shorter: please add an option or a toggle so that all [[FileA]] links throughout the vault become [[FileB|FileA]] when [[FileA]] is merged into [[FileB]]]. Otherwise, [[FileB]] doesn’t make sense in the notes where it used to link to [[FileA]]

2 Likes

+1

If I have a note called “spirit” (aliases: spirited, spiritual, etc.) and I decide to merge a note called “divine” (aliases: godlike, mystical, etc.) into it, I’d like all the links which pointed to “divine” or its’ aliases to now point to the “spirit” note.

Is there currently no way to do this? Or how to best do it manually? The “Find orphaned files and broken links” plugin should help with the links, at least.

This already happens if you use the Note Composer core plugin to do the merging (probably also with the Note Refactor community plugin). The request is for the changed links to retain the old name as the link text.

3 Likes

Ohhh I see. Good to know, I might even run into that issue too.

I tried it out, it’s really lame that this doesn’t work as it ought to. I had a text with:

[[Bullshit]] is a thing.
[[Bullshit|bullshitting]] is a common process.
[[Horseshit]] is also a thing.
[[Horseshitting|horseshitting]] is a less common process.

Upon merging the file “Horseshit” into file “Bullshit”, I was left with:

[[Bullshit]] is a thing.
[[Bullshit|bullshitting]] is a common process.
[[Bullshit]] is also a thing.
[[Bullshit|horseshitting]] is a less common process.

“Horseshit”, the old file’s title and label, is nowhere to be found! The merged file looks like this:

Bullshit
---
aliases: bullshitting, horseshitting

“Horseshit” isn’t inside those aliases, but it should be. And my text ought to look like this instead:

[[Bullshit]] is a thing.
[[Bullshit|bullshitting]] is a common process.
[[Bullshit|Horseshit]] is also a thing.
[[Bullshit|horseshitting]] is a less common process.

And to work around this, I’d have to remember to batch replace [[Horseshit]] with the text [[Bullshit|Horseshit]] before doing any merging - otherwise all instances of [[Horseshit]] would be turned into [[Bullshit]] and be irrevocably lost.

Use case or problem

Say I have a note Animal with aliases: [Dog, Cat]. I have another note, Turtle, which I would like to merge with Animal and make the alias now aliases: [Dog, Cat, Turtle]. But Turtle has many backlinks, and using Note Composer to merge Turtle to Animal destroys the reader view text:

“A [[Turtle]] is a type of reptile” is now “A [[Animal]] is a type of reptile” in many notes. To avoid this I would have to edit each Turtle backlink individually. This also occurs when I want to split Animal into Cat, Dog, and Turtle: an individual edit on each backlink.

Proposed solution

When using Note Composer merge, I would like instead an option to make it such that “A [[Turtle]] is a type of reptile” is now “A [[Animal|Turtle]] is a type of reptile”. I would also like a new function Note Composer split that can split an aliased note into its aliases, handling backlinks by making [[Animal|Turtle]] now point to [[Turtle]].

Current workaround (optional)

I use Atom in my vault (text editor IDE), Ctrl+Shift+F to find and replace backlinks over my entire vault.

Related feature requests (optional)

6 Likes

I have the exact same issue as you described. Makes me want to avoid using the default Note composer when it could potentially be a very useful feature of Obsidian.

2 Likes

RemNote does that beautifully with the feature “Merge and add alias”. You can also quickly add alias to any reference with right click > Edit or Add Alias

1 Like

I had what I think is the same issue, and made a custom Merge as Alias plugin to address it. I posted about it here, feel free to check it out. Plugin: Merge as Alias - Merge notes preserving source note as alias and optionally merging YAML frontmatter - Share & showcase - Obsidian Forum

2 years ago note composer was introduced in Obsidian after this thread (Merge notes and update backlinks) from the forum.
However, it still lacks one feature suggested in the thread - to leave the original name of the merged note as an alias whenever it is refereced.

Imagine merging [[machine intelligence]] into [[AI]]. Now all references are just [[AI]], [[AI]] and [[AI]]. But I’d rather have [[AI|Machine intelligence]] whenever the old file was mentioned.

17 Likes

I’d prefer to have this as an option when merging — I can imagine choosing differently depending on the note.

6 Likes

Have you checked the Obsidian42 Text Transporter plugin? It brings you closer to what you want sending block embeds to other files or copying blocks as aliases to be pasted into target files. Check it out, it might be just what you need :slight_smile:

1 Like

Yes, this is simple and basic option that ought to be there when merging notes … can’t believe that they left this out.
And even weirder is that this request has so few likes..

I’ll add a like for this proposal.

Here’s my use-case.

I’ve got a folder of notes representing journal articles and another folder of notes representing people/authors (most of them automatically generated), with links between them. But often the same author will show up with different names in different articles — say “Jesse Smith” and “Jesse A. Smith” or “Jesse Smith-Zhang”. I’d like to easily merge the different author notes into one so that any link-click inside an article note will end up at the same person, but also not obliterate the way the article note originally spelled the author’s name — 'cause that’s often significant.