Here is my scenario:

I have made a few changes to a Sitecore template and I decided those changes are no longer needed. I need to restore it to its previous state(fields have been deleted and new ones added). So I have undone the changes to the YML using the repository(git showed the new changes so I undid them). If I check the YML file on the file system it is correct as it should.

But when I sync or reserialize the changes I did are still there. I know that re-serializing should take whatever is on the file system and update the content tree according to the file system correct? What am I missing here? why does reserializing unicorn is not getting rid of the changes I did?


UPDATE 1 - I removed then unnecessary configuration entries. Leaving just the one with the path to the one I'm trying to make it work. BUT I noticed one thing. When I sync I'm not seeing that path on the list of processed items that explains it. But when I reserialize it does process it. any ideas why the sync is not processing but reserializing is?

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
    <!--Create a patch file on your local to update this setting-->
    <sc.variable name="sourceFolder" value="C:\myprojectfolder\serialization" />
        <configuration name="My Project" description="My Project" >
          <targetDataStore physicalRootPath="$(sourceFolder)\foundation" type="Rainbow.Storage.SerializationFileSystemDataStore, Rainbow" useDataCache="false" singleInstance="true" />
          <predicate type="Unicorn.Predicates.SerializationPresetPredicate, Unicorn" singleInstance="true">            
            <include name="MyProject.Templates.UserDefined" database="master" path="/sitecore/templates/User Defined" />

Actually; Reserialize means "Delete local files and take whatever is in Sitecore and serialize that to local files".

Sounds to me like you may have been getting the terms mixed up. If you want to set Sitecore back to where it was; checkout the branch at the commit you want to roll back to and issue a Sync (not Reserialize).

  • ok but let's say I undo those changes and sync in this case. shouldn't it undo Sitecore's changes?] – Diego Jan 2 '17 at 15:26
  • Depends on how you did the undo. Your description sounds a bit like you did "uncommit" in git - which will not change anything. – Mark Cassidy Jan 2 '17 at 15:33
  • no in this case it was not commited. I'm using VS as a git client so on VS I would go to the changes and I would see them there. Not sure why but this was an existing template but the changes were under untracked files. I added but before the commit I would undo them. This is when I checked the file system and there were not there anymore – Diego Jan 2 '17 at 15:36
  • Well git status and whether the files are under source control or not, makes no difference to Unicorn. It only considers what is on disk. – Mark Cassidy Jan 2 '17 at 15:39
  • right so the question remains. the file system does not have the changes I did. In this case a sync should undo what's in Sitecore isn't it? – Diego Jan 2 '17 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.