-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix hg repo_tree implementation #1856
Conversation
3d9da8e
to
4ba4e8c
Compare
Hi, I tested but unfortunately it doesn't work.
The archive content is good. |
Hmm. Interesting. Thanks for checking! I am not sure why in git's case |
Ah, |
`hg archive` does not write to standard out, so Capistrano's `git` implementation of the `:repo_tree` option does not work for `hg`. As a workaround, generate a temporary tar file, extract it, and then remove it. This is not as efficient or elegant as doing it via stdout and pipes in a single line, but it should work.
4ba4e8c
to
d12379a
Compare
@zebastiane I've force-pushed a fix. Can you try it again? |
@mattbrictson It works! |
Great! Thanks for testing. I'll merge it. |
## `3.8.0` (2017-03-10) capistrano/capistrano@v3.7.2...v3.8.0 ### Potentially breaking changes: * [#1846](capistrano/capistrano#1846): add_host will add a new host in a case where it used to incorrectly update an existing one (potentially breaking) [(@dbenamy)](https://github.com/dbenamy) ### New features: * [#1860](capistrano/capistrano#1860): Allow cap to be run within subdir and still work - [@mattbrictson](https://github.com/mattbrictson) ### Fixes: * [#1835](capistrano/capistrano#1835): Stopped printing parenthesis in ask prompt if no default or nil was passed as argument [(@chamini2)](https://github.com/chamini2) * [#1840](capistrano/capistrano#1840): Git plugin: shellescape git_wrapper_path [(@olleolleolle)](https://github.com/olleolleolle) * [#1843](capistrano/capistrano#1843): Properly shell escape git:wrapper steps - [@mattbrictson](https://github.com/mattbrictson) * [#1846](capistrano/capistrano#1846): Defining a role is now O(hosts) instead of O(hosts^2) [(@dbenamy)](https://github.com/dbenamy) * Run `svn switch` to work with svn branches if repo_url is changed * [#1856](capistrano/capistrano#1856): Fix hg repo_tree implementation - [@mattbrictson](https://github.com/mattbrictson) * [#1857](capistrano/capistrano#1857): Don't emit doctor warning when repo_tree is set - [@mattbrictson](https://github.com/mattbrictson) ### Other changes: * [capistrano-harrow#4](https://github.com/harrowio/capistrano-harrow/issues/4): Drop dependency on `capistrano-harrow` gem. Gem can still be installed separately [(@leehambley)](https://github.com/leehambley) * [#1859](capistrano/capistrano#1859): Move git-specific repo_url logic into git plugin - [@mattbrictson](https://github.com/mattbrictson) * [#1858](capistrano/capistrano#1858): Unset the :scm variable when an SCM plugin is used - [@mattbrictson](https://github.com/mattbrictson) ## `3.7.2` (2017-01-27) capistrano/capistrano@v3.7.1...v3.7.2 ### Potentially breaking changes: * None ### Other changes: * Suppress log messages of `git ls-remote` by filtering remote refs (@aeroastro) * The Git SCM now allows the repo_url to be changed without manually wiping out the mirror on each target host first (@javanthropus)
## `3.8.1` (2017-04-21) capistrano/capistrano@v3.8.0...v3.8.1 ### Breaking changes: * None ### Fixes: * [#1867](capistrano/capistrano#1867): Allow `cap -T` to run without Capfile present - [@mattbrictson](https://github.com/mattbrictson) ## `3.8.0` (2017-03-10) capistrano/capistrano@v3.7.2...v3.8.0 ### Potentially breaking changes: * [#1846](capistrano/capistrano#1846): add_host will add a new host in a case where it used to incorrectly update an existing one (potentially breaking) [(@dbenamy)](https://github.com/dbenamy) ### New features: * [#1860](capistrano/capistrano#1860): Allow cap to be run within subdir and still work - [@mattbrictson](https://github.com/mattbrictson) ### Fixes: * [#1835](capistrano/capistrano#1835): Stopped printing parenthesis in ask prompt if no default or nil was passed as argument [(@chamini2)](https://github.com/chamini2) * [#1840](capistrano/capistrano#1840): Git plugin: shellescape git_wrapper_path [(@olleolleolle)](https://github.com/olleolleolle) * [#1843](capistrano/capistrano#1843): Properly shell escape git:wrapper steps - [@mattbrictson](https://github.com/mattbrictson) * [#1846](capistrano/capistrano#1846): Defining a role is now O(hosts) instead of O(hosts^2) [(@dbenamy)](https://github.com/dbenamy) * Run `svn switch` to work with svn branches if repo_url is changed * [#1856](capistrano/capistrano#1856): Fix hg repo_tree implementation - [@mattbrictson](https://github.com/mattbrictson) * [#1857](capistrano/capistrano#1857): Don't emit doctor warning when repo_tree is set - [@mattbrictson](https://github.com/mattbrictson) ### Other changes: * [capistrano-harrow#4](https://github.com/harrowio/capistrano-harrow/issues/4): Drop dependency on `capistrano-harrow` gem. Gem can still be installed separately [(@leehambley)](https://github.com/leehambley) * [#1859](capistrano/capistrano#1859): Move git-specific repo_url logic into git plugin - [@mattbrictson](https://github.com/mattbrictson) * [#1858](capistrano/capistrano#1858): Unset the :scm variable when an SCM plugin is used - [@mattbrictson](https://github.com/mattbrictson) ## `3.7.2` (2017-01-27) capistrano/capistrano@v3.7.1...v3.7.2 ### Potentially breaking changes: * None ### Other changes: * Suppress log messages of `git ls-remote` by filtering remote refs (@aeroastro) * The Git SCM now allows the repo_url to be changed without manually wiping out the mirror on each target host first (@javanthropus)
hg archive
does not write to standard out, so Capistrano'sgit
implementation of the:repo_tree
option does not work forhg
. As a workaround, generate a temporary tar file, extract it, and then remove it. This is not as efficient or elegant as doing it via stdout and pipes in a single line, but it should work.Fixes #1849.
@zebastiane can you test the branch to see if it works? Do you have any concerns about the implementation? Thanks!