dot/gitconfig.in: Add explicit `pull' setting.
[profile] / dot / gitconfig.in
index 69cca7f..20235cb 100644 (file)
 [rebase]
        autosquash = true
 
+[pull]
+       rebase = false
+
 [push]
-       default = matching
+       default = upstream
        followTags = true
 
 [format]
@@ -80,9 +83,6 @@
        local = normal
        remote = cyan
 
-[color "grep"]
-       external = --color=always
-
 [column]
        ui = auto column dense
 
                  exit 1; \
                }; \
                git tag -as -m \"Release $1.\" \"$@\"' release"
+       catchup = !"perl -e ' \
+               use autodie qw(:all); \
+               if (@ARGV < 2) { \
+                 print STDERR \"git catchup REMOTE REF ...\n\"; \
+                 exit 2; \
+               } \
+               @c = (); $m = shift @ARGV; \
+               for my $r (@ARGV) { \
+                 my ($p, $r) = $r =~ /^([+]*)(.*)$/; \
+                 push @c, \"$p$m/$r:$r\"; \
+               } \
+               exec \"git\", \"push\", \".\", @c'"
        amend = !"env EDITOR=true VISUAL=true git commit --amend -a"
        spaces = !"sh -e -c 'git ls-files -z \"$@\"| \
                xargs -0r space -cv' spaces"