summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatricia Arbona <arbonap@gmail.com>2017-08-10 11:50:30 -0700
committerPatricia Arbona <arbonap@gmail.com>2017-08-10 11:50:30 -0700
commit3441b6df3df1d41c727eabec08ff2a7dfa675c48 (patch)
treef28bd120dc5c10b4768bf20116ce5793a61b9387
parent5f5a2f77f305655a1703b63df9cfebb8c3863670 (diff)
downloadbundler-3441b6df3df1d41c727eabec08ff2a7dfa675c48.tar.gz
Add more explanation to `bundle pristine` docs
-rw-r--r--man/bundle-pristine.ronn27
1 files changed, 24 insertions, 3 deletions
diff --git a/man/bundle-pristine.ronn b/man/bundle-pristine.ronn
index 266177dab3..e2d6b6a348 100644
--- a/man/bundle-pristine.ronn
+++ b/man/bundle-pristine.ronn
@@ -7,7 +7,28 @@ bundle-pristine(1) -- Restores installed gems to their pristine condition
## DESCRIPTION
-`pristine` restores the installed gems in the bundle to their pristine condition using the local gem
-cache from RubyGems. For git gems - a forced checkout will be performed.
+`pristine` restores the installed gems in the bundle to their pristine condition
+using the local gem cache from RubyGems. For git gems, a forced checkout will be performed.
-Note the Bundler gem cannot be restored to its original state with `pristine`.
+For further explanation, `bundle pristine` ignores unpacked files on disk. In other
+words, this command utilizes the local `.gem` cache or the gem's git repository
+as if one were installing from scratch.
+
+Note: the Bundler gem cannot be restored to its original state with `pristine`.
+One also cannot use `bundle pristine` on gems with a 'path' option in the Gemfile,
+because bundler has no original copy it can restore from.
+
+When is it practical to use `bundle pristine`?
+
+It comes in handy when a developer is debugging a gem. `bundle pristine` is a
+great way to get rid of experimental changes to a gem that one may not want.
+
+Why use `bundle pristine` over `gem pristine --all`?
+
+Both commands are very similar.
+For context: `bundle pristine`, without arguments, cleans all gems from the lockfile.
+Meanwhile, `gem pristine --all` cleans all installed gems for that Ruby version.
+
+If a developer forgets which gems in their project they might
+have been debugging, the Rubygems `gem pristine [GEMNAME]` command may be inconvenient.
+One can avoid waiting for `gem pristine --all`, and instead run `bundle pristine`.