Skip to content
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

Can't push pod with different case after the old one was deleted #146

Open
ncreated opened this issue Mar 13, 2020 · 4 comments
Open

Can't push pod with different case after the old one was deleted #146

ncreated opened this issue Mar 13, 2020 · 4 comments

Comments

@ncreated
Copy link

Hello 👋, I work for Datadog and I'm struggling with pushing our Datadog.podspec by getting:

[!] {"name"=>["is already taken"]}

A little background:

  • In the past, a different community member did push the DataDog.podspec (camel case);
  • We contacted this member and he added me as a contributor, so pod trunk me is this:
❯ pod trunk me
  - Name:     Maciek Grzybowski
  - Email:    <my datadoghq.com e-mail>
  - Since:    March 11th, 16:14
  - Pods:
    - DataDog
  • Then I deleted the only existing version of his pod: pod trunk delete DataDog 0.6.2

Now, even if the DataDog.podspec was removed from specs repo 14 hours ago, I still can't succeed with pod trunk push Datadog.podspec.

I have searched for possible workarounds, including this one "#172 name is already taken" after a pod version delete, but my issue seems different, as it includes both, the contributor change and case sensitivity thing.

Any suggestions what we can do to share our Datadog pod with the community 🙂?


I'm on pod --version 1.9.1.
DataDog.podspec was on version 0.6.2, I'm trying to push 1.0.0-beta1 - here's my podspec.

@ncreated ncreated changed the title Can't push pod with different case after old one was deleted Can't push pod with different case after the old one was deleted Mar 13, 2020
@ncreated
Copy link
Author

Could anyone 🙏 help on that 🙂? This blocks us from releasing our pod under our Datadog trademark and forces us to make up an artificial name 🙅‍♂.

Wrapping up, even if the DataDog.podspec is deleted:

❯ pod trunk delete DataDog 0.6.2
WARNING: It is generally considered bad behavior to remove versions of a Pod that others are depending on!
Please consider using the `deprecate` command instead.
Are you sure you want to delete this Pod version?
> yes

[!] No pod found with the specified name.

I can't push Datadog.podspec:

❯ pod trunk push Datadog.podspec
Updating spec repo `trunk`
Validating podspec
 -> Datadog (1.0.0-beta1)
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | xcodebuild:  note: Planning build
    - NOTE  | xcodebuild:  note: Constructing build description
    - NOTE  | [iOS] xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')
    - NOTE  | xcodebuild:  note: Execution policy exception registration failed and was skipped: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" (in target 'Datadog' from project 'Pods')
    - NOTE  | xcodebuild:  note: Execution policy exception registration failed and was skipped: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" (in target 'Pods-App' from project 'Pods')
    - NOTE  | xcodebuild:  note: Execution policy exception registration failed and was skipped: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" (in target 'App' from project 'App')

[!] {"name"=>["is already taken"]}

@AliSoftware
Copy link
Contributor

This happens because you're not trying to push the same pod than the old one and replacing it, but trying to push a different new pod (with a different name than the other one) but whose name is conflicting with the old one.

Note especially that the two use different cases, DataDog for the old, already existing one vs Datadog for the new one you're trying to push. So trunk considers that you're trying to push a different, new pod and refuses because there's already one with a name that is too similar (case-insensitive-wise)

If the goal is to replace the old pod, be sure to use the exact same name too, namely DataDog with capital D

@ncreated
Copy link
Author

Hey @AliSoftware, thanks for looking into this issue.

Our goal was to re-claim our Datadog trademark for the pod name. Thus, what we want to ship is not related to old DataDog pod in any way. But I understand if there's not a mechanism in CP trunk to solve this case 😞. We might need to end up with a different name for the pod.

@Ethella
Copy link

Ethella commented Apr 1, 2020

CocoaPods/trunk.cocoapods.org#279 Having a similar issue here.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants