Comments (8)
Same issue here
from capistrano.
It was suggested that maybe it should detect the git version and act accordingly. However, it might just be simpler to just git submodule init && git submodule update
, if that's equivalent like I think it would be.
The interesting thing is that git help submodule
in the git 1.6.3.3 version I have says that it supports git update --init, but when when I actually do it, it acts like the syntax is bad. I can look into this more later.
from capistrano.
I couldn't find the mailing list discussion that @leehambley was referring to in the commit comments.
It might have been that the conversation was on IRC, regrettably I don't think that is logged anywhere.
I'd be happy to go back to #{git} submodule init && #{git} submodule update
, if it's more portable. (it would appear to be)
from capistrano.
same problem with git 1.6.2.3
from capistrano.
After testing with --init removed, I realized that it is actually --recursive that is unsupported in earlier versions of git. That actually makes a lot more sense, since the git docs claimed to say it supported update --init in 1.6.
Git submodule update --recursive was introduced in version 1.6.5.
This would be easily worked around by adding set :git_submodules_recursive, false
to the deploy.rb, except that the default is true, and set :variable, false
has no effect in SCM code. I've opened pull request #103 to fix that bug.
That bug aside, to resolve this issue, we could change git_submodules_recursive to default to false, but that would likely probably break people's deploys who rely on --recursive being there by default.
Instead, we should check the git version and only use --recursive when git version >= 1.6.5. Do you guys agree with this approach? If so, I'll write the patch and submit a pull request.
from capistrano.
@nilbus nice work - that confirms what I had read. Thanks for #103, I'm sure we spoke about that previously.
Regarding the way forward, if there's a long-hand way to do this, which is backwards and future compatible, I vote to stay with it.
Preferably the Git submodule would be as agnostic as possible, Capistrano is already quite severely limited by the lowest common denominator (:copy) so I don't see why SCM support should be any different!
from capistrano.
Fixed in #105. Let me know what you think of that solution.
from capistrano.
(Pull request accepted, nice fix)
from capistrano.
Related Issues (20)
- When I was running this "bundle exec cap demo deploy -t latest" command it showing error, I was try to deploy with Jenkins pipeline and my public ssh key add deploy server ERROR: SSHKit::Runner::ExecuteError: HOT 1
- Git CVE-2022-24765 and `safe.directory` Exceptions with Multiple Users HOT 6
- Documentation references the deprecated :scm variable HOT 2
- rsync instead of scp? HOT 2
- Default scm branch to "main" HOT 1
- If there is no way deploy with capistrano? [GitHub action] HOT 2
- Connection stale when running a command that takes ~4 hours to finish HOT 1
- Capistrano deletes last working deployment if recovering from too many failures HOT 1
- Deployment fail on precompile -> compilation step. Possible memory leak? HOT 3
- Deploying a new app to a staging server won't start/restart puma/systemd HOT 1
- Switch from CircleCI to GitHub Actions
- Danger CI job doesn't run on PRs from forks HOT 1
- Security issue reported to [email protected]
- Docs bug HOT 2
- Deployment fails with Ruby 3.3.0-rc1 HOT 5
- ~/.rvm/gems/ruby-3.3.0/gems/net-ssh-7.2.1/lib/net/ssh/known_hosts.rb:3: warning: base64 was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add base64 to your Gemfile or gemspec. Also contact author of net-ssh-7.2.1 to add base64 into its gemspec. HOT 1
- solr is not restart or start on rollback HOT 1
- Feature Request: git verify-tag
- Support exposing revision time alongside revision sha (when using git) HOT 6
- `set_current_revision_time` hangs in 3.19.0 HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from capistrano.