Skip to content

Commit

Permalink
Merge commit '74359821' into js/reflog-delete
Browse files Browse the repository at this point in the history
* commit '74359821': (128 commits)
  tests: introduce test_must_fail
  Fix builtin checkout crashing when given an invalid path
  templates/Makefile: don't depend on local umask setting
  Correct name of diff_flush() in API documentation
  Start preparing for 1.5.4.4
  format-patch: remove a leftover debugging message
  completion: support format-patch's --cover-letter option
  Eliminate confusing "won't bisect on seeked tree" failure
  builtin-reflog.c: don't install new reflog on write failure
  send-email: fix In-Reply-To regression
  git-svn: Don't prompt for client cert password everytime.
  git.el: Do not display empty directories.
  Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR
  Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR
  Prompt to continue when editing during rebase --interactive
  Documentation/git svn log: add a note about timezones.
  git-p4: Support usage of perforce client spec
  git-p4: git-p4 submit cleanups.
  git-p4: Removed git-p4 submit --direct.
  git-p4: Clean up git-p4 submit's log message handling.
  ...
  • Loading branch information
Junio C Hamano committed Mar 3, 2008
2 parents bd56ff5 + 7435982 commit f830d45
Show file tree
Hide file tree
Showing 125 changed files with 4,189 additions and 1,334 deletions.
27 changes: 27 additions & 0 deletions Documentation/RelNotes-1.5.4.3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
GIT v1.5.4.3 Release Notes
==========================

Fixes since v1.5.4.2
--------------------

* RPM spec used to pull in everything with 'git'. This has been
changed so that 'git' package contains just the core parts,
and we now supply 'git-all' metapackage to slurp in everything.
This should match end user's expectation better.

* When some refs failed to update, git-push reported "failure"
which was unclear if some other refs were updated or all of
them failed atomically (the answer is the former). Reworded
the message to clarify this.

* "git clone" from a repository whose HEAD was misconfigured
did not set up the remote properly. Now it tries to do
better.

* Updated git-push documentation to clarify what "matching"
means, in order to reduce user confusion.

* Updated git-add documentation to clarify "add -u" operates in
the current subdirectory you are in, just like other commands.

* git-gui updates to work on OSX and Windows better.
26 changes: 26 additions & 0 deletions Documentation/RelNotes-1.5.4.4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
GIT v1.5.4.4 Release Notes
==========================

Fixes since v1.5.4.3
--------------------

* "git cvsexportcommit -w $cvsdir" misbehaved when GIT_DIR is set to a
relative directory.

* "git http-push" had an invalid memory access that could lead it to
segfault.

* When "git rebase -i" gave control back to the user for a commit that is
marked to be edited, it just said "modify it with commit --amend",
without saying what to do to continue after modifying it. Give an
explicit instruction to run "rebase --continue" to be more helpful.

* "git send-email" in 1.5.4.3 issued a bogus empty In-Reply-To: header.

Also included are a handful documentation updates.

---
exec >/var/tmp/1
echo O=$(git describe maint)
O=v1.5.4.3
git shortlog --no-merges $O..maint
27 changes: 24 additions & 3 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,10 @@ core.whitespace::
error (enabled by default).
* `indent-with-non-tab` treats a line that is indented with 8 or more
space characters as an error (not enabled by default).
* `cr-at-eol` treats a carriage-return at the end of line as
part of the line terminator, i.e. with it, `trailing-space`
does not trigger if the character before such a carriage-return
is not a whitespace (not enabled by default).

alias.*::
Command aliases for the linkgit:git[1] command wrapper - e.g.
Expand All @@ -375,10 +379,14 @@ apply.whitespace::

branch.autosetupmerge::
Tells `git-branch` and `git-checkout` to setup new branches
so that linkgit:git-pull[1] will appropriately merge from that
remote branch. Note that even if this option is not set,
so that linkgit:git-pull[1] will appropriately merge from the
starting point branch. Note that even if this option is not set,
this behavior can be chosen per-branch using the `--track`
and `--no-track` options. This option defaults to true.
and `--no-track` options. The valid settings are: `false` -- no
automatic setup is done; `true` -- automatic setup is done when the
starting point is a remote branch; `always` -- automatic setup is
done when the starting point is either a local branch or remote
branch. This option defaults to true.

