braid 0.7.0 → 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/Gemfile +3 -0
- data/README.md +115 -0
- data/bin/braid +13 -1
- data/braid.gemspec +1 -1
- data/lib/braid.rb +8 -0
- data/lib/braid/command.rb +4 -0
- data/lib/braid/commands/push.rb +1 -1
- data/lib/braid/commands/setup.rb +7 -2
- data/lib/braid/mirror.rb +9 -1
- data/lib/braid/version.rb +1 -1
- metadata +140 -100
- data/README.textile +0 -115
data/Gemfile
CHANGED
data/README.md
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
# Braid
|
2
|
+
|
3
|
+
Braid is a simple tool to help track git and svn vendor branches in a git repository.
|
4
|
+
|
5
|
+
The project homepage is [here](http://github.com/evilchelu/braid/wikis/home).
|
6
|
+
|
7
|
+
## Requirements
|
8
|
+
|
9
|
+
* git 1.6+ (and git-svn if you want to mirror svn repositories)
|
10
|
+
* main >= 4.2.0
|
11
|
+
* open4 >= 1.0.1 (unless using jruby)
|
12
|
+
|
13
|
+
## Installing using rubygems - official releases
|
14
|
+
|
15
|
+
gem install braid
|
16
|
+
|
17
|
+
## Installing from source
|
18
|
+
|
19
|
+
git clone git://github.com/evilchelu/braid.git
|
20
|
+
cd braid
|
21
|
+
bundle install
|
22
|
+
rake install # possibly requiring sudo
|
23
|
+
|
24
|
+
## Quick usage - ruby project
|
25
|
+
|
26
|
+
Let's assume we're writing something like gitnub that needs grit in lib/grit. Initialize the repo (nothing braid related here):
|
27
|
+
|
28
|
+
git init gritty
|
29
|
+
cd gritty
|
30
|
+
touch README
|
31
|
+
git add README
|
32
|
+
git commit -m "initial commit"
|
33
|
+
|
34
|
+
Now let's vendor grit:
|
35
|
+
|
36
|
+
braid add git://github.com/mojombo/grit.git lib/grit
|
37
|
+
|
38
|
+
And you're done! Braid vendored grit into lib/grit. Feel free to inspect the changes with git log or git show.
|
39
|
+
|
40
|
+
If further down the line, you want to bring new changes from grit in your repository, just update the mirror:
|
41
|
+
|
42
|
+
braid update lib/grit
|
43
|
+
|
44
|
+
## Quick usage - rails project
|
45
|
+
|
46
|
+
Let's assume you want to start a new rails app called shiny. Initialize the repo (nothing braid related here):
|
47
|
+
|
48
|
+
git init shiny
|
49
|
+
cd shiny
|
50
|
+
touch README
|
51
|
+
git add README
|
52
|
+
git commit -m "initial commit"
|
53
|
+
|
54
|
+
Vendor rails (this might take a while because the rails repo is huge!):
|
55
|
+
|
56
|
+
braid add git://github.com/rails/rails.git vendor/rails
|
57
|
+
|
58
|
+
Create your new rails app (nothing braid related here):
|
59
|
+
|
60
|
+
ruby vendor/rails/railties/bin/rails .
|
61
|
+
git add .
|
62
|
+
git commit -m "rails ."
|
63
|
+
|
64
|
+
Add any plugins you might need:
|
65
|
+
|
66
|
+
braid add git://github.com/thoughtbot/shoulda.git -p
|
67
|
+
braid add git://github.com/thoughtbot/factory_girl.git -p
|
68
|
+
braid add git://github.com/mbleigh/subdomain-fu.git -p
|
69
|
+
|
70
|
+
And you're done! Braid vendored rails and your plugins. Feel free to inspect the changes with git log or git show.
|
71
|
+
|
72
|
+
If further down the line, you want to bring new changes from rails in your repository, just update the mirror:
|
73
|
+
|
74
|
+
braid update vendor/rails
|
75
|
+
|
76
|
+
Or, if you want all mirrors updated:
|
77
|
+
|
78
|
+
braid update
|
79
|
+
|
80
|
+
## More usage
|
81
|
+
|
82
|
+
Use the built in help system to find out about all commands and options:
|
83
|
+
|
84
|
+
braid help
|
85
|
+
braid help add # or braid add --help
|
86
|
+
|
87
|
+
You may also want to read [Usage and examples](http://github.com/evilchelu/braid/wikis/usage-and-examples).
|
88
|
+
|
89
|
+
## Troubleshooting
|
90
|
+
|
91
|
+
Check [Troubleshooting](http://github.com/evilchelu/braid/wikis/troubleshooting) if you're having issues.
|
92
|
+
|
93
|
+
## Contributing
|
94
|
+
|
95
|
+
We appreciate any patches, error reports and usage ideas you may have. Please submit a lighthouse ticket or start a thread on the mailing list.
|
96
|
+
|
97
|
+
Bugs and feature requests: [braid project on lighthouse](http://evilchelu.lighthouseapp.com/projects/10600-braid)
|
98
|
+
|
99
|
+
Discussions and community support: [braid-gem google group](http://groups.google.com/group/braid-gem)
|
100
|
+
|
101
|
+
## Authors
|
102
|
+
|
103
|
+
* Cristi Balan (evilchelu)
|
104
|
+
* Norbert Crombach (norbert)
|
105
|
+
|
106
|
+
## Contributors (alphabetically)
|
107
|
+
|
108
|
+
* Alan Harper
|
109
|
+
* Christoph Sturm
|
110
|
+
* Dennis Muhlestein
|
111
|
+
* Ferdinand Svehla
|
112
|
+
* Michael Klishin
|
113
|
+
* Roman Heinrich
|
114
|
+
* Travis Tilley
|
115
|
+
* Tyler Rick
|
data/bin/braid
CHANGED
@@ -137,10 +137,11 @@ Main {
|
|
137
137
|
Set up git and git-svn remotes.
|
138
138
|
TXT
|
139
139
|
|
140
|
-
mixin :optional_path, :option_verbose
|
140
|
+
mixin :optional_path, :option_verbose, :option_force
|
141
141
|
|
142
142
|
run {
|
143
143
|
Braid.verbose = verbose
|
144
|
+
Braid.force = force
|
144
145
|
Braid::Command.run(:setup, path)
|
145
146
|
}
|
146
147
|
}
|
@@ -156,7 +157,10 @@ Main {
|
|
156
157
|
mode(:list) {
|
157
158
|
description 'Show all tracked mirrors (and if updates are available).'
|
158
159
|
|
160
|
+
mixin :option_verbose
|
161
|
+
|
159
162
|
run {
|
163
|
+
Braid.verbose = verbose
|
160
164
|
Braid::Command.run(:list)
|
161
165
|
}
|
162
166
|
}
|
@@ -239,6 +243,14 @@ Main {
|
|
239
243
|
}
|
240
244
|
}
|
241
245
|
|
246
|
+
mixin(:option_force) {
|
247
|
+
option(:force, :f) {
|
248
|
+
optional
|
249
|
+
desc 'force'
|
250
|
+
attr
|
251
|
+
}
|
252
|
+
}
|
253
|
+
|
242
254
|
mixin(:option_keep_remote) {
|
243
255
|
option(:keep) {
|
244
256
|
optional
|
data/braid.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.has_rdoc = false
|
26
26
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "braid", "--main"]
|
27
27
|
|
28
|
-
s.add_dependency(%q<main>, [">= 4.
|
28
|
+
s.add_dependency(%q<main>, [">= 4.7.3"])
|
29
29
|
s.add_dependency(%q<open4>, [">= 1.0.1"]) unless defined?(JRUBY_VERSION)
|
30
30
|
|
31
31
|
s.add_development_dependency(%q<test-spec>, [">= 0.10.0"])
|
data/lib/braid.rb
CHANGED
@@ -13,6 +13,14 @@ module Braid
|
|
13
13
|
@verbose = !!new_value
|
14
14
|
end
|
15
15
|
|
16
|
+
def self.force
|
17
|
+
@force || false
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.force=(new_value)
|
21
|
+
@force = !!new_value
|
22
|
+
end
|
23
|
+
|
16
24
|
def self.use_local_cache
|
17
25
|
[nil, "true", "1"].include?(ENV["BRAID_USE_LOCAL_CACHE"])
|
18
26
|
end
|
data/lib/braid/command.rb
CHANGED
data/lib/braid/commands/push.rb
CHANGED
data/lib/braid/commands/setup.rb
CHANGED
@@ -18,8 +18,13 @@ module Braid
|
|
18
18
|
mirror = config.get!(path)
|
19
19
|
|
20
20
|
if git.remote_url(mirror.remote)
|
21
|
-
|
22
|
-
|
21
|
+
if force?
|
22
|
+
msg "Setup: Mirror '#{mirror.path}' already has a remote. Replacing it (force)" if verbose?
|
23
|
+
git.remote_rm(mirror.remote)
|
24
|
+
else
|
25
|
+
msg "Setup: Mirror '#{mirror.path}' already has a remote. Reusing it." if verbose?
|
26
|
+
return
|
27
|
+
end
|
23
28
|
end
|
24
29
|
|
25
30
|
msg "Setup: Creating remote for '#{mirror.path}'."
|
data/lib/braid/mirror.rb
CHANGED
@@ -47,7 +47,7 @@ module Braid
|
|
47
47
|
path = "vendor/plugins/#{path}"
|
48
48
|
end
|
49
49
|
|
50
|
-
remote = "braid/#{path}".gsub("_", '-') # stupid git svn changes all _ to ., weird
|
50
|
+
remote = "#{branch}/braid/#{path}".gsub("_", '-') # stupid git svn changes all _ to ., weird
|
51
51
|
squashed = !options["full"]
|
52
52
|
branch = nil if type == "svn"
|
53
53
|
|
@@ -118,6 +118,14 @@ module Braid
|
|
118
118
|
git_cache.path(url)
|
119
119
|
end
|
120
120
|
|
121
|
+
def remote
|
122
|
+
if (attributes["remote"] && attributes["remote"] =~ /^braid\//)
|
123
|
+
attributes["remote"] = "#{branch}/#{attributes["remote"]}"
|
124
|
+
else
|
125
|
+
attributes["remote"]
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
121
129
|
private
|
122
130
|
|
123
131
|
def method_missing(name, *args)
|
data/lib/braid/version.rb
CHANGED
metadata
CHANGED
@@ -1,138 +1,178 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: braid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 1
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 7
|
9
|
+
- 1
|
10
|
+
version: 0.7.1
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
|
-
|
9
|
-
|
13
|
+
- Cristi Balan
|
14
|
+
- Norbert Crombach
|
10
15
|
autorequire:
|
11
16
|
bindir: bin
|
12
17
|
cert_chain: []
|
13
18
|
|
14
|
-
date: 2011-
|
15
|
-
default_executable: braid
|
19
|
+
date: 2011-08-25 00:00:00 Z
|
16
20
|
dependencies:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: main
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 37
|
30
|
+
segments:
|
31
|
+
- 4
|
32
|
+
- 7
|
33
|
+
- 3
|
34
|
+
version: 4.7.3
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: open4
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 21
|
46
|
+
segments:
|
47
|
+
- 1
|
48
|
+
- 0
|
49
|
+
- 1
|
50
|
+
version: 1.0.1
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: test-spec
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 55
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
- 10
|
65
|
+
- 0
|
66
|
+
version: 0.10.0
|
67
|
+
type: :development
|
68
|
+
version_requirements: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: mocha
|
71
|
+
prerelease: false
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 45
|
78
|
+
segments:
|
79
|
+
- 0
|
80
|
+
- 9
|
81
|
+
- 11
|
82
|
+
version: 0.9.11
|
83
|
+
type: :development
|
84
|
+
version_requirements: *id004
|
50
85
|
description: A simple tool for tracking vendor branches in git.
|
51
86
|
email: evil@che.lu
|
52
87
|
executables:
|
53
|
-
|
88
|
+
- braid
|
54
89
|
extensions: []
|
55
90
|
|
56
91
|
extra_rdoc_files: []
|
57
92
|
|
58
93
|
files:
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
has_rdoc: true
|
94
|
+
- .gitignore
|
95
|
+
- Gemfile
|
96
|
+
- LICENSE
|
97
|
+
- README.md
|
98
|
+
- Rakefile
|
99
|
+
- bin/braid
|
100
|
+
- braid.gemspec
|
101
|
+
- lib/braid.rb
|
102
|
+
- lib/braid/command.rb
|
103
|
+
- lib/braid/commands/add.rb
|
104
|
+
- lib/braid/commands/diff.rb
|
105
|
+
- lib/braid/commands/list.rb
|
106
|
+
- lib/braid/commands/push.rb
|
107
|
+
- lib/braid/commands/remove.rb
|
108
|
+
- lib/braid/commands/setup.rb
|
109
|
+
- lib/braid/commands/update.rb
|
110
|
+
- lib/braid/config.rb
|
111
|
+
- lib/braid/mirror.rb
|
112
|
+
- lib/braid/operations.rb
|
113
|
+
- lib/braid/version.rb
|
114
|
+
- lib/core_ext.rb
|
115
|
+
- test/braid_test.rb
|
116
|
+
- test/config_test.rb
|
117
|
+
- test/fixtures/shiny/README
|
118
|
+
- test/fixtures/skit1.1/layouts/layout.liquid
|
119
|
+
- test/fixtures/skit1.2/layouts/layout.liquid
|
120
|
+
- test/fixtures/skit1/layouts/layout.liquid
|
121
|
+
- test/fixtures/skit1/preview.png
|
122
|
+
- test/integration/adding_test.rb
|
123
|
+
- test/integration/updating_test.rb
|
124
|
+
- test/integration_helper.rb
|
125
|
+
- test/mirror_test.rb
|
126
|
+
- test/operations_test.rb
|
127
|
+
- test/test_helper.rb
|
94
128
|
homepage: http://evil.che.lu/projects/braid
|
95
129
|
licenses: []
|
96
130
|
|
97
131
|
post_install_message:
|
98
132
|
rdoc_options:
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
133
|
+
- --line-numbers
|
134
|
+
- --inline-source
|
135
|
+
- --title
|
136
|
+
- braid
|
137
|
+
- --main
|
104
138
|
require_paths:
|
105
|
-
|
139
|
+
- lib
|
106
140
|
required_ruby_version: !ruby/object:Gem::Requirement
|
107
141
|
none: false
|
108
142
|
requirements:
|
109
|
-
|
110
|
-
|
111
|
-
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
hash: 3
|
146
|
+
segments:
|
147
|
+
- 0
|
148
|
+
version: "0"
|
112
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
150
|
none: false
|
114
151
|
requirements:
|
115
|
-
|
116
|
-
|
117
|
-
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
hash: 3
|
155
|
+
segments:
|
156
|
+
- 0
|
157
|
+
version: "0"
|
118
158
|
requirements: []
|
119
159
|
|
120
160
|
rubyforge_project: braid
|
121
|
-
rubygems_version: 1.
|
161
|
+
rubygems_version: 1.8.9
|
122
162
|
signing_key:
|
123
163
|
specification_version: 3
|
124
164
|
summary: A simple tool for tracking vendor branches in git.
|
125
165
|
test_files:
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
166
|
+
- test/braid_test.rb
|
167
|
+
- test/config_test.rb
|
168
|
+
- test/fixtures/shiny/README
|
169
|
+
- test/fixtures/skit1.1/layouts/layout.liquid
|
170
|
+
- test/fixtures/skit1.2/layouts/layout.liquid
|
171
|
+
- test/fixtures/skit1/layouts/layout.liquid
|
172
|
+
- test/fixtures/skit1/preview.png
|
173
|
+
- test/integration/adding_test.rb
|
174
|
+
- test/integration/updating_test.rb
|
175
|
+
- test/integration_helper.rb
|
176
|
+
- test/mirror_test.rb
|
177
|
+
- test/operations_test.rb
|
178
|
+
- test/test_helper.rb
|
data/README.textile
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
h1. Braid
|
2
|
-
|
3
|
-
Braid is a simple tool to help track git and svn vendor branches in a git repository.
|
4
|
-
|
5
|
-
The project homepage is at "http://github.com/evilchelu/braid/wikis/home":http://github.com/evilchelu/braid/wikis/home
|
6
|
-
|
7
|
-
h2. Requirements
|
8
|
-
|
9
|
-
* git 1.6+ (and git-svn if you want to mirror svn repositories)
|
10
|
-
* main >= 4.2.0
|
11
|
-
* open4 >= 1.0.1 (unless using jruby)
|
12
|
-
|
13
|
-
h2. Installing using rubygems - official releases
|
14
|
-
|
15
|
-
gem install braid
|
16
|
-
|
17
|
-
h2. Installing from source
|
18
|
-
|
19
|
-
git clone git://github.com/evilchelu/braid.git
|
20
|
-
cd braid
|
21
|
-
bundle install
|
22
|
-
rake install # possibly requiring sudo
|
23
|
-
|
24
|
-
h2. Quick usage - ruby project
|
25
|
-
|
26
|
-
Let's assume we're writing something like gitnub that needs grit in lib/grit. Initialize the repo (nothing braid related here):
|
27
|
-
|
28
|
-
git init gritty
|
29
|
-
cd gritty
|
30
|
-
touch README
|
31
|
-
git add README
|
32
|
-
git commit -m "initial commit"
|
33
|
-
|
34
|
-
Now let's vendor grit:
|
35
|
-
|
36
|
-
braid add git://github.com/mojombo/grit.git lib/grit
|
37
|
-
|
38
|
-
And you're done! Braid vendored grit into lib/grit. Feel free to inspect the changes with git log or git show.
|
39
|
-
|
40
|
-
If further down the line, you want to bring new changes from grit in your repository, just update the mirror:
|
41
|
-
|
42
|
-
braid update lib/grit
|
43
|
-
|
44
|
-
h2. Quick usage - rails project
|
45
|
-
|
46
|
-
Let's assume you want to start a new rails app called shiny. Initialize the repo (nothing braid related here):
|
47
|
-
|
48
|
-
git init shiny
|
49
|
-
cd shiny
|
50
|
-
touch README
|
51
|
-
git add README
|
52
|
-
git commit -m "initial commit"
|
53
|
-
|
54
|
-
Vendor rails (this might take a while because the rails repo is huge!):
|
55
|
-
|
56
|
-
braid add git://github.com/rails/rails.git vendor/rails
|
57
|
-
|
58
|
-
Create your new rails app (nothing braid related here):
|
59
|
-
|
60
|
-
ruby vendor/rails/railties/bin/rails .
|
61
|
-
git add .
|
62
|
-
git commit -m "rails ."
|
63
|
-
|
64
|
-
Add any plugins you might need:
|
65
|
-
|
66
|
-
braid add git://github.com/thoughtbot/shoulda.git -p
|
67
|
-
braid add git://github.com/thoughtbot/factory_girl.git -p
|
68
|
-
braid add git://github.com/mbleigh/subdomain-fu.git -p
|
69
|
-
|
70
|
-
And you're done! Braid vendored rails and your plugins. Feel free to inspect the changes with git log or git show.
|
71
|
-
|
72
|
-
If further down the line, you want to bring new changes from rails in your repository, just update the mirror:
|
73
|
-
|
74
|
-
braid update vendor/rails
|
75
|
-
|
76
|
-
Or, if you want all mirrors updated:
|
77
|
-
|
78
|
-
braid update
|
79
|
-
|
80
|
-
h2. More usage
|
81
|
-
|
82
|
-
Use the built in help system to find out about all commands and options:
|
83
|
-
|
84
|
-
braid help
|
85
|
-
braid help add # or braid add --help
|
86
|
-
|
87
|
-
You may also want to read "Usage and examples":http://github.com/evilchelu/braid/wikis/usage-and-examples.
|
88
|
-
|
89
|
-
h2. Troubleshooting
|
90
|
-
|
91
|
-
Check "Troubleshooting":http://github.com/evilchelu/braid/wikis/troubleshooting if you're having issues.
|
92
|
-
|
93
|
-
h2. Contributing
|
94
|
-
|
95
|
-
We appreciate any patches, error reports and usage ideas you may have. Please submit a lighthouse ticket or start a thread on the mailing list.
|
96
|
-
|
97
|
-
Bugs and feature requests: "*braid project on lighthouse*":http://evilchelu.lighthouseapp.com/projects/10600-braid
|
98
|
-
|
99
|
-
Discussions and community support: "*braid-gem google group*":http://groups.google.com/group/braid-gem
|
100
|
-
|
101
|
-
h2. Authors
|
102
|
-
|
103
|
-
* Cristi Balan (evilchelu)
|
104
|
-
* Norbert Crombach (norbert)
|
105
|
-
|
106
|
-
h2. Contributors (alphabetically)
|
107
|
-
|
108
|
-
* Alan Harper
|
109
|
-
* Christoph Sturm
|
110
|
-
* Dennis Muhlestein
|
111
|
-
* Ferdinand Svehla
|
112
|
-
* Michael Klishin
|
113
|
-
* Roman Heinrich
|
114
|
-
* Travis Tilley
|
115
|
-
* Tyler Rick
|