2014-02-06 4 views
5

Das Android Open Source veröffentlicht regelmäßig eine Liste von API-Unterschieden zwischen API-Levels. Hier sind einige Beispiele von developer.android.com:Wie automatisch Diff zwischen API-Versionen generieren?

Difference between API Level 18 and 19

Difference between API Level 14 and 15

Das sieht aus wie es war irgendwie automatisch generiert.

Ich möchte ein ähnliches Tool verwenden, damit ich Unterschiede zwischen API-Versionen meines eigenen Quellcodes verfolgen kann.

Welches Werkzeug kann das für mich tun?

+0

Sehen Sie sich dieses Skript an: https://groups.google.com/forum/#!msg/android-building/0DtsHawjs4k/And8o3Dni_UJ – Yury

Antwort

0

Ich rate, aber es ist sehr wahrscheinlich, dass Sie in Javadoc Generation Tools suchen. Ich habe sie nicht viel über die Grundlagen hinaus verwendet, aber es ist wahrscheinlich einer von denen, die die Art von Dokumenten erstellen, nach denen Sie suchen, vielleicht in Verbindung mit einer Versionskontrolle, um nur partielle Javadocs zu erzeugen.

Ich wiederhole, ich bin mir nicht sicher über alles, was ich gerade gesagt habe, ich biete das nur an, falls es Ihnen hilft, oder andere Besucher in die richtige Richtung zu sehen, da Sie keine anderen Antworten haben.

Wenn dies nicht der Fall ist und Sie sich nicht darum bemühen, die Ergebnisse selbst zu analysieren, oder verwenden Sie die Git/Versionskontrolle, wenn Sie nur die Ergebnisse selbst sehen möchten?

Git kann Ihnen helfen, Teil weg zu bekommen, Git Diff hat eine Menge Flexibilität, um Ihnen zu zeigen, was sich geändert hat. Das folgende würde wahrscheinlich das, was Sie zunächst wollen (wo patchfirstcommit und patchlastcommit sollten die Kennungen für den Bereich verpflichtet Sie interessiert sind)

git diff --name-summary patchlastcommit patchfirstcommit 

(Sie können die Liste der Commits mit diesem sehen :)

git reflog 

Sie könnten dann die Ergebnisse analysieren, wie Sie für richtig halten.

+0

Ich glaube, Sie meinten git log, um die Liste der Commits anzuzeigen. git reflog ist etwas ganz anderes –

+0

git reflog gibt Ihnen sowohl die Commit-ID und die Kopf-Version, die die beiden Informationen sind, die mit dem diff verwendet werden können. git log gibt nur Nachrichten und riesige Hashes, die niemand für einen diff-Befehl eingeben möchte. Auch wenn Sie nicht falsch lagen, fügt Ihr Kommentar nichts hinzu –

+0

Entschuldigung, ich dachte, Sie haben einen Tippfehler gemacht. Wenn ich wüsste, dass du nur falsch liegst, wäre ich etwas wortreicher. "Git Relog" ist eine lokale Geschichte der Commits, auf die dein HEAD zeigte. Wenn Sie nur den Repo geklont haben, enthält dieser nur einen Eintrag mit HEAD. Hier ist die Begriffsklärung: http://stackoverflow.com/questions/17857723/whats-the-difference-between-git-reflog-and-log. Mein Kommentar weist nur auf einen Fehler in Ihrer Antwort hin. Es ist nichts Persönliches. Versuchen Sie auch 'log --graph --decorate --pretty = oneline --abbrev-commit', um eine schöne Protokollausgabe mit kurzen Commit-Hashes zu erhalten, die Sie erneut eingeben (oder sogar kopieren) können. –