Mercurial > dotfiles
comparison .shell.d/50.hg_functions.sh @ 231:6da5a4729bc7
hg-rebase-all: fix bogus loop
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Sat, 09 Oct 2010 15:47:24 -0500 |
parents | 0c8939baa35c |
children | 369d869082fd |
comparison
equal
deleted
inserted
replaced
230:ff600674c701 | 231:6da5a4729bc7 |
---|---|
20 if [ "$1" = "tip" ] ; then | 20 if [ "$1" = "tip" ] ; then |
21 echo 'abort: tip is essentially never what you mean here' | 21 echo 'abort: tip is essentially never what you mean here' |
22 return 2 | 22 return 2 |
23 fi | 23 fi |
24 for b in $(hg book | sed 's/^ \*/ /' | awk '{ print $1 }') ; do | 24 for b in $(hg book | sed 's/^ \*/ /' | awk '{ print $1 }') ; do |
25 hg co --clean $book | 25 hg co --clean $b |
26 hg rebase -d "$1" | 26 hg rebase -d "$1" |
27 done | 27 done |
28 } | 28 } |
29 alias hg-rebase-all=hg_rebase_all | 29 alias hg-rebase-all=hg_rebase_all |
30 | 30 |
42 alias hg-svn-merge-branch=hgsvnmergebranch | 42 alias hg-svn-merge-branch=hgsvnmergebranch |
43 | 43 |
44 function hgsvnrebaseall() { | 44 function hgsvnrebaseall() { |
45 for b in `hg log -u 'Augie Fackler <durin42@gmail.com>' --template '{branches}\n' | sort | uniq` | 45 for b in `hg log -u 'Augie Fackler <durin42@gmail.com>' --template '{branches}\n' | sort | uniq` |
46 do | 46 do |
47 echo "rebase $b" | 47 echo "rebase $b" |
48 hg co $b | 48 hg co $b |
49 if [[ "$?" != "0" ]] ; then | 49 if [[ "$?" != "0" ]] ; then |
50 echo "abort: could not checkout $b" | 50 echo "abort: could not checkout $b" |
51 return | 51 return |
52 fi | 52 fi |
53 hg parent --svn > /dev/null | 53 hg parent --svn > /dev/null |
54 if [[ "$?" == "0" ]] ; then | 54 if [[ "$?" == "0" ]] ; then |
55 hg rebase --svn || return | 55 hg rebase --svn || return |
56 else | 56 else |
57 echo "Skip $b since it has a merge." | 57 echo "Skip $b since it has a merge." |
58 fi | 58 fi |
59 done | 59 done |
60 } | 60 } |
61 alias hg-svn-rebase-all=hgsvnrebaseall | 61 alias hg-svn-rebase-all=hgsvnrebaseall |
62 | 62 |
63 function hgamend() { | 63 function hgamend() { |
76 function hgsvnmkbranch() { | 76 function hgsvnmkbranch() { |
77 local upstream | 77 local upstream |
78 upstream=$(hg paths default | sed 's%/*$%%') | 78 upstream=$(hg paths default | sed 's%/*$%%') |
79 local branchname | 79 local branchname |
80 if [ "x$1" = "x" ] ; then | 80 if [ "x$1" = "x" ] ; then |
81 echo 'Must provide new branch name.' | 81 echo 'Must provide new branch name.' |
82 return 1 | 82 return 1 |
83 fi | 83 fi |
84 local d=`hg svn info | grep URL | sed 's/.*://'` | 84 local d=`hg svn info | grep URL | sed 's/.*://'` |
85 local br=`echo $d | awk '{ | 85 local br=`echo $d | awk '{ |
86 if ( index($1, "trunk") ) { | 86 if ( index($1, "trunk") ) { |
87 print "trunk" | 87 print "trunk" |
88 } else { | 88 } else { |
89 x = index($1, "branches") ; | 89 x = index($1, "branches") ; |
90 if ( x != 0 ) { | 90 if ( x != 0 ) { |
91 sub(".*/branches/", ""); | 91 sub(".*/branches/", ""); |
92 sub("/.*", ""); | 92 sub("/.*", ""); |
93 print $0 | 93 print $0 |
94 } | 94 } |
95 } | 95 } |
96 }'` | 96 }'` |
97 | 97 |
98 branchname=$br | 98 branchname=$br |
99 echo svn cp $upstream/$branchname $upstream/branches/$1 | 99 echo svn cp $upstream/$branchname $upstream/branches/$1 |
100 } | 100 } |
101 alias hg-svn-mkbranch=hgsvnmkbranch | 101 alias hg-svn-mkbranch=hgsvnmkbranch |