Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
d7e6ba0b
Commit
d7e6ba0b
authored
Jul 07, 2015
by
Andrew Janke
Committed by
Marc Cornellà
Nov 27, 2015
Browse files
history-substring-search: add a script to automatically update OMZ from the upstream repo
parent
befb5b66
Changes
1
Show whitespace changes
Inline
Side-by-side
plugins/history-substring-search/update-from-upstream.zsh
0 → 100755
View file @
d7e6ba0b
#!/usr/bin/env zsh
#
# update-from-upstream.zsh
#
# This script updates the Oh My Zsh version of the zsh-history-substring-search
# plugin from the independent upstream repo. This is to be run by OMZ developers
# when they want to pull in new changes from upstream to OMZ. It is not run
# during normal use of the plugin.
#
# The official upstream repo is zsh-users/zsh-history-substring-search
# https://github.com/zsh-users/zsh-history-substring-search
#
# This is a zsh script, not a function. Call it with `zsh update-from-upstream.zsh`
# from the command line, running it from within the plugin directory.
#
# You can set the environment variable REPO_PATH to point it at an upstream
# repo you have already prepared. Otherwise, it will do a clean checkout of
# upstream's HEAD to a temporary local repo and use that.
# Just bail on any error so we don't have to do extra checking.
# This is a developer-use script, so terse output like that should
# be fine.
set
-e
UPSTREAM_BASE
=
zsh-history-substring-search
UPSTREAM_REPO
=
zsh-users/
$UPSTREAM_BASE
need_repo_cleanup
=
false
upstream_github_url
=
"https://github.com/
$UPSTREAM_REPO
"
if
[[
-z
"
$UPSTREAM_REPO_PATH
"
]]
;
then
# Do a clean checkout
my_tempdir
=
$(
mktemp
-d
-t
omz-update-histsubstrsrch
)
UPSTREAM_REPO_PATH
=
"
$my_tempdir
/
$UPSTREAM_BASE
"
git clone
"
$upstream_github_url
"
"
$UPSTREAM_REPO_PATH
"
need_repo_cleanup
=
true
print
"Checked out upstream repo to
$UPSTREAM_REPO_PATH
"
else
print
"Using existing zsh-history-substring-search repo at
$UPSTREAM_REPO_PATH
"
fi
upstream
=
"
$UPSTREAM_REPO_PATH
"
# Figure out what we're pulling in
upstream_sha
=
$(
cd
$upstream
&&
git rev-parse HEAD
)
upstream_commit_date
=
$(
cd
$upstream
&&
git log
-1
--pretty
=
format:%ci
)
print
"upstream SHA:
$upstream_sha
"
print
"upstream commit date:
$upstream_commit_date
"
print
# Copy the files over, using the OMZ plugin's names where needed
cp
-v
"
$upstream
"
/
*
.
mv
zsh-history-substring-search.plugin.zsh history-substring-search.plugin.zsh
mv
zsh-history-substring-search.zsh history-substring-search.zsh
if
[[
$need_repo_cleanup
==
true
]]
;
then
print
"Removing temporary repo at
$my_tempdir
"
rm
-rf
"
$my_tempdir
"
fi
# Do OMZ-specific edits
print
print
"Updating files with OMZ-specific stuff"
# Tack OMZ-specific notes on to readme
thin_line
=
"------------------------------------------------------------------------------"
cat
>>
README.md
<<
EOF
$thin_line
Oh My Zsh Notes
$thin_line
This is Oh My Zsh's repackaging of zsh-history-substring-search as an OMZ module
inside the Oh My Zsh distribution.
The upstream repo,
$UPSTREAM_REPO
, can be found on GitHub at
$upstream_github_url
.
This downstream copy was last updated from the following upstream commit:
SHA:
$upstream_sha
Commit date:
$upstream_commit_date
Everything above this section is a copy of the original upstream's README, so things
may differ slightly when you're using this inside OMZ. In particular, you do not
need to set up key bindings yourself in
\`
~/.zshrc
\`
; the OMZ plugin does that for
you.
EOF
print
print
"Done OK"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment