Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

List domain name along with app name and owner in `heroku apps` output #278

Closed
wants to merge 1 commit into from

3 participants

@geemus
Owner

@dbrock - I can see how this would be useful, but I don't think this will necessarily get you what you want. In particular it is possible that an app will have multiple domains and this would just list the first one that is attached. Also I'd like to keep things consistent in terms of what gets displayed where. I think perhaps that the better solution would be one in which you could call heroku domains without an app name to get back a list of all domains and apps. I think that is a bit more consistent anyway (but unfortunately I think we'll need to update the API to provide it). What do you think? Also, could you elaborate on your use case and why you are running into this just so I know that I'm not barking up the wrong tree. Thanks!

@dbrock

That sounds fine too.

My use case:

  1. "I need to change something about the app on http://example.com."
  2. [...types git clone git@heroku.com:...]
  3. "Hmm, I wonder what I named that app..."
  4. "Ah, I’ll use heroku to find out."
  5. ???
  6. Success!

So I guess what I really want is for heroku --app= to be able to accept domain names as well as app names, so that I could just do something like this:

domain=example.com
name=$(heroku info -r --app $domain | grep ^name= | cut -d= -f2-)
git clone git@heroku.com:$name.git

Or even—and omg this would be so awesome—simply this:

heroku clone example.com

Right???????? :DDD

@geemus
Owner

@dbrock - very interesting. Thanks for the additional feedback. I think I will maybe approach this slightly differently than the pull request, but I'll try to get something added in the not too distant future to make this sort of thing easier.

@dbrock

Cool, thanks! :D I’ll just leave this open then, until you (hopefully) come up with something.

I just noticed that @ddollar made something called heroku clone already (http://github.com/ddollar/heroku-clone). Hmm... Maybe that could become an option to heroku create, instead... heroku create new-app --clone old-app? (I don’t know, just thinking out loud...)

I do think heroku clone my-app as a way to invoke git clone git@heroku.com:my-app.git makes a lot of sense, though; compare, for example, github clone my-app, which does that exact thing. Also there’s a kind of symmetry with heroku create my-app.

Ooooh— we could also make heroku create example.com a shortcut for heroku create example-com; heroku domains:add example.com!! :DDDD

Again, just thinking out loud. :-)

@geemus
Owner

@dbrock - thanks again for the feedback. I think clone working like that could make a lot of sense, and there is an issue related to that here: #255

I'll hopefully revisit the rest of these ideas some time soon (have a couple urgent projects going on right now and will be travelling to/from a conference this week).

@ddollar

We'll be talking to the API team about accepting domain names for app names. Thanks for the feedback!

@ddollar ddollar closed this
@dbrock

Cool, I’ll keep an eye out for that. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Apr 3, 2012
  1. Show domain names in `heroku apps` output.

    Daniel Brockman authored
This page is out of date. Refresh to see the latest.
Showing with 5 additions and 7 deletions.
  1. +2 −1  lib/heroku/client.rb
  2. +3 −6 lib/heroku/command/apps.rb
View
3  lib/heroku/client.rb
@@ -47,7 +47,8 @@ def list
doc.elements.to_a("//apps/app").map do |a|
name = a.elements.to_a("name").first
owner = a.elements.to_a("owner").first
- [name.text, owner.text]
+ domain = a.elements.to_a("domain_name").first
+ [name.text, owner.text, domain.text]
end
end
View
9 lib/heroku/command/apps.rb
@@ -11,12 +11,9 @@ class Heroku::Command::Apps < Heroku::Command::Base
def index
list = heroku.list
if list.size > 0
- hputs(list.map {|name, owner|
- if heroku.user == owner
- name
- else
- "#{name.ljust(25)} #{owner}"
- end
+ hputs(list.map {|name, owner, domain|
+ owner = "" if heroku.user == owner
+ "#{"#{name.ljust(25)} #{owner}".ljust(50)} #{domain}"
}.join("\n"))
else
hputs("You have no apps.")
Something went wrong with that request. Please try again.