Merge branch 'master' into next
* master:
Start 1.7.4 cycle
MinGW: avoid collisions between "tags" and "TAGS"
diff: trivial fix for --output file error message
user-manual: fix anchor name Finding-comments-With-given-Content
user-manual: be consistent in illustrations to 'git rebase'
stash: simplify parsing fixes
Git 1.7.3.1
stash: fix git stash branch regression when branch creation fails
stash drops the stash even if creating the branch fails because it already exists
* master:
Start 1.7.4 cycle
MinGW: avoid collisions between "tags" and "TAGS"
diff: trivial fix for --output file error message
user-manual: fix anchor name Finding-comments-With-given-Content
user-manual: be consistent in illustrations to 'git rebase'
stash: simplify parsing fixes
Git 1.7.3.1
stash: fix git stash branch regression when branch creation fails
stash drops the stash even if creating the branch fails because it already exists
Merge branch 'dm/mergetool-vimdiff' into next
* dm/mergetool-vimdiff:
mergetool-lib: make the three-way diff the default for vim/gvim
* dm/mergetool-vimdiff:
mergetool-lib: make the three-way diff the default for vim/gvim
Start 1.7.4 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'tr/send-email-refuse-sending-unedited-cover-letter'
* tr/send-email-refuse-sending-unedited-cover-letter:
send-email: Refuse to send cover-letter template subject
* tr/send-email-refuse-sending-unedited-cover-letter:
send-email: Refuse to send cover-letter template subject
Merge branch 'ab/send-email-catfile'
* ab/send-email-catfile:
send-email: use catfile() to concatenate files
* ab/send-email-catfile:
send-email: use catfile() to concatenate files
Merge branch 'jc/grep-header-all-match-fix'
* jc/grep-header-all-match-fix:
log --author: take union of multiple "author" requests
grep: move logic to compile header pattern into a separate helper
* jc/grep-header-all-match-fix:
log --author: take union of multiple "author" requests
grep: move logic to compile header pattern into a separate helper
Merge branch 'jc/no-branch-name-with-dash-at-front'
* jc/no-branch-name-with-dash-at-front:
disallow branch names that start with a hyphen
* jc/no-branch-name-with-dash-at-front:
disallow branch names that start with a hyphen
Merge branch 'jn/gitweb-test-lib'
* jn/gitweb-test-lib:
t/gitweb-lib.sh: Use tabs for indent consistently
t/gitweb-lib.sh: Use GIT_BUILD_DIR
* jn/gitweb-test-lib:
t/gitweb-lib.sh: Use tabs for indent consistently
t/gitweb-lib.sh: Use GIT_BUILD_DIR
Merge branch 'bc/fortran-userdiff'
* bc/fortran-userdiff:
userdiff.c: add builtin fortran regex patterns
* bc/fortran-userdiff:
userdiff.c: add builtin fortran regex patterns
Merge branch 'jk/read-tree-empty'
* jk/read-tree-empty:
read-tree: deprecate syntax without tree-ish args
* jk/read-tree-empty:
read-tree: deprecate syntax without tree-ish args
Merge branch 'rr/format-patch-count-without-merges'
* rr/format-patch-count-without-merges:
format-patch: Don't go over merge commits
t4014-format-patch: Call test_tick before committing
* rr/format-patch-count-without-merges:
format-patch: Don't go over merge commits
t4014-format-patch: Call test_tick before committing
Merge branch 'jc/pickaxe-grep'
* jc/pickaxe-grep:
diff/log -G<pattern>: tests
git log/diff: add -G<regexp> that greps in the patch text
diff: pass the entire diff-options to diffcore_pickaxe()
gitdiffcore doc: update pickaxe description
* jc/pickaxe-grep:
diff/log -G<pattern>: tests
git log/diff: add -G<regexp> that greps in the patch text
diff: pass the entire diff-options to diffcore_pickaxe()
gitdiffcore doc: update pickaxe description
Merge branch 'gb/shell-ext'
* gb/shell-ext:
shell: Display errors from improperly-formatted command lines
shell: Rewrite documentation and improve error message
Add sample commands for git-shell
Add interactive mode to git-shell for user-friendliness
Allow creation of arbitrary git-shell commands
* gb/shell-ext:
shell: Display errors from improperly-formatted command lines
shell: Rewrite documentation and improve error message
Add sample commands for git-shell
Add interactive mode to git-shell for user-friendliness
Allow creation of arbitrary git-shell commands
Merge branch 'rr/fmt-merge-msg'
* rr/fmt-merge-msg:
t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length
t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length
merge: Make 'merge.log' an integer or boolean option
merge: Make '--log' an integer option for number of shortlog entries
fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len
Conflicts:
builtin/merge.c
* rr/fmt-merge-msg:
t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length
t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length
merge: Make 'merge.log' an integer or boolean option
merge: Make '--log' an integer option for number of shortlog entries
fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len
Conflicts:
builtin/merge.c
Merge branch 'po/etc-gitattributes'
* po/etc-gitattributes:
Add global and system-wide gitattributes
Conflicts:
Documentation/config.txt
Makefile
* po/etc-gitattributes:
Add global and system-wide gitattributes
Conflicts:
Documentation/config.txt
Makefile
MinGW: avoid collisions between "tags" and "TAGS"
On case insensitive filesystems, "tags" and "TAGS" target will try to
overwrite the same file. Allow MinGW to use "ETAGS" instead.
These two targets do produce real files; do not put them on .PHONY target
list.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
On case insensitive filesystems, "tags" and "TAGS" target will try to
overwrite the same file. Allow MinGW to use "ETAGS" instead.
These two targets do produce real files; do not put them on .PHONY target
list.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff: trivial fix for --output file error message
The option argument is either after the equal sign in --output=... or in
the next command-line argument. optarg is the reliable way to access it.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
The option argument is either after the equal sign in --output=... or in
the next command-line argument. optarg is the reliable way to access it.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
user-manual: fix anchor name Finding-comments-With-given-Content
Change the anchor name to
Finding-commits-With-given-Content
so that it corresponds to the actual content there.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Change the anchor name to
Finding-commits-With-given-Content
so that it corresponds to the actual content there.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
user-manual: be consistent in illustrations to 'git rebase'
Since we use a-b-c for mywork commits in one place, I think it would be
logical to also use a-b-c too in other illustration on this topic.
Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Since we use a-b-c for mywork commits in one place, I think it would be
logical to also use a-b-c too in other illustration on this topic.
Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
stash: simplify parsing fixes
This patch simplifies Brian's fix for the recent regression by:
* eliminating the extra loop
* eliminating use of git rev-parse for parsing flags
* making use of the for opt idiom for the retained loop
* eliminating the redundant -- case
The patch has been tested with the tests in current maint.
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This patch simplifies Brian's fix for the recent regression by:
* eliminating the extra loop
* eliminating use of git rev-parse for parsing flags
* making use of the for opt idiom for the retained loop
* eliminating the redundant -- case
The patch has been tested with the tests in current maint.
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mergetool-lib: make the three-way diff the default for vim/gvim
The original vimdiff/gvimdiff configuration is now available by using
'vimdiff2' or 'gvimdiff2' as the preferred merge tool.
Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
The original vimdiff/gvimdiff configuration is now available by using
'vimdiff2' or 'gvimdiff2' as the preferred merge tool.
Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Git 1.7.3.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
stash: fix git stash branch regression when branch creation fails
"git stash branch <branch> <stash>" started discarding the stash
when the branch creation fails. It should have kept the stash
intact when aborting.
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
"git stash branch <branch> <stash>" started discarding the stash
when the branch creation fails. It should have kept the stash
intact when aborting.
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
stash drops the stash even if creating the branch fails because it already exists
This bug was disovered by someone on IRC when he tried to
$ git stash branch <branch> <stash>
while <branch> already existed. In that case the stash is dropped even
though it isn't applied on any branch, so the stash is effectively lost.
Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This bug was disovered by someone on IRC when he tried to
$ git stash branch <branch> <stash>
while <branch> already existed. In that case the stash is dropped even
though it isn't applied on any branch, so the stash is effectively lost.
Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'uk/fix-author-ident-sed-script' into next
* uk/fix-author-ident-sed-script:
get_author_ident_from_commit(): remove useless quoting
* uk/fix-author-ident-sed-script:
get_author_ident_from_commit(): remove useless quoting
Merge branch 'jk/repack-reuse-object' into next
* jk/repack-reuse-object:
Documentation: pack.compression: explain how to recompress
repack: add -F flag to let user choose between --no-reuse-delta/object
* jk/repack-reuse-object:
Documentation: pack.compression: explain how to recompress
repack: add -F flag to let user choose between --no-reuse-delta/object
Merge branch 'cw/gitweb-hilite-config' into next
* cw/gitweb-hilite-config:
Enable highlight executable path as a configuration option
* cw/gitweb-hilite-config:
Enable highlight executable path as a configuration option
Merge branch 'bc/fix-cherry-pick-root' into next
* bc/fix-cherry-pick-root:
builtin/revert.c: don't dereference a NULL pointer
* bc/fix-cherry-pick-root:
builtin/revert.c: don't dereference a NULL pointer
Merge branch 'ab/makefile-track-cc' into next
* ab/makefile-track-cc:
Makefile: add CC to TRACK_CFLAGS
* ab/makefile-track-cc:
Makefile: add CC to TRACK_CFLAGS
Merge branch 'ab/require-perl-5.8' into next
* ab/require-perl-5.8:
perl: use "use warnings" instead of -w
perl: bump the required Perl version to 5.8 from 5.6.[21]
* ab/require-perl-5.8:
perl: use "use warnings" instead of -w
perl: bump the required Perl version to 5.8 from 5.6.[21]
Merge branch 'master' into next
* master:
Fix missing 'does' in man-page for 'git checkout'
dir.c: squelch false uninitialized memory warning
git-send-email.perl: ensure $domain is defined before using it
wt-status.c: don't leak directory entries when processing untracked,ignored
t6050 (replace): fix bogus "fetch branch with replacement" test
Documentation: Refer to git-commit-tree in git-filter-branch help
update comment and documentation for :/foo syntax
Improvements to `git checkout -h`
contrib/completion: --no-index option to git diff
prefer test -h over test -L in shell scripts
CodingGuidelines: spell Arithmetic Expansion with $(($var))
t1503: Fix arithmetic expansion syntax error when using dash
strbuf.h: fix comment typo
* master:
Fix missing 'does' in man-page for 'git checkout'
dir.c: squelch false uninitialized memory warning
git-send-email.perl: ensure $domain is defined before using it
wt-status.c: don't leak directory entries when processing untracked,ignored
t6050 (replace): fix bogus "fetch branch with replacement" test
Documentation: Refer to git-commit-tree in git-filter-branch help
update comment and documentation for :/foo syntax
Improvements to `git checkout -h`
contrib/completion: --no-index option to git diff
prefer test -h over test -L in shell scripts
CodingGuidelines: spell Arithmetic Expansion with $(($var))
t1503: Fix arithmetic expansion syntax error when using dash
strbuf.h: fix comment typo
Fix missing 'does' in man-page for 'git checkout'
Reported-by: Rainer Standke <rainer.standke@krankikom.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Reported-by: Rainer Standke <rainer.standke@krankikom.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation: pack.compression: explain how to recompress
Add a small remark about how to recompress all existing objects after
changing the compression level for pack files.
Signed-off-by: Jan Krüger <jk@jk.gs>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Add a small remark about how to recompress all existing objects after
changing the compression level for pack files.
Signed-off-by: Jan Krüger <jk@jk.gs>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
repack: add -F flag to let user choose between --no-reuse-delta/object
In 479b56ba ('make "repack -f" imply "pack-objects --no-reuse-object"'),
git repack -f was changed to include recompressing all objects on the
zlib level on the assumption that if the user wants to spend that much
time already, some more time won't hurt (and recompressing is useful if
the user changed the zlib compression level).
However, "some more time" can be quite long with very big repositories,
so some users are going to appreciate being able to choose. If we are
going to give them the choice, --no-reuse-object will probably be
interesting a lot less frequently than --no-reuse-delta. Hence, this
reverts -f to the old behaviour (--no-reuse-delta) and adds a new -F
option that replaces the current -f.
Measurements taken using this patch on a current clone of git.git
indicate a 17% decrease in time being made available to users:
git repack -Adf 34.84s user 0.56s system 145% cpu 24.388 total
git repack -AdF 38.79s user 0.56s system 133% cpu 29.394 total
Signed-off-by: Jan Krüger <jk@jk.gs>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
In 479b56ba ('make "repack -f" imply "pack-objects --no-reuse-object"'),
git repack -f was changed to include recompressing all objects on the
zlib level on the assumption that if the user wants to spend that much
time already, some more time won't hurt (and recompressing is useful if
the user changed the zlib compression level).
However, "some more time" can be quite long with very big repositories,
so some users are going to appreciate being able to choose. If we are
going to give them the choice, --no-reuse-object will probably be
interesting a lot less frequently than --no-reuse-delta. Hence, this
reverts -f to the old behaviour (--no-reuse-delta) and adds a new -F
option that replaces the current -f.
Measurements taken using this patch on a current clone of git.git
indicate a 17% decrease in time being made available to users:
git repack -Adf 34.84s user 0.56s system 145% cpu 24.388 total
git repack -AdF 38.79s user 0.56s system 133% cpu 29.394 total
Signed-off-by: Jan Krüger <jk@jk.gs>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
perl: use "use warnings" instead of -w
Change the Perl scripts to turn on lexical warnings instead of setting
the global $^W variable via the -w switch.
The -w sets warnings for all code that interpreter runs, while "use
warnings" is lexically scoped. The former is probably not what the
authors wanted.
As an auxiliary benefit it's now possible to build Git with:
PERL_PATH='/usr/bin/env perl'
Which would previously result in failures, since "#!/usr/bin/env perl -w"
doesn't work as a shebang.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Change the Perl scripts to turn on lexical warnings instead of setting
the global $^W variable via the -w switch.
The -w sets warnings for all code that interpreter runs, while "use
warnings" is lexically scoped. The former is probably not what the
authors wanted.
As an auxiliary benefit it's now possible to build Git with:
PERL_PATH='/usr/bin/env perl'
Which would previously result in failures, since "#!/usr/bin/env perl -w"
doesn't work as a shebang.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
perl: bump the required Perl version to 5.8 from 5.6.[21]
Formalize our dependency on perl 5.8, bumped from 5.6.[12]. We already
used the three-arg form of open() which was introduced in 5.6.1, but
t/t9700/test.pl explicitly depended on 5.6.2.
However git-add--interactive.pl has been failing on the 5.6 line since
it was introduced in v1.5.0-rc0~12^2~2 back in 2006 due to this open
syntax:
sub run_cmd_pipe {
my $fh = undef;
open($fh, '-|', @_) or die;
return <$fh>;
}
Which when executed dies on "Can't use an undefined value as
filehandle reference". Several of our tests also fail on 5.6 (even
more when compiled with NO_PERL_MAKEMAKER=1):
t2016-checkout-patch.sh
t3904-stash-patch.sh
t3701-add-interactive.sh
t7105-reset-patch.sh
t7501-commit.sh
t9700-perl-git.sh
Our code is bitrotting on 5.6 with no-one interested in fixing it, and
pinning us to such an ancient release of Perl is keeping us from using
useful features introduced in the 5.8 release.
The 5.6 series is now over 10 years old, and the 5.6.2 maintenance
release almost 7. 5.8 on the other hand is more than 8 years old.
All the modern Unix-like operating systems have now upgraded to it or
a later version, and 5.8 packages are available for old IRIX, AIX
Solaris and Tru64 systems.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Tor Arntsen <tor@spacetec.no>
Acked-by: Randal L. Schwartz <merlyn@stonehenge.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Formalize our dependency on perl 5.8, bumped from 5.6.[12]. We already
used the three-arg form of open() which was introduced in 5.6.1, but
t/t9700/test.pl explicitly depended on 5.6.2.
However git-add--interactive.pl has been failing on the 5.6 line since
it was introduced in v1.5.0-rc0~12^2~2 back in 2006 due to this open
syntax:
sub run_cmd_pipe {
my $fh = undef;
open($fh, '-|', @_) or die;
return <$fh>;
}
Which when executed dies on "Can't use an undefined value as
filehandle reference". Several of our tests also fail on 5.6 (even
more when compiled with NO_PERL_MAKEMAKER=1):
t2016-checkout-patch.sh
t3904-stash-patch.sh
t3701-add-interactive.sh
t7105-reset-patch.sh
t7501-commit.sh
t9700-perl-git.sh
Our code is bitrotting on 5.6 with no-one interested in fixing it, and
pinning us to such an ancient release of Perl is keeping us from using
useful features introduced in the 5.8 release.
The 5.6 series is now over 10 years old, and the 5.6.2 maintenance
release almost 7. 5.8 on the other hand is more than 8 years old.
All the modern Unix-like operating systems have now upgraded to it or
a later version, and 5.8 packages are available for old IRIX, AIX
Solaris and Tru64 systems.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Tor Arntsen <tor@spacetec.no>
Acked-by: Randal L. Schwartz <merlyn@stonehenge.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile: add CC to TRACK_CFLAGS
Change the git make process so that everything's rebuilt if the CC is
changed. Before we wouldn't rebuilt if e.g. the CC variable was
changed from gcc to clang.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Change the git make process so that everything's rebuilt if the CC is
changed. Before we wouldn't rebuilt if e.g. the CC variable was
changed from gcc to clang.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
dir.c: squelch false uninitialized memory warning
GCC 4.4.4 on MacOS incorrectly warns about potential use of uninitialized memory.
Signed-off-by: Pat Notz <patnotz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
GCC 4.4.4 on MacOS incorrectly warns about potential use of uninitialized memory.
Signed-off-by: Pat Notz <patnotz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-send-email.perl: ensure $domain is defined before using it
valid_fqdn() may attempt to operate on an undefined value if
Net::Domain::domainname fails to determine the domain name. This causes
perl to emit unpleasant warnings.
So, add a check for whether $domain has been defined before using it.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
valid_fqdn() may attempt to operate on an undefined value if
Net::Domain::domainname fails to determine the domain name. This causes
perl to emit unpleasant warnings.
So, add a check for whether $domain has been defined before using it.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
wt-status.c: don't leak directory entries when processing untracked,ignored
When iterating through the list of directory entries, searching for
untracked entries, only the entries added to the string_list were free'd.
The rest (tracked or not matching the pathspec) were leaked.
Ditto for the "ignored" loop.
Rearrange the loops so that all entries are free'd.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
When iterating through the list of directory entries, searching for
untracked entries, only the entries added to the string_list were free'd.
The rest (tracked or not matching the pathspec) were leaked.
Ditto for the "ignored" loop.
Rearrange the loops so that all entries are free'd.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t6050 (replace): fix bogus "fetch branch with replacement" test
The test was missing some "&&" at the end of some lines and it
was wrong because, as the replacement refs were not fetched,
the commits from the parallel branch should not show up. This
was found by Elijah Newren.
This is fixed by checking that after the branch from HASH6 is
fetched, the commits from the parallel branch don't show up,
and then by fetching the replacement refs and checking that
they do show up afterwards.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
The test was missing some "&&" at the end of some lines and it
was wrong because, as the replacement refs were not fetched,
the commits from the parallel branch should not show up. This
was found by Elijah Newren.
This is fixed by checking that after the branch from HASH6 is
fetched, the commits from the parallel branch don't show up,
and then by fetching the replacement refs and checking that
they do show up afterwards.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation: Refer to git-commit-tree in git-filter-branch help
Currently, the help for git filter-branch refers users of --env-filter
to git-commit for information about environment variables affecting
commits. However, this information is not contained in the git-commit
help, but is very explicitly detailed in git-commit-tree.
Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Currently, the help for git filter-branch refers users of --env-filter
to git-commit for information about environment variables affecting
commits. However, this information is not contained in the git-commit
help, but is very explicitly detailed in git-commit-tree.
Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
update comment and documentation for :/foo syntax
The documentation in revisions.txt did not match the implementation, and
the comment in sha1_name.c was incomplete.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
The documentation in revisions.txt did not match the implementation, and
the comment in sha1_name.c was incomplete.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Improvements to `git checkout -h`
be a little more verbose about what each option does
Signed-off-by: Daniel Knittl-Frank <knittl89+git@googlemail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
be a little more verbose about what each option does
Signed-off-by: Daniel Knittl-Frank <knittl89+git@googlemail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion: --no-index option to git diff
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
get_author_ident_from_commit(): remove useless quoting
The command 's/'\''/'\''\'\'\''/g' only triples single quotes:
$ echo "What's up?" | sed 's/'\''/'\''\'\'\''/g'
What'''s up?
This doesn't hurt as compared to a single single quote it only adds an
empty string, but it makes the script needlessly complicated and hard to
understand. The useful quoting is done by s/'\''/'\''\\'\'\''/g at the
beginning of the script and only once for all three variables.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
The command 's/'\''/'\''\'\'\''/g' only triples single quotes:
$ echo "What's up?" | sed 's/'\''/'\''\'\'\''/g'
What'''s up?
This doesn't hurt as compared to a single single quote it only adds an
empty string, but it makes the script needlessly complicated and hard to
understand. The useful quoting is done by s/'\''/'\''\\'\'\''/g at the
beginning of the script and only once for all three variables.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
prefer test -h over test -L in shell scripts
Even though "-L" is POSIX, the former is more portable, and
we tend to prefer it already.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Even though "-L" is POSIX, the former is more portable, and
we tend to prefer it already.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Enable highlight executable path as a configuration option
Allow build-time/run-time configuration of the highlight executable
(must be the one from http://www.andre-simon.de due to assumptions
about parameters and output). Defaults to previous behavior which
assumes that highlight is available on the server PATH. However, if
this is not the case, the path to the highlight executable can be
configured at build time as a configuration variable
HIGHLIGHT_BIN = /path/to/highlight
or at runtime by configuring GITWEB_CONFIG
$highlight_bin = /path/to/highlight
Signed-off-by: Christopher Wilson <cwilson@cdwilson.us>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Allow build-time/run-time configuration of the highlight executable
(must be the one from http://www.andre-simon.de due to assumptions
about parameters and output). Defaults to previous behavior which
assumes that highlight is available on the server PATH. However, if
this is not the case, the path to the highlight executable can be
configured at build time as a configuration variable
HIGHLIGHT_BIN = /path/to/highlight
or at runtime by configuring GITWEB_CONFIG
$highlight_bin = /path/to/highlight
Signed-off-by: Christopher Wilson <cwilson@cdwilson.us>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
CodingGuidelines: spell Arithmetic Expansion with $(($var))
POSIX wants shells to support both "N" and "$N" and requires them to yield
the same answer to $((N)) and $(($N)), but we should aim for portability
in a case like this, especially when the price we pay to do so is so
small, i.e. a few extra dollars.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
POSIX wants shells to support both "N" and "$N" and requires them to yield
the same answer to $((N)) and $(($N)), but we should aim for portability
in a case like this, especially when the price we pay to do so is so
small, i.e. a few extra dollars.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t1503: Fix arithmetic expansion syntax error when using dash
On systems which have dash as /bin/sh, such as Ubuntu, the final
test (master@{n} for various n) fails with a syntax error while
processing an arithmetic expansion. The syntax error is caused by
using a bare name ('N') as a variable reference in the expression.
In order to avoid the syntax error, we spell the variable reference
as '$N' rather than simply 'N'.
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
On systems which have dash as /bin/sh, such as Ubuntu, the final
test (master@{n} for various n) fails with a syntax error while
processing an arithmetic expansion. The syntax error is caused by
using a bare name ('N') as a variable reference in the expression.
In order to avoid the syntax error, we spell the variable reference
as '$N' rather than simply 'N'.
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
strbuf.h: fix comment typo
Signed-off-by: Pat Notz <patnotz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Pat Notz <patnotz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/revert.c: don't dereference a NULL pointer
cherry-pick will segfault when transplanting a root commit if the --ff
option is used. This happens because the "parent" pointer is set to NULL
when the commit being cherry-picked has no parents. Later, when "parent"
is dereferenced, the cherry-pick segfaults.
Fix this by checking whether "parent" is NULL before dereferencing it and
add a test for this case of cherry-picking a root commit with --ff.
Reported-by: Zbyszek Szmek <zbyszek@in.waw.pl>
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cherry-pick will segfault when transplanting a root commit if the --ff
option is used. This happens because the "parent" pointer is set to NULL
when the commit being cherry-picked has no parents. Later, when "parent"
is dereferenced, the cherry-pick segfaults.
Fix this by checking whether "parent" is NULL before dereferencing it and
add a test for this case of cherry-picking a root commit with --ff.
Reported-by: Zbyszek Szmek <zbyszek@in.waw.pl>
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'master' into next
* master:
git-stash: fix flag parsing
t/t3903-stash: improve testing of git-stash show
* master:
git-stash: fix flag parsing
t/t3903-stash: improve testing of git-stash show
git-stash: fix flag parsing
Currently git-stash uses `git rev-parse --no-revs -- "$@"` to set its
FLAGS variable. This is the same as `FLAGS="-- $@"`. It should use
`git rev-parse --no-revs --flags "$@"`, but that eats any "-q" or
"--quiet" argument. So move the check for quiet before rev-parse.
Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Currently git-stash uses `git rev-parse --no-revs -- "$@"` to set its
FLAGS variable. This is the same as `FLAGS="-- $@"`. It should use
`git rev-parse --no-revs --flags "$@"`, but that eats any "-q" or
"--quiet" argument. So move the check for quiet before rev-parse.
Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3903-stash: improve testing of git-stash show
Recently, the 'stash show' functionality was broken for the case when a
stash-like argument was supplied. Since, commit 9bf09e, 'stash show' when
supplied a stash-like argument prints nothing and still exists with a zero
status. Unfortunately, the flaw slipped through the test suite cracks
since the output of 'stash show' was not verified to be correct.
Improve and expand on the existing tests so that this flaws is detected.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Recently, the 'stash show' functionality was broken for the case when a
stash-like argument was supplied. Since, commit 9bf09e, 'stash show' when
supplied a stash-like argument prints nothing and still exists with a zero
status. Unfortunately, the flaw slipped through the test suite cracks
since the output of 'stash show' was not verified to be correct.
Improve and expand on the existing tests so that this flaws is detected.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'mg/reset-doc' into next
* mg/reset-doc:
git-reset.txt: make modes description more consistent
git-reset.txt: point to git-checkout
git-reset.txt: use "working tree" consistently
git-reset.txt: reset --soft is not a no-op
git-reset.txt: reset does not change files in target
git-reset.txt: clarify branch vs. branch head
* mg/reset-doc:
git-reset.txt: make modes description more consistent
git-reset.txt: point to git-checkout
git-reset.txt: use "working tree" consistently
git-reset.txt: reset --soft is not a no-op
git-reset.txt: reset does not change files in target
git-reset.txt: clarify branch vs. branch head
Merge branch 'dm/mergetool-vimdiff' into next
* dm/mergetool-vimdiff:
mergetool-lib: add a three-way diff view for vim/gvim
mergetool-lib: combine vimdiff and gvimdiff run blocks
* dm/mergetool-vimdiff:
mergetool-lib: add a three-way diff view for vim/gvim
mergetool-lib: combine vimdiff and gvimdiff run blocks
Merge branch 'ab/send-email-catfile' into next
* ab/send-email-catfile:
send-email: use catfile() to concatenate files
* ab/send-email-catfile:
send-email: use catfile() to concatenate files
Merge branch 'jc/no-branch-name-with-dash-at-front' into next
* jc/no-branch-name-with-dash-at-front:
disallow branch names that start with a hyphen
* jc/no-branch-name-with-dash-at-front:
disallow branch names that start with a hyphen
Merge branch 'jc/grep-header-all-match-fix' into next
* jc/grep-header-all-match-fix:
log --author: take union of multiple "author" requests
grep: move logic to compile header pattern into a separate helper
* jc/grep-header-all-match-fix:
log --author: take union of multiple "author" requests
grep: move logic to compile header pattern into a separate helper
Merge branch 'tr/send-email-refuse-sending-unedited-cover-letter' into next
* tr/send-email-refuse-sending-unedited-cover-letter:
send-email: Refuse to send cover-letter template subject
* tr/send-email-refuse-sending-unedited-cover-letter:
send-email: Refuse to send cover-letter template subject
Merge branch 'jf/merge-ignore-ws' into next
* jf/merge-ignore-ws:
merge-recursive: options to ignore whitespace changes
merge-recursive --patience
ll-merge: replace flag argument with options struct
merge-recursive: expose merge options for builtin merge
* jf/merge-ignore-ws:
merge-recursive: options to ignore whitespace changes
merge-recursive --patience
ll-merge: replace flag argument with options struct
merge-recursive: expose merge options for builtin merge
Merge branch 'jn/gitweb-test-lib' into next
* jn/gitweb-test-lib:
t/gitweb-lib.sh: Use tabs for indent consistently
t/gitweb-lib.sh: Use GIT_BUILD_DIR
* jn/gitweb-test-lib:
t/gitweb-lib.sh: Use tabs for indent consistently
t/gitweb-lib.sh: Use GIT_BUILD_DIR
Merge branch 'ml/completion-zsh' into next
* ml/completion-zsh:
completion: make compatible with zsh
* ml/completion-zsh:
completion: make compatible with zsh
Merge branch 'rr/format-patch-count-without-merges' into next
* rr/format-patch-count-without-merges:
format-patch: Don't go over merge commits
t4014-format-patch: Call test_tick before committing
* rr/format-patch-count-without-merges:
format-patch: Don't go over merge commits
t4014-format-patch: Call test_tick before committing
Merge branch 'rr/fmt-merge-msg' into next
* rr/fmt-merge-msg:
t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length
t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length
merge: Make 'merge.log' an integer or boolean option
merge: Make '--log' an integer option for number of shortlog entries
fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len
Conflicts:
builtin/merge.c
* rr/fmt-merge-msg:
t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length
t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length
merge: Make 'merge.log' an integer or boolean option
merge: Make '--log' an integer option for number of shortlog entries
fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len
Conflicts:
builtin/merge.c
Merge branch 'po/sendemail' into next
* po/sendemail:
New send-email option smtpserveroption.
Remove @smtp_host_parts variable as not used.
Minor indentation fix.
* po/sendemail:
New send-email option smtpserveroption.
Remove @smtp_host_parts variable as not used.
Minor indentation fix.
Merge branch 'po/etc-gitattributes' into next
* po/etc-gitattributes:
Add global and system-wide gitattributes
Conflicts:
Documentation/config.txt
Makefile
* po/etc-gitattributes:
Add global and system-wide gitattributes
Conflicts:
Documentation/config.txt
Makefile
Merge branch 'jc/pickaxe-grep' into next
* jc/pickaxe-grep:
diff/log -G<pattern>: tests
git log/diff: add -G<regexp> that greps in the patch text
diff: pass the entire diff-options to diffcore_pickaxe()
gitdiffcore doc: update pickaxe description
* jc/pickaxe-grep:
diff/log -G<pattern>: tests
git log/diff: add -G<regexp> that greps in the patch text
diff: pass the entire diff-options to diffcore_pickaxe()
gitdiffcore doc: update pickaxe description
Merge branch 'en/tree-walk-optim' into next
* en/tree-walk-optim:
diff_tree(): Skip skip_uninteresting() when all remaining paths interesting
tree_entry_interesting(): Make return value more specific
tree-walk: Correct bitrotted comment about tree_entry()
Document pre-condition for tree_entry_interesting
* en/tree-walk-optim:
diff_tree(): Skip skip_uninteresting() when all remaining paths interesting
tree_entry_interesting(): Make return value more specific
tree-walk: Correct bitrotted comment about tree_entry()
Document pre-condition for tree_entry_interesting
Merge branch 'jk/read-tree-empty' into next
* jk/read-tree-empty:
read-tree: deprecate syntax without tree-ish args
* jk/read-tree-empty:
read-tree: deprecate syntax without tree-ish args
Merge branch 'bc/fortran-userdiff' into next
* bc/fortran-userdiff:
userdiff.c: add builtin fortran regex patterns
* bc/fortran-userdiff:
userdiff.c: add builtin fortran regex patterns
Merge branch 'kf/post-receive-sample-hook' into next
* kf/post-receive-sample-hook:
post-receive-email: ensure sent messages are not empty
* kf/post-receive-sample-hook:
post-receive-email: ensure sent messages are not empty
Merge branch 'gb/shell-ext' into next
* gb/shell-ext:
shell: Display errors from improperly-formatted command lines
shell: Rewrite documentation and improve error message
Add sample commands for git-shell
Add interactive mode to git-shell for user-friendliness
Allow creation of arbitrary git-shell commands
* gb/shell-ext:
shell: Display errors from improperly-formatted command lines
shell: Rewrite documentation and improve error message
Add sample commands for git-shell
Add interactive mode to git-shell for user-friendliness
Allow creation of arbitrary git-shell commands
git-reset.txt: make modes description more consistent
Currently, the structure of the individual mode entries is different
which makes it difficult to grasp the differences between the modes.
Also, the same items are named differently (e.g. <commit>, "the named
commit", "the given commit", "the commit being switched to").
Structure and word all mode entries consistently.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Currently, the structure of the individual mode entries is different
which makes it difficult to grasp the differences between the modes.
Also, the same items are named differently (e.g. <commit>, "the named
commit", "the given commit", "the commit being switched to").
Structure and word all mode entries consistently.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-reset.txt: point to git-checkout
for the case of updating a file in index and worktree, or from the index
to the worktree.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
for the case of updating a file in index and worktree, or from the index
to the worktree.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-reset.txt: use "working tree" consistently
as per git help glossary
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
as per git help glossary
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-reset.txt: reset --soft is not a no-op
Make it clearer that git reset --soft actually does something (changing
HEAD). While it is mentioned in the previous paragraph already it can
be easily overlooked otherwise.
Also, git reset --soft does not look at the index nor the worktree, so
there is no "good order" requirement.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Make it clearer that git reset --soft actually does something (changing
HEAD). While it is mentioned in the previous paragraph already it can
be easily overlooked otherwise.
Also, git reset --soft does not look at the index nor the worktree, so
there is no "good order" requirement.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-reset.txt: reset does not change files in target
git-reset obviously cannot change files in an existing commit. Make it
not sound as if it could: reset can change HEAD and, in that sense, can
change which state a file in HEAD is in.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-reset obviously cannot change files in an existing commit. Make it
not sound as if it could: reset can change HEAD and, in that sense, can
change which state a file in HEAD is in.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-reset.txt: clarify branch vs. branch head
"Change the branch" can be misunderstood to mean "change which branch is
checked out". Make it clearer that git-reset changes the branch head of
the currently checked out branch.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
"Change the branch" can be misunderstood to mean "change which branch is
checked out". Make it clearer that git-reset changes the branch head of
the currently checked out branch.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Git 1.7.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'js/ls-files-x-doc'
* js/ls-files-x-doc:
ls-files documentation: reword for consistency
git-ls-files.txt: clarify -x/--exclude option
Conflicts:
Documentation/git-ls-files.txt
* js/ls-files-x-doc:
ls-files documentation: reword for consistency
git-ls-files.txt: clarify -x/--exclude option
Conflicts:
Documentation/git-ls-files.txt
git-rebase--interactive.sh: replace cut with ${v%% *}
Some versions of cut do not cope well with lines that do not end in
an LF. In this case, we can completely avoid cut by using the
${var%% *} parameter expansion (suggested by Brandon Casey).
I found this problem when t3404's "avoid unnecessary reset" failed
due to the "rebase -i" not avoiding updating the tested timestamp.
On a Mac OS X 10.4.11 system:
% printf '%s' 'foo bar' | /usr/bin/cut -d ' ' -f 1
cut: stdin: Illegal byte sequence
Signed-off-by: Chris Johnsen <chris_johnsen@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Some versions of cut do not cope well with lines that do not end in
an LF. In this case, we can completely avoid cut by using the
${var%% *} parameter expansion (suggested by Brandon Casey).
I found this problem when t3404's "avoid unnecessary reset" failed
due to the "rebase -i" not avoiding updating the tested timestamp.
On a Mac OS X 10.4.11 system:
% printf '%s' 'foo bar' | /usr/bin/cut -d ' ' -f 1
cut: stdin: Illegal byte sequence
Signed-off-by: Chris Johnsen <chris_johnsen@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7300: workaround ancient touch by rearranging arguments
The ancient touch on Solaris 7 thinks that a decimal number supplied as
the first argument specifies a date_time to give to the files specified by
the remaining arguments. In this case, it fails to parse '1' as a proper
date_time and exits with a failure status. Workaround this flaw by
rearranging the arguments supplied to touch so that a non-digit appears
first and touch will not be confused.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
The ancient touch on Solaris 7 thinks that a decimal number supplied as
the first argument specifies a date_time to give to the files specified by
the remaining arguments. In this case, it fails to parse '1' as a proper
date_time and exits with a failure status. Workaround this flaw by
rearranging the arguments supplied to touch so that a non-digit appears
first and touch will not be confused.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'bg/fix-t7003'
* bg/fix-t7003:
t7003: Use test_commit instead of custom function
* bg/fix-t7003:
t7003: Use test_commit instead of custom function
ls-files documentation: reword for consistency
Similar to descriptions of other options, state what -x does in imperative
mood. Start sentences for -X and --exclude-per-directory options in
capital letters.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Similar to descriptions of other options, state what -x does in imperative
mood. Start sentences for -X and --exclude-per-directory options in
capital letters.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-ls-files.txt: clarify -x/--exclude option
Since b5227d8, -x/--exclude does not apply to cached files.
This is easy to miss unless you read the discussion in the
EXCLUDE PATTERNS section. Clarify that the option applies
to untracked files and direct the reader to EXCLUDE PATTERNS.
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Since b5227d8, -x/--exclude does not apply to cached files.
This is easy to miss unless you read the discussion in the
EXCLUDE PATTERNS section. Clarify that the option applies
to untracked files and direct the reader to EXCLUDE PATTERNS.
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Git 1.7.3 rc2
Merge branch 'dr/maint-ls-tree-prefix-recursion-fix'
* dr/maint-ls-tree-prefix-recursion-fix:
ls-tree $di $dir: do not mistakenly recurse into directories
* dr/maint-ls-tree-prefix-recursion-fix:
ls-tree $di $dir: do not mistakenly recurse into directories
Merge branch 'os/fix-rebase-diff-no-prefix'
* os/fix-rebase-diff-no-prefix:
Add --src/dst-prefix to git-formt-patch in git-rebase.sh
* os/fix-rebase-diff-no-prefix:
Add --src/dst-prefix to git-formt-patch in git-rebase.sh
Merge branch 'jl/fix-test'
* jl/fix-test:
t1020: Get rid of 'cd "$HERE"' at the start of each test
t2016 (checkout -p): add missing &&
t1302 (core.repositoryversion): style tweaks
t2105 (gitfile): add missing &&
t1450 (fsck): remove dangling objects
tests: subshell indentation stylefix
Several tests: cd inside subshell instead of around
* jl/fix-test:
t1020: Get rid of 'cd "$HERE"' at the start of each test
t2016 (checkout -p): add missing &&
t1302 (core.repositoryversion): style tweaks
t2105 (gitfile): add missing &&
t1450 (fsck): remove dangling objects
tests: subshell indentation stylefix
Several tests: cd inside subshell instead of around
Merge branch 'ch/filter-branch-deprecate-remap-to-ancestor'
* ch/filter-branch-deprecate-remap-to-ancestor:
filter-branch: retire --remap-to-ancestor
* ch/filter-branch-deprecate-remap-to-ancestor:
filter-branch: retire --remap-to-ancestor
Merge branch 'ch/maint-cannot-create-bundle-error'
* ch/maint-cannot-create-bundle-error:
bundle: detect if bundle file cannot be created
* ch/maint-cannot-create-bundle-error:
bundle: detect if bundle file cannot be created
Merge branch 'ks/recursive-rename-add-identical'
* ks/recursive-rename-add-identical:
RE: [PATCH] Avoid rename/add conflict when contents are identical
* ks/recursive-rename-add-identical:
RE: [PATCH] Avoid rename/add conflict when contents are identical
Merge git://repo.or.cz/git-gui
* 'master' of git://repo.or.cz/git-gui:
git-gui 0.13
git-gui: avoid mis-encoding the copyright message on Windows.
git-gui: Update Swedish translation (521t).
git-gui: ensure correct application termination in git-gui--askpass
git-gui: handle textconv filter on Windows and in development
git-gui: use shell to launch textconv filter in "blame"
git-gui: display error launching blame as a message box.
git-gui: Make usage statement visible on Windows.
* 'master' of git://repo.or.cz/git-gui:
git-gui 0.13
git-gui: avoid mis-encoding the copyright message on Windows.
git-gui: Update Swedish translation (521t).
git-gui: ensure correct application termination in git-gui--askpass
git-gui: handle textconv filter on Windows and in development
git-gui: use shell to launch textconv filter in "blame"
git-gui: display error launching blame as a message box.
git-gui: Make usage statement visible on Windows.
disallow branch names that start with a hyphen
The current command line parser is overly lax in places and allows a
branch whose name begins with a hyphen e.g. "-foo" to be created, but the
parseopt infrastructure in general does not like to parse anything that
begins with a dash as a short-hand refname. "git checkout -foo" won't
work, nor will "git branch -d -foo" (even though "git branch -d -- -foo"
works, it does so by mistake; we should not be taking anything but
pathspecs after double-dash).
All the codepaths that create a new branch ref, including the destination
of "branch -m src dst", use strbuf_check_branch_ref() to validate if the
given name is suitable as a branch name. Tighten it to disallow a branch
that begins with a hyphen.
You can still get rid of historical mistakes with
$ git update-ref -d refs/heads/-foo
and third-party Porcelains are free to keep using update-ref to create
refs with a path component that begins with "-".
Issue originally raised by Clemens Buchacher.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
The current command line parser is overly lax in places and allows a
branch whose name begins with a hyphen e.g. "-foo" to be created, but the
parseopt infrastructure in general does not like to parse anything that
begins with a dash as a short-hand refname. "git checkout -foo" won't
work, nor will "git branch -d -foo" (even though "git branch -d -- -foo"
works, it does so by mistake; we should not be taking anything but
pathspecs after double-dash).
All the codepaths that create a new branch ref, including the destination
of "branch -m src dst", use strbuf_check_branch_ref() to validate if the
given name is suitable as a branch name. Tighten it to disallow a branch
that begins with a hyphen.
You can still get rid of historical mistakes with
$ git update-ref -d refs/heads/-foo
and third-party Porcelains are free to keep using update-ref to create
refs with a path component that begins with "-".
Issue originally raised by Clemens Buchacher.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mergetool-lib: add a three-way diff view for vim/gvim
When the base version is available, use a three-way, four panel view by
default. This shows the (local, base, remote) revisions up top and the
merged result by itself in the lower pane. All revisions will still scroll
together by default, and the cursor still defaults to the merged result edit
pane.
Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
When the base version is available, use a three-way, four panel view by
default. This shows the (local, base, remote) revisions up top and the
merged result by itself in the lower pane. All revisions will still scroll
together by default, and the cursor still defaults to the merged result edit
pane.
Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mergetool-lib: combine vimdiff and gvimdiff run blocks
They are nearly identical outside of the foreground flag, which can safely
be passed to both vim and gvim. The merge tool itself is named in
$merge_tool_path.
Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
They are nearly identical outside of the foreground flag, which can safely
be passed to both vim and gvim. The merge tool itself is named in
$merge_tool_path.
Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-gui 0.13
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
send-email: use catfile() to concatenate files
Change send-email to use Perl's catfile() function instead of
"$dir/$file". If send-email is given a $dir that ends with a / we'll
end up printing a double slashed path like "dir//mtfnpy.patch".
This doesn't cause any problems since Perl's IO layer will handle it,
but it looks ugly.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Change send-email to use Perl's catfile() function instead of
"$dir/$file". If send-email is given a $dir that ends with a / we'll
end up printing a double slashed path like "dir//mtfnpy.patch".
This doesn't cause any problems since Perl's IO layer will handle it,
but it looks ugly.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>