Question

Maintenant, avant de tirer sur moi pour mettre en place une double question sur SOF, laissez-moi d'abord de vous familiariser avec exactement ce que je cherche, et je vais répondre à d'autres questions et réponses, et pourquoi elle est insuffisante.

Question #1:

Je suis à la recherche d'un moyen de faire vivre collaboration des modifications, alors que la source est maintenue sur une source centralisée de contrôle du serveur.Par exemple, si Moi et Joe Blow sont d'édition de fichier X.cs dans le même temps, nous devrions être en mesure de voir les uns les autres modifications que nous type.Presque comme si nous étions assis ensemble sur le même ordinateur.Maintenant, prenons le scénario suivant:Moi et Joe passer en mode hors connexion, et Nimha Smith décide qu'elle veut mettre à jour une partie du code.Quand je reviens en ligne le lendemain, je reçois poussé le code que Nimha mis à jour pendant que je dormais/à distance à partir du serveur.

C'est une combinaison de l'idée de collaboration en direct, et un système de contrôle de sources comme SVN, etc.

L'adressage du possible les doublons:

Il y a une question similaire, ici: L'édition Collaborative pour .NET développement - quelles sont les possibilités, cependant il ne me donne pas quelque chose d'utile et je vais vous expliquer pourquoi:

  • VsAnywhere:Il fonctionne grâce à une centrale serveur public (à droite direction..?) à l'exception de toutes les parties concernées doivent avoir exactement le même code sur sa machine avant de rejoindre une session, et une fois que vous passez en mode hors connexion, la session est détruite.
  • SourceMeet:Fonctionne avec un système P2P, donc pas de serveur pour suivre les changements en mode hors connexion, etc.Ne l'ai pas essayé, donc je ne peux pas attester de la façon dont il peut fusionner code (si il peut)
  • CollabEdit:Pas VisualStudio
  • Cloud 9:Pas VisualStudio

Et il y a évidemment cette question et cette une qui sont directement des questions au sujet de logiciel de contrôle de source comme SVN ou GIT.Maintenant, j'ai essayé d'obtenir VSAnywhere et SVN jouer bien ensemble, (SVN pour obtenir les modifications apportées en mode hors connexion, et VSAnywhere pour les développeurs en ligne) mais il ne fonctionne tout simplement pas.

<edit>

J'ai récemment trouvé cette thèse de bachelor projet nommé Collab, et il semble être une bonne idée, mais je n'arrive pas à le faire fonctionner à l'essayer.Si quelqu'un n'a aucun succès avec elle s'il vous plaît laissez-moi savoir ce que vous avez fait.C'est comme si je peux obtenir cette collab projet de travail il me semble qu'il serait un bon début dans la création de quelque chose pour l'adapter à mes besoins.

<edit2>

J'ai également venir à travers BeWeeVee qui a une extension de Visual Studio pour son service, mais tous les liens ont disparu morts.Et CodeALike ce qui était sans doute leur remplacement pour VS la collaboration en temps réel a une FAQ expliquant qu'il est en temps réel ont été supprimés et sera mis en œuvre dans le "futur".

Question #2:

Maintenant ce qui m'amène à la deuxième partie de ma question parce que j'ai réaliser il y a peut-être pas un programme qui correspond à mon défi de taille.Où pourrais-je commencer la mise en œuvre de logiciels tels que moi-même?Existe-il des open-source source-contrôle en temps réel de la modification de code que je peux commencer à construire au large de pour créer cela?Ou suis-je un peu coincé à partir de zéro si je veux le mettre en œuvre.Et je suis sûr que vous pouvez le voir par les balises que je voudrais aborder une tâche comme ça en C#, si je dois faire face à tout.

Mise à jour en 2017

Comme il y a eu de poursuite de l'intérêt exprimé dans les commentaires, j'ai créé un gitter où nous pouvons nous réunir toute personne intéressée et potentiellement faire de cela une réalité: https://gitter.im/sof-centrailized-collab-editing/Lobby.

Était-ce utile?

La solution

Si vous voulez vous attaquer à vous-même, vous pouvez le faire comme une extension de Visual Studio.Notez qu'il existe deux différents types de plugins:“add-ons” et “extensions”.Personnellement, je pense que vous devriez écrire un extension, mais de toute façon, vous pouvez leur écrire en C#.

