Leider tun dies alte svn Clients einfach, und alle Tools, die auf diesen alten Versionen von svn basieren, sind ebenfalls kaputt. Die einzige Möglichkeit zum Beheben dieses Problems besteht darin, die erstellten svn: mergeinfo-Einträge vor dem Festschreiben zu löschen. Da die meisten Menschen nicht bewusst sind, dass sie erstellt werden, dann ist die einzige reale Möglichkeit, dass zur Durchsetzung ist ein pre-commit Haken, oder einfach nur tun einfach:
svn propdel --recursive svn:mergeinfo $ROOT/*
sie ab und zu zu reinigen. Seien Sie vorsichtig, wenn Sie dies tun, da dies jede Aufzeichnung von Teilverschmelzungen zerstört, die Sie getan haben, also sollten Sie das wirklich nur tun, wenn Sie wirklich keine Teilverschmelzungen machen. Der Fragesteller tut es nicht und tut es auch nicht in unserer Umgebung.
Das Problem ist in den neueren SVN-Clients behoben, so dass das Problem langsam aussterben sollte, aber das könnte einige Zeit dauern, bevor alle Tools in Ihrem Workflow ersetzt werden.
Basierend auf einer anderen Antwort auf diese Frage, eine kurze Erklärung dessen, was das Problem verursacht. Wenn Sie eine Arbeitskopie verschieben oder löschen Svn-Clients älter als 1.5.5 erstellt einen falschen svn: mergeinfo-Eintrag. Dies ist resolved in svn 1.5.5.
Können Sie das Hook-Skript teilen? –
@WinstonSmith - Ich arbeite nicht mehr in der gleichen Firma, also habe ich keinen Zugriff auf den Haken. Wenn es dir wirklich wichtig ist, kann ich versuchen und fragen, aber es sollte sehr trivial sein, es zu implementieren (wenn nicht, frag einfach hier eine Frage, wie es geht). – ripper234