git-topic 0.1.6.3 → 0.1.6.4

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.
Files changed (57) hide show
  1. data/.autotest +10 -0
  2. data/.vimrc +21 -1
  3. data/Gemfile +2 -0
  4. data/Gemfile.lock +2 -0
  5. data/Rakefile +4 -11
  6. data/VERSION.yml +1 -1
  7. data/bin/git-topic +1 -165
  8. data/git-topic +13 -0
  9. data/git-topic.gemspec +52 -6
  10. data/lib/git_topic/cli.rb +171 -0
  11. data/lib/git_topic/git.rb +13 -3
  12. data/lib/git_topic/naming.rb +16 -8
  13. data/lib/git_topic.rb +15 -9
  14. data/lib/tasks/annotations.rake +20 -0
  15. data/spec/git_topic_spec.rb +107 -6
  16. data/spec/template/origin/ORIG_HEAD +1 -0
  17. data/spec/template/origin/RENAMED-REF +1 -0
  18. data/spec/template/origin/objects/2d/a16986c7f742f808a3a3e68108bd2e4dae009d +0 -0
  19. data/spec/template/origin/objects/65/3d7112dadcacaaae6390612eac58c234f92b18 +2 -0
  20. data/spec/template/origin/objects/dd/26afde91bbae18e13e4df1cd1da56a75ccc665 +0 -0
  21. data/spec/template/origin/refs/heads/rejected/{davidjh → USER}/krakens +0 -0
  22. data/spec/template/origin/refs/heads/review/{davidjh → USER}/pirates +0 -0
  23. data/spec/template/origin/refs/heads/wip/USER/pirates-advanced +1 -0
  24. data/spec/template/origin/refs/heads/wip/USER/zombie-basic +1 -0
  25. data/spec/template/origin/refs/heads/wip/prevent-ff +1 -0
  26. data/spec/template/origin-fresh/HEAD +1 -0
  27. data/spec/template/origin-fresh/RENAMED-REF +1 -0
  28. data/spec/template/origin-fresh/config +7 -0
  29. data/spec/template/origin-fresh/description +1 -0
  30. data/spec/template/origin-fresh/hooks/applypatch-msg.sample +15 -0
  31. data/spec/template/origin-fresh/hooks/commit-msg.sample +24 -0
  32. data/spec/template/origin-fresh/hooks/post-commit.sample +8 -0
  33. data/spec/template/origin-fresh/hooks/post-receive.sample +15 -0
  34. data/spec/template/origin-fresh/hooks/post-update.sample +8 -0
  35. data/spec/template/origin-fresh/hooks/pre-applypatch.sample +14 -0
  36. data/spec/template/origin-fresh/hooks/pre-commit.sample +46 -0
  37. data/spec/template/origin-fresh/hooks/pre-rebase.sample +169 -0
  38. data/spec/template/origin-fresh/hooks/prepare-commit-msg.sample +36 -0
  39. data/spec/template/origin-fresh/hooks/update.sample +128 -0
  40. data/spec/template/origin-fresh/info/exclude +6 -0
  41. data/spec/template/origin-fresh/objects/0a/da6d051b94cd0df50f5a0b7229aec26f0d2cdf +0 -0
  42. data/spec/template/origin-fresh/objects/0c/e06c616769768f09f5e629cfcc68eabe3dee81 +0 -0
  43. data/spec/template/origin-fresh/objects/20/049991cdafdce826f5a3c01e10ffa84d6997ec +0 -0
  44. data/spec/template/origin-fresh/objects/33/1d827fd47fb234af54e3a4bbf8c6705e9116cc +3 -0
  45. data/spec/template/origin-fresh/objects/41/51899b742fd6b1c873b177b9d13451682089bc +0 -0
  46. data/spec/template/origin-fresh/objects/44/ffd9c9c8b52b201659e3ad318cdad6ec836b46 +0 -0
  47. data/spec/template/origin-fresh/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 +0 -0
  48. data/spec/template/origin-fresh/objects/55/eeb01bdf874d1a35870bcf24a970c475c63344 +0 -0
  49. data/spec/template/origin-fresh/objects/8d/09f9b8d80ce282218125cb0cbf53cccf022203 +0 -0
  50. data/spec/template/origin-fresh/objects/b4/8e68d5cac189af36abe48e893d11c24b7b2a19 +0 -0
  51. data/spec/template/origin-fresh/objects/c0/838ed2ee8f2e83c8bda859fc5e332b92f0a5a3 +1 -0
  52. data/spec/template/origin-fresh/objects/cd/f7b9dbc4911a0d1404db54cde2ed448f6a6afd +0 -0
  53. data/spec/template/origin-fresh/objects/d2/6b33daea1ed9823a189992bba38fbc913483c1 +0 -0
  54. data/spec/template/origin-fresh/objects/fe/4e254557e19f338f40ccfdc00a7517771db880 +0 -0
  55. data/spec/template/origin-fresh/refs/heads/master +1 -0
  56. data/spec/template/origin-fresh/refs/heads/wip/USER/zombie-basic +1 -0
  57. metadata +61 -5
