git erkennt die Umbenennung nicht

Einem Zweig (refactoringBranch) hatte ein komplettes Verzeichnis der Umstrukturierung. Dateien verschoben wurden, chaosly, aber der Inhalt wurde beibehalten.

Ich habe versucht, zu fusionieren:
git merge --no-ff -Xrename-threshold=15 -Xpatience -Xignore-space-change refactoringBranch

git status zeigt etwa die Hälfte der Dateien umbenennen Anerkennung. Aber aus 10000 Dateien in das Projekt, die Hälfte war nicht erkannt als bewegt.

Ein Beispiel wäre:

# On branch master
# Changes to be committed:

#   deleted:    404.php
#   new file:   public_html/404.php
    ...
#   deleted:    AnotherFile.php
#   new file:   public_html/AnotherFile.php
    ...
#   renamed:    contracts/css/view.css -> public_html/contracts/css/view.css

Vorschläge?


Vorgeschichte

Die Umgestaltung vorgenommen wurde, außerhalb des git. Ich habe die folgenden:

  1. Erstellt die refactoringBranch Ursprung auf master.
  2. Sank der veränderten Struktur innerhalb der refactoringBranch, das heißt, ich hatte meine änderungen in einige andere dir einfach kopieren-einfügen, die Sie über mein git-repository.
  3. Hinzugefügt und verpflichtet alles und dann versucht zu verbinden.

Dies ist war mein workflow:

git checkout -b refactoringBranch
cp -R other/place/* ./
git add . -A
git commit -a -m "blabla"
git checkout master
git merge --no-ff -Xrename-threshold=15 -Xpatience -Xignore-space-change refactoringBranch

Das problem entstehen, auf die git add . -A Schritt wahrscheinlich.
Denn wenn umbenennen Detektion richtig war es, ich würde davon ausgehen, das mischen würde gehen einwandfrei.

Kommentar zu dem Problem - Öffnen
Ich habe mit einem externen tool, ist die ähnlichkeit zwischen 404.php in master und public_html/404.php auf refactoringBranch, erschienen auf 95.37%. Kommentarautor: Alex
Welche externen tool war das? Haben Sie getestet, verschiedene umbenennen Schwellenwerte mit so etwas wie git diff -M90% --stat master refactoringBranch (der Versuch mit verschiedenen Werten statt 90%)? Kommentarautor: John Bartholomew
Das Werkzeug wurde in php.net/similar_text. In meiner merge-Befehl, den ich bin mit Schwelle so niedrig wie 15 Prozent. Ich würde erwarten, dass es zu übergeben. Kommentarautor: Alex
Dieser workflow schlägt vor, dass der Meister wird auch der merge-base. Ist das richtig? Kommentarautor: John Bartholomew
lassen Sie uns weiter, diese Diskussion im chat Kommentarautor: John Bartholomew

InformationsquelleAutor der Frage Alex | 2012-12-10

Schreibe einen Kommentar