Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

use file basename by default #93

Closed
wants to merge 1 commit into from

4 participants

@goodell

The github API doesn't seem to like file names with a '/' in it, like
you would get if you executed gist /tmp/foo.txt or
gist subdir/bar.c. This yields a "422 Unprocessable Entity" error
which can be very confusing. Using the file's basename eliminates this
problem. This behavior can be disabled by passing --no-basename to
gist.

@goodell goodell use file basename by default
The github API doesn't seem to like file names with a '/' in it, like
you would get if you executed `gist /tmp/foo.txt` or
`gist subdir/bar.c`.  This yields a "422 Unprocessable Entity" error
which can be very confusing.  Using the file's basename eliminates this
problem.  This behavior can be disabled by passing `--no-basename` to
gist.
963a5f6
@goodell

updated to 963a5f6 to avoid accidentally conflating a separate fix with the basename issue

@tosik

+1

@mfilej

Just ran into this and the error is indeed very cryptic.

A question regarding this patch – I'm probably missing something here – but what is the purpose of the --no-basename option? Wouldn't using it just result in an error?

@sickill

+1

@ConradIrwin ConradIrwin closed this pull request from a commit
@ConradIrwin ConradIrwin Merge jist with gist!
After some time as a fork, and a lot of vetting from users, we have
decided to merge the projects together.

The key change is to use OAuth tokens for authentication instead of
requiring you to hard-code your password. Please use `gist --login`
to exchange your username and password for a token.

Close #137  Gist API now requires user-agent be set, and some versions of Net::HTTP don't 3 ↑
Close #136  SSL error (w/ Homebrew & Ruby 2.0.0-p0 from rbenv)
Close #135  Moved authentication over to OAuth tokens. 1 ↑
Close #134  Trying to use gist inside a directory with dashes in the name on a file inside a subdirectory of that results in 422 errors.... 3
Close #133  SSL cert cached in /tmp
Close #132  --open doesn't works
Close #131  Replace slashes with dashes to avoid 422 errors ↑
Close #130  FEATURE: Multiple API Providers 2 ↑
Close #125  Preventing gist from throwing errors when xclip is installed but X11 isn't present (forwarding or otherwise) ↑
Close #120  Add link shortening with --shorten / -s option ↑
Close #118  Use tokens instead of username / password 4
Close #117  Integrate with git.io
Close #116  man page typos & feature request
Close #115  Creating gist failed: 500 Internal Server Error 1
Close #112  Refactor reading from stdin so --type option works 3 ↑
Close #111  Allow gist to work against different githubs 2 ↑
Close #109  fix error on windows. ↑
Close #108  set Content-Type. 5 ↑
Close #107  Add update support. 1 ↑
Close #106  Add anonymous gisting. 1 ↑
Close #103  fix some bugs.  make gist rock in vim/editor via "highlight lines - :!gist" ↑
Close #98  SSL... 23
Close #96  Creating gist failed: 422 Unprocessable Entity 2
Close #95  Fixes the extension issue for -t syntax highlighting, and the filename for stdin 5 ↑
Close #94  show JSON response when create fails ↑
Close #93  use file basename by default 4 ↑
Close #91  Support using an oauth token rather than a username+password 7 ↑
Close #90  3.1.0 fails to authenticate 3
Close #88  Current (3.1.0) no longer respects -t flag 3
Close #85  Copy to clipboard in Windows ↑
Close #84  use oauth now that there are no tokens 14
Close #78  Strip directory from arguments 2
Close #76  Some README.markdown nitpicks...
Close #75  Does not open in browser by default — documentation disagrees 3
Close #74  Set description from CLI (for issue #73) 1 ↑
Close #73  Should be able to set gist description from commandline 1
Close #69  Failed gist creation should raise instead of puts and exit.
Close #67  Use the github api and allow gist url override. 1 ↑
Close #65  Handle lowercased versions of HTTP_PROXY and HTTPS_PROXY. 1 ↑
Close #64  When generating the man page (-m/--man), skip the usage instructions ↑
Close #61  Instructions for setting github.token to a command don't work for me 1
Close #58  support for anonymous gists
Close #53  Add support for GitHub:FI 4
Close #25  Support for updating gists [feature] 1
a05092f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on May 5, 2012
  1. @goodell

    use file basename by default

    goodell authored
    The github API doesn't seem to like file names with a '/' in it, like
    you would get if you executed `gist /tmp/foo.txt` or
    `gist subdir/bar.c`.  This yields a "422 Unprocessable Entity" error
    which can be very confusing.  Using the file's basename eliminates this
    problem.  This behavior can be disabled by passing `--no-basename` to
    gist.
This page is out of date. Refresh to see the latest.
Showing with 6 additions and 1 deletion.
  1. +6 −1 gist
View
7 gist
@@ -1140,6 +1140,7 @@ module Gist
gist_extension = defaults["extension"]
browse_enabled = defaults["browse"]
description = nil
+ use_basename = true
opts = OptionParser.new do |opts|
opts.banner = "Usage: gist [options] [filename or stdin] [filename] ...\n" +
@@ -1171,6 +1172,10 @@ module Gist
exit
end
+ opts.on('-b', '--[no-]basename', 'use the basename of the given file (enabled by default)') do |b|
+ use_basename = b
+ end
+
opts.on('-h', '--help', 'Display this screen') do
puts opts
exit
@@ -1193,7 +1198,7 @@ module Gist
files.push({
:input => File.read(file),
- :filename => file,
+ :filename => (use_basename ? File.basename(file) : file),
:extension => (File.extname(file) if file.include?('.'))
})
end
Something went wrong with that request. Please try again.