xolox / vim-easytags

Automated tag file generation and syntax highlighting of tags in Vim
http://peterodding.com/code/vim/easytags/
1.01k stars 109 forks source link

autoload.vim depends on several (timer, warning, etc.) xolox functions #1

Closed wickedshimmy closed 13 years ago

wickedshimmy commented 14 years ago

SSIA. I'm assuming they're just a part of your local setup?

The methods that need to be copied/provided are xolox#timer#start, xolox#timer#stop, xolox#warning, xolox#escape#pattern and xolox#unique

wickedshimmy commented 14 years ago

Of course, I just jumped the gun and pulled it from source instead of noticing that you package it up with the Makefile.

wickedshimmy commented 14 years ago

So, just sent you a pull request with the "fix", either use that, or just ignore this issue. Sorry for the noise ;)

xolox commented 14 years ago

Hi WickedShimmy, sorry for the confusion and thanks for your feedback! The easytags.vim plug-in is one of the first Vim plug-ins I've published and I'm still learning about how best to structure my repositories and released archives.

I've not included the xolox#* autoload scripts within the vim-easytags repository because these autoload scripts are called from a number of unrelated self-developed plug-ins and I simply don't know in which repository to put the autoload scripts ! :-)

xolox commented 13 years ago

The GitHub masses have finally convinced me to restructure the git repositories for my Vim plug-ins so that the plug-ins can be installed using git clone (the Pathogen compatibility requests outnumber all other feedback I've gotten through GitHub) so I guess I can finally close this issue now. Sorry for taking a while ;-) (just short of a year!)

xolox commented 13 years ago

Restructuring my git repositories referred to using a git submodule that includes the autoload/xolox/misc scripts, however since I started using git submodules I've found out the hard way that they royally suck. For example submodules aren't initialized during a normal git clone, you need to use git clone --recursive but tools like Pathogen and Vundle don't do this so the missing dependencies still catch users by surprise :-|

Because of the git clone --recursive gotcha I've (today) decided to stop using submodules and switch to the git subtree merge strategy. This enables me to keep my miscellaneous scripts in a dedicated repository with its own history (this is possible with submodules) while still being able to include the miscellaneous scripts in my Vim plug-in repositories without requiring git clone --recursive (this is not possible with submodules).

I came to this decision because of a discussion on the Vundle repository. Also, if anyone is curious how the subtree merge strategy works, this is how I added the subtree to the vim-easytags repository:

git remote add -f vim-misc https://github.com/xolox/vim-misc.git
git merge -s ours --no-commit vim-misc/master
git read-tree --prefix=autoload/xolox/misc/ -u vim-misc/master
git commit -m "Merge vim-misc repository as subdirectory"