2010-05-06 3 views
16

Notre équipe vient juste de commencer avec Mercurial. L'une des premières choses que nous avons commencé à jouer est hg shelve. Localement, je n'ai aucun problème à mettre à jour les changements. Tout fonctionne parfaitement à partir de ce que je peux dire. Cependant, lorsque j'essaie de ne plus avoir de sonnerie, j'obtiens le message restoring backup files, mais lorsque je lance hg diff, il n'y a aucun changement, et mes changements sont absents du code. Si je fais hg unshelve -i je peux voir le diff, mais encore une fois, en essayant d'unshelve semble n'avoir aucun effet.hg unshelve ne fonctionne pas

J'ai essayé de le tester avec quelques changements très simples qui ne devraient pas poser de problème en termes de conflits, par ex. ajouter un commentaire de test. Je devrais noter que j'ai essayé hg unshelve -f après quoi il dit unshelve completed mais encore, mes changements ne sont pas reconstitués.

Des idées de ce que je fais mal?

S'il importe: Mercurial Distribué SCM (version 1.5.1 + 20100405)

+1

J'ai juste trouvé ceci: https://bitbucket.org/tksoh/hgshelve/issue/11/unshelve-is-not-restoring-file-changes Soooo, hg unshelve est juste cassé? Est-ce que cela semble juste? – shanebonham

+2

Il est à noter que 'hg shelve' ne fait pas partie de mercurial, c'est l'extension tierce de quelqu'un d'autre. Je soupçonne une raison pour laquelle «shelve» ne fait pas partie de mercurial, c'est que cela ne correspond pas vraiment à l'état d'esprit mercurial. La façon mercuriale de mettre en réserve est de simplement commettre et ensuite mettre à jour à une révision de retour ou de cloner rapidement votre repo. Un clone est instantané, ne prend presque aucun espace (liens durs sur les systèmes de fichiers modernes), et n'a pas vos changements non validés. Même si votre équipe finit par utiliser shelve, vous devriez commencer avec vanille mercurial afin qu'ils apprennent l'idiome. –

+5

Il est également intéressant de mentionner que Bryan O 'Sullivan est l'un des auteurs de hgshelve et un développeur de base pour Mercurial, donc ce n'est pas seulement une extension tierce aléatoire. Bien sûr, apprenez d'abord la méthode sans fioritures, mais ne découragez pas les gens d'utiliser Mercurial, même si c'est pratique pour eux. –

Répondre

7

essayé fourche et il fonctionne: https://bitbucket.org/astiob/hgshelve/

Donc, la réponse semble être, oui, il est cassé, et oui , cette fourche le fixe.

+1

La fourche "astiob" a été tirée dans la ligne "tksoh". J'ai toujours des problèmes, en utilisant Mecurial 1.7.1. – jwhitlock

+0

Cette fourchette ne fonctionne pas non plus pour moi, mais le commentaire de Nick a fonctionné: 'hg shelve -i | patch -p1' – Pascal

0

Pour faire une mise à jour, je suis actuellement sur la version Mercurial Distributed SCM (version 2.9.1) et je n'ai aucun problème. Si vous rencontrez toujours des problèmes avec unshelve, je recommande de mettre à jour vers la version la plus récente de Mercurial.