Source: git
Section: vcs
Priority: optional
Maintainer: Gerrit Pape <pape@smarden.org>
Uploaders: Jonathan Nieder <jrnieder@gmail.com>, Anders Kaseorg <andersk@mit.edu>
Build-Depends: libz-dev, gettext,
 libpcre2-dev | libpcre3-dev,
 libcurl4-gnutls-dev, libexpat1-dev,
 subversion, libsvn-perl, libyaml-perl,
 tcl, python,
 libhttp-date-perl | libtime-modules-perl,
 libcgi-pm-perl,
 liberror-perl,
 libmailtools-perl,
 cvs, cvsps, libdbd-sqlite3-perl,
 unzip, libio-pty-perl,
 debhelper (>= 9),
 dh-exec (>= 0.7),
 dh-apache2,
 dpkg-dev (>= 1.16.2~)
Build-Depends-Indep: asciidoc, xmlto, docbook-xsl
Standards-Version: 4.1.5.0
Homepage: https://git-scm.com/
Vcs-Git: https://repo.or.cz/r/git/debian.git/
Vcs-Browser: http://repo.or.cz/w/git/debian.git/

Package: git
Architecture: any
Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends}, perl, liberror-perl,
 git-man (>> ${source:Upstream-Version}), git-man (<< ${source:Upstream-Version}-.)
Pre-Depends: ${misc:Pre-Depends}
Recommends: ca-certificates, patch, less, ssh-client
Suggests: gettext-base, git-daemon-run | git-daemon-sysvinit,
 git-doc, git-el, git-email, git-gui, gitk, gitweb,
 git-cvs, git-mediawiki, git-svn
Replaces: gitweb (<< 1:1.7.4~rc1),
 git-core (<< 1:1.7.0.4-1.)
Breaks: bash-completion (<< 1:1.90-1), gitweb (<< 1:1.7.4~rc1),
 dgit (<< 5.1~),
 git-buildpackage (<< 0.6.5),
 cogito (<= 0.18.2+),
 openssh-client (<< 1:6.8),
 stgit (<< 0.15), stgit-contrib (<< 0.15), gitpkg (<< 0.15),
 guilt (<< 0.33), gitosis (<< 0.2+20090917-7),
 git-core (<< 1:1.7.0.4-1.)
Provides: git-completion, git-core
Description: fast, scalable, distributed revision control system
 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 main components with minimal dependencies.
 Additional functionality, e.g. a graphical user interface and revision
 tree visualizer, tools for interoperating with other VCS's, or a web
 interface, is provided as separate git* packages.

Package: git-man
Section: doc
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}
Replaces: git (<< 1:1.7.4~rc1),
 git-core (<< 1:1.7.0.4-1.)
Breaks: git (<< 1:1.7.4~rc1)
Description: fast, scalable, distributed revision control system (manual pages)
 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 reference documentation for use by the 'man'
 utility and the 'git help' command.

Package: git-doc
Section: doc
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}
Suggests: git, git-cvs, git-svn, git-email, gitk, gitweb
Description: fast, scalable, distributed revision control system (documentation)
 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 documentation.

Package: git-cvs
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), cvsps, libdbd-sqlite3-perl
Suggests: git-doc, cvs
Description: fast, scalable, distributed revision control system (cvs interoperability)
 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 cvsimport, cvsexportcommit, and cvsserver
 tools, which allow Git to read from and write to CVS repositories and
 offer access over CVS protocol to Git repositories.
 .
 The git cvsimport tool can incrementally import from a repository that
 is being actively developed and only requires remote access over CVS
 protocol. Unfortunately, in many situations the import leads to
 incorrect results. For reliable, one-shot imports, cvs2git from the
 cvs2svn package or parsecvs may be a better fit.

Package: git-svn
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), libsvn-perl, libyaml-perl, libterm-readkey-perl
Suggests: git-doc, subversion
Breaks: git (<< 1:1.8.3~rc1-1.)
Replaces: git (<< 1:1.8.3~rc1-1.)
Description: fast, scalable, distributed revision control system (svn interoperability)
 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 tools for interoperating with Subversion repositories,
 and importing SVN development history.

