author | Jan Vrany <jan.vrany@labware.com> |
Thu, 04 Nov 2021 16:23:15 +0000 | |
changeset 322 | d31ea885c8fa |
parent 311 | 71d918531d37 |
child 325 | 7d9550327b8d |
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 |
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
|
28 |
remote_used = remote |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
29 |
if remote_used == 'upstream' |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
30 |
remote_used = 'canonical' unless paths['upstream'] |
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
|
31 |
elsif remote_used == 'staging' |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
32 |
unless paths['staging'] |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
33 |
puts '' |
105
983a637074e6
CI: Revise pipelines, use "integration" pipeline by default
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
34 |
puts "!! repository #{hg.path} has not staging repository defined - skipping !!" |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
35 |
puts '' |
105
983a637074e6
CI: Revise pipelines, use "integration" pipeline by default
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
36 |
return |
983a637074e6
CI: Revise pipelines, use "integration" pipeline by default
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
37 |
end |
983a637074e6
CI: Revise pipelines, use "integration" pipeline by default
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
38 |
end |
108 | 39 |
|
40 |
# STC and librun are special - never push them automatically |
|
41 |
# to upstream / canonical repo, must be done manually. This is |
|
42 |
# mainly beacuse there are on separate protected repositories |
|
43 |
# not accessible without a special setup. Sigh... |
|
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
44 |
if ((pkg.name == 'stx:stc') or (pkg.name == 'stx:librun')) and ((remote_used == 'upstream') or (remote_used == 'canonical')) |
138 | 45 |
if !review_only |
46 |
puts '' |
|
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
47 |
puts "== Skipping push of #{pkg.name} - you must push manually ==" |
138 | 48 |
puts'' |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
49 |
end |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
50 |
else |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
51 |
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
|
52 |
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
|
53 |
opts[:rev] = '.' |
2512c874e5e1
CI: Oops, fixed task `wofkflow:push-upstream` so it actually pushes commits
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
54 |
remote_url = hg.paths[remote_used] || remote_used |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
55 |
bookmark = hg.bookmark |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
56 |
hg.outgoing(remote_used, **opts) do | status, stdout | |
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
57 |
case status.exitstatus |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
58 |
when 0 |
138 | 59 |
puts '' |
60 |
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
|
61 |
STDOUT.print stdout |
138 | 62 |
puts "Will update bookmark '#{bookmark}" if push_bookmark and bookmark |
63 |
puts '====================================' |
|
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
64 |
has_changes = true |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
65 |
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
|
66 |
when 1 |
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
67 |
# nothing |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
68 |
else |
127
664296ccdb4a
Improved tasks `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
116
diff
changeset
|
69 |
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
|
70 |
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
|
71 |
end |
322
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
72 |
end |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
73 |
if not review_only |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
74 |
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
|
75 |
(push_bookmark && bookmark) ? (opts[:bookmarks] = ['.']) : (opts[:rev] = '.') # bookmark can be uninitialized |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
76 |
hg.push(remote_used, **opts) |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
77 |
has_changes = true |
d31ea885c8fa
Rakefiles: support interactive push in `rake workflow:push`
Jan Vrany <jan.vrany@labware.com>
parents:
311
diff
changeset
|
78 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
79 |
end |
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
80 |
end |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
end |
138 | 82 |
has_changes |
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
end |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
|
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
85 |
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
|
86 |
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
|
87 |
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
|
88 |
has_changes = push('upstream', args[:user], args[:pass], true, false) |
138 | 89 |
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
|
90 |
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
|
91 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
92 |
end |
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
93 |
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
|
94 |
|
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
95 |
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
|
96 |
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
|
97 |
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
|
98 |
end |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
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
|
100 |
|
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
101 |
|
311
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
102 |
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
|
103 |
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
|
104 |
RakeFileUtils.verbose(false) do |
311
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
105 |
has_changes = push('default', args[:user], args[:pass], true, true) |
138 | 106 |
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
|
107 |
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
|
108 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
109 |
end |
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
110 |
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
|
111 |
|
311
71d918531d37
Rakefiles: fix 'rake out` and `rake push` tasks
Jan Vrany <jan.vrany@labware.com>
parents:
241
diff
changeset
|
112 |
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
|
113 |
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
|
114 |
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
|
115 |
end |
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
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
|
117 |
|
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
118 |
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
|
119 |
task :'merge' => :'setup' do |
137
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
120 |
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
|
121 |
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
|
122 |
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
|
123 |
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
|
124 |
end |
86
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
125 |
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
|
126 |
hg_repositories do |pkg, hg| |
e665031cade7
Cleaning up code and having it more rubyish
Patrik Svestka <patrik.svestka@gmail.com>
parents:
116
diff
changeset
|
127 |
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
|
128 |
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
|
129 |
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
|
130 |
else |
86
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
131 |
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
|
132 |
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
|
133 |
end |
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
134 |
end |
f2a7a4378c22
Added task `workflow:merge' to ease merging code from eXept
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
135 |
end |
79
1058962ee3ef
Added new tasks: `workflow:out-staging` and `workflow:out-upstream`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
136 |
|
68
61d8bee7c4d4
Added new tasks - `workflow:push-upstream` and `workflow:push-staging`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
end |