hg diff --subrepos
Michael Sperber
sperber at deinprogramm.de
Sat Dec 24 14:59:14 EST 2011
"Stephen J. Turnbull" <stephen at xemacs.org> writes:
> Mike Kupfer writes:
> > Jerry James wrote:
> >
> > > How about hg pull? I did an hg pull in the top level packages
> > > directory, and was told that manifests were updated ... but no actual
> > > source files. By looking at the ChangeLog, I found the subdirectories
> > > I had to enter to pull the actual file changes. Is there some way of
> > > doing a pull on all subrepos? (I can't see one in the help
> > > text.)
>
> The help text in "hg help subrepos" isn't terribly explicit, but if
> you decode the descriptions of "pull" and "update", it implies that
> update in the top repo actually does a pull on the subrepos based on
> the current content of .hgsubstate, then updates them to the specified
> revision.
Yes. (Before it updates, it can't know which revisions to pull.)
> I'm not sure if the subrepo now contains "future" revisions
> or if they get "hg strip"'ed.
It doesn't ever strip in this scenario.
> I suspect that using the hg onsub extension (at least for pull) is a
> bad idea here.
I think so, too.
> I think it has potential to pollute .hgsubstate.
Definitely.
> # Package maintainer
> cd .../package-top
> hg pull -u # get all *published* changes to
> # packages recursively
> cd xemacs-packages/<pkg>
> hg pull -u # *optional* and useful only if
> # there are "unpublished" changes
> # in the public repo
> xemacs <file1> ...
> hg commit -m "changed <file1> ..." # look Ma, no push yet!
> # it may *not* be OK to push here:
> # that means that people who do
> # "hg onsub pull -u; hg commit"
> # will pollute .hgsubstate!
There's no problem pushing here. It's just that what gets pushed here
doesn't get pulled automatically by a top-level "hg update", unless a
commit in the top level gets pushed.
> cd ../..
> hg commit -m "publish sources of <pkg>" xemacs-packages/<pkg>
> # updates .hgsubstate
> hg push # recursively pushes
That's correct, but to my mind is what Norbert should do.
So the package maintainer that wants Norbert to actually update the
package everybody sees should send Norbert e-mail. He does:
cd xemacs-packages/<pkg>
hg pull
cd ../..
hg commit -m "Updated package <pkg> to ..."
hg push
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
More information about the XEmacs-Beta
mailing list