mirror of
https://github.com/git/git.git
synced 2026-03-13 10:23:30 +01:00
Merge branch 'master' of git://repo.or.cz/alt-git
This commit is contained in:
@@ -45,7 +45,7 @@ Fixes since v1.5.2.1
|
||||
correctly when the branch name had slash in it.
|
||||
|
||||
- The email address of the user specified with user.email
|
||||
configuration was overriden by EMAIL environment variable.
|
||||
configuration was overridden by EMAIL environment variable.
|
||||
|
||||
- The tree parser did not warn about tree entries with
|
||||
nonsense file modes, and assumed they must be blobs.
|
||||
|
||||
@@ -7,7 +7,7 @@ Fixes since v1.6.0.1
|
||||
* Installation on platforms that needs .exe suffix to git-* programs were
|
||||
broken in 1.6.0.1.
|
||||
|
||||
* Installation on filesystems without symbolic links support did nto
|
||||
* Installation on filesystems without symbolic links support did not
|
||||
work well.
|
||||
|
||||
* In-tree documentations and test scripts now use "git foo" form to set a
|
||||
|
||||
@@ -41,11 +41,11 @@ Fixes since v1.6.1
|
||||
work tree upon delete/modify conflict.
|
||||
|
||||
* "git merge -s recursive" didn't leave the index unmerged for entries with
|
||||
rename/delete conflictd.
|
||||
rename/delete conflicts.
|
||||
|
||||
* "git merge -s recursive" clobbered untracked files in the work tree.
|
||||
|
||||
* "git mv -k" with more than one errorneous paths misbehaved.
|
||||
* "git mv -k" with more than one erroneous paths misbehaved.
|
||||
|
||||
* "git read-tree -m -u" hence branch switching incorrectly lost a
|
||||
subdirectory in rare cases.
|
||||
|
||||
@@ -4,8 +4,8 @@ GIT v1.6.1.2 Release Notes
|
||||
Fixes since v1.6.1.1
|
||||
--------------------
|
||||
|
||||
* The logic for rename detectin in internal diff used by commands like
|
||||
"git diff" and "git blame" have been optimized to avoid loading the same
|
||||
* The logic for rename detection in internal diff used by commands like
|
||||
"git diff" and "git blame" has been optimized to avoid loading the same
|
||||
blob repeatedly.
|
||||
|
||||
* We did not allow writing out a blob that is larger than 2GB for no good
|
||||
|
||||
@@ -162,9 +162,3 @@ v1.6.1.X series.
|
||||
|
||||
* "git -p cmd" when cmd is not a built-in one left the display in funny state
|
||||
when killed in the middle.
|
||||
|
||||
--
|
||||
exec >/var/tmp/1
|
||||
O=v1.6.2-rc2
|
||||
echo O=$(git describe master)
|
||||
git shortlog --no-merges $O..master ^maint
|
||||
|
||||
@@ -74,7 +74,7 @@ of lines before or after the line given by <start>.
|
||||
Detect moving lines in the file as well. When a commit
|
||||
moves a block of lines in a file (e.g. the original file
|
||||
has A and then B, and the commit changes it to B and
|
||||
then A), traditional 'blame' algorithm typically blames
|
||||
then A), the traditional 'blame' algorithm typically blames
|
||||
the lines that were moved up (i.e. B) to the parent and
|
||||
assigns blame to the lines that were moved down (i.e. A)
|
||||
to the child commit. With this option, both groups of lines
|
||||
@@ -90,8 +90,8 @@ commit.
|
||||
files that were modified in the same commit. This is
|
||||
useful when you reorganize your program and move code
|
||||
around across files. When this option is given twice,
|
||||
the command looks for copies from all other files in the
|
||||
parent for the commit that creates the file in addition.
|
||||
the command additionally looks for copies from all other
|
||||
files in the parent for the commit that creates the file.
|
||||
+
|
||||
<num> is optional but it is the lower bound on the number of
|
||||
alphanumeric characters that git must detect as moving
|
||||
|
||||
@@ -136,7 +136,7 @@ $ git add Documentation/\\*.txt
|
||||
------------
|
||||
+
|
||||
Note that the asterisk `\*` is quoted from the shell in this
|
||||
example; this lets the command to include the files from
|
||||
example; this lets the command include the files from
|
||||
subdirectories of `Documentation/` directory.
|
||||
|
||||
* Considers adding content from all git-*.sh scripts:
|
||||
@@ -145,7 +145,7 @@ subdirectories of `Documentation/` directory.
|
||||
$ git add git-*.sh
|
||||
------------
|
||||
+
|
||||
Because this example lets shell expand the asterisk (i.e. you are
|
||||
Because this example lets the shell expand the asterisk (i.e. you are
|
||||
listing the files explicitly), it does not consider
|
||||
`subdir/git-foo.sh`.
|
||||
|
||||
@@ -198,8 +198,8 @@ one deletion).
|
||||
|
||||
update::
|
||||
|
||||
This shows the status information and gives prompt
|
||||
"Update>>". When the prompt ends with double '>>', you can
|
||||
This shows the status information and issues an "Update>>"
|
||||
prompt. When the prompt ends with double '>>', you can
|
||||
make more than one selection, concatenated with whitespace or
|
||||
comma. Also you can say ranges. E.g. "2-5 7,9" to choose
|
||||
2,3,4,5,7,9 from the list. If the second number in a range is
|
||||
@@ -238,8 +238,8 @@ add untracked::
|
||||
|
||||
patch::
|
||||
|
||||
This lets you choose one path out of 'status' like selection.
|
||||
After choosing the path, it presents diff between the index
|
||||
This lets you choose one path out of a 'status' like selection.
|
||||
After choosing the path, it presents the diff between the index
|
||||
and the working tree file and asks you if you want to stage
|
||||
the change of each hunk. You can say:
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@ OPTIONS
|
||||
-------
|
||||
<mbox>|<Maildir>...::
|
||||
The list of mailbox files to read patches from. If you do not
|
||||
supply this argument, reads from the standard input. If you supply
|
||||
directories, they'll be treated as Maildirs.
|
||||
supply this argument, the command reads from the standard input.
|
||||
If you supply directories, they will be treated as Maildirs.
|
||||
|
||||
-s::
|
||||
--signoff::
|
||||
@@ -48,7 +48,7 @@ OPTIONS
|
||||
preferred encoding if it is not UTF-8).
|
||||
+
|
||||
This was optional in prior versions of git, but now it is the
|
||||
default. You could use `--no-utf8` to override this.
|
||||
default. You can use `--no-utf8` to override this.
|
||||
|
||||
--no-utf8::
|
||||
Pass `-n` flag to 'git-mailinfo' (see
|
||||
@@ -57,8 +57,8 @@ default. You could use `--no-utf8` to override this.
|
||||
-3::
|
||||
--3way::
|
||||
When the patch does not apply cleanly, fall back on
|
||||
3-way merge, if the patch records the identity of blobs
|
||||
it is supposed to apply to, and we have those blobs
|
||||
3-way merge if the patch records the identity of blobs
|
||||
it is supposed to apply to and we have those blobs
|
||||
available locally.
|
||||
|
||||
--whitespace=<option>::
|
||||
@@ -121,18 +121,18 @@ the commit, after stripping common prefix "[PATCH <anything>]".
|
||||
It is supposed to describe what the commit is about concisely as
|
||||
a one line text.
|
||||
|
||||
The body of the message (iow, after a blank line that terminates
|
||||
RFC2822 headers) can begin with "Subject: " and "From: " lines
|
||||
that are different from those of the mail header, to override
|
||||
the values of these fields.
|
||||
The body of the message (the rest of the message after the blank line
|
||||
that terminates the RFC2822 headers) can begin with "Subject: " and
|
||||
"From: " lines that are different from those of the mail header,
|
||||
to override the values of these fields.
|
||||
|
||||
The commit message is formed by the title taken from the
|
||||
"Subject: ", a blank line and the body of the message up to
|
||||
where the patch begins. Excess whitespaces at the end of the
|
||||
where the patch begins. Excess whitespace characters at the end of the
|
||||
lines are automatically stripped.
|
||||
|
||||
The patch is expected to be inline, directly following the
|
||||
message. Any line that is of form:
|
||||
message. Any line that is of the form:
|
||||
|
||||
* three-dashes and end-of-line, or
|
||||
* a line that begins with "diff -", or
|
||||
@@ -141,18 +141,18 @@ message. Any line that is of form:
|
||||
is taken as the beginning of a patch, and the commit log message
|
||||
is terminated before the first occurrence of such a line.
|
||||
|
||||
When initially invoking it, you give it names of the mailboxes
|
||||
to crunch. Upon seeing the first patch that does not apply, it
|
||||
aborts in the middle,. You can recover from this in one of two ways:
|
||||
When initially invoking it, you give it the names of the mailboxes
|
||||
to process. Upon seeing the first patch that does not apply, it
|
||||
aborts in the middle. You can recover from this in one of two ways:
|
||||
|
||||
. skip the current patch by re-running the command with '--skip'
|
||||
. skip the current patch by re-running the command with the '--skip'
|
||||
option.
|
||||
|
||||
. hand resolve the conflict in the working directory, and update
|
||||
the index file to bring it in a state that the patch should
|
||||
have produced. Then run the command with '--resolved' option.
|
||||
the index file to bring it into a state that the patch should
|
||||
have produced. Then run the command with the '--resolved' option.
|
||||
|
||||
The command refuses to process new mailboxes while `.git/rebase-apply`
|
||||
The command refuses to process new mailboxes while the `.git/rebase-apply`
|
||||
directory exists, so if you decide to start over from scratch,
|
||||
run `rm -f -r .git/rebase-apply` before running the command with mailbox
|
||||
names.
|
||||
|
||||
@@ -3,7 +3,7 @@ git-annotate(1)
|
||||
|
||||
NAME
|
||||
----
|
||||
git-annotate - Annotate file lines with commit info
|
||||
git-annotate - Annotate file lines with commit information
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
@@ -12,11 +12,11 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Annotates each line in the given file with information from the commit
|
||||
which introduced the line. Optionally annotate from a given revision.
|
||||
which introduced the line. Optionally annotates from a given revision.
|
||||
|
||||
The only difference between this command and linkgit:git-blame[1] is that
|
||||
they use slightly different output formats, and this command exists only
|
||||
for backward compatibility to support existing scripts, and provide more
|
||||
for backward compatibility to support existing scripts, and provide a more
|
||||
familiar command name for people coming from other SCM systems.
|
||||
|
||||
OPTIONS
|
||||
|
||||
@@ -25,7 +25,7 @@ and a work tree.
|
||||
OPTIONS
|
||||
-------
|
||||
<patch>...::
|
||||
The files to read patch from. '-' can be used to read
|
||||
The files to read the patch from. '-' can be used to read
|
||||
from the standard input.
|
||||
|
||||
--stat::
|
||||
@@ -33,8 +33,8 @@ OPTIONS
|
||||
input. Turns off "apply".
|
||||
|
||||
--numstat::
|
||||
Similar to \--stat, but shows number of added and
|
||||
deleted lines in decimal notation and pathname without
|
||||
Similar to \--stat, but shows the number of added and
|
||||
deleted lines in decimal notation and the pathname without
|
||||
abbreviation, to make it more machine friendly. For
|
||||
binary files, outputs two `-` instead of saying
|
||||
`0 0`. Turns off "apply".
|
||||
@@ -60,15 +60,15 @@ OPTIONS
|
||||
causes the index file to be updated.
|
||||
|
||||
--cached::
|
||||
Apply a patch without touching the working tree. Instead, take the
|
||||
cached data, apply the patch, and store the result in the index,
|
||||
Apply a patch without touching the working tree. Instead take the
|
||||
cached data, apply the patch, and store the result in the index
|
||||
without using the working tree. This implies '--index'.
|
||||
|
||||
--build-fake-ancestor=<file>::
|
||||
Newer 'git-diff' output has embedded 'index information'
|
||||
for each blob to help identify the original version that
|
||||
the patch applies to. When this flag is given, and if
|
||||
the original versions of the blobs is available locally,
|
||||
the original versions of the blobs are available locally,
|
||||
builds a temporary index containing those blobs.
|
||||
+
|
||||
When a pure mode change is encountered (which has no index information),
|
||||
@@ -109,13 +109,13 @@ the information is read from the current index instead.
|
||||
applying a diff generated with --unified=0. To bypass these
|
||||
checks use '--unidiff-zero'.
|
||||
+
|
||||
Note, for the reasons stated above usage of context-free patches are
|
||||
Note, for the reasons stated above usage of context-free patches is
|
||||
discouraged.
|
||||
|
||||
--apply::
|
||||
If you use any of the options marked "Turns off
|
||||
'apply'" above, 'git-apply' reads and outputs the
|
||||
information you asked without actually applying the
|
||||
requested information without actually applying the
|
||||
patch. Give this flag after those flags to also apply
|
||||
the patch.
|
||||
|
||||
@@ -124,7 +124,7 @@ discouraged.
|
||||
patch. This can be used to extract the common part between
|
||||
two files by first running 'diff' on them and applying
|
||||
the result with this option, which would apply the
|
||||
deletion part but not addition part.
|
||||
deletion part but not the addition part.
|
||||
|
||||
--allow-binary-replacement::
|
||||
--binary::
|
||||
@@ -159,10 +159,10 @@ on the command line, and ignored if there is any include pattern.
|
||||
considered whitespace errors.
|
||||
+
|
||||
By default, the command outputs warning messages but applies the patch.
|
||||
When `git-apply is used for statistics and not applying a
|
||||
When `git-apply` is used for statistics and not applying a
|
||||
patch, it defaults to `nowarn`.
|
||||
+
|
||||
You can use different `<action>` to control this
|
||||
You can use different `<action>` values to control this
|
||||
behavior:
|
||||
+
|
||||
* `nowarn` turns off the trailing whitespace warning.
|
||||
@@ -170,7 +170,7 @@ behavior:
|
||||
patch as-is (default).
|
||||
* `fix` outputs warnings for a few such errors, and applies the
|
||||
patch after fixing them (`strip` is a synonym --- the tool
|
||||
used to consider only trailing whitespaces as errors, and the
|
||||
used to consider only trailing whitespace characters as errors, and the
|
||||
fix involved 'stripping' them, but modern gits do more).
|
||||
* `error` outputs warnings for a few such errors, and refuses
|
||||
to apply the patch.
|
||||
@@ -195,7 +195,7 @@ behavior:
|
||||
adjusting the hunk headers appropriately).
|
||||
|
||||
--directory=<root>::
|
||||
Prepend <root> to all filenames. If a "-p" argument was passed, too,
|
||||
Prepend <root> to all filenames. If a "-p" argument was also passed,
|
||||
it is applied before prepending the new root.
|
||||
+
|
||||
For example, a patch that talks about updating `a/git-gui.sh` to `b/git-gui.sh`
|
||||
@@ -221,7 +221,7 @@ ignored, i.e., they are not required to be up-to-date or clean and they
|
||||
are not updated.
|
||||
|
||||
If --index is not specified, then the submodule commits in the patch
|
||||
are ignored and only the absence of presence of the corresponding
|
||||
are ignored and only the absence or presence of the corresponding
|
||||
subdirectory is checked and (if possible) updated.
|
||||
|
||||
Author
|
||||
|
||||
@@ -88,6 +88,18 @@ tar.umask::
|
||||
archiving user's umask will be used instead. See umask(2) for
|
||||
details.
|
||||
|
||||
ATTRIBUTES
|
||||
----------
|
||||
|
||||
export-ignore::
|
||||
Files and directories with the attribute export-ignore won't be
|
||||
added to archive files. See linkgit:gitattributes[5] for details.
|
||||
|
||||
export-subst::
|
||||
If the attribute export-subst is set for a file then git will
|
||||
expand several placeholders when adding this file to an archive.
|
||||
See linkgit:gitattributes[5] for details.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)::
|
||||
@@ -110,6 +122,11 @@ git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs
|
||||
Put everything in the current head's Documentation/ directory
|
||||
into 'git-1.4.0-docs.zip', with the prefix 'git-docs/'.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:gitattributes[5]
|
||||
|
||||
Author
|
||||
------
|
||||
Written by Franck Bui-Huu and Rene Scharfe.
|
||||
|
||||
@@ -243,7 +243,7 @@ OPTIONS
|
||||
context exist they all must match. By default no context is
|
||||
ever ignored.
|
||||
|
||||
--whitespace=<nowarn|warn|error|error-all|strip>::
|
||||
--whitespace=<option>::
|
||||
This flag is passed to the 'git-apply' program
|
||||
(see linkgit:git-apply[1]) that applies the patch.
|
||||
Incompatible with the --interactive option.
|
||||
|
||||
@@ -43,6 +43,11 @@ unreleased) version of git, that is available from 'master'
|
||||
branch of the `git.git` repository.
|
||||
Documentation for older releases are available here:
|
||||
|
||||
* link:v1.6.2/git.html[documentation for release 1.6.2]
|
||||
|
||||
* release notes for
|
||||
link:RelNotes-1.6.2.txt[1.6.2].
|
||||
|
||||
* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
|
||||
|
||||
* release notes for
|
||||
|
||||
@@ -74,7 +74,7 @@ frequently used options.
|
||||
<path>...::
|
||||
|
||||
Limit commits to the ones touching files in the given paths. Note, to
|
||||
avoid ambiguity wrt. revision names use "--" to separate the paths
|
||||
avoid ambiguity with respect to revision names use "--" to separate the paths
|
||||
from any preceding options.
|
||||
|
||||
Examples
|
||||
|
||||
@@ -39,7 +39,7 @@ Such a "revert" of a merge can be made with:
|
||||
|
||||
$ git revert -m 1 M
|
||||
|
||||
After the develpers of the side branch fixes their mistakes, the history
|
||||
After the developers of the side branch fix their mistakes, the history
|
||||
may look like this:
|
||||
|
||||
---o---o---o---M---x---x---W---x
|
||||
@@ -116,7 +116,7 @@ If you reverted the revert in such a case as in the previous example:
|
||||
/ \ /
|
||||
---A---B A'--B'--C'
|
||||
|
||||
where Y is the revert of W, A' and B'are rerolled A and B, and there may
|
||||
where Y is the revert of W, A' and B' are rerolled A and B, and there may
|
||||
also be a further fix-up C' on the side branch. "diff Y^..Y" is similar
|
||||
to "diff -R W^..W" (which in turn means it is similar to "diff M^..M"),
|
||||
and "diff A'^..C'" by definition would be similar but different from that,
|
||||
|
||||
@@ -143,7 +143,7 @@ Then, add something like this to your httpd.conf
|
||||
Require valid-user
|
||||
</Location>
|
||||
|
||||
Debian automatically reads all files under /etc/apach2/conf.d.
|
||||
Debian automatically reads all files under /etc/apache2/conf.d.
|
||||
|
||||
The password file can be somewhere else, but it has to be readable by
|
||||
Apache and preferably not readable by the world.
|
||||
|
||||
@@ -222,7 +222,7 @@ which can be used by the programmer of the callback as she sees fit.
|
||||
|
||||
Read a given size of data from a FILE* pointer to the buffer.
|
||||
+
|
||||
NOTE: The buffer is rewinded if the read fails. If -1 is returned,
|
||||
NOTE: The buffer is rewound if the read fails. If -1 is returned,
|
||||
`errno` must be consulted, like you would do for `read(3)`.
|
||||
`strbuf_read()`, `strbuf_read_file()` and `strbuf_getline()` has the
|
||||
same behaviour as well.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
GVF=GIT-VERSION-FILE
|
||||
DEF_VER=v1.6.2-rc2.GIT
|
||||
DEF_VER=v1.6.2.GIT
|
||||
|
||||
LF='
|
||||
'
|
||||
|
||||
20
git-am.sh
20
git-am.sh
@@ -221,6 +221,9 @@ then
|
||||
resume=yes
|
||||
|
||||
case "$skip,$abort" in
|
||||
t,t)
|
||||
die "Please make up your mind. --skip or --abort?"
|
||||
;;
|
||||
t,)
|
||||
git rerere clear
|
||||
git read-tree --reset -u HEAD HEAD
|
||||
@@ -229,12 +232,19 @@ then
|
||||
git update-ref ORIG_HEAD $orig_head
|
||||
;;
|
||||
,t)
|
||||
if test -f "$dotest/rebasing"
|
||||
then
|
||||
exec git rebase --abort
|
||||
fi
|
||||
git rerere clear
|
||||
git read-tree --reset -u HEAD ORIG_HEAD
|
||||
git reset ORIG_HEAD
|
||||
test -f "$dotest/dirtyindex" || {
|
||||
git read-tree --reset -u HEAD ORIG_HEAD
|
||||
git reset ORIG_HEAD
|
||||
}
|
||||
rm -fr "$dotest"
|
||||
exit ;;
|
||||
esac
|
||||
rm -f "$dotest/dirtyindex"
|
||||
else
|
||||
# Make sure we are not given --skip, --resolved, nor --abort
|
||||
test "$skip$resolved$abort" = "" ||
|
||||
@@ -287,7 +297,11 @@ fi
|
||||
case "$resolved" in
|
||||
'')
|
||||
files=$(git diff-index --cached --name-only HEAD --) || exit
|
||||
test "$files" && die "Dirty index: cannot apply patches (dirty: $files)"
|
||||
if test "$files"
|
||||
then
|
||||
: >"$dotest/dirtyindex"
|
||||
die "Dirty index: cannot apply patches (dirty: $files)"
|
||||
fi
|
||||
esac
|
||||
|
||||
if test "$(cat "$dotest/utf8")" = t
|
||||
|
||||
@@ -284,62 +284,74 @@ filter_skipped() {
|
||||
_skip="$2"
|
||||
|
||||
if [ -z "$_skip" ]; then
|
||||
eval "$_eval"
|
||||
eval "$_eval" | {
|
||||
while read line
|
||||
do
|
||||
echo "$line &&"
|
||||
done
|
||||
echo ':'
|
||||
}
|
||||
return
|
||||
fi
|
||||
|
||||
# Let's parse the output of:
|
||||
# "git rev-list --bisect-vars --bisect-all ..."
|
||||
eval "$_eval" | while read hash line
|
||||
do
|
||||
case "$VARS,$FOUND,$TRIED,$hash" in
|
||||
# We display some vars.
|
||||
1,*,*,*) echo "$hash $line" ;;
|
||||
|
||||
# Split line.
|
||||
,*,*,---*) ;;
|
||||
|
||||
# We had nothing to search.
|
||||
eval "$_eval" | {
|
||||
VARS= FOUND= TRIED=
|
||||
while read hash line
|
||||
do
|
||||
case "$VARS,$FOUND,$TRIED,$hash" in
|
||||
1,*,*,*)
|
||||
# "bisect_foo=bar" read from rev-list output.
|
||||
echo "$hash &&"
|
||||
;;
|
||||
,*,*,---*)
|
||||
# Separator
|
||||
;;
|
||||
,,,bisect_rev*)
|
||||
echo "bisect_rev="
|
||||
# We had nothing to search.
|
||||
echo "bisect_rev= &&"
|
||||
VARS=1
|
||||
;;
|
||||
|
||||
# We did not find a good bisect rev.
|
||||
# This should happen only if the "bad"
|
||||
# commit is also a "skip" commit.
|
||||
,,*,bisect_rev*)
|
||||
echo "bisect_rev=$TRIED"
|
||||
# We did not find a good bisect rev.
|
||||
# This should happen only if the "bad"
|
||||
# commit is also a "skip" commit.
|
||||
echo "bisect_rev='$TRIED' &&"
|
||||
VARS=1
|
||||
;;
|
||||
|
||||
# We are searching.
|
||||
,,*,*)
|
||||
# We are searching.
|
||||
TRIED="${TRIED:+$TRIED|}$hash"
|
||||
case "$_skip" in
|
||||
*$hash*) ;;
|
||||
*)
|
||||
echo "bisect_rev=$hash"
|
||||
echo "bisect_tried=\"$TRIED\""
|
||||
echo "bisect_rev=$hash &&"
|
||||
echo "bisect_tried='$TRIED' &&"
|
||||
FOUND=1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
# We have already found a rev to be tested.
|
||||
,1,*,bisect_rev*) VARS=1 ;;
|
||||
,1,*,*) ;;
|
||||
|
||||
# ???
|
||||
*) die "filter_skipped error " \
|
||||
"VARS: '$VARS' " \
|
||||
"FOUND: '$FOUND' " \
|
||||
"TRIED: '$TRIED' " \
|
||||
"hash: '$hash' " \
|
||||
"line: '$line'"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
,1,*,bisect_rev*)
|
||||
# We have already found a rev to be tested.
|
||||
VARS=1
|
||||
;;
|
||||
,1,*,*)
|
||||
;;
|
||||
*)
|
||||
# Unexpected input
|
||||
echo "die 'filter_skipped error'"
|
||||
die "filter_skipped error " \
|
||||
"VARS: '$VARS' " \
|
||||
"FOUND: '$FOUND' " \
|
||||
"TRIED: '$TRIED' " \
|
||||
"hash: '$hash' " \
|
||||
"line: '$line'"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
echo ':'
|
||||
}
|
||||
}
|
||||
|
||||
exit_if_skipped_commits () {
|
||||
|
||||
@@ -3297,7 +3297,7 @@ sub new {
|
||||
sub _mark_empty_symlinks {
|
||||
my ($git_svn, $switch_path) = @_;
|
||||
my $bool = Git::config_bool('svn.brokenSymlinkWorkaround');
|
||||
return {} if (defined($bool) && ! $bool);
|
||||
return {} if (!defined($bool)) || (defined($bool) && ! $bool);
|
||||
|
||||
my %ret;
|
||||
my ($rev, $cmt) = $git_svn->last_rev_commit;
|
||||
@@ -4738,7 +4738,7 @@ sub run_pager {
|
||||
|
||||
sub format_svn_date {
|
||||
# some systmes don't handle or mishandle %z, so be creative.
|
||||
my $t = shift;
|
||||
my $t = shift || time;
|
||||
my $gm = timelocal(gmtime($t));
|
||||
my $sign = qw( + + - )[ $t <=> $gm ];
|
||||
my $gmoff = sprintf("%s%02d%02d", $sign, (gmtime(abs($t - $gm)))[2,1]);
|
||||
|
||||
@@ -701,16 +701,17 @@ proc newvarc {view id} {
|
||||
}
|
||||
|
||||
proc splitvarc {p v} {
|
||||
global varcid varcstart varccommits varctok
|
||||
global varcid varcstart varccommits varctok vtokmod
|
||||
global vupptr vdownptr vleftptr vbackptr varcix varcrow vlastins
|
||||
|
||||
set oa $varcid($v,$p)
|
||||
set otok [lindex $varctok($v) $oa]
|
||||
set ac $varccommits($v,$oa)
|
||||
set i [lsearch -exact $varccommits($v,$oa) $p]
|
||||
if {$i <= 0} return
|
||||
set na [llength $varctok($v)]
|
||||
# "%" sorts before "0"...
|
||||
set tok "[lindex $varctok($v) $oa]%[strrep $i]"
|
||||
set tok "$otok%[strrep $i]"
|
||||
lappend varctok($v) $tok
|
||||
lappend varcrow($v) {}
|
||||
lappend varcix($v) {}
|
||||
@@ -730,6 +731,9 @@ proc splitvarc {p v} {
|
||||
for {set b [lindex $vdownptr($v) $na]} {$b != 0} {set b [lindex $vleftptr($v) $b]} {
|
||||
lset vupptr($v) $b $na
|
||||
}
|
||||
if {[string compare $otok $vtokmod($v)] <= 0} {
|
||||
modify_arc $v $oa
|
||||
}
|
||||
}
|
||||
|
||||
proc renumbervarc {a v} {
|
||||
@@ -3364,7 +3368,6 @@ proc external_blame {parent_idx {line {}}} {
|
||||
# being given an absolute path...
|
||||
set f [make_relative $f]
|
||||
lappend cmdline $base_commit $f
|
||||
puts "cmdline={$cmdline}"
|
||||
if {[catch {eval exec $cmdline &} err]} {
|
||||
error_popup "[mc "git gui blame: command failed:"] $err"
|
||||
}
|
||||
@@ -5732,7 +5735,6 @@ proc drawcommits {row {endrow {}}} {
|
||||
optimize_rows $ro1 0 $r2
|
||||
if {$need_redisplay || $nrows_drawn > 2000} {
|
||||
clear_display
|
||||
drawvisible
|
||||
}
|
||||
|
||||
# make the lines join to already-drawn rows either side
|
||||
|
||||
@@ -94,10 +94,15 @@ test_expect_success 'MKCOL sends directory names with trailing slashes' '
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'PUT and MOVE sends object to URLs with SHA-1 hash suffix' '
|
||||
x1="[0-9a-f]"
|
||||
x2="$x1$x1"
|
||||
x5="$x1$x1$x1$x1$x1"
|
||||
x38="$x5$x5$x5$x5$x5$x5$x5$x1$x1$x1"
|
||||
x40="$x38$x2"
|
||||
|
||||
grep -P "\"(?:PUT|MOVE) .+objects/[\da-z]{2}/[\da-z]{38}_[\da-z\-]{40} HTTP/[0-9.]+\" 20\d" \
|
||||
< "$HTTPD_ROOT_PATH"/access.log
|
||||
test_expect_success 'PUT and MOVE sends object to URLs with SHA-1 hash suffix' '
|
||||
sed -e "s/PUT /OP /" -e "s/MOVE /OP /" "$HTTPD_ROOT_PATH"/access.log |
|
||||
grep -e "\"OP .*/objects/$x2/${x38}_$x40 HTTP/[.0-9]*\" 20[0-9] "
|
||||
|
||||
'
|
||||
|
||||
|
||||
@@ -224,6 +224,31 @@ test_expect_success 'bisect skip: cannot tell between 2 commits' '
|
||||
fi
|
||||
'
|
||||
|
||||
# $HASH1 is good, $HASH4 is both skipped and bad, we skip $HASH3
|
||||
# and $HASH2 is good,
|
||||
# so we should not be able to tell the first bad commit
|
||||
# among $HASH3 and $HASH4
|
||||
test_expect_success 'bisect skip: with commit both bad and skipped' '
|
||||
git bisect start &&
|
||||
git bisect skip &&
|
||||
git bisect bad &&
|
||||
git bisect good $HASH1 &&
|
||||
git bisect skip &&
|
||||
if git bisect good > my_bisect_log.txt
|
||||
then
|
||||
echo Oops, should have failed.
|
||||
false
|
||||
else
|
||||
test $? -eq 2 &&
|
||||
grep "first bad commit could be any of" my_bisect_log.txt &&
|
||||
! grep $HASH1 my_bisect_log.txt &&
|
||||
! grep $HASH2 my_bisect_log.txt &&
|
||||
grep $HASH3 my_bisect_log.txt &&
|
||||
grep $HASH4 my_bisect_log.txt &&
|
||||
git bisect reset
|
||||
fi
|
||||
'
|
||||
|
||||
# We want to automatically find the commit that
|
||||
# introduced "Another" into hello.
|
||||
test_expect_success \
|
||||
|
||||
@@ -83,6 +83,8 @@ EOF
|
||||
'
|
||||
|
||||
test_expect_success 'clone using git svn' 'git svn clone -r1 "$svnrepo" x'
|
||||
test_expect_success 'enable broken symlink workaround' \
|
||||
'(cd x && git config svn.brokenSymlinkWorkaround true)'
|
||||
test_expect_success '"bar" is an empty file' 'test -f x/bar && ! test -s x/bar'
|
||||
test_expect_success 'get "bar" => symlink fix from svn' \
|
||||
'(cd x && git svn rebase)'
|
||||
@@ -97,4 +99,12 @@ test_expect_success 'get "bar" => symlink fix from svn' \
|
||||
'(cd y && git svn rebase)'
|
||||
test_expect_success '"bar" does not become a symlink' '! test -L y/bar'
|
||||
|
||||
# svn.brokenSymlinkWorkaround is unset
|
||||
test_expect_success 'clone using git svn' 'git svn clone -r1 "$svnrepo" z'
|
||||
test_expect_success '"bar" is an empty file' 'test -f z/bar && ! test -s z/bar'
|
||||
test_expect_success 'get "bar" => symlink fix from svn' \
|
||||
'(cd z && git svn rebase)'
|
||||
test_expect_success '"bar" does not become a symlink' '! test -L z/bar'
|
||||
|
||||
|
||||
test_done
|
||||
|
||||
@@ -268,9 +268,10 @@ int odb_mkstemp(char *template, size_t limit, const char *pattern)
|
||||
return fd;
|
||||
|
||||
/* slow path */
|
||||
safe_create_leading_directories(template);
|
||||
/* some mkstemp implementations erase template on failure */
|
||||
snprintf(template, limit, "%s/%s",
|
||||
get_object_directory(), pattern);
|
||||
safe_create_leading_directories(template);
|
||||
return xmkstemp(template);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user