I have the same problem where the action is 20 and the effected folder being empty, when in reality it should have files in it. In my case, when I looked at the history in the VSS client, the action was showing as "Archived version of ..." (where the ... is the file name).
The VssPhysicalLib>RevisionRecord.cs>Action enumeration does have an entry for ArchiveProject = 23, but not for 20.
A lazy solution to the problem but managed to work around the issue for me:
Add a new entry to the VssPhysicalLib>RevisionRecord.cs>Action enumeration: ArchiveUnknown = 20,
Add a new VSS action class to VssLogicalLib>VssAction.cs file:
public class VssNoAction : VssAction
{
public override VssActionType Type { get { return VssActionType.Label;} }
public VssNoAction()
{
//
}
public override string ToString()
{
return "No Action";
}
}
Add a new case to the switch statement in VssLogicalLib>VssRivision.cs>CreateAction() method:
case Hpdi.VssPhysicalLib.Action.ArchiveUnknown:
{
return new VssNoAction();
}
For more details, you can check this issue on trevorr/vss2git github repo: https://github.com/trevorr/vss2git/issues/39