debian/0000755000000000000000000000000012246612713007172 5ustar debian/control0000644000000000000000000000251612246611214010574 0ustar Source: ticgit Section: devel Priority: optional Maintainer: Michael Schutte Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.2.5~) Build-Depends-Indep: docbook-to-man Standards-Version: 3.9.5 Homepage: http://github.com/jeffWelling/ticgit/ Vcs-Git: git://anonscm.debian.org/users/michi/ticgit.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=users/michi/ticgit.git XS-Ruby-Versions: all Package: ticgit Architecture: all XB-Ruby-Versions: ${ruby:Versions} Depends: ${misc:Depends}, ${shlibs:Depends}, ruby | ruby-interpreter, ruby-git Suggests: ticgitweb Description: ticketing system built on Git ticgit is an issue tracking system based in the Git revision control system. Tickets are stored in a separate branch called “ticgit” within a Git repository that can be made available on a public server along with the project’s source code. The idea is to keep tickets close to a project without touching its source tree. Package: ticgitweb Architecture: all XB-Ruby-Versions: ${ruby:Versions} Depends: ${misc:Depends}, ${shlibs:Depends}, ruby | ruby-interpreter, ticgit, ruby-sinatra, ruby-haml Description: web interface to ticgit ticgit is an issue tracking system based in the Git revision control system. This package contains the web frontend. . The command-line interface can be found in the ticgit package. debian/rules0000755000000000000000000000244712246607360010263 0ustar #!/usr/bin/make -f #export DH_VERBOSE=1 # # Uncomment to ignore all test failures (but the tests will run anyway) #export DH_RUBY_IGNORE_TESTS=all # # Uncomment to ignore some test failures (but the tests will run anyway). # Valid values: #export DH_RUBY_IGNORE_TESTS=ruby1.8 ruby1.9.1 require-rubygems # # If you need to specify the .gemspec (eg there is more than one) export DH_RUBY_GEMSPEC=debian/ticgit-ng.gemspec %: dh $@ --buildsystem=ruby --with ruby override_dh_auto_build: dh_auto_build docbook-to-man debian/ti.sgml >debian/ti.1 docbook-to-man debian/ticgitweb.sgml >debian/ticgitweb.1 override_dh_auto_install: dh_auto_install mkdir -p debian/ticgitweb/usr/bin mv debian/ticgit/usr/bin/ticgitweb debian/ticgitweb/usr/bin/ticgitweb override_dh_auto_clean: # create a static gemspec PKG_VERSION=`dpkg-parsechangelog | grep '^Version:' | \ sed -e 's/Version:\s*\(.*\)-.*$$/\1/'` && \ sed -n -e "/Gem::Spec/,$$ { s/TicGitNG::VERSION/\"$$PKG_VERSION\"/; p }" ticgit-ng.gemspec > debian/ticgit-ng.gemspec dh_auto_clean rm -rf debian/html build-stamp debian/ti.1 debian/ticgitweb.1 UPSTREAM_COMMIT_ID=32d1d8471275a25ba73aef86db1ea5f4009d3b1e UPSTREAM_TAR_NAME=ticgit.tar.gz get-orig-source: wget http://github.com/jeffWelling/ticgit/tarball/$(UPSTREAM_COMMIT_ID)/$(UPSTREAM_TAR_NAME) debian/patches/0000755000000000000000000000000012246607360010623 5ustar debian/patches/no_rubygems.diff0000644000000000000000000000324612246607360014013 0ustar Subject: Don’t require 'rubygems' From: Michael Schutte Debian packages are available for all used Ruby libraries. The Rubygems system is not needed. Index: devel/bin/ti =================================================================== --- devel.orig/bin/ti 2013-06-27 18:00:38.000000000 +0200 +++ devel/bin/ti 2013-06-27 18:00:38.000000000 +0200 @@ -1,5 +1,4 @@ #!/usr/bin/env ruby -require 'rubygems' require 'fileutils' # Add the library from the source tree to the front of the load path. Index: devel/bin/ticgitweb =================================================================== --- devel.orig/bin/ticgitweb 2013-06-27 18:00:38.000000000 +0200 +++ devel/bin/ticgitweb 2013-06-27 18:00:38.000000000 +0200 @@ -13,7 +13,7 @@ # which is important when testing multiple branches of development. $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib') -%w(rubygems sinatra git ticgit-ng haml sass).each do |dependency| +%w(sinatra git ticgit-ng haml sass).each do |dependency| begin require dependency rescue LoadError => e Index: devel/lib/ticgit-ng.rb =================================================================== --- devel.orig/lib/ticgit-ng.rb 2013-06-27 18:00:38.000000000 +0200 +++ devel/lib/ticgit-ng.rb 2013-06-27 18:01:14.000000000 +0200 @@ -5,13 +5,13 @@ require 'set' require 'yaml' require 'pp' +require 'rbconfig' # Add the directory containing this file to the start of the load path if it # isn't there already. $:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__))) -require 'rubygems' # requires git >= 1.0.5 require 'git' debian/patches/generic_editor.diff0000644000000000000000000000137712246607360014447 0ustar Subject: If $EDITOR is unset, invoke editor instead of vim From: Michael Schutte As per Policy 11.4. Index: devel/lib/ticgit-ng/cli.rb =================================================================== --- devel.orig/lib/ticgit-ng/cli.rb 2013-06-27 18:03:21.000000000 +0200 +++ devel/lib/ticgit-ng/cli.rb 2013-06-27 18:03:21.000000000 +0200 @@ -98,7 +98,7 @@ message_file = Tempfile.new('ticgitng_message').path File.open(message_file, 'w') { |f| f.puts comments } if comments - editor = ENV["EDITOR"] || 'vim' + editor = ENV["EDITOR"] || 'editor' system("#{editor} #{message_file}"); message = File.readlines(message_file) message = message.select { |line| line[0, 1] != '#' } # removing comments debian/patches/delete_tag.diff0000644000000000000000000000233112246607360013551 0ustar Subject: Support “ti tag -d $TAG” to remove tags From: Michael Schutte The “tag” command gets confused by the extra “-d” argument and therefore fails to actually delete tags. The problem is caused by using the original list of command line arguments before parsing (ARGV) instead of the processed one (args). Index: devel/lib/ticgit-ng/command/tag.rb =================================================================== --- devel.orig/lib/ticgit-ng/command/tag.rb 2013-06-27 17:59:16.000000000 +0200 +++ devel/lib/ticgit-ng/command/tag.rb 2013-06-27 21:10:31.000000000 +0200 @@ -9,14 +9,10 @@ end def execute - if options.remove - puts 'remove' - end - - if ARGV.size > 2 # `ti tag 1234abc tagname1` - tic.ticket_tag(ARGV[2], ARGV[1].chomp, options) - elsif ARGV.size == 2 # `ti tag tagname1` - tic.ticket_tag(ARGV[1], nil, options) + if args.size > 1 # `ti tag 1234abc tagname1` + tic.ticket_tag(args[1], args[0].chomp, options) + elsif args.size == 1 # `ti tag tagname1` + tic.ticket_tag(args[0], nil, options) else puts 'You need to at least specify one tag to add' puts debian/patches/disable_broken.diff0000644000000000000000000000165512246607360014427 0ustar Subject: Remove broken commands from the user interface From: Michael Schutte The attach and milestone commands are listed in --help and available from the command line, but don’t actually have a working implementation right now. Don’t show them in the Debian build. Index: devel/lib/ticgit-ng/command.rb =================================================================== --- devel.orig/lib/ticgit-ng/command.rb 2013-06-27 20:45:43.000000000 +0200 +++ devel/lib/ticgit-ng/command.rb 2013-06-27 20:46:01.000000000 +0200 @@ -10,7 +10,7 @@ end register 'Assign', 'Assings a ticket to someone', 'assign' - register 'Attach', 'Attach file to ticket', 'attach' +# register 'Attach', 'Attach file to ticket', 'attach' register 'Checkout', 'Checkout a ticket', 'checkout', 'co' register 'Comment', 'Comment on a ticket', 'comment' register 'Help', 'Show help for a ticgit command', 'help' debian/patches/stty_termsize.diff0000644000000000000000000000320212246607360014377 0ustar Subject: Call stty instead of ioctls to obtain the terminal size From: Michael Schutte Bug: http://bugs.debian.org/697065 The ioctl-based determination of the number of rows and columns of the terminal is fragile (see #697065). Read the output of “stty size” instead. Index: devel/lib/ticgit-ng/cli.rb =================================================================== --- devel.orig/lib/ticgit-ng/cli.rb 2013-06-27 18:03:25.000000000 +0200 +++ devel/lib/ticgit-ng/cli.rb 2013-06-27 18:03:25.000000000 +0200 @@ -171,27 +171,22 @@ class << self attr_accessor :window_lines, :window_cols - TIOCGWINSZ_INTEL = 0x5413 # For an Intel processor - TIOCGWINSZ_PPC = 0x40087468 # For a PowerPC processor STDOUT_HANDLE = 0xFFFFFFF5 # For windows def reset_window_width - try_using(TIOCGWINSZ_PPC) || - try_using(TIOCGWINSZ_INTEL) || + try_stty || try_windows || use_fallback end - # Set terminal dimensions using ioctl syscall on *nix platform - # TODO: find out what is raised here on windows. - def try_using(mask) - buf = [0,0,0,0].pack("S*") - - if $stdout.ioctl(mask, buf) >= 0 - self.window_lines, self.window_cols = buf.unpack("S2") - true + def try_stty + return unless $stdin.tty? and File.executable? "/bin/stty" + raw = `/bin/stty size` + if $? == 0 and mt = /^(\d+) (\d+)$/.match(raw) + self.window_lines, self.window_cols = mt[1].to_i, mt[2].to_i + else + nil end - rescue Errno::EINVAL end def try_windows debian/patches/series0000644000000000000000000000013412246607360012036 0ustar no_rubygems.diff disable_broken.diff generic_editor.diff stty_termsize.diff delete_tag.diff debian/ticgit.docs0000644000000000000000000000001312246607360011323 0ustar README.mkd debian/NEWS0000644000000000000000000000123512246607360007674 0ustar ticgit (1.0.1-1) unstable; urgency=low Starting with this new upstream release, Debian’s version of ticgit will in fact be ticgit-ng, maintained by Jeff Welling. Its storage format and user interface are compatible with the project’s former incarnation by Scott Chacon, which is why I have decided to keep using the old name in Debian for now. Regular users of ticgit should not be negatively affected by this change. If you use the backend library in your own Ruby scripts, though, you will have to update everything to require 'ticgit-ng' and use the TicGitNG module. -- Michael Schutte Tue, 01 Mar 2011 21:10:12 +0100 debian/changelog0000644000000000000000000001057612246612516011056 0ustar ticgit (1.0.2.17-2) unstable; urgency=low * Bump Standards-Version to 3.9.5, no changes needed. * Do not strictly require ruby1.8, closes: #730914. * Drop recommendation on git-core; it's a transitional package and ruby-git depends on git anyway. -- Michael Schutte Sun, 01 Dec 2013 11:53:58 +0100 ticgit (1.0.2.17-1) unstable; urgency=low * New upstream version. * Make ticgitweb depend on ruby-haml instead of libhaml-ruby1.8, closes: #714064. * Set Standards-Version: 3.9.4 and adjust debian/copyright to version 1.0 of the machine readable format. * Use canonical URLs in the Vcs-Git: and Vcs-Browser: fields. * Add get-orig-source target in debian/rules to download the upstream tarball from github.com by commit ID. * Rename all patches to end in “.diff”. * New patch delete_tag.diff: Make “ti tag -d $TAG” work. -- Michael Schutte Thu, 27 Jun 2013 21:26:46 +0200 ticgit (1.0.2.11-2) unstable; urgency=low * In order to determine the size of the terminal, parse the output of “stty size” instead of using ioctls in a non-portable and fragile way, closes: #697065. This bug prevented all ticgit commands from starting up on recent kernel versions. -- Michael Schutte Wed, 02 Jan 2013 20:56:00 +0100 ticgit (1.0.2.11-1) unstable; urgency=low * New upstream version. - Doesn’t use “…” any more when printing continued lines, closes: #647577. * Point the Format: URI in debian/copyright to the Policy gitweb. -- Michael Schutte Fri, 18 Nov 2011 23:44:19 +0100 ticgit (1.0.2.9-1) unstable; urgency=low * New upstream version. - Update patch no_rubygems. - Remove patch ticgitweb_ng (merged upstream). * Convert to dh_ruby packaging. - Remove patch shebang_ruby_1.8 to let dh_ruby handle this instead. - Likewise, debian/ticgit{,web}.install aren’t needed any more. * Bump Standards-Version to 3.9.2, no changes needed. * Remove build-dep on rdoc, we don’t generate API documentation anyway. * Update debian/copyright to final DEP-5. * Create “static” gemspec in debian/rules clean. -- Michael Schutte Fri, 15 Jul 2011 15:21:34 +0200 ticgit (1.0.2.2-1) unstable; urgency=low * New upstream version. - Fixes a bug where ticgit-ng branches were ignored in favor of ticgit branches when running “ti sync”. - Update patch no_rubygems. * Point Homepage: to Jeff’s repo. * New patch generic_editor: Default to editor rather than vim in get_editor_message, as per Policy 11.4. * Move Git repo to alioth.debian.org/~michi (drop -guest). -- Michael Schutte Wed, 06 Apr 2011 21:32:48 +0200 ticgit (1.0.1-1) unstable; urgency=low * New upstream version, closes: #615901. - Jeff Welling has taken over and calls the project ticgit-ng. Describe the situation in NEWS.Debian. - debian/copyright: List the new upstream maintainer and copyright holder and change the license from MIT to MIT and GPL >= 3. - Ship README.mkd rather than README. * Remove patches ticgitweb_sass and ticket_title (incorporated upstream). * New patches: ticgitweb_ng to make ticgitweb work with the new library version; disable_broken to remove the unsupported attach and milestone commands from the user interface. * Document patches according to DEP-3. * List new commands in ti(1). * Update maintainer e-mail address to @debian.org in debian/control and debian/copyright. * Bump Standards-Version to 3.9.1, no changes necessary. -- Michael Schutte Tue, 01 Mar 2011 22:28:35 +0100 ticgit (0.3.3-2) unstable; urgency=low * Convert the package to the 3.0 (quilt) source format, closes: #538535. Drop the build-dependency on quilt. * Ship a ticgitweb binary package containing the sinatra-based web interface to ticgit. Suggest ticgitweb in ticgit. * New patch ticket_title: Support non-alphanumeric titles by storing the original title in a TICKET_TITLE file, closes: #514282. * Bump Standards-Version to 3.8.3 (no changes needed). * Use override_* targets implemented by debhelper >= 7.0.50. -- Michael Schutte Fri, 06 Nov 2009 13:04:35 +0100 ticgit (0.3.3-1) unstable; urgency=low * Initial release, closes: #483003. -- Michael Schutte Mon, 22 Dec 2008 20:50:07 +0100 debian/ticgitweb.manpages0000644000000000000000000000002312246607360012665 0ustar debian/ticgitweb.1 debian/watch0000644000000000000000000000012112246607360010217 0ustar version=3 http://githubredir.debian.net/github/jeffWelling/ticgit /(.*)\.tar\.gz debian/ticgit.examples0000644000000000000000000000001312246607360012211 0ustar examples/* debian/ticgit-ng.gemspec0000644000000000000000000000134712246612713012431 0ustar Gem::Specification.new do |s| s.name = "TicGit-ng" s.version = "1.0.2.17" s.platform = Gem::Platform::RUBY s.date = Date.today.to_s s.authors = ["Scott Chacon", "Jeff Welling"] s.email = ["Jeff.Welling@gmail.com"] s.homepage = "https://github.com/jeffWelling/ticgit" s.summary = "Git based distributed ticketing system" s.description="TicGit-ng is a simple ticketing system, roughly similar to the Lighthouse model, that is based in git." s.rubyforge_project = "ticgit-ng" s.add_dependency "git" s.add_development_dependency "rspec" s.files = Dir.glob("{bin,lib}/**/*") + %w( LICENSE_MIT LICENSE_GPL README.mkd ) s.executables = ['ti', 'ticgitweb'] s.require_path= 'lib' end debian/source/0000755000000000000000000000000012246607360010474 5ustar debian/source/format0000644000000000000000000000001412246607360011702 0ustar 3.0 (quilt) debian/ticgit.manpages0000644000000000000000000000001412246607360012167 0ustar debian/ti.1 debian/ti.sgml0000644000000000000000000002335312246607360010502 0ustar ti 1 March 2011 ticgit issue tracker ti issue tracking system built on Git ti COMMAND ARGUMENTS DESCRIPTION ti, short for ticgit, is an issue tracker based on the Git revision control system. It allows you to store bugs in your project in a separate ticgit or ticgit-ng branch of its development repository, thereby keeping open issues close to the source without cluttering the tree. Every ticket consists of the following information: Title A short summary of the problem. This can be compared to the subject of an e-mail or to the first line of a Git commit message. Ticket ID The Ticket ID (TicId) is the SHA-1 hash of the file which holds the ticket name (which is a normalized form of the title including the time of ticket creation and a small random number). It is used to uniquely identify a ticket. Number Apart from TicIds, tickets can also be referred to by using their number. This will often be preferred to TicIds when using ticgit from the command line (i.e., in everyday work), but ticket numbers are not persistent (they change with every ti list invocation). In the current version of ticgit, ti list does not show numbers any more, but they can still be used (by counting manually). State A ticket can either be open, resolved, invalid or put on hold. Assignment The e-mail address of the person working on the ticket. Tag A custom label which tells more about the nature of a ticket. A typical example is feature (not a bug, but a feature suggestion). ticgit associates no special semantics to tags, you are free to choose them however you like. Tickets can have an arbitrary number of tags. Points You can use this integer value to assign some numerical value, such as a measure for the importance, to each ticket. Again, ticgit does not dictate how to use this field. Comments Comments provide a simple form of communication between bug reporters and developers. COMMANDS ti supports the following commands: list List tickets. By default, only open issues are shown; to show tickets in other states, use -s STATE. You can also select by tag (-t TAG) or by assignment (-a ADDRESS). When running list, small integer numbers will be assigned to all shown tickets; you may use them to refer to tickets in other commands until you call list again. state Pass a ticket ID and a state specification to set the ticket's state information. You can omit the ticket ID to work on the current ticket. show Show everything known about the specified ticket. You can omit the ticket ID to show the current ticket. new Create a new ticket. This will launch an editor to let you enter a title, more detailled information about the issue, and some tags. Initially, the ticket will be in the open state. checkout Set the current ticket. comment Add a comment to the ticket specified on the command line. If you do not pass one, the current ticket will be used. tag Pass a ticket ID and a tag name to add a label to an issue. You can omit the ticket ID to tag the current ticket. If you use the -d option, the tag will be removed instead of added. assign Assign the specified ticket to you (or to the given user, when -u ADDRESS is given). If you omit the ticket ID, the current ticket will be assigned. Otherwise, you can prepend -c to the ticket ID to perform the checkout operation after assigning the ticket. points Pass a ticket ID and some integer to assign a point value to the given ticket. If you only pass a number, this command manipulates the current ticket. sync Synchronize tickets with the remote repository specified on the command line. This uses the underlying push and pull command implemented in Git, so you can use your usual named remotes. The default remote is origin. recent Get a human-readable changelog of the tickets maintained by ticgit. This command takes its information straight from the commit messages of the ticgit(-ng) branch. These commands show usage information about themselves when passed the --help option. FILES ~/.ticgit/, ~/.ticgit-ng/ The ticket cache. AUTHOR ticgit is Copyright © 2008 Scott Chacon <schacon@gmail.com>. ticgit-ng is Copyright © 2011 Jeff Welling <jeff.welling@gmail.com>. This manual page was written by Michael Schutte for the Debian GNU/Linux system (but may be used by others). debian/ticgitweb.sgml0000644000000000000000000000256612246607360012052 0ustar ticgitweb 1 July 2009 ticgit web interface ticgitweb a web interface for ticgit ticgitweb DESCRIPTION ticgitweb starts a web server which can be used to view, open and modify bugs managed with the ticgit issue tracker. Its features are a subset of the ti(1) command line interface. Run the command from within a Git working directory; it will tell you which port it is listening on. AUTHOR ticgit is Copyright © 2008 Scott Chacon <schacon@gmail.com>. This manual page was written by Michael Schutte for the Debian GNU/Linux system (but may be used by others). debian/compat0000644000000000000000000000000212246607360010372 0ustar 7 debian/copyright0000644000000000000000000000416012246607360011130 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: ticgit-ng Upstream-Contact: Jeff Welling Source: http://github.com/jeffWelling/ticgit/ Files: * Copyright: 2008, Scott Chacon 2011-2012, Jeff Welling License: MIT and GPL-3+ Files: debian/* Copyright: 2008-2013, Michael Schutte License: GPL-3+ License: MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License: GPL-3+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . On Debian systems, the complete text of the GNU General Public License in its lowest applicable version can be found in “/usr/share/common-licenses/GPL-3”.