Package: git-mediawiki
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.),
 libmediawiki-api-perl (>= 0.39), liblwp-protocol-https-perl, libdatetime-format-iso8601-perl
Suggests: mediawiki
Description: fast, scalable, distributed revision control system (MediaWiki remote helper)
 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 mediawiki remote helper, which allows Git to
 read from and write to a wiki such as Wikipedia as though it were a
 remote Git repository, and a 'git mw' command that can show a preview
 of how wiki markup will be rendered before pushing.

Package: git-email
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.)
Recommends: libemail-valid-perl,
 libmailtools-perl,
 perl (>> 5.21.5) | libnet-smtp-ssl-perl,
 libauthen-sasl-perl,
 libio-socket-ssl-perl (>= 1.951)
Suggests: git-doc
Description: fast, scalable, distributed revision control system (email add-on)
 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-send-email program for sending series of
 patch emails.

Package: git-daemon-run
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), runit, adduser
Conflicts: git-daemon-sysvinit
Description: fast, scalable, distributed revision control system (git-daemon service)
 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.
 .
 git-daemon, as provided by the git package, is a simple server for git
 repositories, ideally suited for read-only updates, i.e. pulling from git
 repositories through the network.  This package provides a runit service
 for running git-daemon permanently.  This configuration is simpler and
 more reliable than git-daemon-sysvinit, at a cost of being less
 familiar for administrators accustomed to sysvinit.

Package: git-daemon-sysvinit
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), adduser, lsb-base (>= 3.0-6)
Conflicts: git-daemon-run
Description: fast, scalable, distributed revision control system (git-daemon service)
 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.
 .
 git-daemon, as provided by the git package, is a simple server for git
 repositories, ideally suited for read-only updates, i.e. pulling from git
 repositories through the network.  This package provides a sysvinit service
 for running git-daemon permanently.  Unlike git-daemon-run, this
 package provides the usual sysvinit service management commands
 ("service git-daemon start/stop") for git-daemon.

Package: git-gui
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tk
Recommends: gitk
Suggests: git-doc, aspell
Description: fast, scalable, distributed revision control system (GUI)
 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 graphical user interface.
 .
 If aspell is installed, it can check the spelling of commit messages
 as the user types.

Package: gitk
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tk
Suggests: git-doc
Description: fast, scalable, distributed revision control system (revision tree visualizer)
 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 gitk program, a tcl/tk revision tree visualizer.

Package: git-el
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>= 1:1.7.4.1-2~), emacs | emacsen
Recommends: elpa-magit
Replaces: git (<< 1:1.7.4.1-2~)
Breaks: git (<< 1:1.7.4.1-2~)
Description: fast, scalable, distributed revision control system (emacs support)
 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 transitional package provides two modules that previously could be
 used for integration with Emacs: git.el and git-blame.el. Now the
 modules print an error message with instructions that users can use to
 migrate to Emacs's VC-mode backend for Git or Magit.

Package: gitweb
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.),
 perl, libcgi-pm-perl
Pre-Depends: ${misc:Pre-Depends}
Recommends: ${misc:Recommends}, libhttp-date-perl | libtime-modules-perl
Breaks: apache2.2-common (<< 2.3~)
Suggests: httpd-cgi | libcgi-fast-perl, git-doc
Description: fast, scalable, distributed revision control system (web interface)
 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 configures a web interface for browsing git repositories.
 .
 If apache2 is installed, the web interface is automatically made
 available at http://localhost/gitweb.  Other servers that support CGI
 or mod_perl are supported through manual configuration.
 .
 If libcgi-fast-perl is installed, gitweb can also be run over FastCGI
 (and served by nginx, for example).

Package: git-all
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.),
 git-doc, git-el, git-cvs, git-mediawiki, git-svn,
 git-email, git-gui, gitk, gitweb
Recommends: git-daemon-run | git-daemon-sysvinit
Description: fast, scalable, distributed revision control system (all subpackages)
 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 is a dummy package which brings in all subpackages.