branch.<name>.remote::
When in branch <name>, it tells `git fetch` which remote to fetch.
Expand Down Expand Up @@ -808,6 +816,8 @@ pack.threads::
warning. This is meant to reduce packing time on multiprocessor
machines. The required amount of memory for the delta search window
is however multiplied by the number of threads.
Specifying 0 will cause git to auto-detect the number of CPU's
and set the number of threads accordingly.

pack.indexVersion::
Specify the default pack index version. Valid values are 1 for
Expand Down Expand Up @@ -893,6 +903,17 @@ tar.umask::
archiving user's umask will be used instead. See umask(2) and
linkgit:git-archive[1].

url.<base>.insteadOf::
Any URL that starts with this value will be rewritten to
start, instead, with <base>. In cases where some site serves a
large number of repositories, and serves them with multiple
access methods, and some users need to use different access
methods, this feature allows people to specify any of the
equivalent URLs and have git automatically rewrite the URL to
the best alternative for the particular user, even for a
never-before-seen repository on the site. When more than one
insteadOf strings match a given URL, the longest match is used.

user.email::
Your email address to be recorded in any newly created commits.
Can be overridden by the 'GIT_AUTHOR_EMAIL', 'GIT_COMMITTER_EMAIL', and
Expand Down
8 changes: 8 additions & 0 deletions Documentation/diff-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,14 @@ endif::git-format-patch[]
Swap two inputs; that is, show differences from index or
on-disk file to tree contents.

--relative[=<path>]::
When run from a subdirectory of the project, it can be
told to exclude changes outside the directory and show
pathnames relative to it with this option. When you are
not in a subdirectory (e.g. in a bare repository), you
can name which subdirectory to make the output relative
to by giving a <path> as an argument.

--text::
Treat all files as text.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-am.txt
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ aborts in the middle,. You can recover from this in one of two ways:

The command refuses to process new mailboxes while `.dotest`
directory exists, so if you decide to start over from scratch,
run `rm -f .dotest` before running the command with mailbox
run `rm -f -r .dotest` before running the command with mailbox
names.


Expand Down
32 changes: 15 additions & 17 deletions Documentation/git-branch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,10 @@ working tree to it; use "git checkout <newbranch>" to switch to the
new branch.

When a local branch is started off a remote branch, git sets up the
branch so that linkgit:git-pull[1] will appropriately merge from that
remote branch. If this behavior is not desired, it is possible to
disable it using the global `branch.autosetupmerge` configuration
flag. That setting can be overridden by using the `--track`
and `--no-track` options.
branch so that linkgit:git-pull[1] will appropriately merge from
the remote branch. This behavior may be changed via the global
`branch.autosetupmerge` configuration flag. That setting can be
overridden by using the `--track` and `--no-track` options.

With a '-m' or '-M' option, <oldbranch> will be renamed to <newbranch>.
If <oldbranch> had a corresponding reflog, it is renamed to match
Expand Down Expand Up @@ -105,20 +104,19 @@ OPTIONS
Display the full sha1s in output listing rather than abbreviating them.

--track::
Set up configuration so that git-pull will automatically
retrieve data from the remote branch. Use this if you always
pull from the same remote branch into the new branch, or if you
don't want to use "git pull <repository> <refspec>" explicitly.
This behavior is the default. Set the
branch.autosetupmerge configuration variable to false if you
want git-checkout and git-branch to always behave as if
'--no-track' were given.
When creating a new branch, set up configuration so that git-pull
will automatically retrieve data from the start point, which must be
a branch. Use this if you always pull from the same upstream branch
into the new branch, and if you don't want to use "git pull
<repository> <refspec>" explicitly. This behavior is the default
when the start point is a remote branch. Set the
branch.autosetupmerge configuration variable to `false` if you want
git-checkout and git-branch to always behave as if '--no-track' were
given. Set it to `always` if you want this behavior when the
start-point is either a local or remote branch.

