web-dev-qa-db-fra.com

xcode supprime le référentiel du projet

Mon projet xcode contient deux référentiels répertoriés dans le menu Contrôle de la source. L'un d'eux est un référentiel d'un ancien projet et ne doit pas être associé au projet actuel. Cependant, je ne peux pas comprendre comment le supprimer du projet.

REMARQUE: j'ai déjà supprimé ce référentiel d'Organizer.

Screenshot

Toute aide serait grandement appréciée.

20
bbrame

Je l'ai fait en modifiant manuellement le fichier .xccheckout.

Voici les étapes qui devraient fonctionner pour vous:

  1. quittez Xcode et faites une sauvegarde de votre fichier de projet.
  2. dans le Finder, faites un clic droit sur votre fichier de projet et sélectionnez "Afficher le contenu du paquet".
  3. faites un clic droit sur le fichier project.xcworkspace et sélectionnez "Afficher les composants du paquet"
  4. dans le dossier nommé xcshareddata, il y a un fichier avec l'extension .xccheckout (il devrait porter le même nom que votre fichier de projet principal, mais avec l'extension .xccheckout)
  5. faire une sauvegarde de ce fichier
  6. ouvrez le fichier .xccheckout dans votre éditeur de texte brut préféré - ceci est un plist.
  7. recherchez la clé IDESourceControlProjectWCConfigurations et recherchez le <dict> qui porte le nom du référentiel que vous souhaitez supprimer.
  8. dans le même <dict> il y a une clé IDESourceControlWCCIdentifierKey dont la valeur contient un identifiant qui ressemble à un UUID - cette chaîne identifie le référentiel.
  9. recherchez dans tout le fichier les paires clé/chaîne dont l'ID est la clé. supprimer toutes ces paires.
  10. supprimer le <dict>
  11. sauvegarder le fichier
  12. rouvrez le projet dans Xcode et assurez-vous que tout va bien.

S'il apparaît toujours, assurez-vous qu'aucun des fichiers de votre projet ne se trouve dans le répertoire de l'ancien référentiel (via une référence de fichier absolue). Vous pouvez étudier cela en ouvrant le fichier principal project.pbxproj, qui se trouve dans votre fichier de projet.

Vous pouvez également le tester en renommant temporairement le dossier racine (dans le Finder) de l'ancien référentiel. Si le référentiel n'apparaît plus dans le menu Contrôle de la source, votre projet contient un fichier qui se trouve dans cet ancien. dépôt.

31
G-Mark
  1. Fermer XCode .
  2. Ouvrir Terminal .
  3. Accédez au répertoire root du projet.
  4. Tapez find ./ -name .svn -exec rm -rf {} \;.
  5. Ouvrez votre projet .

Votre projet doit être déconnecté de tous les référentiels. Vous pouvez maintenant connecter votre projet au référentiel souhaité via Source Control -> Configure Project.

NOTE: La commande recherche tous les noms de fichiers avec l'extension .svn et les supprime tous (de manière récursive et forcée).

4

J'ai l'expérience de la boîte de dialogue après avoir utilisé Contrôle de la source -> Passer à la caisse, ce que j'ai fait est simplement de supprimer/modifier mon compte.

Xcode -> Préférences -> Comptes -> (modifiez ou supprimez)

Je ne suis pas sûr à 100% que cela corrige également le vôtre, mais cela vaut la peine d'essayer. En passant, j'utilise Xcode 6 beta.

En fait, si vous démarrez Xcode sans rien charger, puis que vous extrayez une nouvelle copie de votre projet dans un nouveau dossier d'espace de travail, les informations non pertinentes sur le référentiel sont automatiquement supprimées de votre copie locale du projet.

Je vous recommande également de naviguer vers Xcode -> Contrôle de la source ->% Repository% -> Configure% ProjectName% et de sélectionner la branche active dans le panneau des branches - juste pour vous assurer que les emplacements des dossiers de jonctions | tags | branches sont correctement initialisés. (Vous verrez l'élément de menu du référentiel dans la mise à jour du menu Contrôle de la source après avoir cliqué sur Terminé. Le sous-menu se développera pour vous offrir davantage d'options).

C’est ensuite une simple question de validation de ces modifications apportées par Xcode au même référentiel. L'outil diff doit indiquer les lignes XML de ce fichier .xccheckout qui ont changé et pas grand-chose d'autre.

0
cubusaddendum

Vous devrez supprimer manuellement les fichiers svn de l'ancien répertoire. Cela sera fait en utilisant les commandes svn. Vous pouvez trouver les commandes ci-dessous. Comment supprimez-vous le contrôle Subversion pour un dossier?

0
Nareshkumar