The two tools have different feature sets, and implementations.
I've tried to represent both out-of-the-box feature sets here briefly, but as fairly as possible.
The similar functionality between the two is the ability to serialize Sitecore items to disk.
Unicorn's README summarizes the need for this really well, by stating it writes:...
Sean's answer is a good general overview of the differences between Unicorn and TDS Classic. This answer is here mostly to expand on a few of the serialization-based items not entirely covered.
The real best way to decide what you want to use is to actually try using both. Each has its own distinct advantages for different types of projects and different ...
TDS 5.1 added the ability to manage roles within TDS. You have to enable management of roles in TDS in the project. This is done by opening the TDS project properties and, on the General Property tab, enabling the "Manage Sitecore Roles in TDS" check box:
Once you've enabled this, a folder item called "Sitecore Roles" will appear. From there, you can manage ...
TDS has a feature named Global Config File that allows you to define the value of any TDS project setting in a centralized manner.
Setting up the TdsGlobal.config
To start using this feature, right click on the solution and click "Add Global TDS Config file":
TDS will add a new folder to your solution, containing the file TdsGlobal.config:
In this file, ...
In your project, override the behavior of the follow MSBuild task.
By default, this is what TDS is doing (as seen in the .targets file)
<CullItemsFromProjectClass Condition=" '$(IncludeItemsChangedAfter)' != ''">HedgehogDevelopment.SitecoreProject.Tasks.Filters.CullItemsFromProjectByUpdateDate, ...
I've had this same issue with deployments, the simple fix for us was to set Source Web Project to None on the General tab.
This does mean that TDS will not generate code packages, but we do not use those in our build process, we only use TDS to generate Item packages.
Also leave the Sitecore Web Url and Sitecore Deploy Folder empty for Release build:
Right click on your Solution tab and check the Project Dependencies. Ensure that the Build Order reflects the proper dependency order:
... and that in general, templates are pushed before their content. If need be, use the Dependencies tab to adjust project dependencies to adjust the build order.
Then, and only then, try a Build ...
There is a reliable fix.
Go to Tools→Options→TDS Options and set Background Cache Loading to False.
Restart Visual Studio.
Set Background Cache Loading back to True.
Errors will stop after these steps—courtesy of Angel from TDS support.
The errors are caused by broken cache files. Changing the Background Cache Loading makes TDS rebuild the cache from ...
Alex, there are many ways to approach CI deployments into your environments. Each client or organization is going to have different requirements as it related to versioning, restoring of backup, downtime, server access, etc...
Here is a great read that I think covers most of what you need.
TDS to Nuget
But we don't do just link answers here, so I ...
Do you run Visual Studio in Admin mode? Recently I had the same issue and it was related to some URL Rewrite redirects which made TDS unable to complete its tests. You could use Fiddler to check that. You should see something like this:
This is an indication on Sitecore 9 that your Web.config has been overwritten. Check the deployed Web.config, replace it with the stock 9.0 version if needed, and/or ensure your Visual Studio solution is configured to deploy the proper Web.config. It could be that one was added to a web app project after installing a nuget package. If you're using TDS, try ...
TDS always serializes data from the root item, there are no settings that allow you to only serialise a part of a tree. Logically speaking, this makes a lot of sense for a Helix based solution where each project is self contained, independent and does not have any knowledge of other TDS projects in the solution. This means each feature is deployable in it's ...
I believe that the version you are looking for is Commit 1ab932d of the Hedgehog Development Fork For Sitecore 8.1 Initial (151003)
Release History of Habitat
I've taken a nose dive into both the Habitat and Hedgehog Fork's GitHub's. Please, if I have incorrectly listed a release or commit, please feel free to edit this answer.
Research of Hedgehog ...
TDS Classic 5.7 (released after this question was initially posted) now has a 'Sync all projects with Sitecore' feature. This is a context menu option on the solution (under the Team Development for Sitecore group) when you have TDS 5.7 installed, and allows you to run a sync across all TDS projects in the solution.
In my world I try to make sure templates are controlled by the development team so that we always deploy those. That allows us to make minor changes across the board without worrying about deployment issues. Training for authors to stay out of the templates is required, or you have to split up the template into a 'structural' and 'marketing' template with ...
On the TDS Project, you need to
Right click on the project and click on Properties.
In the General Tab, you will see Assemblies.
Select Include from the dropdown.
Add the name of the assembly you want to add in the update package.
Save the changes.
From @Jay S, the DLL also needs to be referenced in some way by the web projects being built in order ...
I also ran into this issue when I had an item in Sitecore that had the same path as the item in TDS but a different ID. Look at your Content Tree and see if something is there with the same path and then compare the IDs between the TDS item and the Sitecore item.
The issue is the created field, which was added in Sitecore 8.1.3 and the earlier version of TDS are not able to handle this field correctly.
You should upgrade to the a newer version of TDS, 188.8.131.52 or higher, and it should resolve the issue after you re-synchronise.
Fixed issue with Sitecore 8 update 3 "created" property in the .item file
You can get ...
You can update the GlassV3Item.tt file and make use of the Custom Data property in TDS to set whether a field should not be lazy loaded.
Let's add some comments to keep this clean. Add this near the top of the file with the rest of the setting comments (Line 38 on clean tt file)
Sets the field setting to DontLoadLazily
Add a ...
You can have TDS generate an update package with all the Sitecore items and code, then use Sitecore.Ship or Sitecore PowerShell Extensions Remoting to install the update package.
Sitecore.Ship provides a web service to install update packages with - you typically use wget or something similar to stream the update file to the service. Anecdotally, wget hasn'...
In the TDS project properties, in the Build tab, you can check Disable file deployment and it won't deploy the .Update file on building.
At the top of this window is a build configuration drop-down, so you can amend this setting for the particular configuration you use for your CI build.
The property goes into the .scproj file as a regular MS Build ...
Some possible solutions to reduce build/deployment time:-
Reduce the number of projects in your solution by 'compacting' projects.
Reduce the number of projects in your solution by having a Tests-project-free sln file.
Create an sln file with the explicit ProjectDependencies removed. This would only be for local builds. It doesn't help you for your ...
I have got issues like that before and most of times there are two items with same name and Id. Please check through the content editor if you see a duplicate item sitecore\system\Settings.
If this is not the case, did you recently update your TDS to a recent version? If so please check this (Duplicate item errors when syncing a TDS project)
You should ...
The issue is inherent with the way Sitecore handles checkbox fields and how it serializes items.
Checkbox fields in Sitecore can have 3 values:
Blank (not set)
Blank and 0 are interpreted as the same value of false value when reading the fields on an item through the Item API.
During serialization (...
Sitecore does not automatically do anything with serialization files from TDS out of the box.
Now this doesn't rule out a custom schedule task that someone may have put into the system, but that doesn't seem likely.
When TDS syncs, it can be configured to publish any items that it syncs, but that would be dependent upon how you have TDS setup in your CI ...
This is hard to answer because it's really several questions at once. To start with, YES Unicorn 3 handles things much better because it has more control over its serialization system. Unicorn 2 is a bit hamstrung because it's using the built in APIs which have some fun bugs.
Unicorn 2.x should, however, support most kinds of renaming without issue. If your ...
In TDS, the current way to only push part of an item, but not the whole thing is to use Field Level Deployments.
For each item, right click on it and select 'Field Level Deployment'.
Now select each of the fields, for each language that you wish to push.
(Note: Ensure that the item is also marked as 'DeployOnce', not 'AlwaysUpdate' so that the full item is ...
Even the Helix Guidelines make a distinction between "Definition Items" and "Content Items". In your case, you seem to be asking about Content Items that are created in production
Even if Content Items are owned by the production environment, sometimes the business logic will have to know about the specifics of these items, for example their location or ...
An options could be not to use courier, but to use TDS delta builds, considering the fact that you already use TDS, by going back to a certain date in time. This will also keep the packages small.
You could, by the way, use TDS package deployer to automatically install these packages as well.(https://github.com/HedgehogDevelopment/SitecorePackageDeployer)