Commit Graph

23363 Commits

Author SHA1 Message Date
Junio C Hamano
12f7559e06 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
2010-09-22 09:36:01 -07:00
Junio C Hamano
5c53513929 Merge branch 'ab/send-email-catfile' into next
* ab/send-email-catfile:
  send-email: use catfile() to concatenate files
2010-09-22 09:36:01 -07:00
Junio C Hamano
5918d77431 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
2010-09-22 09:36:00 -07:00
Junio C Hamano
c78a8aabbb 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
2010-09-22 09:36:00 -07:00
Junio C Hamano
e3064001d0 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
2010-09-22 09:36:00 -07:00
Junio C Hamano
5161fb89bf 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
2010-09-22 09:35:59 -07:00
Junio C Hamano
8a471baebc 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
2010-09-22 09:35:59 -07:00
Junio C Hamano
d62d10e9fc Merge branch 'ml/completion-zsh' into next
* ml/completion-zsh:
  completion: make compatible with zsh
2010-09-22 09:35:59 -07:00
Junio C Hamano
4ae3edc197 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
2010-09-22 09:35:59 -07:00
Junio C Hamano
958ca95f11 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
2010-09-22 09:35:58 -07:00
Junio C Hamano
1105f6233b Merge branch 'po/sendemail' into next
* po/sendemail:
  New send-email option smtpserveroption.
  Remove @smtp_host_parts variable as not used.
  Minor indentation fix.
2010-09-22 09:35:57 -07:00
Junio C Hamano
dc6441921c Merge branch 'po/etc-gitattributes' into next
* po/etc-gitattributes:
  Add global and system-wide gitattributes

Conflicts:
	Documentation/config.txt
	Makefile
2010-09-22 09:35:57 -07:00
Junio C Hamano
2a33735a76 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
2010-09-22 09:35:56 -07:00
Junio C Hamano
0601f1b3a7 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
2010-09-22 09:35:55 -07:00
Junio C Hamano
a6a00bd3af Merge branch 'jk/read-tree-empty' into next
* jk/read-tree-empty:
  read-tree: deprecate syntax without tree-ish args
2010-09-22 09:35:55 -07:00
Junio C Hamano
f0c8ddb682 Merge branch 'bc/fortran-userdiff' into next
* bc/fortran-userdiff:
  userdiff.c: add builtin fortran regex patterns
2010-09-22 09:35:54 -07:00
Junio C Hamano
db674a341c Merge branch 'kf/post-receive-sample-hook' into next
* kf/post-receive-sample-hook:
  post-receive-email: ensure sent messages are not empty
2010-09-22 09:35:54 -07:00
Junio C Hamano
e529b2a681 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
2010-09-22 09:35:54 -07:00
Junio C Hamano
87b50542a0 Git 1.7.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.7.3
2010-09-18 14:55:08 -07:00
Junio C Hamano
1125297ca1 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
2010-09-18 14:46:44 -07:00
Chris Johnsen
14d872987a 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>
2010-09-17 14:58:08 -07:00
Brandon Casey
84d694027f 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>
2010-09-17 14:42:13 -07:00
Junio C Hamano
02567e88ee Merge branch 'bg/fix-t7003'
* bg/fix-t7003:
  t7003: Use test_commit instead of custom function
2010-09-16 07:43:41 -07:00
Junio C Hamano
4c608520ed 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>
2010-09-15 17:38:50 -07:00
Jay Soffian
75609a0d44 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>
2010-09-15 17:30:36 -07:00
Junio C Hamano
7e100effc6 Git 1.7.3 rc2 v1.7.3-rc2 2010-09-15 12:47:37 -07:00
Junio C Hamano
2e1e96126f 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
2010-09-15 12:41:13 -07:00
Junio C Hamano
0c61c6de34 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
2010-09-15 12:40:33 -07:00
Junio C Hamano
e3f213c7af 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
2010-09-15 12:40:12 -07:00
Junio C Hamano
43d268e9dd Merge branch 'ch/filter-branch-deprecate-remap-to-ancestor'
* ch/filter-branch-deprecate-remap-to-ancestor:
  filter-branch: retire --remap-to-ancestor
2010-09-15 12:39:32 -07:00
Junio C Hamano
d42cb5804f Merge branch 'ch/maint-cannot-create-bundle-error'
* ch/maint-cannot-create-bundle-error:
  bundle: detect if bundle file cannot be created
2010-09-15 12:39:22 -07:00
Junio C Hamano
9f0ccb5b0a Merge branch 'ks/recursive-rename-add-identical'
* ks/recursive-rename-add-identical:
  RE: [PATCH] Avoid rename/add conflict when contents are identical
2010-09-15 12:39:12 -07:00
Junio C Hamano
12644fa99f 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.
2010-09-15 12:34:48 -07:00
Junio C Hamano
6348624010 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>
2010-09-15 12:33:09 -07:00
Dan McGee
829ef383a2 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>
2010-09-15 10:14:16 -07:00
Dan McGee
ae69fd0481 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>
2010-09-15 10:14:15 -07:00
Pat Thoyts
00e9de72c8 git-gui 0.13
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
gitgui-0.13.0
2010-09-14 22:42:37 +01:00
Ævar Arnfjörð Bjarmason
89bf1bace3 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>
2010-09-14 12:27:01 -07:00
Pat Thoyts
2473543caa git-gui: avoid mis-encoding the copyright message on Windows.
On Windows the tcl script file will use the system encoding and attempting
to convert the copyright mis-encodes the string. Instead, keep the message
as ASCII and substitute in the correct unicode character when running.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2010-09-13 20:41:42 +01:00
Peter Krefting
421a31e22d git-gui: Update Swedish translation (521t).
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2010-09-13 19:25:55 +01:00
Brian Gernhardt
77f2e4f5f3 t7003: Use test_commit instead of custom function
t7003-filter-branch.sh had a make_commit() function that was identical
to test_commit() in test-lib.sh except that it used tr to create a
lowercase file name from the uppercase branch name instead of
appending ".t".

