code: def merge_params(fn):
      click_util.append_params(
          fn,
          [
              runs_support.run_arg,
              runs_support.all_filters,
              click.Option(
                  ("-t", "--target-dir"),
                  help=(
                      "Directory to merge run files to (required if project directory "
                      "cannot be determined for the run)."
                  ),
                  metavar="DIR",
              ),
              click.Option(
                  ("-s", "--sourcecode"),
                  help=(
                      "Only copy run source code. Implies use of `--skip-deps`. "
                      "Cannot be used with `--skip-sourcecode`."
                  ),
                  is_flag=True,
              ),
              click.Option(
                  ("-a", "--all"),
                  help=(
                      "Copy all run files. May be used with `--skip-sourcecode`, "
                      "`--skip-deps`, and `--exclude` to copy all but the "
                      "skipped/excluded files."
                  ),
                  is_flag=True,
              ),
              click.Option(
                  ("-S", "--skip-sourcecode"),
                  help="Don't copy run source code.",
                  is_flag=True,
              ),
              click.Option(
                  ("-D", "--skip-deps"),
                  help="Don't copy project-local dependencies.",
                  is_flag=True,
              ),
              click.Option(
                  ("-x", "--exclude"),
                  help="Exclude a file or pattern (may be used multiple times).",
                  metavar="PATTERN",
                  multiple=True,
              ),
              click.Option(
                  ("-S", "--no-summary"),
                  help="Don't generate a run summary.",
                  is_flag=True,
              ),
              click.Option(
                  ("n", "--summary-name"),
                  help=(
                      "Name used for the run summary. Use '${run_id}' in the name to "
                      "include the run ID."
                  ),
                  metavar="NAME",
              ),
              click.Option(
                  ("-p", "--preview"),
                  help="Show what would happen on a merge.",
                  is_flag=True,
              ),
              click.Option(
                  ("-y", "--yes"),
                  help="Don't prompt before copying files.",
                  is_flag=True,
              ),
              click.Option(
                  ("--replace",),
                  help=(
                      "Allow replacement of existing files. Cannot be used with "
                      "--no-replace"
                  ),
                  is_flag=True,
              ),
              click.Option(
                  ("--no-replace",),
                  help=(
                      "Fail if any target file would be replaced, even if that file "
                      "is committed to the project VCS. Cannot be used with `--replace`."
                  ),
                  is_flag=True,
              ),
          ],
      )
      return fn
  
imports: from __future__ import absolute_import
  from __future__ import division
  import click
  from guild import click_util
  from .None import runs_support
label_desc: Use image node_id 1 for calling a global function with example usage: merge_params(fn) and returns: fn