--no-track::
When a branch is created off a remote branch,
set up configuration so that git-pull will not retrieve data
from the remote branch, ignoring the branch.autosetupmerge
configuration variable.
Ignore the branch.autosetupmerge configuration variable.

<branchname>::
The name of the branch to create or delete.
Expand Down
44 changes: 35 additions & 9 deletions Documentation/git-bundle.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,36 +99,62 @@ Assume two repositories exist as R1 on machine A, and R2 on machine B.
For whatever reason, direct connection between A and B is not allowed,
but we can move data from A to B via some mechanism (CD, email, etc).
We want to update R2 with developments made on branch master in R1.

To create the bundle you have to specify the basis. You have some options:

- Without basis.
+
This is useful when sending the whole history.

------------
$ git bundle create mybundle master
------------

- Using temporally tags.
+
We set a tag in R1 (lastR2bundle) after the previous such transport,
and move it afterwards to help build the bundle.

in R1 on A:

------------
$ git-bundle create mybundle master ^lastR2bundle
$ git tag -f lastR2bundle master
------------

(move mybundle from A to B by some mechanism)
- Using a tag present in both repositories

------------
$ git bundle create mybundle master ^v1.0.0
------------

- A basis based on time.

------------
$ git bundle create mybundle master --since=10.days.ago
------------

in R2 on B:
- With a limit on the number of commits

------------
$ git-bundle verify mybundle
$ git-fetch mybundle refspec
$ git bundle create mybundle master -n 10
------------

where refspec is refInBundle:localRef
Then you move mybundle from A to B, and in R2 on B:

------------
$ git-bundle verify mybundle
$ git-fetch mybundle master:localRef
------------

Also, with something like this in your config:
With something like this in the config in R2:

