[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#681664: unblock: tig/1.0-2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package tig (an ncurses-based Git repository browser).

The new upload (version 1.0-2) fixes a regression introduced in 1.0
which more or less renders tig unusable to display the revision history
of a single file. The changes apply an upstream patch available from
upstream's Git repository. See the attached debdiff for details.

I considered switching to 3.0 (quilt) format the smallest change in
order to cleanly apply the new patch. I hope that is fine for you.

unblock tig/1.0-2

TIA,
Sebastian

PS: For the sake of completeness, the upstream Git repo is available at
    git://github.com/jonas/tig.git.

-- 
Sebastian "tokkee" Harl +++ GnuPG-ID: 0x8501C7FC +++ http://tokkee.org/

Those who would give up Essential Liberty to purchase a little Temporary
Safety, deserve neither Liberty nor Safety.         -- Benjamin Franklin

debdiff tig_1.0-1_amd64.deb tig_1.0-2_amd64.deb
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.0-1-] {+1.0-2+}


debdiff tig_1.0-1.dsc tig_1.0-2.dsc
diff -Nru tig-1.0/debian/changelog tig-1.0/debian/changelog
--- tig-1.0/debian/changelog	2012-07-15 12:40:10.000000000 +0200
+++ tig-1.0/debian/changelog	2012-07-15 11:42:49.000000000 +0200
@@ -1,4 +1,15 @@
-tig (1.0-1) UNRELEASED; urgency=low
+tig (1.0-2) unstable; urgency=low
+
+  * debian/patches:
+    - Added bts680442-broken-graph.patch -- upstream patch fixing a regression
+      breaking the graph when path spec is specified; thanks to Simon Paillard
+      for reporting this (Closes: #680442).
+  * debian/source/format:
+    - Change to '3.0 (quilt)' format in order to apply the patch.
+
+ -- Sebastian Harl <tokkee@debian.org>  Sun, 15 Jul 2012 11:42:29 +0200
+
+tig (1.0-1) unstable; urgency=low
 
   * New upstream release; thanks to Salvatore Bonaccorso and Romain Francoise
     for reporting this (Closes: #656810).
diff -Nru tig-1.0/debian/patches/bts680442-broken-graph.patch tig-1.0/debian/patches/bts680442-broken-graph.patch
--- tig-1.0/debian/patches/bts680442-broken-graph.patch	1970-01-01 01:00:00.000000000 +0100
+++ tig-1.0/debian/patches/bts680442-broken-graph.patch	2012-07-15 11:36:22.000000000 +0200
@@ -0,0 +1,67 @@
+Description: Fixed regression breaking the graph when path spec is specified.
+ (cf. upstream commit 5579a6ff047c0d1b319b5452a8443000921d7da1)
+Author: Jonas Fonseca <fonseca@diku.dk>
+
+diff --git a/git.h b/git.h
+index 8179261..e237683 100644
+--- a/git.h
++++ b/git.h
+@@ -47,9 +47,8 @@
+ 	GIT_DIFF_INITIAL("", context_arg, space_arg, "/dev/null", new_name)
+ 
+ #define GIT_MAIN_LOG(diffargs, revargs, fileargs) \
+-	"git", "log", ENCODING_ARG, "--no-color", "--date=raw", \
++	"git", "log", ENCODING_ARG, "--no-color", "--pretty=raw", "--parents", \
+ 		opt_commit_order_arg, (diffargs), (revargs), \
+-		"--pretty=format:commit %m%H %P%nauthor %an <%ae> %ad%ntitle %s", \
+ 		"--", (fileargs), NULL
+ 
+ #endif
+diff --git a/tig.c b/tig.c
+index 69c3a56..3b26ba1 100644
+--- a/tig.c
++++ b/tig.c
+@@ -6949,6 +6949,7 @@ main_read(struct view *view, char *line)
+ 	struct graph *graph = view->private;
+ 	enum line_type type;
+ 	struct commit *commit;
++	static bool in_header;
+ 
+ 	if (!line) {
+ 		if (!view->lines && !view->prev)
+@@ -6970,6 +6971,7 @@ main_read(struct view *view, char *line)
+ 	if (type == LINE_COMMIT) {
+ 		bool is_boundary;
+ 
++		in_header = TRUE;
+ 		line += STRING_SIZE("commit ");
+ 		is_boundary = *line == '-';
+ 		if (is_boundary || !isalnum(*line))
+@@ -6985,6 +6987,10 @@ main_read(struct view *view, char *line)
+ 		return TRUE;
+ 	commit = view->line[view->lines - 1].data;
+ 
++	/* Empty line separates the commit header from the log itself. */
++	if (*line == '\0')
++		in_header = FALSE;
++
+ 	switch (type) {
+ 	case LINE_PARENT:
+ 		if (!graph->has_parents)
+@@ -7002,7 +7008,15 @@ main_read(struct view *view, char *line)
+ 		if (commit->title[0])
+ 			break;
+ 
+-		line += STRING_SIZE("title ");
++		/* Skip lines in the commit header. */
++		if (in_header)
++			break;
++
++		/* Require titles to start with a non-space character at the
++		 * offset used by git log. */
++		if (strncmp(line, "    ", 4))
++			break;
++		line += 4;
+ 		/* Well, if the title starts with a whitespace character,
+ 		 * try to be forgiving.  Otherwise we end up with no title. */
+ 		while (isspace(*line))
diff -Nru tig-1.0/debian/patches/series tig-1.0/debian/patches/series
--- tig-1.0/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ tig-1.0/debian/patches/series	2012-07-15 11:36:36.000000000 +0200
@@ -0,0 +1 @@
+bts680442-broken-graph.patch
diff -Nru tig-1.0/debian/source/format tig-1.0/debian/source/format
--- tig-1.0/debian/source/format	1970-01-01 01:00:00.000000000 +0100
+++ tig-1.0/debian/source/format	2012-07-15 11:37:05.000000000 +0200
@@ -0,0 +1 @@
+3.0 (quilt)

Attachment: signature.asc
Description: Digital signature


Reply to: