Wie kann die Einrichtung einer gemeinsamen Arbeitsgruppe Kopie in Subversion
Ich noch sehr neu mit Subversion.
Ist es möglich, eine Arbeitskopie, die auf einem Netzwerk-share (c:\svn\projects\website), dass jeder (in diesem Fall 3 verwenden) können checkout und commit-Dateien? Wir brauchen nicht einen server zu bauen, weil es ist eine asp-Website und die Designer verwendet werden, um sofort Ergebnisse, wenn Sie eine Datei speichern. Ich könnte versuchen und zeigen Ihnen, wie Sie lokal auf Ihren Computern, aber wenn wir könnten, teilen Sie einfach Ihre Dateien auf dem Entwicklungs-server und haben immer noch die Fähigkeit zu Begehen, wenn jemand fertig ist, das wäre ideal.
Eine einfache Lösung wäre für uns alle verwenden die gleichen subversion-Benutzernamen und das würde zumindest mir erlauben, Dateien unter Versionskontrolle.
Aber ist es möglich an der Kasse einen Ordner aus dem svn-Respository heruntergeladen, aber immer noch verlangen, dass jeder person, die sich mit Ihrem user/pass zu Begehen?
EDIT: ich versuche es mit unserem aktuellen Arbeitsablauf, die Bearbeitung der LIVE-version von einer Website mit Frontpage-Erweiterungen oder FTP. Und verschieben es etwas BESSER. In diesem Fall ist eine Kopie der live-Website auf einem Entwicklungs-server-setup, dass ich an dem Spiegel die live-server, entfernen Sie die frontpage-Erweiterungen zugreifen. Dann die Designer immer noch die gleiche Wirkung der instant-Befriedigung, aber ich haben keine sorgen zu machen, Sie Bearbeiten die live-Dateien. Sogar mit einem gemeinsamen user/pass in subversion ist immer noch version control. Es kann nicht ideal sein und wenn die Designer waren eigentlich Programmierer würde ich versuchen, Sie vollständig an Bord, aber das ist einfach nicht der Fall. Dies ist die beste, die ich in diesem Fall tun und vermeiden Sie eine große Lernkurve und Arbeitsunterbrechung.
- Ich verstehe nicht, warum Sie halten modding die Frage unten? Es ist nichts falsch mit der Frage, und es ist ein gültiges argument, auch wenn es passt nicht mit jedermanns Vorstellung davon, wie es funktionieren SOLLTE.
- Dank Kaa! bitte abstimmen,auch eine Stimme hilft. Sie Stimmen ab, weil das, was ich will zu tun, ist nicht "normal" in Ihren Blick. scheint wie eine Menge Leute vergessen, Sie haben ein Gehirn und haben nicht zu bleiben nur das, was in einem Buch gefunden, die ich haben btw und, meist gelesen. nochmals vielen Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meiner Erfahrung nach ist es ganz gut funktionieren out of the box. In meiner Firma hatten wir in diesem setup für eine Reihe von Jahren und keine Probleme erlebt (außerhalb der offensichtlichen gemeinsamer Arbeitskopie).
Allerdings sollten Sie schauen, in getrennte Arbeitskopien und ein trigger - (Haken), dass Aktualisierungen der freigegebenen Speicherort begeht, wenn Sie eine "live" version der Website.
Können Sie nicht Auschecken einer Arbeitskopie, einem Arbeitskopie ist der Begriff verwendet für code, der bereits ausgecheckt wurde. Wenn Sie sich Fragen, mehrere Entwickler, arbeiten mit der gleichen Menge von Dateien zur gleichen Zeit, dann Sie ernsthaft untergräbt eine der wichtigsten Verwendungen der mit einem version control system, die zulassen, dass Ihre Entwickler änderungen vornehmen, die unabhängig voneinander, ohne zu brechen Dinge für jemand anderes.
Sagte, dass, wenn Sie wirklich wollen, dies zu tun, kann. Mit einem Linux-server, den Weg zu gehen, ist zu haben, die jeder Benutzer mit einer anderen ssh-Benutzer-Agenten (für windows-Maschinen verwenden wir Pagent) mit einem anderen ssh-Identität für jeden Benutzer. Dann haben die svn-server erkennt den ssh-Tunnel von anderen Identitäten als von anderen Nutzern. Leider weiß ich nicht wie man einstellt, dass bis in Windows.
Müssen Sie die Verwendung von svnserve (leichte SVN-server, das kommt bei SVN) oder apache-mod.
Mit ihm können Sie konfigurieren von Berechtigungen wie diese:
Ich weiß, dies ist ein Alter thread, aber ich fand es, weil ich versuche, das gleiche zu tun.
Ich glaube nicht, dass dieses problem gelöst werden kann mit subversion, obwohl ich habe versucht bei vielen Gelegenheiten, und ich denke, die Notwendigkeit ist vollkommen legitim.
Den use-case, der kommt immer wieder für uns ist die komplizierte Konfiguration-Dateien, die beibehalten werden, außerhalb der Anwendung.
Ein gutes Beispiel wäre der apache httpd.conf-Dateien. Sie sind kompliziert und wir möchten, dass änderungen an den Dateien. Wir wollen nicht, dass jeder "Stamm", weil dann können wir nicht nachvollziehen, wer was gemacht hat.
Mercurial kann dies tun:
Mercurial Mehrere Committer
Arbeitskopien bedeutet für den einzelnen Benutzer, seine eigene. Und die Depots werden freigegeben. Nur die person, die ausgecheckt das WC können änderungen von it.
Vielleicht kann man sich auf etwas anderes als subversion, wenn Sie nicht möchten, dass ein server, wie ein verteiltes VCS (Bzr, git und mercurial sind sehr beliebt in diesen Tagen), oder Sie sollten Blick auf subversion-hosting-services.
Teilen sich eine einzige Arbeitskopie ist nicht zu empfehlen. Wirklich Niederlagen der Zweck der Versionskontrolle. Bitte tun Sie das nicht.
Sie gemeint sind, haben Ihre SVN-repository, und jeder Benutzer (mit Ihrem eigenen Benutzernamen und Passwort, um Zugriff auf das SVN-repository) sollte prüfen, Ihre eigenen arbeiten zu kopieren.
Ist es möglich, dies zu tun auf einem einzigen PC (ist das Ihr problem, PCs mit mehreren Entwicklern zu teilen?) durch verschiedene PC-Benutzer Konten, und die Menschen schauen in Ihre eigenen Konto, oder sogar, indem Sie ein PC-Benutzerkonto und die Leute Auschecken in ein anderes Arbeitsverzeichnis. Ich glaube nicht, dass diese besonders gepflegt oder nett, und, wenn sich ein Unternehmen nicht leisten können, eine PC-pro-Entwickler in diesen Tagen, dann ist es kaum zu arbeiten lohnt!
Empfehle ich:
Jeder Mitarbeiter hat seine eigene Arbeitskopie auf Ihrem eigenen PC.
Sollte es ein ANT oder Maven oder ähnliches build-Skript, mit dem ein Entwickler erstellen und bereitstellen von Ihrer Arbeitskopie auf die Entwicklung von web-server, so dass Sie sehen können, wie es ist. Dies könnte einfach wie "kopieren von Dateien auf diesem freigegebenen Speicherort".
Als jeder Mitarbeiter hat Ihre eigenen SVN-Benutzername - /Passwort-Sie können sehen, wer welche änderung, und Schloss die Leute aus, wenn Sie das Unternehmen verlassen.
Könnte dies einen Prozess erstellen, der designer hat zu Folgen, anstatt die Anarchie haben Sie derzeit, aber, wenn es nimmt jeden von Ihnen mehr als einen halben Tag zu Holen SVN ist und wie man ein build-Skript bereitstellen, um die Entwicklung web-server hast, dann hast du größere Probleme.
Ich denke, Sie verkaufen Ihr team kurz. Nicht-devs kann leicht zu lernen, SVN, vor allem mit so etwas wie tortoise. Wenn Sie gehen durch die Mühe der Einrichtung SVN, dann gib einfach jedem einen eigenen login und lasst Sie arbeiten, auf Ihre eigenen lokalen Arbeitskopie. Eine schnelle und schmutzige CruiseControl automatisierten build zu ziehen aus dem SVN erstellen der staging-Website-content. Es ist nur ein wenig mehr Arbeit und das Ergebnis wird so viel schöner.
Ich weiß, das ist eine alte Frage/wiki, aber eine Lösung, die mir eingefallen ist, ist wie folgt.
Das problem könnte formuliert werden wie folgt: Wie können wir eine echte source-control-system (wie SVN), und immer noch erlauben, die nicht-Konstrukteure zu genießen den gleichen speichern-Vorschau-speichern-Vorschau-Zyklus, dass Sie gekommen sind, kennen und lieben?
Punkte:
Um zu erkennen, die den vollen nutzen von SVN, muss jeder Benutzer haben Ihre eigenen arbeiten zu kopieren. Das ist einfach so wie es ist.
Wenn Sie haben noch classic ASP (KEIN .NET) in Ihre app ein leichtes lokalen server wie Cassini wird den job nicht machen.
Wäre es vorzuziehen, für die der Benutzer nicht haben, zu installieren oder zu lernen, einen SVN-client wie die (zugegebenermaßen einfache) Schildkröte.
Mein Ansatz:
Erstellen einer branch in SVN für jeden Benutzer
Auf jedem client bieten ein zugeordnetes Laufwerk, um eine user-spezifische Verzeichnis auf dem dev-server. Sie verwenden FrontPage, Ausdruck -, SharePoint-designer oder was auch immer, um Ihre änderungen hier.
In IIS auf dem dev-server, erstellen Sie einen Benutzer-spezifischen website (z.B.
alice.www.mysite.com
oderbob.www.mysite.com
) mit einer Benutzer-spezifischen host-header. Sie wird sich durchsuchen Sie die Website über diese URL um zu sehen, Ihre änderungen. Dies ermöglicht auch Ihnen zu zeigen, Ihre änderungen anderen vor der Zusammenführung in den Kofferraum.Verwenden CruiseControl.NET bieten Aufgaben check-out, update, add und commit die änderungen für jeden Benutzer, der ast. Herauszufinden, wie man diese so, dass jeder Benutzer nur Ihre eigenen Aufgaben.
Verwenden CruiseControl.NET erstellen Sie eine Aufgabe, die zusammengezogen werden Ihre änderungen in der Stamm
Verwenden CruiseControl.NET erstellen Sie eine Aufgabe, die ein update der real-Website dev (dev.www.mysite.com) mit den zusammengeführten änderungen. Diese Website zeigt jeder Arbeit kombiniert, und es wirkt wie eine Inszenierung-und debugging-Umgebung. Wenn Sie eine WAP -, möchten Sie diese task-trigger ein zu bauen, wie gut.
Klingt wie eine Menge von Schritten, aber es ist wirklich ziemlich einfach. Erstellen Sie Zweige, Laufwerke, einrichten neuer IIS-Websites und lassen Sie Sie gehen crazy.
Unter dem cover, das ist genau das gleiche, wie Ihnen einen lokalen IIS installieren und lassen Sie Sie Begehen Ihre änderungen mit SVN, wenn nötig, nur als Entwickler tun. Der Unterschied ist, dass Ihre Arbeitskopie auf einem server, IIS/Cassini nicht haben, um auf Ihr Feld, und Sie verwenden ein web-interface zum ausführen von SVN Aktionen wie commit, update, etc.
Glück!