svn ignoriere mehr Änderungen an einer Datei, die von svn gehalten / verfolgt wird [duplizieren]

8

Es gibt Situationen, in denen bestimmte Dateien im Rahmen der Einrichtung der Entwicklungsumgebung mit Standardeinstellungen verteilt werden und diese Dateien in svn eingecheckt werden. Wir möchten jedoch nicht, dass die Benutzer lokale Änderungen an diesen Dateien versehentlich vornehmen.

Gibt es einen Weg in Svn, dies zu tun? Mir ist bewusst, dass svn: ignore bei bereits eingecheckten Dateien nicht funktioniert. Oder gibt es eine andere Vorgehensweise, um die gleichen Ergebnisse zu erzielen?

    
Rag 07.02.2012, 17:37
quelle

4 Antworten

4

Der übliche Ansatz ist es, eine solche Datei komplett wegzulassen (via svn:ignore ) und stattdessen eine Vorlage zu committen. Es wird erwartet, dass der Benutzer die Vorlage kopiert und die Kopie an seine Bedürfnisse anpasst:

Ссылка

  

Ich habe eine Datei in meinem Projekt, die jeder Entwickler ändern muss, aber ich möchte nicht, dass diese lokalen Mods jemals festgeschrieben werden. Wie kann ich 'svn commit' veranlassen, die Datei zu ignorieren?

     

Die Antwort lautet: Stellen Sie diese Datei nicht unter Versionskontrolle. Setzen Sie stattdessen   eine Vorlage der Datei unter Versionskontrolle, etwas wie   "file.tmpl".

     

Dann, nach der anfänglichen 'svn checkout', haben Sie Ihre Benutzer (oder Ihr Build   System) eine normale Betriebssystemkopie der Vorlage in den richtigen Dateinamen   und lassen Sie Benutzer die Kopie anpassen. Die Datei ist nicht versioniert, also wird es   niemals begangen werden. Und wenn Sie möchten, können Sie die Datei hinzufügen   Die Eigenschaft svn: ignore des übergeordneten Verzeichnisses wird nicht als '?'   im Befehl 'svn status'.

    
Álvaro González 07.02.2012, 17:46
quelle
4

Das hängt von dem Client ab, den Sie verwenden. Schildkröte zum Beispiel hat Change-Listen . Sie können Dateien in eine Change-Liste zum Ignorieren von Festschreibungen einfügen. Wenn Sie Ihren Code einchecken, werden sie standardmäßig nicht angekreuzt. Andere Clients wie Smart SVN haben ähnliche Funktionen.

    
DaveShaw 07.02.2012 17:42
quelle
1

Für jeden, der zu diesem Thema kommt, lautet die Antwort hier auf stackoverflow :

svn changelist ignore-on-commit file-you-want-to-add

    
Matt Clarkson 06.03.2013 10:09
quelle
0

Verwenden Sie meinen Pre-Commit-Hook . Sie können bis zu einzelnen Dateiebenen angeben, wer die Berechtigung für bestimmte Dateien hat. Zum Beispiel könnten Sie dies in der Steuerdatei tun:

%Vor%

Nun können die Benutzer Ihre Vorlagendateien nirgends auf Ihrem System ändern (dh wenn sie mit dem Suffix template enden), aber Bob, der schlau und gutaussehend ist, kann das ändern Vorlagedateien bei Bedarf.

Ich habe diesen Vorab-Hook ursprünglich geschrieben, damit Benutzer Tags erstellen, aber nicht ändern können:

%Vor%

Dies ermöglicht allen Benutzern, ein neues Tag zu erstellen, aber niemand darf Änderungen an einem Tag festschreiben, nachdem es erstellt wurde.

    
David W. 07.02.2012 21:11
quelle

Tags und Links