diff --git a/puente/commands.py b/puente/commands.py
index a36d035..c21cdd3 100644
--- a/puente/commands.py
+++ b/puente/commands.py
@@ -129,10 +129,11 @@ def extract_command(outputdir, domain_methods, text_domain, keywords,
     print('Done')
 
 
-def merge_command(create, base_dir, domain_methods, languages):
+def merge_command(create, backup, base_dir, domain_methods, languages):
     """
     :arg create: whether or not to create directories if they don't
         exist
+    :arg backup: whether or not to create backup .po files
     :arg base_dir: BASE_DIR setting
     :arg domain_methods: DOMAIN_METHODS setting
     :arg languages: LANGUAGES setting
@@ -213,6 +214,7 @@ def merge_command(create, base_dir, domain_methods, languages):
                 'msgmerge',
                 '--update',
                 '--width=200',
+                '--backup=%s' % ('simple' if backup else 'off'),
                 domain_po,
                 '-'
             ]
diff --git a/puente/management/commands/merge.py b/puente/management/commands/merge.py
index 74de7d9..acf9b26 100644
--- a/puente/management/commands/merge.py
+++ b/puente/management/commands/merge.py
@@ -32,11 +32,17 @@ class Command(BaseCommand):
             action='store_true', dest='create', default=False,
             help='Create locale subdirectories'
         ),
+        make_option(
+            '-b', '--backup',
+            action='store_true', dest='backup', default=False,
+            help='Create backup files of .po files'
+        ),
     )
 
     def handle(self, *args, **options):
         return merge_command(
             create=options.get('create'),
+            backup=options.get('backup'),
             base_dir=get_setting('BASE_DIR'),
             domain_methods=get_setting('DOMAIN_METHODS'),
             languages=getattr(settings, 'LANGUAGES', [])

Add option to not create merge backup
According to https://www.gnu.org/software/gettext/manual/html_node/msgmerge-Invocation.html that should be `--backup=off` to the `msgmerge` tool.
diff --git a/tests/test_merge.py b/tests/test_merge.py
index 29e1456..60b46f1 100644
--- a/tests/test_merge.py
+++ b/tests/test_merge.py
@@ -65,6 +65,7 @@ class TestMergecommand:
 
         merge_command(
             create=True,
+            backup=True,
             base_dir=str(tmpdir),
             domain_methods={
                 'django': [
@@ -83,6 +84,7 @@ class TestMergecommand:
         with pytest.raises(CommandError):
             merge_command(
                 create=True,
+                backup=True,
                 base_dir=str(tmpdir),
                 domain_methods={
                     'django': [

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-pythonpath pytest-django
3.9
requirements.txt requirements-dev.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
alabaster==0.7.16
asgiref==3.8.1
attrs==25.3.0
babel==2.17.0
backports.tarfile==1.2.0
build==1.2.2.post1
cachetools==5.5.2
certifi==2025.1.31
cffi==1.17.1
chardet==5.2.0
charset-normalizer==3.4.1
check-manifest==0.50
colorama==0.4.6
cryptography==44.0.2
distlib==0.3.9
Django==4.2.20
django-jinja==2.11.0
docutils==0.21.2
filelock==3.18.0
id==1.5.0
idna==3.10
imagesize==1.4.1
importlib_metadata==8.6.1
iniconfig==2.1.0
jaraco.classes==3.4.0
jaraco.context==6.0.1
jaraco.functools==4.1.0
jeepney==0.9.0
Jinja2==3.1.6
keyring==25.6.0
markdown-it-py==3.0.0
MarkupSafe==3.0.2
mdurl==0.1.2
more-itertools==10.6.0
nh3==0.2.21
packaging==24.2
platformdirs==4.3.7
pluggy==1.5.0
-e git+https://github.com/mozilla/puente.git@a7d648b09a9b28feafdec48492aa1722d5add9ff#egg=puente
py==1.11.0
pycparser==2.22
Pygments==2.19.1
pyproject-api==1.9.0
pyproject_hooks==1.2.0
pytest==6.2.5
pytest-django==4.5.2
pytest-pythonpath==0.7.4
readme_renderer==44.0
requests==2.32.3
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==14.0.0
SecretStorage==3.3.3
snowballstemmer==2.2.0
Sphinx==7.4.7
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
sqlparse==0.5.3
swebench_matterhorn @ file:///swebench_matterhorn
toml==0.10.2
tomli==2.2.1
tox==4.25.0
twine==6.1.0
typing_extensions==4.13.0
urllib3==2.3.0
virtualenv==20.29.3
zipp==3.21.0

name: puente
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - alabaster==0.7.16
      - asgiref==3.8.1
      - attrs==25.3.0
      - babel==2.17.0
      - backports-tarfile==1.2.0
      - build==1.2.2.post1
      - cachetools==5.5.2
      - certifi==2025.1.31
      - cffi==1.17.1
      - chardet==5.2.0
      - charset-normalizer==3.4.1
      - check-manifest==0.50
      - colorama==0.4.6
      - cryptography==44.0.2
      - distlib==0.3.9
      - django==4.2.20
      - django-jinja==2.11.0
      - docutils==0.21.2
      - filelock==3.18.0
      - id==1.5.0
      - idna==3.10
      - imagesize==1.4.1
      - importlib-metadata==8.6.1
      - iniconfig==2.1.0
      - jaraco-classes==3.4.0
      - jaraco-context==6.0.1
      - jaraco-functools==4.1.0
      - jeepney==0.9.0
      - jinja2==3.1.6
      - keyring==25.6.0
      - markdown-it-py==3.0.0
      - markupsafe==3.0.2
      - mdurl==0.1.2
      - more-itertools==10.6.0
      - nh3==0.2.21
      - packaging==24.2
      - platformdirs==4.3.7
      - pluggy==1.5.0
      - py==1.11.0
      - pycparser==2.22
      - pygments==2.19.1
      - pyproject-api==1.9.0
      - pyproject-hooks==1.2.0
      - pytest==6.2.5
      - pytest-django==4.5.2
      - pytest-pythonpath==0.7.4
      - readme-renderer==44.0
      - requests==2.32.3
      - requests-toolbelt==1.0.0
      - rfc3986==2.0.0
      - rich==14.0.0
      - secretstorage==3.3.3
      - snowballstemmer==2.2.0
      - sphinx==7.4.7
      - sphinxcontrib-applehelp==2.0.0
      - sphinxcontrib-devhelp==2.0.0
      - sphinxcontrib-htmlhelp==2.1.0
      - sphinxcontrib-jsmath==1.0.1
      - sphinxcontrib-qthelp==2.0.0
      - sphinxcontrib-serializinghtml==2.0.0
      - sqlparse==0.5.3
      - swebench-matterhorn==0.0.0
      - toml==0.10.2
      - tomli==2.2.1
      - tox==4.25.0
      - twine==6.1.0
      - typing-extensions==4.13.0
      - urllib3==2.3.0
      - virtualenv==20.29.3
      - zipp==3.21.0
prefix: /opt/conda/envs/puente

tests/test_merge.py::TestMergecommand::test_missing_pot_file
tests/test_merge.py::TestManageMerge::test_help tests/test_merge.py::TestMergecommand::test_basic
puente/management/commands/merge.py puente/commands.py
puente/management/commands/merge.py puente/commands.py