------------------------
[remote "bundle"]
url = /home/me/tmp/file.bdl
fetch = refs/heads/*:refs/remotes/origin/*
------------------------

You can first sneakernet the bundle file to ~/tmp/file.bdl and
then these commands:
then these commands on machine B:

------------
$ git ls-remote bundle
Expand Down
24 changes: 11 additions & 13 deletions Documentation/git-checkout.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,21 +48,19 @@ OPTIONS
may restrict the characters allowed in a branch name.

--track::
When -b is given and a branch is created off a remote branch,
set up configuration so that git-pull will automatically
retrieve data from the remote branch. Use this if you always
pull from the same remote branch into the new branch, or if you
don't want to use "git pull <repository> <refspec>" explicitly.
This behavior is the default. Set the
branch.autosetupmerge configuration variable to false if you
want git-checkout and git-branch to always behave as if
'--no-track' were given.
When creating a new branch, set up configuration so that git-pull
will automatically retrieve data from the start point, which must be
a branch. Use this if you always pull from the same upstream branch
into the new branch, and if you don't want to use "git pull
<repository> <refspec>" explicitly. This behavior is the default
when the start point is a remote branch. Set the
branch.autosetupmerge configuration variable to `false` if you want
git-checkout and git-branch to always behave as if '--no-track' were
given. Set it to `always` if you want this behavior when the
start-point is either a local or remote branch.

--no-track::
When -b is given and a branch is created off a remote branch,
set up configuration so that git-pull will not retrieve data
from the remote branch, ignoring the branch.autosetupmerge
configuration variable.
Ignore the branch.autosetupmerge configuration variable.

-l::
Create the new branch's reflog. This activates recording of
Expand Down
5 changes: 5 additions & 0 deletions Documentation/git-describe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ OPTIONS
candidates to describe the input committish consider
up to <n> candidates. Increasing <n> above 10 will take
slightly longer but may produce a more accurate result.
An <n> of 0 will cause only exact matches to be output.

--exact-match::
Only output exact matches (a tag directly references the
supplied commit). This is a synonym for --candidates=0.

--debug::
Verbosely display information about the searching strategy
Expand Down
15 changes: 13 additions & 2 deletions Documentation/git-filter-branch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@ notable exception of the commit filter, for technical reasons).
Prior to that, the $GIT_COMMIT environment variable will be set to contain
the id of the commit being rewritten. Also, GIT_AUTHOR_NAME,
GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL,
and GIT_COMMITTER_DATE are set according to the current commit.
and GIT_COMMITTER_DATE are set according to the current commit. If any
evaluation of <command> returns a non-zero exit status, the whole operation
will be aborted.

A 'map' function is available that takes an "original sha1 id" argument
and outputs a "rewritten sha1 id" if the commit has been already
Expand Down Expand Up @@ -197,7 +199,7 @@ happened). If this is not the case, use:

--------------------------------------------------------------------------
git filter-branch --parent-filter \
'cat; test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>"' HEAD
'test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>" || cat' HEAD
--------------------------------------------------------------------------

or even simpler:
Expand Down Expand Up @@ -240,6 +242,15 @@ committed a merge between P1 and P2, it will be propagated properly
and all children of the merge will become merge commits with P1,P2
as their parents instead of the merge commit.

You can rewrite the commit log messages using `--message-filter`. For
example, `git-svn-id` strings in a repository created by `git-svn` can
be removed this way:

-------------------------------------------------------
git filter-branch --message-filter '
sed -e "/^git-svn-id:/d"
'
-------------------------------------------------------

To restrict rewriting to only part of the history, specify a revision
range in addition to the new branch name. The new branch name will
Expand Down
25 changes: 18 additions & 7 deletions Documentation/git-format-patch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ SYNOPSIS
--------
[verse]
'git-format-patch' [-k] [-o <dir> | --stdout] [--thread]
[--attach[=<boundary>] | --inline[=<boundary>]]
[-s | --signoff] [<common diff options>]
[-n | --numbered | -N | --no-numbered]
[--start-number <n>] [--numbered-files]
[--in-reply-to=Message-Id] [--suffix=.<sfx>]
[--ignore-if-in-upstream]
[--subject-prefix=Subject-Prefix]
[--attach[=<boundary>] | --inline[=<boundary>]]
[-s | --signoff] [<common diff options>]
[-n | --numbered | -N | --no-numbered]
[--start-number <n>] [--numbered-files]
[--in-reply-to=Message-Id] [--suffix=.<sfx>]
[--ignore-if-in-upstream]
[--subject-prefix=Subject-Prefix]
[--cc=<email>]
[--cover-letter]
[ <since> | <revision range> ]

DESCRIPTION
Expand Down Expand Up @@ -135,6 +137,15 @@ include::diff-options.txt[]
allows for useful naming of a patch series, and can be
combined with the --numbered option.

--cc=<email>::
Add a "Cc:" header to the email headers. This is in addition
to any configured headers, and may be used multiple times.

--cover-letter::
Generate a cover letter template. You still have to fill in
a description, but the shortlog and the diffstat will be
generated for you.

--suffix=.<sfx>::
Instead of using `.patch` as the suffix for generated
filenames, use specified suffix. A common alternative is
Expand Down
2 changes: 2 additions & 0 deletions Documentation/git-pack-objects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ base-name::
This is meant to reduce packing time on multiprocessor machines.
The required amount of memory for the delta search window is
however multiplied by the number of threads.
Specifying 0 will cause git to auto-detect the number of CPU's
and set the number of threads accordingly.

--index-version=<version>[,<offset>]::
This is intended to be used by the test suite only. It allows
Expand Down
1 change: 1 addition & 0 deletions Documentation/git-rev-list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ SYNOPSIS
[ \--(author|committer|grep)=<pattern> ]
[ \--regexp-ignore-case | \-i ]
[ \--extended-regexp | \-E ]
[ \--fixed-strings | \-F ]
[ \--date={local|relative|default|iso|rfc|short} ]
[ [\--objects | \--objects-edge] [ \--unpacked ] ]
[ \--pretty | \--header ]
Expand Down
Loading

0 comments on commit f830d45

Please sign in to comment.