Vous aurez besoin de s'accrocher dans Visual Studio est un éditeur de texte.Vous pouvez soit google pour savoir comment faire cela, ou tout simplement regarder un exemple existant: une extension de Visual Studio pour les tabulations.Votre extension devrez surveiller votre les modifications que vous apportez et ensuite les envoyer au serveur via un protocole de la conception.Vous aurez à écrire le serveur vous-même, mais dans la première version tout ce qu'il faut pour être en mesure de faire est de simplement envoyer vos modifications à tout le monde qui est à l'aide de l'extension.L'extension serait alors faire tout le monde de modifier à tout le monde de l'éditeur.

Si quelqu'un se connecte au serveur avec une version plus ancienne du code, l'extension pourrait-il suffit de télécharger la dernière version à partir du serveur.Toutefois, si l'utilisateur a apporté des modifications tout en en mode hors connexion (c'est à direalors que pas connecté au serveur), alors vous aurez besoin de faire quelques petits malins fusion.Ce n'est pas trivial, mais je sais pas comment faire car je l'ai fait avant.Si vous demandez très gentiment, je vais écrire l'algorithme de fusion pour vous.Ensuite, vous aurez seulement besoin de nourrir trois fichiers texte:la base (la version qui a été la dernière à se synchroniser avec le serveur) et les deux versions éditées (celle éditée en mode hors connexion et le plus récent à partir du serveur).

Si vous parvenez à obtenir que cela fonctionne, vous aurez potentiellement créer quelque chose de façon inestimable utile.S'il vous plaît ne assurez-vous de faire connaître votre travail!:)

Autres conseils

Eh bien, de voir d'autres personnes de type de choses et ensuite avoir le curseur de guerres avec eux dans l'éditeur a déjà été fait par Google Wave.Autant que je me souvienne, il s'est retrouvé hors de l'open source ou quelque chose après le projet lui-même a échoué.Il prend soin de tous vos problèmes de mise à jour et est construite sur un sous-jacent au modèle de mise à jour qui est très robuste et solide à partir d'un ordinateur point de vue des sciences.Il fournit de l'histoire et de toutes sortes de choses analogue à un code source du système.

Vous pourriez mettre en œuvre ce que vous voulez comme un montage spécial widget sur le dessus de cela.Si vous faites un bon travail, vous pouvez ressusciter Google Wave comme utile et re dessein collaboratif de la plateforme d'édition.

Sur VS n'importe où, sans doute, pour le temps que vous avez essayé VSA, (Mai), la version du Logiciel est la version Release Candidate 2 (=buggy), de sorte que son normal vous avez trouvé des problèmes avec SVN, l'Intégration, nous avons eu des questions en suspens avec TFS et Git.

Actuellement, les plus récents sur la RC3 certains de ces SVN problèmes a été résolu, nous nous attendons à ce que tout soit prêt pour la version finale bientôt

Il y a une possibilité de lancer votre propre VS n'importe où instance de Serveur dans votre réseau local, de sorte que vous n'avez vraiment pas besoin d'utiliser nos Serveurs, si vous êtes un Étudiant ou vous avez un Projet Open Source, VS n'importe où le Client et le Serveur est Gratuit pour vous, si ce n'est pour un usage commercial, et il y a un petit supplément, vous devez payer.

Comme l'a déclaré Timwi resynchronisation partir hors de codage n'est pas simple et très complexe à mettre en œuvre, nous pensons qu'une SCM est le bon outil pour faire ce travail et c'est parce que nous n'avons pas encore travaillé dans ce sens, notre avis est au moins jusqu'à ce que nous travaillons sur cette zone, vous pouvez utiliser la norme Mec pour tirer derniers changements et de fusionner avec votre copie locale avant de configurer une session

VSA permettra de simplifier le processus pour l'amorçage de l'séances, vous permettant d'1) vérifier les différences de distance Visual Studio copies et 2) le cas échéant, de les fondre dans votre copie locale pour être dans le bon état, juste lors de l'ouverture de la session.("1)" est mis en œuvre "2)" est à venir)

Gestion de Session n'est pas anodin et vraiment complexe des choses, il ya beaucoup de scénarios possibles et c'est parce que nous de nettoyage de la session lors de la finition, cependant, vous pouvez commencer à nouveau la session à tout moment avec un simple clic...

Espérons que cette information vous aide et si vous avez plus de question n'hésitez pas à contacter VS n'importe où à l'aide à toute heure

Si vous souhaitez vous lancer dans un projet, à mettre en œuvre un tel plugin, nous pouvons vous offrir des informations sur la façon de faire les choses, un bon point de départ est de comprendre la Transformation Opérationnelle que vous aurez besoin de cette approche pour mettre en œuvre simultanée de l'édition, aussi, vous aurez besoin d'un P2P ou Client/Serveur de protocole de transfert de données entre les clients.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top