Mercurial - hg update naar een specifieke datum op een benoemde tak

Ik ben momenteel bezig met een project met verschillende opslagplaatsen voor kwik. Elke mercurial repository bevat de broncode voor een bibliotheek of een binair bestand, die allemaal actief worden ontwikkeld.

Je kunt je voorstellen dat compatibiliteit tussen producten die uit elke repository zijn gemaakt snel een probleem kan worden. Een manier om dit probleem te verhelpen is om elke lokale repository bij te werken zodat deze zich op compatibele filialen bevindt en vervolgens bij te werken naar een bepaalde datum op deze filialen - met de opvatting dat de filialen op elk moment compatibel waren.

Op een benoemde vertakking, zeg V0.X, op V0.1-tag

hg identify

geeft

934ad264137e (V0.X) V0.1

Update dan naar een bepaalde datum (ik wil nog steeds op de V0.X branch blijven)

hg update -d "<10/28/11"

nu identificeren

hg identify; hg branch

geeft

51a072771de7 tip
default    

Weet iemand hoe het te updaten langs een benoemde tak tot een datum zonder het gevaar van het springen naar een andere tak?

Alle hulp wordt op prijs gesteld.

Jon.

5
Goede vraag, maar de documentatie voor hg help update zegt: -d - datum DATE tipmost revisie matching date . Niet zeker wat dat betekent, tho ... :(
toegevoegd de auteur hochl, de bron

1 antwoord

hg help revset
  "branch (string of set)"
  Alle changesets die behoren tot de gegeven branch of de branches van de
  gegeven changesets.
 
     

...

     

"date (interval)"        Veranderingen in het interval, zie "hg help dates".

geef ons workflow-achtig

  • hg log -r "branch('V0.X') and sort(date('<10/28/11'), date)"
  • find revision N in list
  • hg update -r N
2
toegevoegd
wel, pp 1-2 kan worden geconverteerd naar een aantal oneliner, die, gebruikt als -r parameter van update, ons het gevraagde resultaat geeft
toegevoegd de auteur Lazy Badger, de bron
Ja, ik geloof dat de volgende one-liner doet wat werd gevraagd: hg update -r "branch ('V0.X') en datum ('<10/28/11')"
toegevoegd de auteur ketorin, de bron