Comment puis-je modifier l'heure à laquelle j'ai effectué une validation dans mon référentiel local? Supposons que j'ai effectué plusieurs validations et remarqué que la date sur mon ordinateur est erronée. Supposons aussi que ces commits n'aient été poussés nulle part encore.Comment modifier le temps de validation (pas encore activé)?
Répondre
Vous pouvez le faire facilement avec MQ (Mercurial Queues):
Mettre en place une mauvaise date de prise en pension
+ hg init
+ echo line
+ hg commit -A -d 12/1 -m first
adding file
+ echo line
+ hg commit -A -d 12/2 -m second
+ echo line
+ hg commit -A -d 12/3 -m third
+ hg log
changeset: 2:81c88de729a8
tag: tip
user: Ry4an Brase <[email protected]>
date: Thu Dec 03 00:00:00 2009 -0600
summary: third
changeset: 1:c1fe70008824
user: Ry4an Brase <[email protected]>
date: Wed Dec 02 00:00:00 2009 -0600
summary: second
changeset: 0:abb97adaa541
user: Ry4an Brase <[email protected]>
date: Tue Dec 01 00:00:00 2009 -0600
summary: first
Tourner les changesets en patches dans la file d'attente
+ hg qimport -r 2
+ hg qimport -r 1
+ hg qimport -r 0
Faire de chaque patcher le qtip à son tour et fixer la date
+ hg qrefresh -D
+ hg qpop
Now at: 1.diff
+ hg qrefresh -D
+ hg qpop
Now at: 0.diff
+ hg qrefresh -D
réappliquer les patchs
+ hg qpush
applying 1.diff
Now at: 1.diff
+ hg qpush
applying 2.diff
Now at: 2.diff
Mettez chaque patch de nouveau dans changesets réel
+ hg qdel -r 0
+ hg qdel -r 1
+ hg qdel -r 2
tout mieux:
+ hg log
changeset: 2:6b51e14aadfc
tag: tip
user: Ry4an Brase <[email protected]>
date: Wed Feb 25 22:29:01 2009 -0600
summary: third
changeset: 1:5cbb9fc51bcc
user: Ry4an Brase <[email protected]>
date: Wed Feb 25 22:29:02 2009 -0600
summary: second
changeset: 0:ec58d1f24278
user: Ry4an Brase <[email protected]>
date: Wed Feb 25 22:29:02 2009 -0600
summary: first
Il y a --date
pour hg commit
, c'est ainsi que vous écrasez le temps de validation. La question est de savoir comment renouveler les changements précédents sans trop de peine.
Supposons que vous obtenez l'histoire suivante de commits locales:
dir1> hg commit # r100, OK
dir1> hg commit # r101, need to fix time
dir1> hg commit # r102, need to fix time
Voici ma solution:
hg diff -r100:101 > 101.diff
hg diff -r101:102 > 102.diff
cd ..
hg clone -r100 dir1 dir2 # create a copy just before changesets than needs to be fixed
cd dir2
patch -i ../dir1/101.diff
hg commit -m "Same commit message" --date="required date"
patch -i ../dir1/102.diff
hg commit -m "Same commit message" --date="required date"
cd ..
rm -rf dir1 && mv dir2 dir1 # replace working copy
Vous pouvez automatiser l'application des correctifs avec hg patch
que je ne l'utilise pas dans ma pratique .
Un moyen simple et propre. Merci! –
Vous pouvez simplement utiliser "hg strip" pour supprimer la ou les révision (s) incriminée (s) au lieu du clonage. – skypher
Si c'est juste un seul commit et qui commettent est le plus récent un (sur n'importe quelle branche vous êtes sur), un rapide un pour ce faire est:
hg commit --amend -d now
- 1. Validation d'adresse e-mail, encore
- 2. $ .post() n'a pas le temps de s'exécuter?
- 3. Validation de formulaire en temps réel jQuery
- 4. temps mysql et le temps php pas le même
- 5. Handler pas encore erreur déterminé
- 6. validation Javascript et l'affichage en même temps
- 7. Comment puis-je modifier la limite de temps pour webClient.UploadData()?
- 8. Validation de temps (et comparaison) en utilisant Javascript/JQuery
- 9. Comment modifier le "niveau" de validation que fournit la tâche XMLValidate de Ant?
- 10. Qt QSystemTrayIcon ne pas envoyer le signal activé
- 11. Respone.Redirect provoque une erreur de temps en temps, mais je ne peux pas le reproduire
- 12. Onclick pas encore ajouté qu'après Postback
- 13. Pourquoi READ_COMMITTED_SNAPSHOT n'est pas activé par défaut?
- 14. ActiveRecord save (false) valider encore le modèle
- 15. Asp.Net - Rediriger si JavaScript est pas activé
- 16. AS3 Bouton qui n'existe pas encore
- 17. ASP .NET Serveur de développement ne sert pas tout le temps tout le temps
- 18. Git, modifier la validation racine pour toutes les branches
- 19. Renommer des fichiers de la même manière encore et encore
- 20. Comment détecter READ_COMMITTED_SNAPSHOT est activé?
- 21. La validation à distance Jquery Validation ne fonctionne pas
- 22. L'état de la session ASP.Net n'est pas activé correctement
- 23. Encore une fois avec JPA n'a pas de sens
- 24. InnoDB travail de temps en temps, mais pas d'autres
- 25. Comment rendre le champ 'Reason' toujours activé dans TFS
- 26. Validation de schéma, comment afficher des messages de validation conviviaux?
- 27. Comment vérifier si le débogage est activé dans web.config
- 28. comment vérifier quand le champ enter/return a été activé?
- 29. Comment forcer le chargement des images tout le temps, ASP.NET
- 30. Comment améliorer le temps de chargement XML de PHP?
Une bonne façon native (bien que nécessite une compréhension de MQ). Merci! –
Ceci inverse l'ordre chronologique dans lequel cset 2 semble avoir été validé avant cset 1. Je suggère la procédure suivante: import; pop tout; pousser, rafraîchir, pousser, rafraîchir, pousser, rafraîchir, supprimer tout. Cela semble faire l'affaire tout en conservant des horodatages progressifs. –
Vous pouvez définir les dates sur chacun de vos choix avec qrefresh, donc vraiment l'une ou l'autre méthode fonctionne de la même manière. –