Stephen J. Turnbull
stephen at xemacs.org
Thu Dec 17 02:35:41 EST 2009
robert delius royar writes:
> This is a question about how to update my local build directories if I
> change one of the XEmacs source files (e.g. to fix a build-stopping
> error in Makefile.in.in). How do I get the new corrected file from the
> master tree?
The workflow recommended by Mats is straightforward for a small number
of local changes, ie, if you usually end up reverting to the mainline
before creating another patch. Alternatively, if you push your own
changes rather than have a reviewer make them, Mercurial will not
consider them in conflict. If you want commit privileges, just say
so. You're well enough known that people will trust you to commit
only on approval by now.
> If I restore a version of the file from backups (Timemachine) from
> before I made the change, mercurial seems to know the changes I
> made and pulls them back in before trying again to merge. That
> leads to the same error.
After restoring, you can avoid that error with
hg resolve -m lib-src/Makefile.in.in
> living dead. There must be a way to pull down the file from the xemacs
> server and tell hg to ignore the one locally (i.e. replace it). But I
> could not figure out how to do that from the hg man page.
As Adrian says, "hg update -C lib-src/Makefile.in.in" will do the
trick. Of course, this only works if there are no unpushed changes
you want to keep.
I've mentioned several alternatives. However, for your workflow, I
think working in one checkout and using hg update -C to restore it to
pristine state will be safe and effective 90% of the time, and it's
probably the simplest route. Don't hesitate to ask here if you then
run into the 1 in 10 where you want to keep local changes.
More information about the XEmacs-Beta