-
Notifications
You must be signed in to change notification settings - Fork 72
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
Add :checkout option to allow checkinable svn pod when combined with --no-clean #7
Conversation
The svn downloader uses export instead of checkout by default since CocoaPods/CocoaPods#473. But having a "checkin-able" pod is still usefull for the Pods developpers even if it has been aggreed to be a minority-use case. (from CocoaPods/CocoaPods#245 discussion).
This is a smart solution. Just one question, can you add this change to the CHANGELOG and credit yourself? Do you think we should deprecate |
I forgot about the Currently the
Maybe a |
Ah I see, I had read the patch incorrect. So now the s.source = { :svn => "https://server/project", :revision => '42', :checkout => true } And yes, it should default to |
Or, having said that, maybe the option should be |
I'm on the fence about this. To my understanding this would allow to use a local podspec or a controlled repo to edit the source in place and support the ability to check-in SVN sources (if the SCM is SVN). I would be tempted to provide higher level support with a flag like If we go this route a system patch in cocoapods-core should patch the linter to print a warning if this option is used (to prevent somebody from enabling it in spec submitted to the master repo). |
@irrationalfab This is exactly my intent. During development, our team currently handles reusable components as git submodules or svn:externals, then we write a podspec and deliver these to other teams as pods. Maybe this should be something a the versioning level, like Maven does with its Or maybe we could consider that when we define a pod in a podfile using a repo directly, we are in development mode :
whereas having a version is considered as release mode :
|
So the issue is about development mode. I wonder if you investigated the Taking into account the above this feature is desirable in the downloader as we need to have an option to specify to preserve the SCM metadata. I would propose to merge and to add a check in cocoapods-core (if you are interested in filing a patch that would be awesome, otherwise please open an issue). Just in case you didn't consider it. With this patch you will be able to simply do the following as the options are just passed to the downloaders: pod 'MyLib':svn => "https://server/project", :revision => '42', :checkout => true @alloy green light for the merge? |
@irrationalfab I agree with everything you said and am 👍 on merging this. |
Cool. @yalp before merging we need an entry to the changelog and the specs to test the new behavior. Feel free to force push/rebase your branch otherwise I will squash the merge. |
Any update on this? |
bump |
@irrationalfab Sorry, I will not be able to complete this PR myself. I've been, and will be, off the grid all year long for my bike tour around the world ! Sorry again for letting you down on this one. |
The svn downloader uses export instead of checkout since
CocoaPods/CocoaPods#473.
But having a "checkin-able" pod is still usefull for some Pods developpers even
if it has been aggreed to be a minority-use case.
(from CocoaPods/CocoaPods#245 discussion).
Currently with Git, it is just by using
--no-clean
topod install
orpod update
.With this options, SVN can also have this feature.