{"id":17594781,"url":"https://github.com/lcnittl/dmfo","last_synced_at":"2025-04-15T06:13:20.686Z","repository":{"id":41865231,"uuid":"268943497","full_name":"lcnittl/DMFO","owner":"lcnittl","description":"Diff and Merge for Office","archived":false,"fork":false,"pushed_at":"2025-03-31T16:33:25.000Z","size":110,"stargazers_count":16,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T06:13:11.865Z","etag":null,"topics":["diff","git","merge","office"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lcnittl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-03T01:07:40.000Z","updated_at":"2025-01-20T00:35:32.000Z","dependencies_parsed_at":"2023-01-31T00:45:56.466Z","dependency_job_id":"30e5bd6c-9160-46c8-962b-540b550e4509","html_url":"https://github.com/lcnittl/DMFO","commit_stats":{"total_commits":99,"total_committers":2,"mean_commits":49.5,"dds":0.09090909090909094,"last_synced_commit":"690d80d63bd377cf4e365d7deb49d5c2ec8e1cdd"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcnittl%2FDMFO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcnittl%2FDMFO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcnittl%2FDMFO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lcnittl%2FDMFO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lcnittl","download_url":"https://codeload.github.com/lcnittl/DMFO/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249016638,"owners_count":21198833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diff","git","merge","office"],"created_at":"2024-10-22T07:08:23.994Z","updated_at":"2025-04-15T06:13:20.666Z","avatar_url":"https://github.com/lcnittl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DMFO -- Diff and Merge For Office\n\n[![badge:pypi-version](https://img.shields.io/pypi/v/DMFO.svg)](https://pypi.org/project/DMFO)\n[![badge:py-versions](https://img.shields.io/pypi/pyversions/DMFO.svg)](https://pypi.org/project/DMFO)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/lcnittl/DMFO/master.svg)](https://results.pre-commit.ci/latest/github/lcnittl/DMFO/master)\n[![Code style: black](https://img.shields.io/badge/code_style-black-000000)](https://github.com/psf/black)\n[![Code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4)](https://github.com/prettier/prettier)\n\nThis is a set of scripts that enable convenient diff and merge of Office-related file\ntypes (currently Word and PowerPoint (diff only)). The office application will be\nstarted using COM automation, thus an Office installation is required.\n\nDMFO is LFS compatible.\n\n**Important:** Legacy PowerShell scripts are located in [ps1][ps1] and may still be\nused. However, not all new features will be ported back to the ps1 scripts.\n\n## Usage\n\n### Installation\n\nInstallable with `pip` or [`pipx`][pipx] (recommended).\n\n```cmd\npipx install DMFO\n```\n\nor\n\n```cmd\npipx install git+https://github.com/lcnittl/DMFO.git\n```\n\n### Git Integration\n\nThese tools are intended to be used with Git, so that `git diff` and `git merge` will\nuse Office applications to compare and \"merge\" files. Simply configure `.gitattributes`\nand `.gitconfig` to support the DMFO diff and merge driver. Enjoy to diff and merge\nOffice documents by simply running:\n\n```cmd\n\u003e git diff\n\u003e git merge\n```\n\nas usual and with any paramter they accept.\n\n#### `.gitconfig`\n\nSimply register the diff and merge drivers by running `dmfo install` (scope can be given\nby appending `system`, `global`, `local` or `worktree`, default is `global`).\n\nAlternatively, add the entries manually to your git config:\n\n```ini\n[diff \"dmfo\"]\n\tname = DMFO diff driver\n\tcommand = dmfo diff\n\tbinary = true\n[merge \"dmfo\"]\n\tname = DMFO merge driver\n\tdriver = dmfo merge %O %A %B %L %P\n\tbinary = true\n```\n\nMake sure that `dmfo`'s path is in your path variable, otherwise prepand `dmfo` with the\nexecutable's path.\n\n#### `.gitattributes`\n\nSpecify the following drivers in your `.gitattributes` file (currently DMFO is only\nsupporting Word files):\n\n```\n*.doc diff=dmfo merge=dmfo\n*.docx diff=dmfo merge=dmfo\n*.ppt diff=dmfo\n*.pptx diff=dmfo\n```\n\n### CLI\n\nThis option might be added at a later time.\n\n## Reqirements\n\n- Git (for Windows)\n- Microsoft Office (\\[and/or\\]: Word, Powerpoint)\n\n## Platform\n\nIn its current implementation, DMFO is suited for Windows 10. Not tested on other\nplatforms.\n\n## License\n\nGNU General Public License v3.0 or later\n\nSee [LICENSE][license] for the full text.\n\n[license]: LICENSE\n[extdiff]: https://github.com/ForNeVeR/ExtDiff\n[pipx]: https://pypi.org/project/pipx/\n[ps1]: ps1/\n[pypi]: https://pypi.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flcnittl%2Fdmfo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flcnittl%2Fdmfo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flcnittl%2Fdmfo/lists"}