2010-01-20 2 views
6

Je voudrais obtenir un lot de fichiers à partir d'un répertoire par date sauf pour un fichier. Je voudrais ensuite regarder tous les fichiers et voir que oui, les fichiers 1 à n sont les anciennes versions et le fichier 0 est la nouvelle version.existe-t-il un moyen facile d'obtenir un fichier et d'avoir le dernier enregistrement en tant qu'horodatage du fichier?

La façon la plus simple de faire cela, me semble-t-il, est de obtenir les fichiers et avoir l'horodatage du fichier local à la dernière heure d'enregistrement de ce fichier. Cependant, je ne pense pas que ce soit possible dans TFS sans codage personnalisé. Y a-t-il un moyen facile de faire ceci?

+0

double possible de [timestamp lors de l'obtention Les dernières nouvelles de TFS et est-ce important?] (Http: // stackoverflow.com/questions/15230328/timestamp-when-get-latest-from-tfs-et-does-it-matter) – DavidRR

Répondre

2

Dans la version actuelle de TFS (y compris TFS 2010), les horodatages des fichiers sont toujours l'heure à laquelle ils ont été téléchargés en faisant get. Ne comprenez pas très bien la raison de ce que vous essayez de faire, mais il semble que la chose la plus simple serait pour vous d'écrire une simple classe .NET ou un script powershell qui a fait ce dont vous aviez besoin en utilisant la partie VersionControl de le TFS API. Vous seriez en mesure d'interroger les dernières dates d'arrivée, etc., sans même avoir à télécharger le fichier en question - il vous suffira de regarder l'identifiant de chaque fichier pour voir quel est le plus récent.

+0

Je viens de tester cela dans TFS2008 et le fichier est le moment où j'ai obtenu le fichier, pas le moment où le fichier était Dernier enregistrement. Y a-t-il un réglage? – jcollum

+0

Non, ce n'est pas configurable. –

+2

C'est quelque chose que la plupart des SCM peuvent faire, mais apparemment TFS ne le peut pas. Bien sûr, il me semble que j'ai besoin d'écrire beaucoup de scripts PowerShell pour que TFS fonctionne comme un contrôle de source normal. – jcollum

1

Oui, il est moyen facile de faire si vous utilisez au moins TFS 2012 et Visual Studio 2012. À partir de la documentation Visual Studio sur advanced workspace options:

Temps du fichier:

  • Sélectionnez Checkin si vous souhaitez que l'horodatage de chaque fichier corresponde généralement au cachet de l'ensemble de modifications de la version i n votre espace de travail . Quelques questions et exceptions sont:

    • Lorsque vous modifiez le fichier local, le cachet de la date et l'heure correspondra à la date et l'heure que vous avez modifié le fichier.

    • Cette fonctionnalité est disponible uniquement si vous utilisez Visual Studio 2012 ou version ultérieure et Visual Studio Team Foundation Server 2012 ou version ultérieure.

    • Le paramètre ne s'applique pas aux dossiers, sauf si une opération d'ajout ou de suppression est en attente dans un fichier contenu dans le dossier.

    • Vous ne pourrez peut-être pas générer votre projet de code de manière incrémentielle. Au lieu de cela, vous devrez reconstruire).

  • Choisissez actuel si vous voulez que le timbre date et l'heure pour correspondre à la date et l'heure lors de la dernière modifié le fichier local. Par exemple, un membre de l'équipe a vérifié la dernière modification apportée au fichier lundi. Sur mardi, vous effectuez une opération get pour mettre à jour le fichier. La date et l'horodatage sont définis sur Mardi.

Questions connexes