Context

I use org-mode to configure many of my machines on my home network
and use Org's tangle capability to have every configuration file be
seated in the correct place.

Feature Request

I wish that whenever I decide that I want to completely abandon an
implementation of something like networking and interface management
in favor of another, that I would be able to save the previous
implementation in an archive sibling subtree without this previous
implementation's files being tangled.

Warrants

I have considered the possibility of implementing this feature in my
own way so as to not inconvenience another. But after considering that
even if I had designed my own wrapper function or used the pre and
post tangle hooks, it would be very difficult for me to have a
reliable way of stopping org-babel-tangle from tangling these
specific blocks within archived subtrees short of "breaking" the
code blocks with the pre hook and repairing them with the post. Even
then it is a question as to how I would reliably determine which
code blocks were within the archived subtree.

Suggestions

Since one of the issues of solving this is the inability to tell
org-babel-tangle to skip code blocks by their "archivedness" but
instead only by the file they are tangling or the language they are
written in, I would suggest allowing the user to have the ability
to configure a "tangle skip tag" or subtree property that causes
org-babel-tangle to skip over blocks within that/those subtree(s).

You may even wish to have an attribute that tells org-babel-tangle
to skip a specific code block (via org directives,
like #+NAME:). This may be more easy to implement but I am no
expert on the org-babel tangling system. With this however it would
be easy to build wrapper functions to disable tangling of code
blocks within entire subtrees, essentially emulating the desired
"archivedness" that I previously suggested.

Summary

This feature request being very centric as to my situation regarding
the archival of code blocks within sister archive subtrees, it may
seem like it would not be worth one's time to implement it. But as I
have stated I see an issue with the configurability of
org-babel-tangle to disregard the tangling of designated blocks and
subtrees. It would benefit babel's current implementation of tangle,
sitting nicely along side the "tangle based off of language" and
"tangle based off of file being tangled" functionalities; also
benefiting org-mode's archival functionality (as code blocks in
these subtrees wouldn't interfere with non-archived code blocks)

Overall, a configurable variable that allows the user to define a
tag, property or a simple org directive that authoritatively dictates
to org-babel-tangle what to and what not to tangle would be a
welcome and fitting addition to org-mode's capabilities.

Regards

Thank you for your time, and of course with all this written out I
still wish to say. Please forgive me if there is already a feature
that solves this problem, I tried my best to dig that little bit
deeper.

Cheers!

Gabriel Smith