Sie können ein externes CRAN-ähnliches Repository mit den Quell-Tarballs der Pakete und deren Versionen, die Sie für Ihr Projekt verfügbar haben möchten, festlegen. Das Standardverhalten ist jedoch, dass Sie als nächstes auf CRAN schauen, wie Sie in Ihrer Frage angegeben haben. Schauen Sie sich die Datei packrat.lock an. Sie werden sehen, dass für jedes Paket, das Sie in packrat verwenden, eine Option mit dem Namen source: CRAN
vorhanden ist (wenn Sie die Datei von CRAN heruntergeladen haben).
Wenn Sie eine lokal Paketquelldatei gespeichert, die folgenden der Inhalt der Aussperrung für die Verpackung ändern:
Package: FooPackage Source: source Version: 0.4-4 Hash: 44foo4036fb68e9foo9027048d28 SourcePath: /Users/MyName/Documents/code/myrepo/RNetica
ich ein wenig unklar, auf Ihre letzte Frage bin: What files should I include in my git repo as a minimum (e.g., packrat.lock)?
Aber ich Ich werde das als a) Kombination der Dateien nehmen, die vorhanden sein sollten, damit Packrat läuft, und b) welche dieser Dateien dem git-repo übergeben werden sollten. Um die erste Frage zu beantworten, illustriere ich mit der Initialisierung von packrat auf einem bestehenden R-Projekt.
Wenn Sie packrat::init()
laufen, zwei wichtige Dinge geschehen (unter anderem): 1. All packrat Gerüste, einschließlich Quellpakete usw. werden erstellt unter: PackageName/packrat/
. 2. packrat/lib*/
wird zu Ihrer .gitignore-Datei hinzugefügt.
Also von diesem können wir sehen, dass nichts unter packrat/lib*/
nicht zu Ihrem git-Repo verpflichtet werden muss. Dies lässt die folgenden drei Dateien begangen werden:
packrat/init.R
packrat/packrat.lock
packrat/packrat.opts
packrat.lock
für die Zusammenarbeit mit anderen durch ein Versionskontrollsystem erforderlich ist; Es hilft, Ihre privaten Bibliotheken synchron zu halten. packrat.opts
können Sie verschiedene projektspezifische Optionen für packrat angeben. Die Datei wird automatisch mit get_opts
und set_opts
generiert. Durch die Übergabe dieser Datei an den Git-Repo wird sichergestellt, dass alle von Ihnen angegebenen Optionen für alle Mitarbeiter beibehalten werden. Eine endgültige Datei, die dem Repo übergeben werden soll, lautet .Rprofile
. Diese Datei weist R an, die private Paketbibliothek zu verwenden (wenn R aus dem Projektverzeichnis gestartet wird).
Je nach Ihren Anforderungen können Sie die Quell-Teer-Bälle in das Repository übertragen oder nicht. Wenn Sie nicht möchten, dass sie in Ihrem Git-Repo verfügbar sind, fügen Sie einfach packrat/src/
zum .gitignore hinzu. Dies bedeutet jedoch, dass jeder, der auf git-repo zugreift, keinen Zugriff auf den Quellcode des Pakets hat. Die Dateien werden von CRAN oder von überall dort heruntergeladen, wo die Quellzeile in der Datei packrat.lock
diktiert.
Von Ihrer Frage, es klingt, als ob die packrat/src/
Ordner Inhalt zu Ihrem Repo Commit ist möglicherweise was Sie brauchen.
Beantworten Sie diese Frage in der E-Mail-Liste: https://groups.google.com/d/msg/packrat-discuss/BDPQoHQOqcw/WASTdOEJZrYJ – Ben