@@ -0,0 +1,128 @@
1
+ #!/bin/sh
2
+ #
3
+ # An example hook script to blocks unannotated tags from entering.
4
+ # Called by git-receive-pack with arguments: refname sha1-old sha1-new
5
+ #
6
+ # To enable this hook, rename this file to "update".
7
+ #
8
+ # Config
9
+ # ------
10
+ # hooks.allowunannotated
11
+ # This boolean sets whether unannotated tags will be allowed into the
12
+ # repository. By default they won't be.
13
+ # hooks.allowdeletetag
14
+ # This boolean sets whether deleting tags will be allowed in the
15
+ # repository. By default they won't be.
16
+ # hooks.allowmodifytag
17
+ # This boolean sets whether a tag may be modified after creation. By default
18
+ # it won't be.
19
+ # hooks.allowdeletebranch
20
+ # This boolean sets whether deleting branches will be allowed in the
21
+ # repository. By default they won't be.
22
+ # hooks.denycreatebranch
23
+ # This boolean sets whether remotely creating branches will be denied
24
+ # in the repository. By default this is allowed.
25
+ #
26
+
27
+ # --- Command line
28
+ refname="$1"
29
+ oldrev="$2"
30
+ newrev="$3"
31
+
32
+ # --- Safety check
33
+ if [ -z "$GIT_DIR" ]; then
34
+ echo "Don't run this script from the command line." >&2
35
+ echo " (if you want, you could supply GIT_DIR then run" >&2
36
+ echo " $0 <ref> <oldrev> <newrev>)" >&2
37
+ exit 1
38
+ fi
39
+
40
+ if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
41
+ echo "Usage: $0 <ref> <oldrev> <newrev>" >&2
42
+ exit 1
43
+ fi
44
+
45
+ # --- Config
46
+ allowunannotated=$(git config --bool hooks.allowunannotated)
47
+ allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
48
+ denycreatebranch=$(git config --bool hooks.denycreatebranch)
49
+ allowdeletetag=$(git config --bool hooks.allowdeletetag)
50
+ allowmodifytag=$(git config --bool hooks.allowmodifytag)
51
+
52
+ # check for no description
53
+ projectdesc=$(sed -e '1q' "$GIT_DIR/description")
54
+ case "$projectdesc" in
55
+ "Unnamed repository"* | "")
56
+ echo "*** Project description file hasn't been set" >&2
57
+ exit 1
58
+ ;;
59
+ esac
60
+
61
+ # --- Check types
62
+ # if $newrev is 0000...0000, it's a commit to delete a ref.
63
+ zero="0000000000000000000000000000000000000000"
64
+ if [ "$newrev" = "$zero" ]; then
65
+ newrev_type=delete
66
+ else
67
+ newrev_type=$(git-cat-file -t $newrev)
68
+ fi
69
+
70
+ case "$refname","$newrev_type" in
71
+ refs/tags/*,commit)
72
+ # un-annotated tag
73
+ short_refname=${refname##refs/tags/}
74
+ if [ "$allowunannotated" != "true" ]; then
75
+ echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
76
+ echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
77
+ exit 1
78
+ fi
79
+ ;;
80
+ refs/tags/*,delete)
81
+ # delete tag
82
+ if [ "$allowdeletetag" != "true" ]; then
83
+ echo "*** Deleting a tag is not allowed in this repository" >&2
84
+ exit 1
85
+ fi
86
+ ;;
87
+ refs/tags/*,tag)
88
+ # annotated tag
89
+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
90
+ then
91
+ echo "*** Tag '$refname' already exists." >&2
92
+ echo "*** Modifying a tag is not allowed in this repository." >&2
93
+ exit 1
94
+ fi
95
+ ;;
96
+ refs/heads/*,commit)
97
+ # branch
98
+ if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
99
+ echo "*** Creating a branch is not allowed in this repository" >&2
100
+ exit 1
101
+ fi
102
+ ;;
103
+ refs/heads/*,delete)
104
+ # delete branch
105
+ if [ "$allowdeletebranch" != "true" ]; then
106
+ echo "*** Deleting a branch is not allowed in this repository" >&2
107
+ exit 1
108
+ fi
109
+ ;;
110
+ refs/remotes/*,commit)
111
+ # tracking branch
112
+ ;;
113
+ refs/remotes/*,delete)
114
+ # delete tracking branch
115
+ if [ "$allowdeletebranch" != "true" ]; then
116
+ echo "*** Deleting a tracking branch is not allowed in this repository" >&2
117
+ exit 1
118
+ fi
119
+ ;;
120
+ *)
121
+ # Anything else (is there anything else?)
122
+ echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
123
+ exit 1
124
+ ;;
125
+ esac
126
+
127
+ # --- Finished
128
+ exit 0
@@ -0,0 +1,6 @@
1
+ # git-ls-files --others --exclude-from=.git/info/exclude
2
+ # Lines that start with '#' are comments.
3
+ # For a project mostly in C, the following would be a good set of
4
+ # exclude patterns (uncomment them if you want to use them):
5
+ # *.[oa]
6
+ # *~
@@ -0,0 +1,3 @@
1
+ x��=�0 @a���JS'M$�#7ȏ��j�T���r�ox/skU���I6"��-١��Q
2
+ Q;M�� ��)a�Gf���Z���#��
3
+ ��R~�̷y)u���ܮЛ�[�ap֣���c,�GB��E}đ:�
@@ -0,0 +1 @@
1
+ x��;N1�aj�b.@��CB��Qq��� �$�F����Y�@��~���&ؐ�`��/��(�8�(i�F�`�5�����'8gj�I�O�X�Q�g�~Y$SL:p1&)��k���V��o����;<�?:�/빶;����M9��b�G��V�����Pm���p����O���[��~�R�
@@ -0,0 +1 @@
1
+ 0ce06c616769768f09f5e629cfcc68eabe3dee81
@@ -0,0 +1 @@
1
+ 331d827fd47fb234af54e3a4bbf8c6705e9116cc
metadata CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
6
6
  - 0
7
7
  - 1
8
8
  - 6
9
- - 3
10
- version: 0.1.6.3
9
+ - 4
10
+ version: 0.1.6.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - David J. Hamilton
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-14 00:00:00 -07:00
18
+ date: 2010-07-21 00:00:00 -07:00
19
19
  default_executable: git-topic
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -129,6 +129,19 @@ dependencies:
129
129
  type: :development
130
130
  prerelease: false
131
131
  version_requirements: *id008
132
+ - !ruby/object:Gem::Dependency
133
+ name: autotest-screen
134
+ requirement: &id009 !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ segments:
140
+ - 0
141
+ version: "0"
142
+ type: :development
143
+ prerelease: false
144
+ version_requirements: *id009
132
145
  description: "\n gem command around reviewed topic branches. Supports workflow of the form:\n\n # alexander:\n git work-on <topic>\n git done\n\n # bismarck:\n git status # notice a review branch\n git review <topic>\n # happy, merge into master, push and cleanup\n git accept\n\n git review <topic2>\n # unhappy\n git reject\n\n # alexander:\n git status # notice rejected topic\n git work-on <topic>\n\n see README.rdoc for more (any) details.\n "
133
146
  email: git-topic@hjdivad.com
134
147
  executables:
@@ -139,6 +152,7 @@ extra_rdoc_files:
139
152
  - LICENSE
140
153
  - README.rdoc
141
154
  files:
155
+ - .autotest
142
156
  - .gitignore
143
157
  - .gvimrc
144
158
  - .rspec
@@ -154,14 +168,50 @@ files:
154
168
  - VERSION.yml
155
169
  - autotest/discover.rb
156
170
  - bin/git-topic
171
+ - git-topic
157
172
  - git-topic.gemspec
158
173
  - lib/core_ext.rb
159
174
  - lib/git_topic.rb
175
+ - lib/git_topic/cli.rb
160
176
  - lib/git_topic/git.rb
161
177
  - lib/git_topic/naming.rb
178
+ - lib/tasks/annotations.rake
162
179
  - spec/git_topic_spec.rb
163
180
  - spec/spec_helper.rb
181
+ - spec/template/origin-fresh/HEAD
182
+ - spec/template/origin-fresh/RENAMED-REF
183
+ - spec/template/origin-fresh/config
184
+ - spec/template/origin-fresh/description
185
+ - spec/template/origin-fresh/hooks/applypatch-msg.sample
186
+ - spec/template/origin-fresh/hooks/commit-msg.sample
187
+ - spec/template/origin-fresh/hooks/post-commit.sample
188
+ - spec/template/origin-fresh/hooks/post-receive.sample
189
+ - spec/template/origin-fresh/hooks/post-update.sample
190
+ - spec/template/origin-fresh/hooks/pre-applypatch.sample
191
+ - spec/template/origin-fresh/hooks/pre-commit.sample
192
+ - spec/template/origin-fresh/hooks/pre-rebase.sample
193
+ - spec/template/origin-fresh/hooks/prepare-commit-msg.sample
194
+ - spec/template/origin-fresh/hooks/update.sample
195
+ - spec/template/origin-fresh/info/exclude
196
+ - spec/template/origin-fresh/objects/0a/da6d051b94cd0df50f5a0b7229aec26f0d2cdf
197
+ - spec/template/origin-fresh/objects/0c/e06c616769768f09f5e629cfcc68eabe3dee81
198
+ - spec/template/origin-fresh/objects/20/049991cdafdce826f5a3c01e10ffa84d6997ec
199
+ - spec/template/origin-fresh/objects/33/1d827fd47fb234af54e3a4bbf8c6705e9116cc
200
+ - spec/template/origin-fresh/objects/41/51899b742fd6b1c873b177b9d13451682089bc
201
+ - spec/template/origin-fresh/objects/44/ffd9c9c8b52b201659e3ad318cdad6ec836b46
202
+ - spec/template/origin-fresh/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904
203
+ - spec/template/origin-fresh/objects/55/eeb01bdf874d1a35870bcf24a970c475c63344
204
+ - spec/template/origin-fresh/objects/8d/09f9b8d80ce282218125cb0cbf53cccf022203
205
+ - spec/template/origin-fresh/objects/b4/8e68d5cac189af36abe48e893d11c24b7b2a19
206
+ - spec/template/origin-fresh/objects/c0/838ed2ee8f2e83c8bda859fc5e332b92f0a5a3
207
+ - spec/template/origin-fresh/objects/cd/f7b9dbc4911a0d1404db54cde2ed448f6a6afd
208
+ - spec/template/origin-fresh/objects/d2/6b33daea1ed9823a189992bba38fbc913483c1
209
+ - spec/template/origin-fresh/objects/fe/4e254557e19f338f40ccfdc00a7517771db880
210
+ - spec/template/origin-fresh/refs/heads/master
211
+ - spec/template/origin-fresh/refs/heads/wip/USER/zombie-basic
164
212
  - spec/template/origin/HEAD
213
+ - spec/template/origin/ORIG_HEAD
214
+ - spec/template/origin/RENAMED-REF
165
215
  - spec/template/origin/config
166
216
  - spec/template/origin/description
167
217
  - spec/template/origin/hooks/applypatch-msg.sample
@@ -178,22 +228,28 @@ files:
178
228
  - spec/template/origin/objects/0a/da6d051b94cd0df50f5a0b7229aec26f0d2cdf
179
229
  - spec/template/origin/objects/0c/e06c616769768f09f5e629cfcc68eabe3dee81
180
230
  - spec/template/origin/objects/20/049991cdafdce826f5a3c01e10ffa84d6997ec
231
+ - spec/template/origin/objects/2d/a16986c7f742f808a3a3e68108bd2e4dae009d
181
232
  - spec/template/origin/objects/33/1d827fd47fb234af54e3a4bbf8c6705e9116cc
182
233
  - spec/template/origin/objects/41/51899b742fd6b1c873b177b9d13451682089bc
183
234
  - spec/template/origin/objects/44/ffd9c9c8b52b201659e3ad318cdad6ec836b46
184
235
  - spec/template/origin/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904
185
236
  - spec/template/origin/objects/55/eeb01bdf874d1a35870bcf24a970c475c63344
237
+ - spec/template/origin/objects/65/3d7112dadcacaaae6390612eac58c234f92b18
186
238
  - spec/template/origin/objects/8d/09f9b8d80ce282218125cb0cbf53cccf022203
187
239
  - spec/template/origin/objects/b4/8e68d5cac189af36abe48e893d11c24b7b2a19
188
240
  - spec/template/origin/objects/c0/838ed2ee8f2e83c8bda859fc5e332b92f0a5a3
189
241
  - spec/template/origin/objects/cd/f7b9dbc4911a0d1404db54cde2ed448f6a6afd
190
242
  - spec/template/origin/objects/d2/6b33daea1ed9823a189992bba38fbc913483c1
243
+ - spec/template/origin/objects/dd/26afde91bbae18e13e4df1cd1da56a75ccc665
191
244
  - spec/template/origin/objects/fe/4e254557e19f338f40ccfdc00a7517771db880
192
245
  - spec/template/origin/refs/heads/master
193
- - spec/template/origin/refs/heads/rejected/davidjh/krakens
194
- - spec/template/origin/refs/heads/review/davidjh/pirates
246
+ - spec/template/origin/refs/heads/rejected/USER/krakens
247
+ - spec/template/origin/refs/heads/review/USER/pirates
195
248
  - spec/template/origin/refs/heads/review/user24601/ninja-basic
196
249
  - spec/template/origin/refs/heads/review/user24601/zombie-basic
250
+ - spec/template/origin/refs/heads/wip/USER/pirates-advanced
251
+ - spec/template/origin/refs/heads/wip/USER/zombie-basic
252
+ - spec/template/origin/refs/heads/wip/prevent-ff
197
253
  has_rdoc: true
198
254
  homepage: http://github.com/hjdivad/git-topic
199
255
  licenses: []