Not only is this unneeded code duplication, it also was something
simply waiting to fail on case-insensitive file systems.  So replace
all uses of make_commit with test_commit.

While we're editing the setup, chain it together with && so that
failures early in the sequence don't get lost and add a commit graph.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-13 10:59:06 -07:00
Junio C Hamano
5aaeb733f5 log --author: take union of multiple "author" requests
In the olden days,

    log --author=me --committer=him --grep=this --grep=that

used to be turned into:

    (OR (HEADER-AUTHOR me)
        (HEADER-COMMITTER him)
        (PATTERN this)
        (PATTERN that))

showing my patches that do not have any "this" nor "that", which was
totally useless.

80235ba ("log --author=me --grep=it" should find intersection, not union,
2010-01-17) improved it greatly to turn the same into:

    (ALL-MATCH
      (HEADER-AUTHOR me)
      (HEADER-COMMITTER him)
      (OR (PATTERN this) (PATTERN that)))

That is, "show only patches by me and committed by him, that have either
this or that", which is a lot more natural thing to ask.

We however need to be a bit more clever when the user asks more than one
"author" (or "committer"); because a commit has only one author (and one
committer), they ought to be interpreted as asking for union to be useful.
The current implementation simply added another author/committer pattern
at the same top-level for ALL-MATCH to insist on matching all, finding
nothing.

Turn

    log --author=me --author=her \
    	--committer=him --committer=you \
	--grep=this --grep=that

into

    (ALL-MATCH
      (OR (HEADER-AUTHOR me) (HEADER-AUTHOR her))
      (OR (HEADER-COMMITTER him) (HEADER-COMMITTER you))
      (OR (PATTERN this) (PATTERN that)))

instead.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-13 01:11:55 -07:00
Junio C Hamano
95ce9ce296 grep: move logic to compile header pattern into a separate helper
The callers should be queuing only GREP_PATTERN_HEAD elements to the
header_list queue; simplify the switch and guard it with an assert.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12 19:56:21 -07:00
Jakub Narebski
89d1b5b8f7 t/gitweb-lib.sh: Use tabs for indent consistently
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12 14:01:59 -07:00
Jakub Narebski
b5d3450c91 t/gitweb-lib.sh: Use GIT_BUILD_DIR
Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY/.." (both defined in
t/test-lib.sh) in t/gitweb-lib.sh.  It better describes the intent.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12 14:01:55 -07:00
Junio C Hamano
5879b6bbca Merge branch 'maint'
* maint:
  t3101: modernise style
  compat/nedmalloc: don't force NDEBUG on the rest of git

Conflicts:
	Makefile
2010-09-12 13:53:03 -07:00
Junio C Hamano
b294ed637d ls-tree $di $dir: do not mistakenly recurse into directories
When applying two pathspecs, one of which is named as a prefix to the
other, we mistakenly recursed into the shorter one.

Noticed and fixed by David Reis.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12 13:52:03 -07:00
Junio C Hamano
e22148f406 t3101: modernise style
Also add a few " &&" cascade that were missing.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12 13:46:58 -07:00
Ramsay Jones
5418d96ddc vcs-svn: Fix some printf format compiler warnings
In particular, on systems that define uint32_t as an unsigned long,
gcc complains as follows:

      CC vcs-svn/fast_export.o
  vcs-svn/fast_export.c: In function `fast_export_modify':
  vcs-svn/fast_export.c:28: warning: unsigned int format, uint32_t arg (arg 2)
  vcs-svn/fast_export.c:28: warning: int format, uint32_t arg (arg 3)
  vcs-svn/fast_export.c: In function `fast_export_commit':
  vcs-svn/fast_export.c:42: warning: int format, uint32_t arg (arg 5)
  vcs-svn/fast_export.c:62: warning: int format, uint32_t arg (arg 2)
  vcs-svn/fast_export.c: In function `fast_export_blob':
  vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 2)
  vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 3)
      CC vcs-svn/svndump.o
  vcs-svn/svndump.c: In function `svndump_read':
  vcs-svn/svndump.c:260: warning: int format, uint32_t arg (arg 3)

In order to suppress the warnings we use the C99 format specifier
macros PRIo32 and PRIu32 from <inttypes.h>.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12 10:24:55 -07:00
René Scharfe
d555ff5482 compat/nedmalloc: don't force NDEBUG on the rest of git
Define the nedmalloc feature configuration macros for nedmalloc.o, only.
This keeps assert(3) working for the rest of the git source; it was
turned off for nedmalloc users before by defining NDEBUG globally.

Also remove -DUSE_NED_ALLOCATOR as this macro isn't used anywhere.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-11 10:23:03 -07:00