On Wed, Feb 24, 2016 at 9:56 PM, Bram Moolenaar <[email protected]> wrote:
>
> Takuya Fujiwara wrote:
>
>> After 'make &&  make install' in Vim source directory,
>> runtime/doc/tags gets modified in current HEAD (Patch 7.4.1412).
>>
>> Normally tags file is not managed under version control.
>> I know tags file is needed to look up runtime's help,
>> but the tags file is generated by 'make install'.
>> I don't think you need to git-add runtime/doc/tags file.
>>
>> So could you git-rm runtime/doc/tags?
>> Or could you update tags at each commit?
>
> This was mentioned before, and I haven't thought of a good solution yet.
> I think the tags file should be included, so that the help works without
> installing Vim.  This is for systems that don't actually install.
>
> I think the main problem is that "make install" overwrites the
> distributed tags file.  We could make it generate the tags file
> elsewhere, so that the original remains unchanged.
>
> Would that work?
>

Maybe I was the one who "mentioned it earlier". Here is my usecase at
the moment (using Mercurial and C. Brabandt's mirror on bitbucket,
because unlike Mercurial, git is foreign to me: if I have a choice
I'll always prefer the former over the latter):

I have added runtime/doc/tags to my .hgignore file; I also have local
changes to src/feature.h to add or remove a couple of features for
which AFAIK there is no configure switch (setting -tag_old_static
+xterm_save). Under the previous (13.2) release of openSUSE Linux the
only problem with that was that I had better set $PYTHONUNBUFFERED to
something other than the empty string (I use "export
PYTHONUNBUFFERED=unbuffered" in my bash startup script) so that I
would see Mercurial's question (when there was a change to the tagfile
on the remote repository) asking me if I wanted to get the changed
file or keep it "deleted" (i.e. not under version control). (Without
that environment variable, and because I use tee to log the Mercurial
runs, the question would still be invisible, in Python's stdout
buffer, when Mercurial waited for my answer.)

With Mercurial 3.5.1 as included with openSUSE Leap 42.1, that is not
enough: if I try to "hg fetch" one or more changesets including a
change to the tagfile, and I have a tagfile present not under version
control, the first part (pull) of the fetch will succeed and the
second part (merge) will fail; then I have to manually delete the
tagfile, manually merge, and manually commit the merge. (It took me a
number of trials and errors to find that out.)

(N.B. "hg fetch", which requires an extension, is now deprecated, but
won't be removed, and works for me; it means "pull, merge if
necessary, and update to tip"; "hg pull" means "get the changes, but
don't apply them unless there is a -u switch on the hg pull
command-line". This is IIUC the opposite of what pull and fetch mean
under git.)

What works is to check the files in "hg incoming" by eyeball, with
ui.verbose set to true, and delete runtime/doc/tags manually before
fetching if there are changes to the tagfile: then hg fetch will ask
me the same question it used to, and run to completion after I hit d
(delete). "make install" will subsequently regenerate the tagfile; or
if there is a compilation failure preventing an install, the
production tagfile at $VIMRUNTIME/doc/tags will be kept.


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