Zugriff verweigert schreiben zu VS-Projekt .suo beim Versuch, Zusammenführen von Zweigen mit TFS & GIT

Ich versuche zum Zusammenführen von einer branch mit dem master. Branchenstruktur:

master
    v0.43

Meine wichtigen änderungen in v0.43. Nach einem commit in v0.43 ich Versuch zu verschmelzen v0.43 zu meistern. Ich erhalte die folgende Fehlermeldung:

Ist ein Fehler aufgetreten. Detaillierte Meldung: Ein Fehler wurde ausgelöst durch libgit2.
Kategorie = Ungültig (Fehler). Kann nicht geöffnet werden
'C:/Users/Me/Source/Repos/MyüProject XXX/MyüProject XXX/XXX XXX
X. v12.suo' für das schreiben: Zugriff verweigert.

Es gibt keine zusätzlichen Informationen in den Ausgabe-Bereich.

Ich habe auch die obige Fehlermeldung, wenn Sie einfach versuchen, zu ändern aus der v0.43 Zweig in den master-Zweig. Im Grunde bin ich stecken in der v0.43 Zweig.

Bitte beachten Sie, dass die "X"s obskuren alpha-Zeichen im eigentlichen Namen für das Projekt. Die Räume gültig? Ist ü gültig? Wenn die Ordner-und Dateinamen gültig sind, und der Besondere Charakter gültig ist, warum ist der Zugriff Verweigert? Oder sollte das Zusammenführen müssen, um Zugriff auf diese Datei überhaupt?

Ich verstehen, es ist ein Visual Studio-Benutzer-Einstellungen-Datei. Ich bin mir ziemlich sicher, dass es nicht in der GIT-repository - aber ich habe nur überprüft, mit:

git ls-files *.suo

Keine Dateien zurückgegeben werden.

Tritt das problem haben nichts zu tun mit einem Konflikt in die Anmeldeinformationen zwischen TFS/GIT und Einstellungen in Visual Studio oder Windows? Btw, ich arbeite mit VS 2013.2 auf Win 8.1.

Ich nicht feststellen kann, ob der GIT branch merge wirklich braucht Zugriff auf die VS-Benutzer-Einstellungen-Datei (.suo), oder wenn diese Datei gar nicht zugegriffen werden muss. Wenn es erfordert, Zugang, was könnte ich versuchen zu machen, was passiert? Wenn dieser Zugriff nicht notwendig ist, warum nicht versuchen?

BEARBEITEN - Zusätzliche Info

Ich bin neu in TFS/GIT. Es ist eine Menge zu absorbieren. Wenn ich zuerst einrichten der repositories (lokal und TFS auf visualstudio.com) der Standard .gitignore nicht erstellt, aus irgendeinem Grund anscheinend in meinem lokalen repository? Ich weiß es nicht, aber während ich änderungen an meinem Projekt und dann Verpflichtet wurde ich die Dinge zu sehen, zeigt sich in "Ausgeschlossen" und "Nicht". Grün GIT/TFS, ich mit der rechten Maustaste und diese Ausgeschlossen/Nicht verfolgte Dateien. Ich weiß jetzt, das war falsch.

Ich glaube, ich habe erholte sich von dem oben genannten problem. Zunächst implementierte ich einen Standard .gitignore, die speziell ignoriert /bin und /obj. Dann entfernte ich alles, was in diesen zwei Ordnern (über VS Projektmappen-Explorer). Kommen Sie nicht zurück, als Eingeschlossen, Ausgeschlossen oder Nicht. Diese Feste ein Problem.

Nächste Problem war, dass ich sah, das Projekt .suo enthalten in der v0.43 Zweig. Ich sah, dass es sein sollte, ignoriert in der Standardeinstellung .gitignore (*.suo) und so musste ich entfernen Sie Sie aus dem v0.43 Zweig, aber es war nicht so einfach, wie das löschen unbenutzter Dateien. Ich habe es aus der Kommandozeile mit:

War ich in der Lage, um zu sehen, dass die .suo existiert mit:

git ls-files *.suo

Habe ich es entfernt mit:

git rm --cached "*.suo"
git commit -m "Delete *.suo file from repository"

... und ich war/bin in der Lage zu bestätigen, entfernt wurde, indem Sie die gleichen ls-Befehl " Dateien. Es nicht mehr zeigt, bis in die v0.43 Zweig. Ich machte den commit und sync würde mit TFS. Jetzt bin ich immer den oben aufgeführten Fehler - Zugriff Verweigert, um die .suo immer wenn ich versuche zu verschmelzen v0.43 master-oder sogar der Wechsel auf master-Zweig.

Vielleicht ist es der master-branch, den ich versuche zu wechseln ZU, der versucht, Zugriff auf die .suo Datei?

Wenn das der Fall ist, bin ich Total ratlos, wie diese zu lösen. Ich nehme an, es ist möglich, dass die .suo bekam bekennt sich zu den master-Zweig irgendwann... aber ich weiß nicht, wie man sicher auf dem master-branch entfernen .suo von der es, wie ich auf v0.43 Zweig.

