git-up 0.5.8 → 0.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +36 -18
- data/bin/git-up +1 -1
- data/lib/git-up.rb +31 -1
- data/lib/git-up/version.rb +1 -1
- metadata +24 -9
data/README.md
CHANGED
|
@@ -6,15 +6,35 @@ git-up
|
|
|
6
6
|
* It merges upstream changes by default, when it's really more polite to [rebase over them](http://www.gitready.com/advanced/2009/02/11/pull-with-rebase.html), unless your collaborators enjoy a commit graph that looks like bedhead.
|
|
7
7
|
* It only updates the branch you're currently on, which means `git push` will shout at you for being behind on branches you don't particularly care about right now.
|
|
8
8
|
|
|
9
|
-
Solve them once and for all
|
|
9
|
+
Solve them once and for all.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
install
|
|
12
|
+
-------
|
|
13
|
+
|
|
14
|
+
$ gem install git-up
|
|
15
|
+
|
|
16
|
+
Windows support is predictably absent. Try the [Python port](https://github.com/msiemens/PyGitUp), which was started for that reason.
|
|
17
|
+
|
|
18
|
+
use
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+

|
|
12
22
|
|
|
13
23
|
although
|
|
14
24
|
--------
|
|
15
25
|
|
|
16
26
|
`git-up` might mess up your branches, or set your chest hair on fire, or be racist to your cat, I don't know. It works for me.
|
|
17
27
|
|
|
28
|
+
difficulties
|
|
29
|
+
------------
|
|
30
|
+
|
|
31
|
+
### Windows
|
|
32
|
+
Windows support is an ongoing pain. Have a look at [this ticket](https://github.com/aanand/git-up/issues/34) if you really need it, or if you're bored.
|
|
33
|
+
|
|
34
|
+
### spawn.rb:187:in `_pspawn': Invalid command name (ArgumentError)
|
|
35
|
+
|
|
36
|
+
If you're using RVM and you get this error, [read this](https://github.com/aanand/git-up/blob/master/RVM.md).
|
|
37
|
+
|
|
18
38
|
configuration
|
|
19
39
|
-------------
|
|
20
40
|
|
|
@@ -27,32 +47,30 @@ To set it within a project, run the command inside that project's directory and
|
|
|
27
47
|
cd myproject
|
|
28
48
|
git config git-up.bundler.check true
|
|
29
49
|
|
|
30
|
-
###
|
|
31
|
-
|
|
32
|
-
If set to `true`, `git-up` will check your app for any new bundled gems and suggest a `bundle install` if necessary.
|
|
50
|
+
### git-up.bundler.check [true|false]
|
|
33
51
|
|
|
34
|
-
|
|
52
|
+
Default: **false**. If **true**, git-up will check your app for any new bundled gems and suggest a `bundle install` if necessary.
|
|
35
53
|
|
|
36
|
-
###
|
|
54
|
+
### git-up.bundler.autoinstall [true|false]
|
|
37
55
|
|
|
38
|
-
|
|
56
|
+
Default: **false**. If **true**, and if `git-up.bundler.check` is also set to **true**, git-up will run `bundle install` for you if it finds missing gems.
|
|
39
57
|
|
|
40
|
-
###
|
|
58
|
+
### git-up.fetch.prune [true|false]
|
|
41
59
|
|
|
42
|
-
|
|
60
|
+
Default: **true**. Append the `--prune` flag when running `git fetch`, if your git version supports it (1.6.6 or greater), telling it to [remove any remote tracking branches which no longer exist on the remote](http://linux.die.net/man/1/git-fetch).
|
|
43
61
|
|
|
44
|
-
###
|
|
62
|
+
### git-up.fetch.all [true|false]
|
|
45
63
|
|
|
46
|
-
Normally,
|
|
64
|
+
Default: **false**. Normally, git-up will only fetch remotes for which there is at least one local tracking branch. Setting this option to **true** will make git-up always fetch from all remotes, which is useful if e.g. you use a remote to push to your CI system but never check those branches out.
|
|
47
65
|
|
|
48
|
-
###
|
|
66
|
+
### git-up.rebase.arguments [string]
|
|
49
67
|
|
|
50
|
-
|
|
68
|
+
Default: **unset**. Additional arguments to pass to `git rebase`. For example, setting this to `--preserve-merges` will recreate your merge commits in the rebased branch.
|
|
51
69
|
|
|
52
|
-
###
|
|
70
|
+
### git-up.rebase.auto [true|false]
|
|
53
71
|
|
|
54
|
-
If this option is set to false
|
|
72
|
+
Default: **true**. If this option is set to **false**, git-up will not rebase branches for you. Instead, it will print a message saying they are diverged and let you handle rebasing them later. This can be useful if you have a lot of in-progress work that you don't want to deal with at once, but still want to update other branches.
|
|
55
73
|
|
|
56
|
-
###
|
|
74
|
+
### git-up.rebase.log-hook "COMMAND"
|
|
57
75
|
|
|
58
|
-
Runs COMMAND every time a branch is rebased or fast-forwarded, with the old head as
|
|
76
|
+
Default: **unset**. Runs **COMMAND** every time a branch is rebased or fast-forwarded, with the old head as **$1** and the new head as **$2**. This can be used to view logs or diffs of incoming changes. For example: `'echo "changes on $1:"; git log --oneline --decorate $1..$2'`
|
data/bin/git-up
CHANGED
data/lib/git-up.rb
CHANGED
|
@@ -2,7 +2,9 @@ require 'colored'
|
|
|
2
2
|
require 'grit'
|
|
3
3
|
|
|
4
4
|
class GitUp
|
|
5
|
-
def run
|
|
5
|
+
def run(argv)
|
|
6
|
+
process_args(argv)
|
|
7
|
+
|
|
6
8
|
command = ['git', 'fetch', '--multiple']
|
|
7
9
|
command << '--prune' if prune?
|
|
8
10
|
command += config("fetch.all") ? ['--all'] : remotes
|
|
@@ -26,6 +28,34 @@ class GitUp
|
|
|
26
28
|
exit 1
|
|
27
29
|
end
|
|
28
30
|
|
|
31
|
+
def process_args(argv)
|
|
32
|
+
banner = <<BANNER
|
|
33
|
+
Fetch and rebase all remotely-tracked branches.
|
|
34
|
+
|
|
35
|
+
$ git up
|
|
36
|
+
master #{"up to date".green}
|
|
37
|
+
development #{"rebasing...".yellow}
|
|
38
|
+
staging #{"fast-forwarding...".yellow}
|
|
39
|
+
production #{"up to date".green}
|
|
40
|
+
|
|
41
|
+
There are no command-line options, but there are a few
|
|
42
|
+
`git config` variables you can set, which are documented here:
|
|
43
|
+
#{"https://github.com/aanand/git-up#configuration".cyan}
|
|
44
|
+
|
|
45
|
+
BANNER
|
|
46
|
+
|
|
47
|
+
case argv
|
|
48
|
+
when []
|
|
49
|
+
return
|
|
50
|
+
when ["-h"], ["--help"]
|
|
51
|
+
$stderr.puts(banner)
|
|
52
|
+
exit
|
|
53
|
+
else
|
|
54
|
+
$stderr.puts(banner)
|
|
55
|
+
exit 1
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
29
59
|
def rebase_all_branches
|
|
30
60
|
col_width = branches.map { |b| b.name.length }.max + 1
|
|
31
61
|
|
data/lib/git-up/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: git-up
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.9
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -12,11 +12,11 @@ authors:
|
|
|
12
12
|
autorequire:
|
|
13
13
|
bindir: bin
|
|
14
14
|
cert_chain: []
|
|
15
|
-
date:
|
|
15
|
+
date: 2013-07-16 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
18
|
name: thoughtbot-shoulda
|
|
19
|
-
requirement:
|
|
19
|
+
requirement: !ruby/object:Gem::Requirement
|
|
20
20
|
none: false
|
|
21
21
|
requirements:
|
|
22
22
|
- - ! '>='
|
|
@@ -24,10 +24,15 @@ dependencies:
|
|
|
24
24
|
version: '0'
|
|
25
25
|
type: :development
|
|
26
26
|
prerelease: false
|
|
27
|
-
version_requirements:
|
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
28
|
+
none: false
|
|
29
|
+
requirements:
|
|
30
|
+
- - ! '>='
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
28
33
|
- !ruby/object:Gem::Dependency
|
|
29
34
|
name: colored
|
|
30
|
-
requirement:
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
31
36
|
none: false
|
|
32
37
|
requirements:
|
|
33
38
|
- - ! '>='
|
|
@@ -35,10 +40,15 @@ dependencies:
|
|
|
35
40
|
version: '1.2'
|
|
36
41
|
type: :runtime
|
|
37
42
|
prerelease: false
|
|
38
|
-
version_requirements:
|
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
44
|
+
none: false
|
|
45
|
+
requirements:
|
|
46
|
+
- - ! '>='
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: '1.2'
|
|
39
49
|
- !ruby/object:Gem::Dependency
|
|
40
50
|
name: grit
|
|
41
|
-
requirement:
|
|
51
|
+
requirement: !ruby/object:Gem::Requirement
|
|
42
52
|
none: false
|
|
43
53
|
requirements:
|
|
44
54
|
- - ! '>='
|
|
@@ -46,7 +56,12 @@ dependencies:
|
|
|
46
56
|
version: '0'
|
|
47
57
|
type: :runtime
|
|
48
58
|
prerelease: false
|
|
49
|
-
version_requirements:
|
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
60
|
+
none: false
|
|
61
|
+
requirements:
|
|
62
|
+
- - ! '>='
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: '0'
|
|
50
65
|
description:
|
|
51
66
|
email:
|
|
52
67
|
- aanand.prasad@gmail.com
|
|
@@ -81,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
81
96
|
version: '0'
|
|
82
97
|
requirements: []
|
|
83
98
|
rubyforge_project:
|
|
84
|
-
rubygems_version: 1.8.
|
|
99
|
+
rubygems_version: 1.8.23
|
|
85
100
|
signing_key:
|
|
86
101
|
specification_version: 3
|
|
87
102
|
summary: git command to fetch and rebase all branches
|