git-si 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -11
- data/git-si.gemspec +1 -1
- data/lib/git/si/version.rb +1 -1
- data/lib/git/si.rb +43 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2885ccf96954518937e9ec898c075081f098655c
|
4
|
+
data.tar.gz: 4853b379d09f6360f1b4582e589f75a9d95e43b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c77d7b7a5b4ae1efce186b13b016b4362fc7d77a0f82c7754fca2f596a4b99db3a3f4e6966c22c15e85ba23f37bc05884f904b3a0027f2c4b27b32ed28703827
|
7
|
+
data.tar.gz: ce7c31528eca1fb2ab5c7db72423ba6e5d531ec26b68be2dde507aa0aea2cda8566806668834b364ed2b9351e9c3e1d6c089c3f60dabb1fc7a3406b26f964a4f
|
data/README.md
CHANGED
@@ -29,17 +29,19 @@ This will take you into your favorite editor to enter a commit message.
|
|
29
29
|
|
30
30
|
All commands:
|
31
31
|
|
32
|
-
git
|
33
|
-
git
|
34
|
-
git
|
35
|
-
git
|
36
|
-
git
|
37
|
-
git
|
38
|
-
git
|
39
|
-
git
|
40
|
-
git
|
41
|
-
git
|
42
|
-
git
|
32
|
+
git-si add [FILES] # Perform an svn and a git add on the files.
|
33
|
+
git-si blame <FILE> # Alias for svn blame.
|
34
|
+
git-si commit # Perform an svn commit and update the mirror branch.
|
35
|
+
git-si diff [FILES] # Perform an svn diff piped through a colorizer. Also tests to be sure a rebase is not needed.
|
36
|
+
git-si fetch # Updates mirror branch to latest svn commit.
|
37
|
+
git-si help [COMMAND] # Describe available commands or one specific command
|
38
|
+
git-si init # Initializes git-si in this directory with a gitignore and creates a special mirror branch.
|
39
|
+
git-si pull # Fetch the latest svn commit and rebase the current branch.
|
40
|
+
git-si readd # Add files to svn that have been added to git.
|
41
|
+
git-si rebase # Rebases current branch to mirror branch.
|
42
|
+
git-si status [FILES] # Perform an svn status.
|
43
|
+
git-si usage # How does this thing work?
|
44
|
+
git-si version # Print the version.
|
43
45
|
|
44
46
|
|
45
47
|
## Contributing
|
data/git-si.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["payton@foolord.com"]
|
11
11
|
spec.description = %q{Git Svn Interface: a simple git extention to use git locally with a remote svn repo.}
|
12
12
|
spec.summary = %q{It's like a simple version of git-svn which doesn't keep track of history locally.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/sirbrillig/git-si"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
data/lib/git/si/version.rb
CHANGED
data/lib/git/si.rb
CHANGED
@@ -29,6 +29,11 @@ module Git
|
|
29
29
|
|
30
30
|
@@mirror_branch = 'MIRRORBRANCH'
|
31
31
|
|
32
|
+
desc "version", "Print the version."
|
33
|
+
def version
|
34
|
+
say "git-si version #{Git::Si::VERSION}"
|
35
|
+
end
|
36
|
+
|
32
37
|
desc "usage", "How does this thing work?"
|
33
38
|
def usage
|
34
39
|
say "git-si #{Git::Si::VERSION}
|
@@ -77,6 +82,9 @@ use the commands below.
|
|
77
82
|
notice_message "Could not determine last version information. This may be fine if you haven't used git-si before."
|
78
83
|
end
|
79
84
|
|
85
|
+
notice_message "Adding any files that are not already in svn to ensure an accurate diff."
|
86
|
+
readd()
|
87
|
+
|
80
88
|
command = "svn diff " + args.join(' ')
|
81
89
|
notice_message "Running #{command}"
|
82
90
|
results = `#{command}`
|
@@ -146,6 +154,10 @@ continue, it's wise to reset the master branch afterward."
|
|
146
154
|
|
147
155
|
git_status = `git status --porcelain`
|
148
156
|
raise GitError.new("There are local changes; please commit them before continuing.") if git_status.match(/^[^\?]/)
|
157
|
+
|
158
|
+
notice_message "Adding any files that are not already in svn to ensure changes are committed."
|
159
|
+
readd()
|
160
|
+
|
149
161
|
svn_diff = `svn diff`
|
150
162
|
raise SvnError.new("Failed to get the svn diff. I'm not sure why. Check for any errors above.") if ! $?.success?
|
151
163
|
raise SvnError.new("There are no changes to commit.") if svn_diff.strip.empty?
|
@@ -180,6 +192,36 @@ continue, it's wise to reset the master branch afterward."
|
|
180
192
|
end
|
181
193
|
end
|
182
194
|
|
195
|
+
desc "readd", "Add files to svn that have been added to git."
|
196
|
+
def readd()
|
197
|
+
on_local_branch do
|
198
|
+
command = "svn status --ignore-externals"
|
199
|
+
svn_status = `#{command}`
|
200
|
+
raise SvnError.new("Failed to get the svn status. I'm not sure why. Check for any errors above.") if ! $?.success?
|
201
|
+
files_to_add = []
|
202
|
+
svn_status.each_line do |line|
|
203
|
+
case line.strip!
|
204
|
+
when /^X/, /\.git/, /\.swp$/
|
205
|
+
when /^\?\s+(\S.+)/
|
206
|
+
filename = $1
|
207
|
+
file_in_git = `git ls-files #{filename}`
|
208
|
+
raise GitError.new("Failed to list git files. I'm not sure why. Check for any errors above.") unless $?.success?
|
209
|
+
files_to_add << filename if file_in_git
|
210
|
+
say filename
|
211
|
+
end
|
212
|
+
end
|
213
|
+
if files_to_add.empty?
|
214
|
+
notice_message "There are no files to add."
|
215
|
+
return
|
216
|
+
end
|
217
|
+
if yes? "Do you want to add the above files to svn? [y/N] ", :green
|
218
|
+
command = "svn add " + files_to_add.join(' ')
|
219
|
+
run_command(command)
|
220
|
+
success_message "Added files to svn that had been added to git."
|
221
|
+
end
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
183
225
|
desc "blame <FILE>", "Alias for svn blame."
|
184
226
|
def blame(*args)
|
185
227
|
on_local_branch do
|
@@ -207,7 +249,7 @@ continue, it's wise to reset the master branch afterward."
|
|
207
249
|
end
|
208
250
|
|
209
251
|
# check for existing .gitingore
|
210
|
-
gitignore = [".svn", "*.
|
252
|
+
gitignore = [".svn", "*.sw?", ".config", "*.err", "*.pid", "*.log", "svn-commit.*"]
|
211
253
|
command = "svn status --ignore-externals "
|
212
254
|
svn_status = `#{command}`
|
213
255
|
raise SvnError.new("Failed to get the svn status. I'm not sure why. Check for any errors above.") if ! $?.success?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-si
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Payton Swick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -113,7 +113,7 @@ files:
|
|
113
113
|
- lib/git-si.rb
|
114
114
|
- lib/git/si.rb
|
115
115
|
- lib/git/si/version.rb
|
116
|
-
homepage:
|
116
|
+
homepage: https://github.com/sirbrillig/git-si
|
117
117
|
licenses:
|
118
118
|
- MIT
|
119
119
|
metadata: {}
|