TicGit-ng 1.0.0 → 1.0.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/README.mkd +5 -17
- data/lib/ticgit-ng/base.rb +30 -11
- data/lib/ticgit-ng/version.rb +1 -1
- metadata +4 -4
data/README.mkd
CHANGED
@@ -67,24 +67,14 @@ And those notices should go away.
|
|
67
67
|
|
68
68
|
|
69
69
|
|
70
|
-
### Installing
|
71
|
-
Installation on a Debian stable system. Note that the command line interface for TicGit-ng can be run from Debian stable, but some of the gems required for the web interface may require you to use [apt](http://jaqque.sbih.org/kplug/apt-pinning.html) [pinning](http://jeffwelling.github.com//2010/09/05/Apt-Pinning.html) to run without errors. See below
|
72
|
-
|
73
|
-
If you know what rake is and know you already have it installed, you can use the command `rake setup` to automatically install all dependencies, but the suggested method is to manually install as outlined below.
|
74
|
-
|
75
|
-
There are two parts to ticgit, the command line interface `ti` and the optional web based interface `ticgitweb`. To install the dependencies for either one, do
|
76
|
-
|
77
|
-
*ti*
|
78
|
-
sudo aptitude install rubygems
|
79
|
-
sudo gem install git
|
80
|
-
|
81
|
-
*ticgitweb*
|
82
|
-
|
83
|
-
sudo aptitude install rubygems
|
84
|
-
sudo gem install ticgit sinatra haml sass
|
70
|
+
### Installing ##
|
71
|
+
Installation on a Debian stable system. Note that the command line interface for TicGit-ng can be run from Debian stable, but some of the gems required for the web interface may require you to use [apt](http://jaqque.sbih.org/kplug/apt-pinning.html) [pinning](http://jeffwelling.github.com//2010/09/05/Apt-Pinning.html) to run without errors. See below
|
85
72
|
|
73
|
+
To install TicGit-ng on your system, you can go one of two ways,
|
86
74
|
|
75
|
+
$ gem install TicGit-ng
|
87
76
|
|
77
|
+
or, you can install it from source by downloading this repository building your own gem (see below).
|
88
78
|
|
89
79
|
### Usage ###
|
90
80
|
|
@@ -405,8 +395,6 @@ This will create a pkg/ directory, which will contain a newly created ticgit-ng
|
|
405
395
|
|
406
396
|
More information on developing TicGit-ng and collaborating with other TicGit-ng developers at [here](https://github.com/jeffWelling/ticgit/wiki/Development)
|
407
397
|
|
408
|
-
More information on developing TicGit-ng and collaborating with other TicGit-ng developers at [here](https://github.com/jeffWelling/ticgit/wiki/Development)
|
409
|
-
|
410
398
|
### Alternatives ###
|
411
399
|
|
412
400
|
ditz
|
data/lib/ticgit-ng/base.rb
CHANGED
@@ -3,7 +3,7 @@ module TicGitNG
|
|
3
3
|
class Base
|
4
4
|
|
5
5
|
attr_reader :git, :logger
|
6
|
-
attr_reader :tic_working, :tic_index
|
6
|
+
attr_reader :tic_working, :tic_index, :tic_dir
|
7
7
|
attr_reader :last_tickets, :current_ticket # saved in state
|
8
8
|
attr_reader :config
|
9
9
|
attr_reader :state, :config_file
|
@@ -15,7 +15,7 @@ module TicGitNG
|
|
15
15
|
|
16
16
|
proj = Ticket.clean_string(@git.dir.path)
|
17
17
|
|
18
|
-
@tic_dir = opts[:tic_dir] ||
|
18
|
+
@tic_dir = opts[:tic_dir] || "~/.#{which_branch?}"
|
19
19
|
@tic_working = opts[:working_directory] || File.expand_path(File.join(@tic_dir, proj, 'working'))
|
20
20
|
@tic_index = opts[:index_file] || File.expand_path(File.join(@tic_dir, proj, 'index'))
|
21
21
|
|
@@ -196,9 +196,9 @@ module TicGitNG
|
|
196
196
|
def ticket_recent(ticket_id = nil)
|
197
197
|
if ticket_id
|
198
198
|
t = ticket_revparse(ticket_id)
|
199
|
-
return git.log.object(
|
199
|
+
return git.log.object(which_branch?).path(t)
|
200
200
|
else
|
201
|
-
return git.log.object(
|
201
|
+
return git.log.object(which_branch?)
|
202
202
|
end
|
203
203
|
end
|
204
204
|
|
@@ -278,10 +278,17 @@ module TicGitNG
|
|
278
278
|
end
|
279
279
|
|
280
280
|
def sync_tickets(repo='origin', push=true, verbose=true )
|
281
|
+
puts "Fetching #{repo}" if verbose
|
282
|
+
@git.fetch(repo)
|
283
|
+
puts "Syncing tickets with #{repo}" if verbose
|
284
|
+
remote_branches=@git.branches.remote.map{|b|
|
285
|
+
b.full.gsub('remotes/', '')[Regexp.new("^#{Regexp.escape(repo)}/.*")]
|
286
|
+
}.compact
|
287
|
+
!remote_branches.include?('ticgit-ng') ? r_ticgit='ticgit-ng' : r_ticgit='ticgit'
|
281
288
|
in_branch(false) do
|
282
289
|
repo_g=git.remote(repo)
|
283
|
-
git.pull(repo_g, repo+'/
|
284
|
-
git.push(repo_g,
|
290
|
+
git.pull(repo_g, repo+'/'+r_ticgit)
|
291
|
+
git.push(repo_g, "#{which_branch?}:"+r_ticgit ) if push
|
285
292
|
puts "Tickets synchronized." if verbose
|
286
293
|
end
|
287
294
|
end
|
@@ -295,11 +302,12 @@ module TicGitNG
|
|
295
302
|
|
296
303
|
bs = git.lib.branches_all.map{|b| b.first }
|
297
304
|
|
298
|
-
unless bs.include?(
|
299
|
-
|
305
|
+
unless (bs.include?(which_branch?) || bs.include?(which_branch?)) &&
|
306
|
+
File.directory?(@tic_working)
|
307
|
+
init_ticgitng_branch(bs.include?(which_branch?))
|
300
308
|
end
|
301
309
|
|
302
|
-
tree = git.lib.full_tree(
|
310
|
+
tree = git.lib.full_tree(which_branch?)
|
303
311
|
tree.each do |t|
|
304
312
|
data, file = t.split("\t")
|
305
313
|
mode, type, sha = data.split(" ")
|
@@ -345,10 +353,11 @@ module TicGitNG
|
|
345
353
|
|
346
354
|
old_current = git.lib.branch_current
|
347
355
|
begin
|
348
|
-
git.lib.change_head_branch(
|
356
|
+
git.lib.change_head_branch(which_branch?)
|
349
357
|
git.with_index(@tic_index) do
|
350
358
|
git.with_working(@tic_working) do |wd|
|
351
|
-
git.lib.checkout(
|
359
|
+
git.lib.checkout(which_branch?) if needs_checkout &&
|
360
|
+
branch_exists
|
352
361
|
yield wd
|
353
362
|
end
|
354
363
|
end
|
@@ -360,6 +369,16 @@ module TicGitNG
|
|
360
369
|
def new_file(name, contents)
|
361
370
|
File.open(name, 'w+'){|f| f.puts(contents) }
|
362
371
|
end
|
372
|
+
def which_branch?
|
373
|
+
branches=@git.branches.local.map {|b| b.name}
|
374
|
+
if branches.include? 'ticgit-ng'
|
375
|
+
return 'ticgit-ng'
|
376
|
+
else
|
377
|
+
return 'ticgit'
|
378
|
+
end
|
379
|
+
#If has ~/.ticgit dir, and 'ticgit' branch
|
380
|
+
#If has ~/.ticgit-ng dir, and 'ticgit-ng' branch, and not ~/.ticgit dir and not 'ticgit' branch
|
381
|
+
end
|
363
382
|
|
364
383
|
end
|
365
384
|
end
|
data/lib/ticgit-ng/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: TicGit-ng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 1
|
10
|
+
version: 1.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Scott Chacon
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-02-
|
19
|
+
date: 2011-02-28 00:00:00 -05:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|