takeltau 0.36.1 → 0.37.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +15 -1
- data/lib/takeltau/default.yml +4 -4
- data/lib/takeltau/git/lib.rb +36 -15
- data/lib/takeltau/hg/pull.rb +7 -18
- data/lib/takeltau/hg/push.rb +7 -17
- data/lib/takeltau/version +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 293a71b537a49394f198b0a1479285f57e43d899ccaffdcf64f18e91a95a4445
|
4
|
+
data.tar.gz: 00e04f3a868ac61e81660b4e37e74a83d055c72d591ca53be88e04c48b32e488
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f259593b1df8171bcd2400ba152a55c430b3c535e8c8f5abe6cbc3e66c4484947e32472d0ff612e848f0429ee96424306329f0a7abc063f116c9610396fb628
|
7
|
+
data.tar.gz: b71b36fcba29683483fa39e35e46293dac09c61c6b1603977605ab0eacf16eefe12867058160544ac21774b05a0f34b95c24baf7b915c18530a60cebb3fe3dcc
|
data/README.md
CHANGED
@@ -168,7 +168,21 @@ to overwrite defaults like:
|
|
168
168
|
docker_repo: takelage-mock
|
169
169
|
```
|
170
170
|
|
171
|
-
|
171
|
+
- You may prefer to interact with
|
172
|
+
[mercurial](https://github.com/takelwerk/takelage-doc/blob/main/doc/tau/hg.md)
|
173
|
+
through `tau hg`
|
174
|
+
in a different branch than `main` in one project so you may add
|
175
|
+
to your *takelage.yml*:
|
176
|
+
|
177
|
+
|
178
|
+
```yaml
|
179
|
+
---
|
180
|
+
git_hg_repo: my_git_hg_branch
|
181
|
+
```
|
182
|
+
|
183
|
+
Furthermore,
|
184
|
+
[every external command](https://github.com/takelwerk/takelage-cli/blob/main/lib/takeltau/default.yml)
|
185
|
+
can be reconfigured.
|
172
186
|
|
173
187
|
### Project Files
|
174
188
|
|
data/lib/takeltau/default.yml
CHANGED
@@ -23,13 +23,13 @@ cmd_git_check_clean_git_status: 'git status --porcelain'
|
|
23
23
|
cmd_git_check_hg_get_git_branch: 'git symbolic-ref HEAD'
|
24
24
|
cmd_git_check_workspace_git_repo: 'git -C %{dir} rev-parse'
|
25
25
|
cmd_git_check_workspace_pwd: 'pwd'
|
26
|
-
|
26
|
+
cmd_git_lib_git_add_hg_dirs: 'git add \*/.hg/\*'
|
27
27
|
cmd_git_lib_git_commit: 'git commit --message="%{message}"'
|
28
28
|
cmd_git_lib_git_pull_origin: 'git pull origin %{main}'
|
29
29
|
cmd_git_lib_git_push_origin: 'git push origin %{main}'
|
30
|
-
cmd_hg_list_repos: 'cd %{root}; find * -type d -name ".hg" | parallel -
|
31
|
-
cmd_hg_pull_repos: 'cd %{root}; find * -type d -name ".hg" | parallel -
|
32
|
-
cmd_hg_push_repos: 'cd %{root}; find * -type d -name ".hg" | parallel -
|
30
|
+
cmd_hg_list_repos: 'cd %{root}; find * -type d -name ".hg" | parallel --keep-order hg paths default --repository {//} --template "hg\ clone\ {url}\ " \; echo {//}'
|
31
|
+
cmd_hg_pull_repos: 'cd %{root}; find * -type d -name ".hg" | parallel --keep-order echo \; cd {//} \; pwd \; hg pull --update'
|
32
|
+
cmd_hg_push_repos: 'cd %{root}; find * -type d -name ".hg" | parallel --keep-order echo \; cd {//} \; pwd \; hg commit --addremove --message "Update\ hg\ repos" \; hg bookmarks --force main \; hg push'
|
33
33
|
cmd_info_status_lib_git_name: 'git -C %{root} config user.name'
|
34
34
|
cmd_info_status_lib_git_email: 'git -C %{root} config user.email'
|
35
35
|
cmd_info_status_lib_git_signingkey: 'git -C %{root} config user.signingKey'
|
data/lib/takeltau/git/lib.rb
CHANGED
@@ -2,35 +2,56 @@
|
|
2
2
|
|
3
3
|
# tau git lib
|
4
4
|
module GitLib
|
5
|
-
#
|
6
|
-
|
7
|
-
|
5
|
+
# Prepare git workspace.
|
6
|
+
# rubocop:disable Metrics/MethodLength
|
7
|
+
def git_lib_prepare_git_workspace
|
8
|
+
log.debug 'Prepare git workspace'
|
8
9
|
|
9
|
-
|
10
|
+
return false unless configured? %w[project_root_dir]
|
11
|
+
|
12
|
+
unless git_check_hg
|
13
|
+
log.error 'Not on git hg branch'
|
14
|
+
return false
|
15
|
+
end
|
16
|
+
|
17
|
+
unless git_check_clean
|
18
|
+
log.error 'No clean git workspace'
|
19
|
+
return false
|
20
|
+
end
|
21
|
+
|
22
|
+
return true if _git_lib_git_pull_origin_hg
|
23
|
+
|
24
|
+
log.error 'Unable to pull git workspace'
|
25
|
+
false
|
10
26
|
end
|
27
|
+
# rubocop:enable Metrics/MethodLength
|
11
28
|
|
12
29
|
# Push git workspace.
|
13
|
-
def
|
30
|
+
def git_lib_push_hg_dirs
|
14
31
|
log.info 'Pushing git workspace'
|
15
32
|
|
16
|
-
|
33
|
+
message = 'Update .hg mercurial directories'
|
34
|
+
|
35
|
+
return false unless _git_lib_git_add_hg_dirs
|
17
36
|
return false unless _git_lib_git_commit message
|
18
|
-
return false unless _git_lib_git_pull_origin_hg
|
19
37
|
|
20
|
-
_git_lib_git_push_origin_hg
|
38
|
+
return true if _git_lib_git_push_origin_hg
|
39
|
+
|
40
|
+
log.error 'Unable to git push .hg mercurial directories'
|
41
|
+
false
|
21
42
|
end
|
22
43
|
|
23
44
|
private
|
24
45
|
|
25
|
-
# git add
|
26
|
-
def
|
27
|
-
log.debug 'Adding all
|
46
|
+
# git add hg dirs.
|
47
|
+
def _git_lib_git_add_hg_dirs
|
48
|
+
log.debug 'Adding all .hg mercurial dirs to git'
|
28
49
|
|
29
|
-
|
50
|
+
cmd_git_add_hg_dirs = config.active['cmd_git_lib_git_add_hg_dirs']
|
30
51
|
|
31
|
-
return true if try
|
52
|
+
return true if (try cmd_git_add_hg_dirs).exitstatus.zero?
|
32
53
|
|
33
|
-
log.error 'Unable to add all
|
54
|
+
log.error 'Unable to add all .hg mercurial dirs to git'
|
34
55
|
false
|
35
56
|
end
|
36
57
|
|
@@ -43,7 +64,7 @@ module GitLib
|
|
43
64
|
message: message
|
44
65
|
)
|
45
66
|
|
46
|
-
return true if try cmd_git_commit
|
67
|
+
return true if (try cmd_git_commit).exitstatus.zero?
|
47
68
|
|
48
69
|
log.error 'Unable to commit to git'
|
49
70
|
false
|
data/lib/takeltau/hg/pull.rb
CHANGED
@@ -3,31 +3,18 @@
|
|
3
3
|
# tau hg pull
|
4
4
|
module HgPull
|
5
5
|
# Backend method for hg pull.
|
6
|
-
# rubocop:disable Metrics/MethodLength
|
7
6
|
def hg_pull
|
8
7
|
log.debug 'Pull hg repos'
|
9
8
|
|
10
|
-
return false unless
|
9
|
+
return false unless git_lib_prepare_git_workspace
|
11
10
|
|
12
|
-
unless
|
13
|
-
log.error '
|
11
|
+
unless _hg_pull_hg_pull_repos
|
12
|
+
log.error 'Unable to tau hg pull'
|
14
13
|
return false
|
15
14
|
end
|
16
15
|
|
17
|
-
|
18
|
-
log.error 'No clean git workspace'
|
19
|
-
return false
|
20
|
-
end
|
21
|
-
|
22
|
-
unless git_lib_pull_workspace
|
23
|
-
log.error 'Unable to pull git workspace'
|
24
|
-
return false
|
25
|
-
end
|
26
|
-
|
27
|
-
log.info _hg_pull_hg_pull_repos
|
28
|
-
true
|
16
|
+
git_lib_push_hg_dirs
|
29
17
|
end
|
30
|
-
# rubocop:enable Metrics/MethodLength
|
31
18
|
|
32
19
|
private
|
33
20
|
|
@@ -38,6 +25,8 @@ module HgPull
|
|
38
25
|
root: config.active['project_root_dir']
|
39
26
|
)
|
40
27
|
|
41
|
-
|
28
|
+
stdout, _, exitstatus = run_and_capture cmd_hg_pull_repos
|
29
|
+
log.info stdout
|
30
|
+
exitstatus.zero?
|
42
31
|
end
|
43
32
|
end
|
data/lib/takeltau/hg/push.rb
CHANGED
@@ -3,30 +3,18 @@
|
|
3
3
|
# tau hg push
|
4
4
|
module HgPush
|
5
5
|
# Backend method for hg push.
|
6
|
-
# rubocop:disable Metrics/MethodLength
|
7
6
|
def hg_push
|
8
7
|
log.debug 'Push hg repos'
|
9
8
|
|
10
|
-
return false unless
|
9
|
+
return false unless git_lib_prepare_git_workspace
|
11
10
|
|
12
|
-
unless
|
13
|
-
log.error '
|
11
|
+
unless _hg_push_hg_push_repos
|
12
|
+
log.error 'Unable to tau hg push'
|
14
13
|
return false
|
15
14
|
end
|
16
15
|
|
17
|
-
|
18
|
-
log.error 'No clean git workspace'
|
19
|
-
return false
|
20
|
-
end
|
21
|
-
|
22
|
-
log.info _hg_push_hg_push_repos
|
23
|
-
|
24
|
-
return true if git_lib_push_workspace 'tau hg push'
|
25
|
-
|
26
|
-
log.error 'Unable to push git workspace'
|
27
|
-
false
|
16
|
+
git_lib_push_hg_dirs
|
28
17
|
end
|
29
|
-
# rubocop:enable Metrics/MethodLength
|
30
18
|
|
31
19
|
private
|
32
20
|
|
@@ -37,6 +25,8 @@ module HgPush
|
|
37
25
|
root: config.active['project_root_dir']
|
38
26
|
)
|
39
27
|
|
40
|
-
|
28
|
+
stdout, _, exitstatus = run_and_capture cmd_hg_push_repos
|
29
|
+
log.info stdout
|
30
|
+
exitstatus.zero?
|
41
31
|
end
|
42
32
|
end
|
data/lib/takeltau/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.37.1
|