I’m a great fan of Lightroom’s Auto Sync feature which allows you to adjust multiple images simultaneously – it’s the most efficient way to work. But I always add that if you use Auto Sync you’ve got to keep your head screwed on – it’s equally easy to unintentionally apply an adjustment to the other selected pictures. So I recommend:

  • leave Lightroom in Auto Sync mode all the time
  • learn to assume that adjustments won’t just apply to the image that’s currently shown in Develop
  • keep the Film Strip visible so you can see how many images are selected
  • if you find you simply can’t work this way, don’t use Auto Sync at all
  • even if you like Auto Sync, don’t keep switching it on and off

If you do make a mistake, Lightroom’s Undo feature lets you recover from your error – at least if you notice the problem while Lightroom is still open.

Things are tougher if you close the program. Imagine you apply the same white balance to a variety of pictures in different lighting conditions. The History panel lets you go back one History step, but only for the current picture. So you’d have to go through every picture. It could take some time.

There is a solution, but it is only for those with some technical skill, and all the credit for this belongs to the Moldovan photographer Dorin Nicolaescu-Musteață. I’ll also add that the method depends on writing directly to Lightroom’s SQL database and is an exception to my usual view that SQL hacks should be avoided at all costs. The idea is that:

  • you create a collection called “ScrewAutoSync” and add the problem images to it
  • do this manually, maybe using a smart collection based on the Edit Time to find all pictures edited in a certain timeframe
  • backup the catalogue – things could go wrong
  • use a SQLLite utility to run the code shown below
  • you may need to rebuild the previews (Library > Previews > Discard and then Render)

All the credit for this belongs to Dorin Nicolaescu-Musteață.

And yes, long ago I did ask for this to be a built-in feature….

 

UPDATE adobe_imagedevelopsettings
SET text =
(SELECT hs1.text
FROM adobe_libraryimagedevelophistorystep hs1
WHERE hs1.image = adobe_imagedevelopsettings.image
AND hs1.id_local =
(SELECT MAX (hs2.id_local)
FROM adobe_libraryimagedevelophistorystep hs2
WHERE hs2.image = adobe_imagedevelopsettings.image
AND hs2.id_global <>
adobe_imagedevelopsettings.historysettingsid)),
historysettingsid =
(SELECT hs1.id_global
FROM adobe_libraryimagedevelophistorystep hs1
WHERE hs1.image = adobe_imagedevelopsettings.image
AND hs1.id_local =
(SELECT MAX (hs2.id_local)
FROM adobe_libraryimagedevelophistorystep hs2
WHERE hs2.image = adobe_imagedevelopsettings.image
AND hs2.id_global <>
adobe_imagedevelopsettings.historysettingsid)),
digest = NULL
WHERE image IN (SELECT ci.image
FROM aglibrarycollectionimage ci, aglibrarycollection c
WHERE c.id_local = ci.collection AND NAME LIKE ‘ScrewAutoSync’)
AND (SELECT COUNT (*)
FROM adobe_libraryimagedevelophistorystep
WHERE image = adobe_imagedevelopsettings.image) > 1