Sto usando Mercurial 1.6. Ho un repository con pochi sottopospos (11). Vorrei spingere il repository padre al repository remoto predefinito senza premere i repository figlio. Motivi per cui si desidera fare questo includono:Spingere il repository mercuriale senza premere subrepos
- Sto utilizzando repository SSH e ci vuole molto tempo per stabilire una connessione e non premere nulla su ciascuno dei sottorepos.
- Ho commesso in subrepos che non voglio essere propagato ai repository remoti (ancora).
- I sottorepos hanno dei rami denominati che non devono essere propagati ai repository di repote (e apparentemente non c'è modo di passare i nomi dei rami all'operazione push dei sottorepos).
Tuttavia, non sono riuscito a trovare un modo per raggiungere questo obiettivo. Ho provato a cancellare il contenuto di .hgsub e .hgsubstate (senza commit), ma ancora insiste mercurial nello spingere i sottorepos.
Come posso trasferire le modifiche dal repository locale al repository remoto e ignorare temporaneamente i sottorepos?
Questo ha senso, e mi fa pensare che non stiamo usando i subrepos nel modo in cui sono destinati ad essere utilizzati. Li stiamo principalmente utilizzando per controllare facilmente una raccolta di repository ... e il nostro .hgsubstate fa sempre riferimento alle revisioni NULL dei sottorepos. Sembra che l'estensione hgforest (ora deprecata) fosse migliore per i nostri scopi rispetto ai subrepos. –
Questo ha senso, ma Mercurial sembra essere troppo zelante. Proverà a premere 'abcd1234' anche quando quella revisione (né alcuno dei suoi discendenti) viene chiamata in' .hgsubstate'. Anche 'hg out --S -r .' (il' -S' è per 'recurse in subrepos') non elenca le modifiche del subrepo. – weberc2
Possiamo dirgli di non premere se la fase di tutti i set di modifiche è pubblica, come suggerisce (a patto che non impostiamo manualmente la fase su pubblico) che è già stata inviata. –