Browse Source

Merge branch 'maint'

* maint:
  Rename git-core rpm to just git and rename the meta-pacakge to git-all.
  push: document the status output
  Documentation/push: clarify matching refspec behavior
  push: indicate partialness of error message
maint
Junio C Hamano 17 years ago
parent
commit
e3c58f8b30
  1. 55
      Documentation/git-push.txt
  2. 2
      builtin-push.c
  3. 69
      git.spec.in

55
Documentation/git-push.txt

@ -47,9 +47,9 @@ even if it does not result in a fast forward update. @@ -47,9 +47,9 @@ even if it does not result in a fast forward update.
+
Note: If no explicit refspec is found, (that is neither
on the command line nor in any Push line of the
corresponding remotes file---see below), then all the
heads that exist both on the local side and on the remote
side are updated.
corresponding remotes file---see below), then "matching" heads are
pushed: for every head that exists on the local side, the remote side is
updated if a head of the same name already exists on the remote side.
+
`tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
+
@ -108,6 +108,55 @@ the remote repository. @@ -108,6 +108,55 @@ the remote repository.

include::urls-remotes.txt[]

OUTPUT
------

The output of "git push" depends on the transport method used; this
section describes the output when pushing over the git protocol (either
locally or via ssh).

The status of the push is output in tabular form, with each line
representing the status of a single ref. Each line is of the form:

-------------------------------
<flag> <summary> <from> -> <to> (<reason>)
-------------------------------

flag::
A single character indicating the status of the ref. This is
blank for a successfully pushed ref, `!` for a ref that was
rejected or failed to push, and '=' for a ref that was up to
date and did not need pushing (note that the status of up to
date refs is shown only when `git push` is running verbosely).

summary::
For a successfully pushed ref, the summary shows the old and new
values of the ref in a form suitable for using as an argument to
`git log` (this is `<old>..<new>` in most cases, and
`<old>...<new>` for forced non-fast forward updates). For a
failed update, more details are given for the failure.
The string `rejected` indicates that git did not try to send the
ref at all (typically because it is not a fast forward). The
string `remote rejected` indicates that the remote end refused
the update; this rejection is typically caused by a hook on the
remote side. The string `remote failure` indicates that the
remote end did not report the successful update of the ref
(perhaps because of a temporary error on the remote side, a
break in the network connection, or other transient error).

from::
The name of the local ref being pushed, minus its
`refs/<type>/` prefix. In the case of deletion, the
name of the local ref is omitted.

to::
The name of the remote ref being updated, minus its
`refs/<type>/` prefix.

reason::
A human-readable explanation. In the case of successfully pushed
refs, no explanation is needed. For a failed ref, the reason for
failure is described.

Examples
--------

2
builtin-push.c

@ -90,7 +90,7 @@ static int do_push(const char *repo, int flags) @@ -90,7 +90,7 @@ static int do_push(const char *repo, int flags)
if (!err)
continue;

error("failed to push to '%s'", remote->url[i]);
error("failed to push some refs to '%s'", remote->url[i]);
errs++;
}
return !!errs;

69
git.spec.in

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
Name: git
Version: @@VERSION@@
Release: 1%{?dist}
Summary: Git core and tools
Summary: Core git tools
License: GPL
Group: Development/Tools
URL: http://kernel.org/pub/software/scm/git/
@ -11,80 +11,86 @@ Source: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz @@ -11,80 +11,86 @@ Source: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
BuildRequires: zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel, gettext %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Requires: git-core = %{version}-%{release}
Requires: git-svn = %{version}-%{release}
Requires: git-cvs = %{version}-%{release}
Requires: git-arch = %{version}-%{release}
Requires: git-email = %{version}-%{release}
Requires: gitk = %{version}-%{release}
Requires: git-gui = %{version}-%{release}
Requires: perl-Git = %{version}-%{release}
Requires: zlib >= 1.2, rsync, curl, less, openssh-clients, expat
Provides: git-core = %{version}-%{release}
Obsoletes: git-core <= 1.5.4.2
Obsoletes: git-p4

%description
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This is a dummy package which brings in all subpackages.
The git rpm installs the core tools with minimal dependencies. To
install all git packages, including tools for integrating with other
SCMs, install the git-all meta-package.

%package core
Summary: Core git tools
%package all
Summary: Meta-package to pull in all git tools
Group: Development/Tools
Requires: zlib >= 1.2, rsync, curl, less, openssh-clients, expat
Obsoletes: git-p4
%description core
Requires: git = %{version}-%{release}
Requires: git-svn = %{version}-%{release}
Requires: git-cvs = %{version}-%{release}
Requires: git-arch = %{version}-%{release}
Requires: git-email = %{version}-%{release}
Requires: gitk = %{version}-%{release}
Requires: git-gui = %{version}-%{release}
Obsoletes: git <= 1.5.4.2

%description all
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

These are the core tools with minimal dependencies.
This is a dummy package which brings in all subpackages.

%package svn
Summary: Git tools for importing Subversion repositories
Group: Development/Tools
Requires: git-core = %{version}-%{release}, subversion
Requires: git = %{version}-%{release}, subversion
%description svn
Git tools for importing Subversion repositories.

%package cvs
Summary: Git tools for importing CVS repositories
Group: Development/Tools
Requires: git-core = %{version}-%{release}, cvs, cvsps
Requires: git = %{version}-%{release}, cvs, cvsps
%description cvs
Git tools for importing CVS repositories.

%package arch
Summary: Git tools for importing Arch repositories
Group: Development/Tools
Requires: git-core = %{version}-%{release}, tla
Requires: git = %{version}-%{release}, tla
%description arch
Git tools for importing Arch repositories.

%package email
Summary: Git tools for sending email
Group: Development/Tools
Requires: git-core = %{version}-%{release}
Requires: git = %{version}-%{release}
%description email
Git tools for sending email.

%package gui
Summary: Git GUI tool
Group: Development/Tools
Requires: git-core = %{version}-%{release}, tk >= 8.4
Requires: git = %{version}-%{release}, tk >= 8.4
%description gui
Git GUI tool

%package -n gitk
Summary: Git revision tree visualiser ('gitk')
Group: Development/Tools
Requires: git-core = %{version}-%{release}, tk >= 8.4
Requires: git = %{version}-%{release}, tk >= 8.4
%description -n gitk
Git revision tree visualiser ('gitk')

%package -n perl-Git
Summary: Perl interface to Git
Group: Development/Libraries
Requires: git-core = %{version}-%{release}
Requires: git = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
BuildRequires: perl(Error)

@ -121,8 +127,12 @@ rm -rf $RPM_BUILD_ROOT%{_mandir} @@ -121,8 +127,12 @@ rm -rf $RPM_BUILD_ROOT%{_mandir}
%clean
rm -rf $RPM_BUILD_ROOT

%files
# These are no files in the root package
%files -f bin-man-doc-files
%defattr(-,root,root)
%{_datadir}/git-core/
%doc README COPYING Documentation/*.txt
%{!?_without_docs: %doc Documentation/*.html Documentation/howto}
%{!?_without_docs: %doc Documentation/technical}

%files svn
%defattr(-,root,root)
@ -173,14 +183,13 @@ rm -rf $RPM_BUILD_ROOT @@ -173,14 +183,13 @@ rm -rf $RPM_BUILD_ROOT
%files -n perl-Git -f perl-files
%defattr(-,root,root)

%files core -f bin-man-doc-files
%defattr(-,root,root)
%{_datadir}/git-core/
%doc README COPYING Documentation/*.txt
%{!?_without_docs: %doc Documentation/*.html Documentation/howto}
%{!?_without_docs: %doc Documentation/technical}
%files all
# No files for you!

%changelog
* Fri Feb 15 2008 Kristian Høgsberg <krh@redhat.com>
- Rename git-core to just git and rename meta package from git to git-all.

* Sun Feb 03 2008 James Bowes <jbowes@dangerouslyinc.com>
- Add a BuildRequires for gettext


Loading…
Cancel
Save