X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/aad156122a343b2bb7532e3275aa0fc8877ea0c8..7ec67608cca6d2ca8095c2ebf0585e36431056ea:/mr diff --git a/mr b/mr index a6b5975..883f4fb 100755 --- a/mr +++ b/mr @@ -81,6 +81,11 @@ remote repository. Only supported for distributed revision control systems. The optional -m parameter allows specifying a commit message. +=item push + +Pushes committed local changes to the remote repository. A no-op for +centralized revision control systems. + =item diff Show a diff of uncommitted changes. @@ -446,7 +451,7 @@ sub findcommand { #{{{ sub action { #{{{ my ($action, $dir, $topdir, $subdir) = @_; - + $ENV{MR_CONFIG}=$configfiles{$topdir}; my $lib=exists $config{$topdir}{$subdir}{lib} ? $config{$topdir}{$subdir}{lib}."\n" : ""; @@ -541,8 +546,10 @@ sub action { #{{{ if (-e "$ENV{HOME}/.mrlog" && $action ne 'remember') { # recreate original command line to # remember, and avoid recursing - @ARGV=('-n', $action, @ARGV); + my @orig=@ARGV; + @ARGV=('-n', $action, @orig); action("remember", $dir, $topdir, $subdir); + @ARGV=@orig; } } elsif ($ret != 0) { @@ -1288,6 +1295,13 @@ bzr_record = bzr commit "$@" hg_record = hg commit -m "$@" darcs_record = darcs record -a -m "$@" +svn_push = : +git_push = git push "$@" +bzr_push = bzr push "$@" +cvs_push = : +hg_push = hg push "$@" +darcs_push = darcs push -a + svn_diff = svn diff "$@" git_diff = git diff "$@" bzr_diff = bzr diff "$@" @@ -1363,8 +1377,8 @@ online = if [ -s ~/.mrlog ]; then info "running offline commands" mv -f ~/.mrlog ~/.mrlog.old - if ! sh ~/.mrlog.old; then - error "offline commands failed; left in ~/.mrlog.old" + if ! sh -e ~/.mrlog.old; then + error "offline command failed; left in ~/.mrlog.old" fi rm -f ~/.mrlog.old else