Wenn Hg-Git aktuelle Commits nicht sieht...

  • strict warning: Non-static method view::load() should not be called statically in /usr/share/nginx/www/drupal/sites/all/modules/views/views.module on line 1113.
  • strict warning: Declaration of views_handler_field::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_field.inc on line 0.
  • strict warning: Declaration of views_handler_field_user::init() should be compatible with views_handler_field::init(&$view, $options) in /usr/share/nginx/www/drupal/sites/all/modules/views/modules/user/views_handler_field_user.inc on line 0.
  • strict warning: Declaration of views_handler_argument::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_argument.inc on line 0.
  • strict warning: Declaration of views_handler_argument::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_argument.inc on line 0.
  • strict warning: Declaration of views_handler_sort::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_sort::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_sort::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_filter::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_relationship::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_relationship.inc on line 0.
  • strict warning: Declaration of views_plugin_query::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/plugins/views_plugin_query.inc on line 0.
  • strict warning: Declaration of views_plugin_argument_validate::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/plugins/views_plugin_argument_validate.inc on line 0.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/plugins/views_plugin_row.inc on line 0.

Manche Projekte die mein Interesse haben, werden mit Mercurial verwaltet. Das ist nicht schlimm und auch verständlich, schließlich ist Mercurial auch (!) ein gutes DVCS.

Ich persönlich arbeite aber lieber mit Git. Zumindest im Moment, in Mercurial komm ich erst langsam in den Workflow hinein. Um die Kommunikation zwischen Mercurial und Git herzustellen nutze ich Hg-Git. Das klappt meistens wunderbar und hier wird dazu eine gut verständliche Anleitung gegeben.

Problem

Manchmal kommt es aber zu seltsamen Problemen: Ein mittels hg pull geholtes Update (beispielsweise m Upstream-Repository) ist für Mercurial da und verfügbar. Mit hg update kann ich auch problemlos die aktuelles Daten im Ordner haben. Leider kommt es aber vor, dass ein anschließendes hg gexport um die Mercurial-Versionen ins Git-Repo zu bekommen, die aktuelleren Versionen nicht wahrnimmt. Damit wird eine ältere Version exportiert und es ändert sich gar nix. Die Ältere Version ist dann eben die zuvor lokal aktuelle. Bei GitHub wurde das Problem auch schon mal festgestellt.

Lösung

Die Lösung ist dort auch angedeutet. Das Problem ist ein fehlendes Update der Bookmarks. Diese werden (daher die Extension aktivieren) von Hg-Git benutzt um die Version zu bestimmen, die nach Git "konvertiert" wird. Als schnelle Lösung können die benötigten Bookmarks einfach überschrieben werden. (Beispielbranch: hg/default. Diesen nimmt Hg-Git als default):

hg bookmark -f hg/default -r default

So können auch andere Branches als Bookmark verwendet werden um diese dann auch mittels Hg-Git in Git verfügbar zu machen. Dazu einfach das "default" mit dem Branch-Namen ersetzen.

Außerdem

Dann kann die Sache noch vereinfacht werden. Will man explizit Mercurial nehmen um Updaten nach Git zu spielen, kann man in die Datei .hg/hgrc folgendes einfügen:

[hooks]
post-pull.bookmark = hg bookmark -f hg/default -r default
post-pull.export = hg gexport

Damit wird nach jedem Pull der default-Bookmark aktualisiert und ein automatisierter gexport gemacht. Der Hinweis, wie auch den nächste, stammt aus den Kommentaren zu dem oben schon verlinkten Artikel.

Zusätzlich kann man was vergleichbares in Git machen. Dort wird die Datei .git/config manipuliert. Man füge einen Alias hinzu:

[alias]
hpull = !hg pull

Damit wird einfach mit git hpull das Mercurial-Pendent aufgerufen.

P.s. Dort gibt es einen guten Einblick in Git sowie Mercurial. Beide sind gute Werkzeuge. Beide haben Schwächen und Stärken. Eine von dort stammende und (in meinen Augen) passende Analogie ist die Folgende: Mercurial = James Bond und Git = MacGyver.

Manche Projekte die mein Interesse haben, werden mit Mercurial verwaltet. Das ist nicht schlimm und auch verständlich, schließlich ist Mercurial auch (!) ein gutes DVCS.Ich persönlich arbeite aber lieber mit Git. Zumindest im Moment, in Mercurial komm ich erst langsam in den Workflow hinein. Um die Kommunikation zwischen Mercurial und Git herzustellen nutze ich Hg-Git. Das klappt meistens wunderbar und hier wird dazu eine gut verständliche Anleitung gegeben.

Trackback URL for this post:

https://blog.voodoo-arts.net/trackback/94
land Names Online Casino -

オンラインカジノ ブログ Online casinos that accept players for the US silent have stacks of tumid

Submitted by zxgvbfsf (not verified) on Tue, 2013-03-12 15:59.
Events and life, how it rse

This was something special for me

Submitted by jhgygvtdr (not verified) on Tue, 2012-08-28 21:07.

Tags for Wenn Hg-Git aktuelle Commits nicht sieht...