Si desidera che Mercurial faccia qualcosa automaticamente quando si clona un repository (aggiornare i ganci o la configurazione). Documentation dice che non è possibile e dà alcune buone ragioni:
Hooks do not propagate
In Mercurial, hooks are not revision controlled, and do not propagate when you clone,
or pull from, a repository. The reason for this is simple: a hook is a completely
arbitrary piece of executable code. It runs under your user identity, with your
privilege level, on your machine. No comments
It would be extremely reckless for any distributed revision control system to
implement revision-controlled hooks, as this would offer an easily exploitable way to
subvert the accounts of users of the revision control system. No comments
Quindi, chiaramente, lo stesso Mercurial non risolverà il problema. Dichiarate chiaramente che non volete altro che mercurio per risolvere il vostro problema, quindi la risposta è: ciò che state chiedendo non è possibile.
L'unico modo per risolvere il problema è che tutti gli utenti dovranno eseguire/installare almeno una volta uno script dato che esegue le azioni desiderate, ad esempio installando i giusti ganci.
Se vuoi essere intelligente su questo:
- creare uno script di una volta per eseguire che installa un gancio per copiare la configurazione destra nella .hg o l'utente
- fare in modo che il gancio, una volta installato, è possibile aggiornare lo script per distribuire gli aggiornamenti di configurazione agli utenti
- rendere il gancio di aggiungere un po 'speciale marcatura di commettere messaggi
- rifiutano sul repository centrale commettere che non portano il messaggio speciale
un po 'complicato, ma questo è il più vicino posso immaginare alle vostre esigenze:
- utente eseguire uno script una volta e dimenticare
- si può fare in modo che, se il non ha funzionato, loro non può impegnarsi per il vostro repo centrale
fonte
2009-05-13 08:09:58
Sì, gli script di build speciali o le configurazioni di server di build più comuni sono la soluzione migliore. Speravo solo che ci fosse qualche funzionalità non facilmente individuabile in HG per questo. --- "La documentazione dice che non è possibile e fornisce alcune ottime ragioni." Dove dice questo? Sembra qualcosa che voglio leggere. – Deestan
Ho modificato la mia voce con i collegamenti al documento pertinente. –