Ich hoffe das macht alles Sinn. :S

  • "2013.2" bedeutet Visual Studio 2013 mit update 2? Irgendeinem Grund noch nicht aktualisiert, update 3 oder 4?
  • Ich bin an einem kritischen Punkt in diesem Projekt und können es sich nicht leisten (oder erklären), keine Ausfallzeiten. Gibt es etwas, was in 3 oder 4, befasst sich mit dem problem, das ich habe?
  • Meines Wissens nicht, aber wenn Sie wurden mit Microsoft Kontakt aufnehmen, danach zu Fragen, dies wäre Ihre erste Vorschlag. Ich sehe nicht ein, warum der merge sollte, benötigen Schreibzugriff auf diese Datei, so wie Sie sagen, so lange wie keiner der Zweige diese Datei verpflichtet. Ich nehme an, Sie haben überprüft, dies insbesondere, dass die Dateien, die nicht Teil einer änderungsmenge? Leicht zu überprüfen, einfach den Klon in ein leeres Verzeichnis und aktualisieren Sie auf die Leiter der einzelnen Branchen. Wenn die Datei angezeigt wird, das könnte erklären, warum, Sie sind immer das problem.
  • Ich habe nicht sehr viel Erfahrung mit GIT noch nicht. Erstellen von Klonen, zu aktualisieren, um den Kopf von jedem Zweig... ich habe keine Ahnung, wie das verwalten dieser änderungen, oder ob ich besorgt sein müssen, mit Ihnen. v0.43 enthält wichtige code/änderungen. Ich aktualisiert meine Frage, einige der Geschichte. Ich bin mir nicht sicher, ob es wird sich ändern Sie Ihre Empfehlung oder nicht.
  • Nach der Lösung dieses Problems (oder zu arbeiten) und nachdem man aus der aktuellen Zeit crunch, sollten Sie zu einer Priorität machen, um zu erfahren, git und seine Werkzeuge. Die Fähigkeit zu Experimentieren und Sie zu Klonen und Herumspielen in einen temporären Ordner, ist eines der Dinge, dass macht DVCS' so toll.
  • Das update zeigt, dass die .suo-Datei begangen wurde, in eine oder beide der Zweige, und ja, ich glaube, dass würde das problem verursachen, das Sie bekommen. JEDOCH, indem es aus dem repository, wer in Ihrem team, dass updates zu einer revision nach wird dies möglicherweise verlieren Ihre lokalen Einstellungen (das .suo-Datei), da es möglicherweise gelöscht werden lokal beim updaten. Deshalb ist es wichtig, um sicherzustellen, dass diese persönlichen Dateien sind nicht verpflichtet, in den ersten Platz.
  • Es wurden noch nicht alle anderen beteiligten noch. Dieses setup war gedacht als test-pilot, der schien gut zu laufen. Ich denke, was Sie sein könnte mir zu sagen ist, dass GIT versucht zu entfernen .suo aus meinem Projekt-Ordner jetzt? Ich kann verstehen, warum der Fehler aufgetreten ist. Und JA, ich weiß, ich muss ein besseres Verständnis von GIT/TFS-und GIT-command-line-Optionen. Ich vermute, aber ist eine Lösung, die irgendwie zu entfernen .suo von der master-wie auch? Oder verschieben Sie die .suo in meinem Projekt-Ordner an einen sicheren Ort, dann tun Sie das Zusammenführen oder wechseln? Vielen Dank für Ihre Kommentare.
  • Wenn an irgendeinem Punkt in der Zeit, nachdem diese aktualisieren Sie zuerst überarbeitet werden, bevor Sie gelöscht .suo-Datei, wird die lokale Datei wird überschrieben, mit dem sich im repository. Wenn Sie nach dieser, dann aktualisieren Sie Sie zurück zu einer revision, nachdem Sie gelöscht .suo-Datei, wird es wieder gelöscht werden. Es wird nicht dazu führen, viel Probleme obwohl, es gibt nicht viele wichtige Einstellungen gespeichert haben, es werden Dinge wie, welche Datei Sie geöffnet, hatten Letzte Zeit etc.
  • Ehrlich gesagt, ich war nicht bereit für GIT und sollte nicht erst begonnen mit der TFS-repository, wenn ich das Tat. Ich war angestachelt, obwohl, und hatte nicht das Gefühl, ich hatte viel Auswahl. An diesem Punkt bin ich sehr glücklich mit dem code in der v0.43 Zweig. Ich möchte das Projekt löschen auf visualstudio.com mit meinem lokalen repository ' s v0.43 zu schieben, als ein brandneues master auf visualstudio.com. Mit dem Endergebnis, dass die current-Zweig von v0.43 wird die remote-und lokalen master-branch.
  • Er konnte nur tun, eine filter-branch zu entfernen .suo-Datei, aus der Geschichte, dann fügen Sie es zu sein .gitignore, so dass es nicht wieder auftauchen.
  • Würde das nicht beinhalten, umschreiben seinem repository, ändern sich die hashes, etc.? Könnte möglich sein, für ihn zu sehen, denn er ist der einzige Entwickler sind allerdings.
  • Ich war in der Lage, in den master branch von der Befehlszeile aus. Ich habe dann ein rm --cached *.suo und engagiert. Dies ermöglicht mir, zu wechseln, um den master-branch in VS jetzt! 😉

InformationsquelleAutor rwkiii | 2014-11-15
Schreibe einen Kommentar