Umbenannte Dateien automatisch erkennen
posted by Steve Losh on September 30, 2009
Der Befehl hg addremove ist praktisch wenn Sie mehrere Dateien von Hand
verschieben. Sie können zum Verschieben jedes beliebige Werkzeug nutzen
(Finder, Windows Explorer, die Kommandozeile, usw.). Rufen Sie am Ende einfach
hg addremove auf um Mercurial zu sagen dass es selber herausfinden soll,
was Sie geändert haben.
Eine wenig bekannte Möglichkeit von hg addremove ist die Erkennung von
umbenannten Dateien statt einem löschen und hinzufügen. Wird das umbenennen
gespeichert, kann Mercurial später einfacher mergen.
Um Mercurial nach unebannten Dateien suchen zu lassen, müssen Sie die Option
--similarity bei hg addremove angeben:
$ hg addremove --similarity 100
Die Zahl ist ein Prozentwert. In diesem Beispiel wird Mercurial nur dann eine Datei als umbenannt ansehen, wenn die neue Datei zu 100% identisch ist mit der die entfernt wurde.
Eine tieferer Wert erkennt auch Umbenennungen die eine Änderung beinhalten. Allerdings erhöht dies das Risiko einer falschen Zuordnung. Gewöhnen Sie sich an, die Strukturänderungen einzuchecken und erst danach den Inhalt der Dateien zu verändern.
Wenn Sie dies häufig benutzen, können Sie --similarity 100 als Standartwert
in der [Datei ~/.hgrc(/tips/beginner/2009-09-30-configuring-mercurial/) durch diese Ergänzung hinterlegen:
[defaults]
addremove = --similarity 100
Seien Sie vorsichtig. Diese Einstellung beeinflusst jeden Aufruf dieses Befehls, auch wenn Sie diesen in einem Script aufrufen!