ShareMaster V2 is in beta, a complete rebuild. See what is new and request access →
Features All features overview
Migration Tools Overview Structure and content OneDrive ↔ SharePoint Content only Structure only Move / Copy Upload from this computer Download to this computer Dropbox to SharePoint Resume and incremental runs
Recycling Bin Overview Browse a site's recycle bin Empty recycle bins in bulk Restore and purge history
Archive Overview Configure the tenant On Demand Archive Restore Archived Files Archive Savings Report Blob Viewer
Optimise Storage Tools Overview Delete all items in a list Delete all files and folders in a library Remove empty folders Remove duplicate files Reduce image sizes Delete sites and subsites
SharePoint Tools Overview Tenant Explorer SharePoint Explorer Easy Settings Fix renamed groups List Explorer Search the Preservation Hold Library
Replace Overview Replace in SharePoint Replace in local files Find password-protected files
Shared Links Overview Report shared links Report unique permissions Remove a person from sharing links Remove shared links Remove unique permissions
Version History Overview Version trimming Version trimming report Reset file version
Reports Overview Inventory report Folder inventory Site and subsite storage Security matrix Teams permissions Pre-migration analysis Compare items Dropbox to Microsoft 365 compare Duplicate file report Empty folder report Image size report Recycle bin report Unused licences Report history
V2 beta Pricing Demos Blog Guides Use cases Compare Tools Alerts FAQ Contact Sign in Start free trial
  1. Home
  2. Documentation
  3. Version history

Reset file version

Discard version history

Different from trimming. Trimming thins a file's history; this resets it, so the file starts again from a version number you choose. Use it when a file's history is not merely large but wrong, such as after a migration that created hundreds of spurious versions.

Makes changes. Replaces each file you pick with a rebuilt copy that has no history. The original, with its whole history, goes to the site recycle bin. The rebuilt file has a new item ID and Modified date, and sharing links to the original no longer reach it.

What it does

  • Which files you have picked, and what their history looks like now.
  • What each file's version number would become: 0.1, a specific version, or the closest major.
  • What actually happened, per file.

How it runs

  1. Sign in and pick files. In one library.
  2. Choose the mode. Reset to 0.1, reset to a specific version, or reset to the closest major version.
  3. Read the preview. It runs first. Nothing changes until you confirm.
  4. Confirm, then it runs. Per-file progress. Cancel offers Finish the current item, Stop now, or Keep running. Nothing is left half-written: an item is either done or not started.

How it works

A reset rebuilds each file rather than removing its versions one by one. The file is copied to a temporary name in the same folder (beginning _tmp__), the original, with its whole history, is sent to the site recycle bin, the copy is copied back to the original name, and the temporary copy is recycled too. The rebuilt file has no history and starts at version 0.1. Nothing is deleted outright: the original file and its history are in the recycle bin. Because the rebuilt file is a new file, it gets a new item ID and a new Modified date, and sharing links made to the original no longer reach it.

Reset to 0.1 stops there. Reset to a specific version, and reset to the closest major version (the major number the file had), then raise the rebuilt file one major version at a time up to that number, putting back each major version's check-in comment where it could be read. Every one of those versions holds the file's current content; the old content of earlier versions is not brought back. In a library with minor versions each step is a draft that is then published, and in a library that requires content approval each published version is also approved, with its original approval comment where one was recorded. In a library without minor versions each step is a new major check-in; if the file cannot be checked out because someone else has it, the version is still created, without its comment.

The preview reads every file in scope and its history and changes nothing; the confirmed reset then runs on exactly the files the preview listed, one library per run, one file at a time. A library with versioning off is refused. If a column is set to enforce unique values, the copy would clash with the original, so the run first records which columns those are, switches enforcement off in that library, and switches it back on when the run ends, however it ends. If switching it back on fails, the result names the columns still off, and the next reset on that site puts them right.

A file someone has open is skipped and listed as locked. A file that fails before the original is recycled is left untouched. A file that fails after that is listed with SharePoint's message; its original is then in the recycle bin, and the temporary copy may still be in the folder. A file whose history size SharePoint will not report is still reset, and is left out of the reclaimed total rather than counted as zero. Each file's versions are written to a run log with their outcome, and the run goes into the tool's History and Report History. If you ticked it, the site's quick-launch links are captured before the run and any it disturbed are put back at the end, best-effort.

What you need

  • Write access to the library, and enough rights to delete versions.
  • If the library has a column set to "Enforce unique values": rights to change the library's column settings.

What it will not do

  • Each file is copied to a temporary name, the original with its whole history is sent to the site recycle bin, and the copy takes the original name. The old history comes back only by restoring the original from the recycle bin, while the bin keeps it.
  • The rebuilt file is a new file: it gets a new item ID and a new Modified date, and sharing links made to the original no longer reach it.
  • This changes version numbers, which anything referencing a specific version will notice.
  • A column set to "Enforce unique values" is switched off in that library while the reset runs, and back on when it ends. The preview tells you first. If someone saves a duplicate value meanwhile, it cannot be switched back on, and the result says so.
  • If the history is simply too large rather than wrong, Version trimming is the gentler tool.

See every feature