Package: release.debian.org
Severity: normal
User: release.debian....@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 <tok...@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 <fons...@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 via email to