repo_manager 0.7.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.
- data/.gemfiles +115 -0
- data/.gitattributes +1 -0
- data/.gitignore +7 -0
- data/.rspec +3 -0
- data/.yardopts +11 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +99 -0
- data/Guardfile +63 -0
- data/HISTORY.markdown +12 -0
- data/LICENSE +20 -0
- data/README.markdown +192 -0
- data/Rakefile +94 -0
- data/TODO.markdown +15 -0
- data/VERSION +1 -0
- data/bin/repo +151 -0
- data/cucumber.yml +28 -0
- data/examples/pc_saved_game_backup/.gitignore +2 -0
- data/examples/pc_saved_game_backup/INSTALL.markdown +420 -0
- data/examples/pc_saved_game_backup/README.markdown +108 -0
- data/examples/pc_saved_game_backup/remote/.gitignore +2 -0
- data/examples/pc_saved_game_backup/repo_manager/Gemfile +12 -0
- data/examples/pc_saved_game_backup/repo_manager/Gemfile.lock +66 -0
- data/examples/pc_saved_game_backup/repo_manager/assets/.gitignore +2 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/aruba.rb +15 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/env.rb +11 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/steps.rb +3 -0
- data/examples/pc_saved_game_backup/repo_manager/features/tasks/update.feature +144 -0
- data/examples/pc_saved_game_backup/repo_manager/global/default/asset.conf +2 -0
- data/examples/pc_saved_game_backup/repo_manager/repo.conf +64 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/.gitignore +0 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/remote.rb +57 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/update.rb +65 -0
- data/examples/pc_saved_game_backup/saved_games/hearts/save1 +1 -0
- data/examples/pc_saved_game_backup/saved_games/hearts/save2 +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/my_profile.ini +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/saves/save1 +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/saves/save2 +1 -0
- data/features/actions/git.feature +296 -0
- data/features/actions/help.feature +53 -0
- data/features/actions/list.feature +624 -0
- data/features/actions/path.feature +195 -0
- data/features/actions/status.feature +261 -0
- data/features/actions/task.feature +127 -0
- data/features/assets/configuration.feature +204 -0
- data/features/assets/rendering.feature +42 -0
- data/features/assets/user_attributes.feature +98 -0
- data/features/bin.feature +42 -0
- data/features/logger.feature +218 -0
- data/features/settings.feature +240 -0
- data/features/support/aruba.rb +15 -0
- data/features/support/env.rb +11 -0
- data/features/support/steps.rb +3 -0
- data/features/tasks/add/asset.feature +178 -0
- data/features/tasks/generate/init.feature +56 -0
- data/lib/repo_manager.rb +36 -0
- data/lib/repo_manager/actions.rb +8 -0
- data/lib/repo_manager/actions/action_helper.rb +39 -0
- data/lib/repo_manager/actions/app_action.rb +30 -0
- data/lib/repo_manager/actions/base_action.rb +296 -0
- data/lib/repo_manager/actions/git_action.rb +113 -0
- data/lib/repo_manager/actions/help_action.rb +52 -0
- data/lib/repo_manager/actions/list_action.rb +123 -0
- data/lib/repo_manager/actions/path_action.rb +22 -0
- data/lib/repo_manager/actions/status_action.rb +192 -0
- data/lib/repo_manager/actions/task_action.rb +71 -0
- data/lib/repo_manager/app.rb +116 -0
- data/lib/repo_manager/assets.rb +3 -0
- data/lib/repo_manager/assets/app_asset.rb +15 -0
- data/lib/repo_manager/assets/asset_accessors.rb +67 -0
- data/lib/repo_manager/assets/asset_configuration.rb +137 -0
- data/lib/repo_manager/assets/asset_manager.rb +72 -0
- data/lib/repo_manager/assets/base_asset.rb +199 -0
- data/lib/repo_manager/assets/repo_asset.rb +30 -0
- data/lib/repo_manager/core.rb +2 -0
- data/lib/repo_manager/core/array.rb +21 -0
- data/lib/repo_manager/core/hash.rb +83 -0
- data/lib/repo_manager/errors.rb +10 -0
- data/lib/repo_manager/extensions/hash.rb +86 -0
- data/lib/repo_manager/git.rb +2 -0
- data/lib/repo_manager/git/lib.rb +69 -0
- data/lib/repo_manager/git/status.rb +196 -0
- data/lib/repo_manager/logger.rb +39 -0
- data/lib/repo_manager/settings.rb +98 -0
- data/lib/repo_manager/tasks.rb +3 -0
- data/lib/repo_manager/tasks/add/asset.rb +213 -0
- data/lib/repo_manager/tasks/generate/init.rb +42 -0
- data/lib/repo_manager/tasks/generate/templates/config/repo.conf.tt +61 -0
- data/lib/repo_manager/tasks/generate/templates/init/assets/.gitignore +0 -0
- data/lib/repo_manager/tasks/generate/templates/init/global/default/asset.conf +2 -0
- data/lib/repo_manager/tasks/generate/templates/init/tasks/.gitignore +0 -0
- data/lib/repo_manager/tasks/task_manager.rb +166 -0
- data/lib/repo_manager/tasks/thor_helper.rb +29 -0
- data/lib/repo_manager/test/asset_steps.rb +19 -0
- data/lib/repo_manager/test/base_steps.rb +152 -0
- data/lib/repo_manager/test/repo_api.rb +41 -0
- data/lib/repo_manager/test/repo_steps.rb +83 -0
- data/lib/repo_manager/test/test_api.rb +88 -0
- data/lib/repo_manager/views.rb +2 -0
- data/lib/repo_manager/views/app_view.rb +15 -0
- data/lib/repo_manager/views/base_view.rb +137 -0
- data/lib/repo_manager/views/templates/css/basic.css +26 -0
- data/lib/repo_manager/views/templates/default.erb +40 -0
- data/lib/repo_manager/views/templates/default.slim +37 -0
- data/lib/repo_manager/views/view_helper.rb +55 -0
- data/repo_manager.gemspec +75 -0
- data/spec/basic_app/actions/action_helper_spec.rb +54 -0
- data/spec/basic_app/assets/base_asset_spec.rb +210 -0
- data/spec/basic_app/core_spec.rb +78 -0
- data/spec/basic_app/settings_spec.rb +64 -0
- data/spec/basic_app/views/view_helper_spec.rb +28 -0
- data/spec/basic_gem/aruba_helper_spec.rb +33 -0
- data/spec/basic_gem/basic_gem_spec.rb +84 -0
- data/spec/basic_gem/gemspec_spec.rb +68 -0
- data/spec/repo_manager/git_spec.rb +31 -0
- data/spec/spec_helper.rb +25 -0
- metadata +472 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
@announce
|
|
2
|
+
Feature: Listing repo path information
|
|
3
|
+
|
|
4
|
+
Show the repository path defined in the config file to stdout so that it can
|
|
5
|
+
be used for scripting.
|
|
6
|
+
|
|
7
|
+
The 'path' action is an alias for the 'list' action with the 'list=path' option
|
|
8
|
+
|
|
9
|
+
Example: chdir to the path of the repo named "my_repo_name"
|
|
10
|
+
|
|
11
|
+
cd $(repo path my_repo_name)
|
|
12
|
+
cd $(repo path my_repo_name)
|
|
13
|
+
|
|
14
|
+
Example: chdir to the path of the repo named "my_repo_name"
|
|
15
|
+
|
|
16
|
+
cd $(repo path --filter=my_repo_name)
|
|
17
|
+
|
|
18
|
+
Example: chdir to the path of the repo named "my_repo_name" using a Bash
|
|
19
|
+
function. This handles repo paths that contain spaces.
|
|
20
|
+
|
|
21
|
+
vim ~/.bashrc
|
|
22
|
+
|
|
23
|
+
function rcd(){ cd "$(repo --match=ONE --no-color path $@)"; }
|
|
24
|
+
|
|
25
|
+
usage:
|
|
26
|
+
|
|
27
|
+
rcd my_repo_n
|
|
28
|
+
|
|
29
|
+
Example: repo versions of Bash's pushd and popd
|
|
30
|
+
|
|
31
|
+
vim ~/.bashrc
|
|
32
|
+
|
|
33
|
+
function rpushd(){ pushd "$(repo path --match=ONE --no-color $@)"; }
|
|
34
|
+
alias rpopd="popd"
|
|
35
|
+
|
|
36
|
+
usage:
|
|
37
|
+
|
|
38
|
+
rpushd my
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
Example: enable bash repo name completion for the repo, rcd, and rpushd commands
|
|
42
|
+
|
|
43
|
+
vim ~/.bashrc
|
|
44
|
+
|
|
45
|
+
function _repo_names()
|
|
46
|
+
{
|
|
47
|
+
local cur opts
|
|
48
|
+
COMPREPLY=()
|
|
49
|
+
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
50
|
+
opts=`repo list --list=name --no-color`
|
|
51
|
+
|
|
52
|
+
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
53
|
+
return 0
|
|
54
|
+
}
|
|
55
|
+
complete -F _repo_names rcd rpushd repo
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
Background: A valid config file
|
|
59
|
+
Given a file named ".repo_manager/repo.conf" with:
|
|
60
|
+
"""
|
|
61
|
+
---
|
|
62
|
+
folders:
|
|
63
|
+
assets : app_assets
|
|
64
|
+
"""
|
|
65
|
+
And the folder ".repo_manager/app_assets" with the following asset configurations:
|
|
66
|
+
| name | path |
|
|
67
|
+
| test1 | test_path_1 |
|
|
68
|
+
| test2 | test_path_2 |
|
|
69
|
+
|
|
70
|
+
Scenario: Show path using 'path' as alias for 'list --list=path'
|
|
71
|
+
When I run `repo path`
|
|
72
|
+
Then the exit status should be 0
|
|
73
|
+
And the output should match:
|
|
74
|
+
"""
|
|
75
|
+
.+/test_path_1$
|
|
76
|
+
.+/test_path_2$
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
Scenario: Show path using list action directly
|
|
80
|
+
When I run `repo list --list=path`
|
|
81
|
+
Then the exit status should be 0
|
|
82
|
+
And the output should match:
|
|
83
|
+
"""
|
|
84
|
+
.+/test_path_1$
|
|
85
|
+
.+/test_path_2$
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
Scenario: Show path only using liberal regex filter
|
|
89
|
+
When I run `repo list --list=path --filter=test --no-verbose`
|
|
90
|
+
Then the exit status should be 0
|
|
91
|
+
And the output should match:
|
|
92
|
+
"""
|
|
93
|
+
.+/test_path_1$
|
|
94
|
+
.+/test_path_2$
|
|
95
|
+
"""
|
|
96
|
+
|
|
97
|
+
Scenario: Show path only using with restrictive regex filter
|
|
98
|
+
When I run `repo list --list=path --filter=test$ --no-verbose`
|
|
99
|
+
Then the exit status should be 0
|
|
100
|
+
And the output should not contain:
|
|
101
|
+
"""
|
|
102
|
+
test_path_1
|
|
103
|
+
"""
|
|
104
|
+
|
|
105
|
+
Scenario: Show path only using an exact string filter '--match mode=EXACT'
|
|
106
|
+
When I run `repo list --list=path --filter=test --no-verbose --match=EXACT`
|
|
107
|
+
Then the exit status should be 0
|
|
108
|
+
And the output should not contain:
|
|
109
|
+
"""
|
|
110
|
+
test_path_1
|
|
111
|
+
"""
|
|
112
|
+
When I run `repo list --list=path --filter=t.st --no-verbose --match=EXACT`
|
|
113
|
+
Then the exit status should be 0
|
|
114
|
+
And the output should not contain:
|
|
115
|
+
"""
|
|
116
|
+
test_path_1
|
|
117
|
+
"""
|
|
118
|
+
When I run `repo list --list=path --filter=est1 --no-verbose --match=EXACT`
|
|
119
|
+
Then the exit status should be 0
|
|
120
|
+
And the output should not contain:
|
|
121
|
+
"""
|
|
122
|
+
test_path_1
|
|
123
|
+
"""
|
|
124
|
+
When I run `repo list --list=path --filter=test1 --no-verbose --match=EXACT`
|
|
125
|
+
Then the exit status should be 0
|
|
126
|
+
And the output should match:
|
|
127
|
+
"""
|
|
128
|
+
.+/test_path_1$
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
Scenario: Show path only using with character placeholder regex filter
|
|
132
|
+
When I run `repo list --list=path --filter=t.st1 --no-verbose`
|
|
133
|
+
Then the exit status should be 0
|
|
134
|
+
And the output should match:
|
|
135
|
+
"""
|
|
136
|
+
.+/test_path_1$
|
|
137
|
+
"""
|
|
138
|
+
And the output should not contain:
|
|
139
|
+
"""
|
|
140
|
+
test_path_2
|
|
141
|
+
"""
|
|
142
|
+
|
|
143
|
+
Scenario: Show path only using --match mode=ALL
|
|
144
|
+
When I run `repo list --list=path --filter=test --match ALL`
|
|
145
|
+
Then the exit status should be 0
|
|
146
|
+
And the output should match:
|
|
147
|
+
"""
|
|
148
|
+
.+/test_path_1$
|
|
149
|
+
.+/test_path_2$
|
|
150
|
+
"""
|
|
151
|
+
|
|
152
|
+
Scenario: Show path only using --match mode=FIRST
|
|
153
|
+
When I run `repo list --list=path --filter=test --match=FIRST --no-verbose`
|
|
154
|
+
Then the exit status should be 0
|
|
155
|
+
And the output should match:
|
|
156
|
+
"""
|
|
157
|
+
.+/test_path_1$
|
|
158
|
+
"""
|
|
159
|
+
And the output should not contain:
|
|
160
|
+
"""
|
|
161
|
+
test_path_2
|
|
162
|
+
"""
|
|
163
|
+
|
|
164
|
+
Scenario: Show path only using --match mode=ONE
|
|
165
|
+
When I run `repo list --list=path --filter=test --match=ONE`
|
|
166
|
+
Then the exit status should be 1
|
|
167
|
+
|
|
168
|
+
Scenario: Show path only using multiple delimited filters. Regex allowed on
|
|
169
|
+
each filter separately. Switch style: --filter
|
|
170
|
+
When I run `repo list --list=path --filter=test1,t...2,t...3`
|
|
171
|
+
Then the exit status should be 0
|
|
172
|
+
And the output should match:
|
|
173
|
+
"""
|
|
174
|
+
.+/test_path_1$
|
|
175
|
+
.+/test_path_2$
|
|
176
|
+
"""
|
|
177
|
+
|
|
178
|
+
Scenario: Show path only using multiple delimited filters. Regex allowed on
|
|
179
|
+
each filter separately. Switch style: --repos
|
|
180
|
+
When I run `repo list --list=path --repos=test1,t...2,t...3`
|
|
181
|
+
Then the exit status should be 0
|
|
182
|
+
And the output should match:
|
|
183
|
+
"""
|
|
184
|
+
.+/test_path_1$
|
|
185
|
+
.+/test_path_2$
|
|
186
|
+
"""
|
|
187
|
+
|
|
188
|
+
Scenario: Show path only using multiple args instead of filter switch
|
|
189
|
+
When I run `repo list --list=path test1 t...2 t...3`
|
|
190
|
+
Then the exit status should be 0
|
|
191
|
+
And the output should match:
|
|
192
|
+
"""
|
|
193
|
+
.+/test_path_1$
|
|
194
|
+
.+/test_path_2$
|
|
195
|
+
"""
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
@announce
|
|
2
|
+
Feature: Listing repo path information
|
|
3
|
+
|
|
4
|
+
Show the repository status to stdout
|
|
5
|
+
|
|
6
|
+
Example usage:
|
|
7
|
+
|
|
8
|
+
repo status
|
|
9
|
+
repo status --short
|
|
10
|
+
repo status repo1 --unmodified DOTS
|
|
11
|
+
repo status repo1 repo2 --unmodified DOTS
|
|
12
|
+
|
|
13
|
+
Equivalent filtering:
|
|
14
|
+
|
|
15
|
+
repo status --filter=test2 --unmodified DOTS
|
|
16
|
+
repo status test2 --unmodified DOTS"
|
|
17
|
+
|
|
18
|
+
Background: A valid config file
|
|
19
|
+
Given a file named "repo_manager/repo.conf" with:
|
|
20
|
+
"""
|
|
21
|
+
---
|
|
22
|
+
options:
|
|
23
|
+
color : AUTO
|
|
24
|
+
folders:
|
|
25
|
+
assets : assets
|
|
26
|
+
"""
|
|
27
|
+
And the folder "repo_manager/assets" with the following asset configurations:
|
|
28
|
+
| name | path |
|
|
29
|
+
| test1 | test_path_1 |
|
|
30
|
+
| test2 | test_path_2 |
|
|
31
|
+
And a repo in folder "test_path_1" with the following:
|
|
32
|
+
| filename | status | content |
|
|
33
|
+
| .gitignore | C | |
|
|
34
|
+
And a repo in folder "test_path_2" with the following:
|
|
35
|
+
| filename | status | content |
|
|
36
|
+
| .gitignore | C | |
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Scenario: No uncommitted changes, default output
|
|
40
|
+
When I run `repo status`
|
|
41
|
+
Then the exit status should be 0
|
|
42
|
+
And its output should contain:
|
|
43
|
+
"""
|
|
44
|
+
no modified repositories, all working folders are clean
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
Scenario: No repos configured or no repos match filter
|
|
48
|
+
When I run `repo status --filter=garbage`
|
|
49
|
+
Then the exit status should be 0
|
|
50
|
+
And its output should contain:
|
|
51
|
+
"""
|
|
52
|
+
no repositories found
|
|
53
|
+
"""
|
|
54
|
+
And its output should not contain:
|
|
55
|
+
"""
|
|
56
|
+
no modified repositories, all working folders are clean
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
Scenario: No uncommitted changes, using dots to show progress, one dot per file
|
|
60
|
+
When I run `repo status --unmodified=DOTS`
|
|
61
|
+
Then its output should contain:
|
|
62
|
+
"""
|
|
63
|
+
..
|
|
64
|
+
no modified repositories, all working folders are clean
|
|
65
|
+
"""
|
|
66
|
+
When I run `repo status`
|
|
67
|
+
Then its output should contain:
|
|
68
|
+
"""
|
|
69
|
+
no modified repositories, all working folders are clean
|
|
70
|
+
"""
|
|
71
|
+
And its output should not contain:
|
|
72
|
+
"""
|
|
73
|
+
..
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
Scenario: Uncommittable changes don't show
|
|
77
|
+
Given a repo in folder "test_path_1" with the following:
|
|
78
|
+
| filename | status | content |
|
|
79
|
+
| test_file3.txt | C | hi file3 |
|
|
80
|
+
When I run `touch test_path_1/test_file3.txt`
|
|
81
|
+
And I run `repo status`
|
|
82
|
+
Then the exit status should be 0
|
|
83
|
+
Then the output should contain:
|
|
84
|
+
"""
|
|
85
|
+
no modified repositories, all working folders are clean
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
Scenario: Invalid repo
|
|
89
|
+
Given the folder "repo_manager/assets" with the following asset configurations:
|
|
90
|
+
| name | path |
|
|
91
|
+
| bad_repo| not_a_repo |
|
|
92
|
+
And a directory named "not_a_repo"
|
|
93
|
+
When I run `repo status test1 test2 bad_repo --unmodified DOTS --no-verbose`
|
|
94
|
+
Then the exit status should be 2
|
|
95
|
+
And the normalized output should contain:
|
|
96
|
+
"""
|
|
97
|
+
I bad_repo: ./not_a_repo [not a valid repo]
|
|
98
|
+
"""
|
|
99
|
+
And the normalized output should not contain:
|
|
100
|
+
"""
|
|
101
|
+
I bad_repo: ./not_a_repo [not a valid repo]
|
|
102
|
+
I bad_repo: ./not_a_repo [not a valid repo]
|
|
103
|
+
"""
|
|
104
|
+
|
|
105
|
+
Scenario: Missing repo folder
|
|
106
|
+
Given the folder "repo_manager/assets" with the following asset configurations:
|
|
107
|
+
| name | path |
|
|
108
|
+
| bad_repo| not_a_repo |
|
|
109
|
+
When I run `repo status --filter=bad_repo --unmodified DOTS --no-verbose`
|
|
110
|
+
Then the exit status should be 1
|
|
111
|
+
And the normalized output should contain:
|
|
112
|
+
"""
|
|
113
|
+
X bad_repo: ./not_a_repo [no such path]
|
|
114
|
+
"""
|
|
115
|
+
And the normalized output should not contain:
|
|
116
|
+
"""
|
|
117
|
+
X bad_repo: ./not_a_repo [no such path]
|
|
118
|
+
X bad_repo: ./not_a_repo [no such path]
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
Scenario: One uncommitted change
|
|
122
|
+
Given a repo in folder "test_path_1" with the following:
|
|
123
|
+
| filename | status | content |
|
|
124
|
+
| .gitignore | M | tmp/* |
|
|
125
|
+
When I run `repo status`
|
|
126
|
+
Then the exit status should be 4
|
|
127
|
+
And the normalized output should contain:
|
|
128
|
+
"""
|
|
129
|
+
M test1
|
|
130
|
+
modified: .gitignore
|
|
131
|
+
"""
|
|
132
|
+
|
|
133
|
+
Scenario: One uncommitted change, don't show individual files
|
|
134
|
+
Given a repo in folder "test_path_1" with the following:
|
|
135
|
+
| filename | status | content |
|
|
136
|
+
| .gitignore | M | tmp/* |
|
|
137
|
+
When I run `repo status --short --unmodified=DOTS`
|
|
138
|
+
And the normalized output should contain:
|
|
139
|
+
"""
|
|
140
|
+
M test1
|
|
141
|
+
.
|
|
142
|
+
"""
|
|
143
|
+
|
|
144
|
+
Scenario: One new file added
|
|
145
|
+
Given a repo in folder "test_path_2" with the following:
|
|
146
|
+
| filename | status | content |
|
|
147
|
+
| new_file2.txt | A | hello new file2 |
|
|
148
|
+
When I run `repo status --unmodified=DOTS`
|
|
149
|
+
Then the exit status should be 8
|
|
150
|
+
And the normalized output should contain:
|
|
151
|
+
"""
|
|
152
|
+
.
|
|
153
|
+
A test2
|
|
154
|
+
added: new_file2.txt
|
|
155
|
+
"""
|
|
156
|
+
And the output should not contain:
|
|
157
|
+
"""
|
|
158
|
+
no modified repositories, all working folders are clean
|
|
159
|
+
"""
|
|
160
|
+
|
|
161
|
+
Scenario: One existing file added to the index
|
|
162
|
+
Given a repo in folder "test_path_2" with the following:
|
|
163
|
+
| filename | status | content |
|
|
164
|
+
| .gitignore | A | new_stff |
|
|
165
|
+
When I run `repo status --unmodified=DOTS`
|
|
166
|
+
Then the exit status should be 8
|
|
167
|
+
And the normalized output should contain:
|
|
168
|
+
"""
|
|
169
|
+
.
|
|
170
|
+
A test2
|
|
171
|
+
added: .gitignore
|
|
172
|
+
"""
|
|
173
|
+
|
|
174
|
+
Scenario: One deleted file
|
|
175
|
+
Given a repo in folder "test_path_1" with the following:
|
|
176
|
+
| filename | status |
|
|
177
|
+
| .gitignore | D |
|
|
178
|
+
When I run `repo status --unmodified=DOTS`
|
|
179
|
+
Then the exit status should be 16
|
|
180
|
+
And the normalized output should contain:
|
|
181
|
+
"""
|
|
182
|
+
D test1
|
|
183
|
+
deleted: .gitignore
|
|
184
|
+
.
|
|
185
|
+
"""
|
|
186
|
+
|
|
187
|
+
Scenario: Two untracked files
|
|
188
|
+
Given a repo in folder "test_path_1" with the following:
|
|
189
|
+
| filename | status | content |
|
|
190
|
+
| new_file1.txt | ? | hello new file1 |
|
|
191
|
+
| new_file2.txt | ? | hello new file2 |
|
|
192
|
+
When I run `repo status --unmodified=DOTS`
|
|
193
|
+
Then the exit status should be 32
|
|
194
|
+
And the normalized output should contain:
|
|
195
|
+
"""
|
|
196
|
+
? test1
|
|
197
|
+
untracked: new_file1.txt
|
|
198
|
+
untracked: new_file2.txt
|
|
199
|
+
.
|
|
200
|
+
"""
|
|
201
|
+
|
|
202
|
+
Scenario: One uncommitted change, two untracked files, one added, and one deleted file
|
|
203
|
+
Given a repo in folder "test_path_1" with the following:
|
|
204
|
+
| filename | status | content |
|
|
205
|
+
| deleted_file.txt | D | hello deleted file |
|
|
206
|
+
And a repo in folder "test_path_1" with the following:
|
|
207
|
+
| filename | status | content |
|
|
208
|
+
| added_file.txt | A | hello added file |
|
|
209
|
+
| .gitignore | M | tmp/* |
|
|
210
|
+
| new_file1.txt | ? | hello new file1 |
|
|
211
|
+
| new_file2.txt | ? | hello new file2 |
|
|
212
|
+
When I run `repo status --unmodified=DOTS`
|
|
213
|
+
Then the exit status should be 60
|
|
214
|
+
And the normalized output should contain:
|
|
215
|
+
"""
|
|
216
|
+
M?AD test1
|
|
217
|
+
modified: .gitignore
|
|
218
|
+
untracked: new_file1.txt
|
|
219
|
+
untracked: new_file2.txt
|
|
220
|
+
added: added_file.txt
|
|
221
|
+
deleted: deleted_file.txt
|
|
222
|
+
.
|
|
223
|
+
"""
|
|
224
|
+
|
|
225
|
+
Scenario: Two untracked files, one is gitignored
|
|
226
|
+
Given a repo in folder "test_path_1" with the following:
|
|
227
|
+
| filename | status | content |
|
|
228
|
+
| .gitignore | DC | new_file2.txt |
|
|
229
|
+
| new_file1.txt | ? | hello new file1 |
|
|
230
|
+
| new_file2.txt | ? | hello new file2 |
|
|
231
|
+
When I run `repo status --unmodified=DOTS`
|
|
232
|
+
Then the exit status should be 32
|
|
233
|
+
And the normalized output should contain:
|
|
234
|
+
"""
|
|
235
|
+
? test1
|
|
236
|
+
untracked: new_file1.txt
|
|
237
|
+
.
|
|
238
|
+
"""
|
|
239
|
+
|
|
240
|
+
Scenario: Folders with spaces in path
|
|
241
|
+
Given a file named "repo1.conf" with:
|
|
242
|
+
"""
|
|
243
|
+
---
|
|
244
|
+
folders:
|
|
245
|
+
assets : repo1_assets
|
|
246
|
+
"""
|
|
247
|
+
Given a repo in folder "test 1/test path 1" with the following:
|
|
248
|
+
| filename | status | content |
|
|
249
|
+
| .gitignore | CM | tmp/* |
|
|
250
|
+
And the folder "repo1_assets" with the following asset configurations:
|
|
251
|
+
| name | path |
|
|
252
|
+
| test1 | test 1/test path 1 |
|
|
253
|
+
| test2 | test_path_2 |
|
|
254
|
+
When I run `repo status --unmodified=DOTS --config=repo1.conf`
|
|
255
|
+
Then the exit status should be 4
|
|
256
|
+
And the normalized output should contain:
|
|
257
|
+
"""
|
|
258
|
+
M test1
|
|
259
|
+
modified: .gitignore
|
|
260
|
+
.
|
|
261
|
+
"""
|