Jonathan, all,

I've prepared an alternative patch for adding 'git-subtree' to Debian by
building a separate arch-indep 'git-subtree' package as suggested by
Martin (see attached).

The first version of the patch is against the current 'debian-sid'
branch, while the second one is on top of my patch from
http://bugs.debian.org/740349 (to add a 'git-credential-gnome-keyring'
package).

Tests pass:
make[3]: Entering directory `/tmp/buildd/git-1.9.0/contrib/subtree/t'
*** t7900-subtree.sh ***
...
# passed all 55 test(s)
1..55

and documentation is included in the package as well.
Please let me know, if something is missing.

Greetings from Oldenburg,
  Philipp

-- 
vay' DalarghDI' yIqaw
>From c98eeeee2803ea3f4e7db9bc5ceb8740f055dbd7 Mon Sep 17 00:00:00 2001
From: "Philipp A. Hartmann" <p...@qo.cx>
Date: Wed, 5 Mar 2014 01:27:10 +0100
Subject: [PATCH] git-subtree: add new package (closes: #704652)

This patch adds a 'git-subtree' package, providing the 'git subtree'
command to merge subtrees together and split a repository into subtrees.

Signed-off-by: Philipp A. Hartmann <p...@qo.cx>
---
 debian/changelog        |  5 +++++
 debian/control          | 17 +++++++++++++++++
 debian/git-subtree.docs |  1 +
 debian/rules            | 16 ++++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 100644 debian/git-subtree.docs

diff --git a/debian/changelog b/debian/changelog
index 943612d..bbdcce9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,14 @@
 git (1:1.9.0-1.1) unstable; urgency=low
 
+  [ Jonathan Nieder ]
   * git-email: Recommends: libio-socket-ssl-perl (>= 1.951) since
     earlier versions do not use OpenSSL's defaults when ca_path
     and ca_file are unset.
 
+  [ Philipp A. Hartmann ]
+  * git-subtree: add new package for 'git subtree' command from
+    contrib/ directory (closes: #704652)
+
  -- Jonathan Nieder <jrnie...@gmail.com>  Tue, 25 Feb 2014 21:16:56 -0800
 
 git (1:1.9.0-1) unstable; urgency=low
diff --git a/debian/control b/debian/control
index 14e14b7..8a3c7bf 100644
--- a/debian/control
+++ b/debian/control
@@ -234,6 +234,23 @@ Description: fast, scalable, distributed revision control system (email add-on)
  This package provides the git-send-email program for sending series of
  patch emails.
 
+Package: git-subtree
+Architecture: all
+Multi-Arch: foreign
+Depends: git (>> 1:1.7.0.2) | git-core
+Description: fast, scalable, distributed revision control system (subtree command)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git-subtree command to merge subtrees together
+ and split a repository into subtrees.
+
 Package: git-daemon-run
 Architecture: all
 Multi-Arch: foreign
diff --git a/debian/git-subtree.docs b/debian/git-subtree.docs
new file mode 100644
index 0000000..09ec4bc
--- /dev/null
+++ b/debian/git-subtree.docs
@@ -0,0 +1 @@
+contrib/subtree/todo
diff --git a/debian/rules b/debian/rules
index 69cb7a8..6a2e39f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -48,6 +48,7 @@ PKG_INDEP += gitweb
 PKG_INDEP += git-all
 PKG_INDEP += git-el
 PKG_INDEP += git-man
+PKG_INDEP += git-subtree
 
 TMP =$(shell pwd)/tmp
 GIT =$(shell pwd)/debian/git
@@ -92,6 +93,15 @@ build-indep-stamp: patch-stamp build-arch-stamp
 	    $(MAKE) -C t $(OPTS) $(CURDIR)/debian/test-bzr.sh
 	# git-mediawiki
 	$(MAKE) -Ccontrib/mw-to-git all $(OPTS)
+	# git-subtree
+	DESTDIR='$(GIT)'-subtree $(MAKE) -Ccontrib/subtree \
+	  all doc $(OPTS) libexecdir=/usr/lib/git-core
+	test -z '$(TEST)' || \
+	  PATH='$(CURDIR):$(CURDIR)/contrib/subtree:$(PATH)' \
+	    $(MAKE) -Ccontrib/subtree $(TEST) $(OPTS) prefix= || \
+	  PATH='$(CURDIR):$(CURDIR)/contrib/subtree:$(PATH)' \
+	  GIT_TEST_OPTS=--verbose \
+	    $(MAKE) -Ccontrib/subtree $(TEST) $(OPTS) prefix=
 	touch build-indep-stamp
 
 clean: deb-checkdir
@@ -99,6 +109,8 @@ clean: deb-checkdir
 	rm -f debian/git-remote-bzr.xml debian/git-remote-bzr.html
 	rm -f Documentation/git-remote-bzr.1
 	$(MAKE) clean $(OPTS)
+	$(MAKE) -Ccontrib/subtree clean $(OPTS)
+	rm -f contrib/subtree/git-subtree
 	! test -e patch-stamp || \
 	{ \
 	  set -e; \
@@ -178,6 +190,7 @@ install-arch: deb-checkdir deb-checkuid build-arch-stamp
 	rm -rf '$(GIT)'/usr/share/doc/git/contrib/completion
 	rm -rf '$(GIT)'/usr/share/doc/git/contrib/emacs
 	rm -rf '$(GIT)'/usr/share/doc/git/contrib/mw-to-git
+	rm -rf '$(GIT)'/usr/share/doc/git/contrib/subtree
 	find '$(GIT)'/usr/share/doc/git/contrib -type f | xargs chmod 0644
 	find '$(GIT)'/usr/share/doc/git/contrib -type d | xargs chmod 0755
 	  # remove contrib hooks, they are now installed in
@@ -353,6 +366,9 @@ install-indep: build-arch-stamp build-indep-stamp
 	install -d -m0755 '$(GIT)'web/etc/apache2/conf.d
 	install -m0644 debian/gitweb.apache2.conf \
 	  '$(GIT)'web/etc/apache2/conf.d/gitweb
+	# git-subtree
+	DESTDIR='$(GIT)'-subtree $(MAKE) -Ccontrib/subtree \
+	  install install-doc $(OPTS) libexecdir=/usr/lib/git-core
 	# git-all
 	rm -rf '$(GIT)'-all
 	install -d -m0755 '$(GIT)'-all
-- 
1.9.0

>From 5540efddf5b63a659ac03d7ad879bac085d823ff Mon Sep 17 00:00:00 2001
From: "Philipp A. Hartmann" <p...@qo.cx>
Date: Wed, 5 Mar 2014 01:26:18 +0100
Subject: [PATCH] git-subtree: add new package (closes: #704652)

This patch adds a 'git-subtree' package, providing the 'git subtree'
command to merge subtrees together and split a repository into subtrees.

Signed-off-by: Philipp A. Hartmann <p...@qo.cx>
---
 debian/changelog        |  2 ++
 debian/control          | 17 +++++++++++++++++
 debian/git-subtree.docs |  1 +
 debian/rules            | 16 ++++++++++++++++
 4 files changed, 36 insertions(+)
 create mode 100644 debian/git-subtree.docs

diff --git a/debian/changelog b/debian/changelog
index 6a97d0b..8bbce25 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ git (1:1.9.0-1.1) unstable; urgency=low
     and ca_file are unset.
 
   [ Philipp A. Hartmann ]
+  * git-subtree: add new package for 'git subtree' command from
+    contrib/ directory (closes: #704652)
   * git-credential-gnome-keyring: add new package for GNOME keyring
     credentials helper from contrib/ directory (closes: #740739)
 
diff --git a/debian/control b/debian/control
index b1e8566..b3735d7 100644
--- a/debian/control
+++ b/debian/control
@@ -235,6 +235,23 @@ Description: fast, scalable, distributed revision control system (email add-on)
  This package provides the git-send-email program for sending series of
  patch emails.
 
+Package: git-subtree
+Architecture: all
+Multi-Arch: foreign
+Depends: git (>> 1:1.7.0.2) | git-core
+Description: fast, scalable, distributed revision control system (subtree command)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git-subtree command to merge subtrees together
+ and split a repository into subtrees.
+
 Package: git-daemon-run
 Architecture: all
 Multi-Arch: foreign
diff --git a/debian/git-subtree.docs b/debian/git-subtree.docs
new file mode 100644
index 0000000..09ec4bc
--- /dev/null
+++ b/debian/git-subtree.docs
@@ -0,0 +1 @@
+contrib/subtree/todo
diff --git a/debian/rules b/debian/rules
index 6ebe802..4abbfc4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -52,6 +52,7 @@ PKG_INDEP += gitweb
 PKG_INDEP += git-all
 PKG_INDEP += git-el
 PKG_INDEP += git-man
+PKG_INDEP += git-subtree
 
 TMP =$(shell pwd)/tmp
 GIT =$(shell pwd)/debian/git
@@ -99,6 +100,15 @@ build-indep-stamp: patch-stamp build-arch-stamp
 	    $(MAKE) -C t $(OPTS) $(CURDIR)/debian/test-bzr.sh
 	# git-mediawiki
 	$(MAKE) -Ccontrib/mw-to-git all $(OPTS)
+	# git-subtree
+	DESTDIR='$(GIT)'-subtree $(MAKE) -Ccontrib/subtree \
+	  all doc $(OPTS) libexecdir=/usr/lib/git-core
+	test -z '$(TEST)' || \
+	  PATH='$(CURDIR):$(CURDIR)/contrib/subtree:$(PATH)' \
+	    $(MAKE) -Ccontrib/subtree $(TEST) $(OPTS) prefix= || \
+	  PATH='$(CURDIR):$(CURDIR)/contrib/subtree:$(PATH)' \
+	  GIT_TEST_OPTS=--verbose \
+	    $(MAKE) -Ccontrib/subtree $(TEST) $(OPTS) prefix=
 	touch build-indep-stamp
 
 clean: deb-checkdir
@@ -107,6 +117,8 @@ clean: deb-checkdir
 	rm -f Documentation/git-remote-bzr.1
 	$(MAKE) clean $(OPTS)
 	$(MAKE) -Ccontrib/credential/gnome-keyring clean $(OPTS)
+	$(MAKE) -Ccontrib/subtree clean $(OPTS)
+	rm -f contrib/subtree/git-subtree
 	! test -e patch-stamp || \
 	{ \
 	  set -e; \
@@ -181,6 +193,7 @@ install-arch: deb-checkdir deb-checkuid build-arch-stamp
 	rm -rf '$(GIT)'/usr/share/doc/git/contrib/credential/gnome-keyring
 	rm -rf '$(GIT)'/usr/share/doc/git/contrib/emacs
 	rm -rf '$(GIT)'/usr/share/doc/git/contrib/mw-to-git
+	rm -rf '$(GIT)'/usr/share/doc/git/contrib/subtree
 	find '$(GIT)'/usr/share/doc/git/contrib -type f | xargs chmod 0644
 	find '$(GIT)'/usr/share/doc/git/contrib -type d | xargs chmod 0755
 	  # remove contrib hooks, they are now installed in
@@ -371,6 +384,9 @@ install-indep: build-arch-stamp build-indep-stamp
 	install -d -m0755 '$(GIT)'web/etc/apache2/conf.d
 	install -m0644 debian/gitweb.apache2.conf \
 	  '$(GIT)'web/etc/apache2/conf.d/gitweb
+	# git-subtree
+	DESTDIR='$(GIT)'-subtree $(MAKE) -Ccontrib/subtree \
+	  install install-doc $(OPTS) libexecdir=/usr/lib/git-core
 	# git-all
 	rm -rf '$(GIT)'-all
 	install -d -m0755 '$(GIT)'-all
-- 
1.9.0

Reply via email to