author | Jan Vrany <jan.vrany@labware.com> |
Mon, 27 Jun 2022 15:13:20 +0100 | |
changeset 325 | 7d9550327b8d |
parent 322 | d31ea885c8fa |
child 326 | 42a9250a00b2 |
permissions | -rw-r--r-- |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
# This file contains various tasks usefull for Smalltalk/X jv-branch |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
# development. Currently it only supports working with Mercurial repositories, |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
# Honestly, there's not much one can do with CVS, we're using it only for |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
# packages that have not been converted to Mercurial. |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
|
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
namespace :'workflow' do |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
# A helper function to :push-upstream and push-staging tasks |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
8 |
def hg_repositories |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
9 |
project.packages_and_application.each do |pkg| |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
10 |
unless pkg.nested_package? |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
repo = Rake::Stx::Configuration::Repository::find(pkg.repository) |
241
481556cfa16d
Rakefiles: fixed tasks `workflow:*` to work on SWING CI
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
138
diff
changeset
|
12 |
if repo != nil and repo.type == :'hg' and (File.exists?(BUILD_DIR / pkg.directory / '.hg' / 'hgrc')) |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
13 |
hg = HG::Repository.new(BUILD_DIR / pkg.directory) |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
14 |
yield pkg, hg |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
end |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
end |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
17 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
18 |
end |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
19 |
|
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
20 |
def push(remote, user, pass, review_only, push_bookmark) |
138 | 21 |
has_changes = false |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
22 |
hg_repositories do |pkg, hg| |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
23 |
opts = { |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
24 |
:user => user, |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
25 |
:pass => pass, |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
26 |
} |
105
983a637074e6
CI: Revise pipelines, use "integration" pipeline by default
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
27 |
paths = hg.paths |
325
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
28 |
unless paths[remote] |
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
29 |
puts '' |
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
30 |
puts "!! repository #{hg.path} has no #{remote} repository defined - skipping !!" |
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
31 |
puts '' |
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
32 |
return |
105
983a637074e6
CI: Revise pipelines, use "integration" pipeline by default
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
33 |
end |
108 | 34 |
|
35 |
# STC and librun are special - never push them automatically |
|
325
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
36 |
# to upstream / default repo, must be done manually. This is |
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
37 |
# mainly beacuse there are on separate protected repositories |
108 | 38 |
# not accessible without a special setup. Sigh... |
325
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
39 |
if ((pkg.name == 'stx:stc') or (pkg.name == 'stx:librun')) and ((remote == 'upstream') or (remote == 'canonical')) |
138 | 40 |
if !review_only |
41 |
puts '' |
|
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
42 |
puts "== Skipping push of #{pkg.name} - you must push manually ==" |
138 | 43 |
puts'' |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
44 |
end |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
45 |
else |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
46 |
has_changes_in_this_repo = false |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
47 |
if review_only or STDIN.tty? |
116
2512c874e5e1
CI: Oops, fixed task `wofkflow:push-upstream` so it actually pushes commits
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
48 |
opts[:rev] = '.' |
325
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
49 |
remote_url = hg.paths[remote] || remote |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
50 |
bookmark = hg.bookmark |
325
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
51 |
hg.outgoing(remote, **opts) do | status, stdout | |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
52 |
case status.exitstatus |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
53 |
when 0 |
138 | 54 |
puts '' |
55 |
puts "== changes going to #{remote_url} ==" |
|
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
56 |
STDOUT.print stdout |
138 | 57 |
puts "Will update bookmark '#{bookmark}" if push_bookmark and bookmark |
58 |
puts '====================================' |
|
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
59 |
has_changes = true |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
60 |
has_changes_in_this_repo = true |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
61 |
when 1 |
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
62 |
# nothing |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
63 |
else |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
64 |
raise Exception.new("Failed to do 'outgoing' from #{remote} (exit code #{status.exitstatus})") |
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
65 |
end |
116
2512c874e5e1
CI: Oops, fixed task `wofkflow:push-upstream` so it actually pushes commits
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
66 |
end |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
67 |
end |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
68 |
if not review_only |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
69 |
if not STDIN.tty? or (has_changes_in_this_repo and yesNO("Push to #{remote_url}")) then |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
70 |
(push_bookmark && bookmark) ? (opts[:bookmarks] = ['.']) : (opts[:rev] = '.') # bookmark can be uninitialized |
325
7d9550327b8d
Rakefiles: simplify `push()` function
Jan Vrany <jan.vrany@labware.com>
parents:
322
diff
changeset
|
71 |
hg.push(remote, **opts) |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
72 |
has_changes = true |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
73 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
74 |
end |
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
75 |
end |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
end |
138 | 77 |
has_changes |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
end |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
|
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
80 |
desc 'Display changes to be pushed to upstream repositores (use it to review what workflow:push-upstream would do)' |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
81 |
task :'out-upstream', :user, :pass do |t, args| |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
82 |
RakeFileUtils.verbose(false) do |
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
83 |
has_changes = push('upstream', args[:user], args[:pass], true, false) |
138 | 84 |
puts 'No changes to be pushed to upstream repositories' unless has_changes |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
85 |
exit(has_changes ? 0 : 1 ) |
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
86 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
87 |
end |
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
88 |
task :'out-upstream' => :'setup' |
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
89 |
|
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
90 |
desc 'Push currently checked out revisions to upstream repositories (to be called after all tests pass on all configurations)' |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
91 |
task :'push-upstream', :user, :pass do |t, args| |
88
112075e99cef
Support for 'upstream' repositories refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
92 |
push('upstream', args[:user], args[:pass], false, false) |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
end |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
task :'push-upstream' => :'setup' |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
|
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
96 |
|
311
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
97 |
desc 'Display changes to be pushed (use it to review what workflow:push would do)' |
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
98 |
task :'out', :user, :pass do |t, args| |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
99 |
RakeFileUtils.verbose(false) do |
311
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
100 |
has_changes = push('default', args[:user], args[:pass], true, true) |
138 | 101 |
puts 'No changes to be pushed to staging repositories' unless has_changes |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
102 |
exit(has_changes ? 0 : 1 ) |
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
103 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
104 |
end |
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
105 |
task :'out-staging' => :'setup' |
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
106 |
|
311
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
107 |
desc 'Push currently checked out revisions (to be used by developer to test her changes)' |
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
108 |
task :'push', :user, :pass do |t, args| |
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
109 |
push('default', args[:user], args[:pass], false, true) |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
end |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
task :'push-staging' => :'setup' |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
112 |
|
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
113 |
desc '(Auto)merge changes (from eXept)' |
86
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
114 |
task :'merge' => :'setup' do |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
115 |
unless which("hg-automerge.rb") |
86
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
116 |
info "Cannot find 'hg-automerge.rb' in PATH" |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
117 |
info 'You may find it at https://bitbucket.org/janvrany/jv-scripts' |
86
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
118 |
error "Cannot find 'hg-automerge.rb' in PATH" |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
119 |
end |
86
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
120 |
hg_repositories_failed_to_merge = [] |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
121 |
hg_repositories do |pkg, hg| |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
122 |
if File.exist? (hg.path / '.hgautomerge') |
86
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
123 |
info "Merging #{hg.path}" |
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
124 |
sh "hg-automerge.rb --cwd #{hg.path}" |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
125 |
else |
86
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
126 |
info "Not merging #{hg.path} - no merge config found." |
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
127 |
info "To configure run: 'hg-automerge.rb --cwd #{hg.path} --config'" |
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
128 |
end |
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
129 |
end |
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
130 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
131 |
|
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
end |