On Mon, Apr 29, 2019 at 8:31 PM Bram Moolenaar <[email protected]> wrote:
>
>
> Tony wrote:
>
> > 1. hg --verbose clone https://bitbucket.org/vim-mirror/vim vim-hg
> > 2. cd vim-hg/src
> > 3. make distclean   # IMPORTANT! otherwise "make shadow" will run
> > configure first)
> > 4. SHADOWDIR=shadow-huge make -e shadow
> > 5. cd shadow-huge
> > 6. ln -svf ../Makefile
> > 7. ln -sv ../../../hugecfg myconfig   # preset "export" statements for
> > config arguments
> > 8. set -o verbose; source myconfig; set +o verbose
> > 9. make config
> > 10. make
> >
> > Step 10 fails (for any Normal or bigger build, but not for Tiny and
> > Small which have -multi_lang) because step 4 forgot to link
> > po/sjiscorr.c ("no rule to make sjuscorr.c needed by sjiscorr") --
> > let's try to do it manually
> >
> > 11. pushd po
> > 12. ln -sv ../../po/sjiscorr.c
> > 13. popd
> > 14. make
>
> I'll add it to "make shadow".  Please check after 8.1.1236.

I did not delete my clone and rerun the above, but I did look
attentively at the changes, and AFAICT any *.c file in src/po (at the
moment this means only sjiscorr.c) is now linked from $SHADOWDIR/po
(by means of a relative symlink) in addition to whatever already was,
so I agree with the changes.
>
> > Now the make succeeds, but I have another problem: runtime/vim.desktop
> > and runtime/gvim.desktop have just been modified below my clone, which
> > means that the next time I try to pull the changes, Mercurial will
> > refuse to do it, because I have "uncommitted changes".
> >
> > So what should I do in order not to have to clone everything from
> > scratch whenever there are changes?
>
> Add this line to .gitignore and/or .hgignore:
>
> src/po/*.desktop

These are not the uncommitted changes. The uncommitted changes are
runtime/*.desktop, both of which where both created by "hg clone" and
later modified by "make" if configured with +multi_lang i.e.
--with-features=normal or better. This means even running make inside
a shadowdir can modify version-controlled files outside the shadowdir.
However, AFAICT (by means of "parking" the changes made by "make" in
an mq patch, popped while pulling and pushed while compiling) once the
duplicate lines have been removed those files are not touched again by
make (e.g. their moddates don't change), so I ran "hg qfinish",
committing the removal of duplicate lines as a "local change". (I have
two other "local changes", one in src/feature.h to set +xterm_save and
the other in .hgtags to define v8.1.1153 where it belongs.) This way I
have the master's changesets in one uninterruped chain (with the same
CSIDs but different CS sequence numbers) plus a parallel "local
version" containing the local changes, into which the latest changes
are merged after every pull (thanks to the fetch extension, in fact),
and which is the source used in the compile-and-link phase in each of
my shadow directories.

We'll see if this is enough to make Mercurial happy again. I think it will.

Best regards,
Tony.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui