2012-04-03 13 views
4

Als Mensch sieht es so aus, als ob ich so wenig über die Werkzeuge weiß, die ich jeden Tag benutze.Wie man herausfinden kann, ob/wann eine Github-Zusammenführungs-Anfrage als Edelstein veröffentlicht wurde

Ich habe einen Fehler in den Schienen gefunden, entdeckt, dass er bereits gepatcht wurde, und es scheint in den Versionen zu sein, die ich zurzeit benötige (3.2.3).

Hier ist sie: https://github.com/rails/rails/pull/5168

Wie würde ich wissen, ob ein auf Master begehen würde in ein Juwel verpackt worden sind?

Antwort

0

Ich glaube nicht, dass es irgendeinen Weg zu erzählen gibt. Sie können einen Blick auf die tags für das Projekt werfen, und das wird Ihnen sagen, wenn neue Versionen von Schienen veröffentlicht werden. Jedes Tag ist für ein bestimmtes Commit gedacht. Wenn diese Festschreibung nach dem Zusammenführen des Patches erfolgte, ist das Patch höchstwahrscheinlich in dieser Version von Rails enthalten.

Sie könnten auch die Quelle der neuesten Juwel Datei anzuzeigen und sehen, ob der Patch da drin ist:

gem install rails 
gem unpack rails 
cd rails-[VERSION] 
+0

Guter Vorschlag, aber wenn ich 'Gem entpacke Schienen' erzeugt es ein leeres Verzeichnis ... Das Auspacken anderer Edelsteine ​​als Schienen scheint zu funktionieren (würde erklären, warum Schienen Dosent in meinen externen Rubyline-Bibliotheken zeigen). Verwenden von RVM. Getestet auf mehreren Maschinen ... irgendwie ahnungslos. – Thierry

+0

Imploding und Neuinstallation von Rvm behoben meine Edelstein Probleme. Da für die Frage nichts anderes gefunden wurde als Browsercode zu entdecken, wurde dieser noch nicht in einen stabilen Zweig zusammengeführt. – Thierry

0

In Bündler können Sie ein Juwel definieren, die noch nicht freigegeben, sondern leben auf jedem git Repo , z.B

gem 'hadoop-csv', :git => 'git://github.com/apohllo/hadoop-csv.git' 

Sie können auch eine Verzweigung, ein Tag oder sogar ein Commit angeben. Das funktioniert in solchen Situationen sehr gut.

+0

Danke für die Mühe, aber Ihre Antwort stimmte nicht mit der Frage überein :) – Thierry

+0

Ja, das ist richtig :) Vielleicht sollte ich es als Kommentar zur akzeptierten Frage platzieren - das ist nur die Lösung für das Fehlen des erwarteten Mechanismus in Rubygems/Github. –

2

Wenn das Projekt hat gute Tags (und Schienen der Fall ist), können Sie name-rev verwenden „die den Namen auf einem beliebigen Tag auf Basis verpflichten geben sie einem den Nachkommen zeigen Funde commit von“ (von http://schacon.github.com/git/user-manual.html#finding-tagged-descendants)

zum Beispiel für das Commit Sie suchen, ist 404b73bce1f9347ca05b1496db8fc64438d66bd2, so können Sie versuchen:

$ git name-rev --tags 404b73bce1f9347ca05b1496db8fc64438d66bd2 
404b73bce1f9347ca05b1496db8fc64438d66bd2 undefined 

das sagt mir, dass (zum Zeitpunkt des Schreibens dieses Artikels) kein Tag ist, die 404b73bce1f9347ca05b1496db8fc64438d66bd2 enthält, und ich gehe davon aus, dass Wenn es nicht markiert ist, wurde es nicht veröffentlicht.

jedoch für ein anderes Beispiel, wenn ich eine Festschreibung verwenden, dass ich weiß es in einer Veröffentlichung ist, zeigt es, dass es unter dem V3.2.3-Tag ist:

$ git name-rev --tags 45d6cd94b3ef2ec77166def41f29188445b35608 
45d6cd94b3ef2ec77166def41f29188445b35608 tags/v3.2.3^0 

Weitere Möglichkeiten, wenn ein finden commit wurde veröffentlicht, check out http://schacon.github.com/git/user-manual.html#finding-tagged-descendants.

Verwandte Themen