Code

git.git
14 years agoMerge branch 'jn/maint-doc-user-manual-html-doctype'
Junio C Hamano [Fri, 3 Sep 2010 16:43:44 +0000 (09:43 -0700)]
Merge branch 'jn/maint-doc-user-manual-html-doctype'

* jn/maint-doc-user-manual-html-doctype:
  docs: fix Makefile dependency for user manual
  Documentation: set a !DOCTYPE for user manual

14 years agoMerge branch 'cb/maint-mergetool-no-tty'
Junio C Hamano [Fri, 3 Sep 2010 16:43:44 +0000 (09:43 -0700)]
Merge branch 'cb/maint-mergetool-no-tty'

* cb/maint-mergetool-no-tty:
  mergetool: Remove explicit references to /dev/tty

Conflicts:
git-mergetool.sh

14 years agoMerge branch 'jn/apply-filename-with-sp'
Junio C Hamano [Fri, 3 Sep 2010 16:43:44 +0000 (09:43 -0700)]
Merge branch 'jn/apply-filename-with-sp'

* jn/apply-filename-with-sp:
  apply: handle traditional patches with space in filename
  tests: exercise "git apply" with weird filenames
  apply: split quoted filename handling into new function

14 years agoMerge branch 'jn/merge-custom-no-trivial'
Junio C Hamano [Fri, 3 Sep 2010 16:43:43 +0000 (09:43 -0700)]
Merge branch 'jn/merge-custom-no-trivial'

* jn/merge-custom-no-trivial:
  t7606: Avoid using head as a file name
  merge: let custom strategies intervene in trivial merges
  t7606 (merge-theirs): modernize style

14 years agoMerge branch 'jc/maint-doc-em-dash'
Junio C Hamano [Fri, 3 Sep 2010 16:43:42 +0000 (09:43 -0700)]
Merge branch 'jc/maint-doc-em-dash'

* jc/maint-doc-em-dash:
  Work around em-dash handling in newer AsciiDoc

14 years agoMerge branch 'mg/doc-bundle'
Junio C Hamano [Fri, 3 Sep 2010 16:43:42 +0000 (09:43 -0700)]
Merge branch 'mg/doc-bundle'

* mg/doc-bundle:
  git-bundle.txt: Clarify rev-list-args restrictions
  git-bundle.txt: whitespace cleanup
  git-bundle.txt: Cleanup

Conflicts:
Documentation/git-bundle.txt

14 years agoMerge branch 'jn/doc-backslash'
Junio C Hamano [Fri, 3 Sep 2010 16:43:42 +0000 (09:43 -0700)]
Merge branch 'jn/doc-backslash'

* jn/doc-backslash:
  Documentation: remove stray backslash in show-branch discussion
  Documentation: remove stray backslashes from "Fighting regressions" article
  Documentation: do not convert ... operator to ellipses
  Documentation: avoid stray backslash in user manual
  Documentation: avoid stray backslashes in core tutorial
  Documentation: remove stray backslashes in rev-parse manual
  Documentation: remove backslash before ~ in fast-import manual
  Documentation: remove stray backslash from "git bundle" manual
  Documentation/technical: avoid stray backslash in parse-options API docs
  Documentation: remove backslashes in manpage synopses
  Documentation: clarify quoting in gitignore docs
  Documentation: clarify quoting in "git rm" example
  Documentation: add missing quotes to "git grep" examples
  Documentation: clarify quoting in "git add" example
  Documentation: unbreak regex in show-ref manual
  Documentation: quoting trouble in "git rm" discussion
  Documentation: tweak description of log.date

14 years agoMerge branch 'jn/update-contrib-example-merge'
Junio C Hamano [Fri, 3 Sep 2010 16:43:42 +0000 (09:43 -0700)]
Merge branch 'jn/update-contrib-example-merge'

* jn/update-contrib-example-merge: (24 commits)
  merge script: learn --[no-]rerere-autoupdate
  merge script: notice @{-1} shorthand
  merge script: handle --no-ff --no-commit correctly
  merge script: --ff-only to disallow true merge
  merge script: handle many-way octopus
  merge script: handle -m --log correctly
  merge script: forbid merge -s index
  merge script: allow custom strategies
  merge script: merge -X<option>
  merge script: improve log message subject
  merge script: refuse to merge during merge
  merge script: tweak unmerged files message to match builtin
  merge script: --squash, --ff from unborn branch are errors
  fmt-merge-msg -m to override merge title
  merge-base --independent to print reduced parent list in a merge
  merge-base --octopus to mimic show-branch --merge-base
  Documentation: add a SEE ALSO section for merge-base
  t6200 (fmt-merge-msg): style nitpicks
  t6010 (merge-base): modernize style
  t7600 (merge): test merge from branch yet to be born
  ...

14 years agoMerge branch 'jn/merge-renormalize'
Junio C Hamano [Fri, 3 Sep 2010 16:43:41 +0000 (09:43 -0700)]
Merge branch 'jn/merge-renormalize'

* jn/merge-renormalize:
  merge-recursive --renormalize
  rerere: never renormalize
  rerere: migrate to parse-options API
  t4200 (rerere): modernize style
  ll-merge: let caller decide whether to renormalize
  ll-merge: make flag easier to populate
  Documentation/technical: document ll_merge
  merge-trees: let caller decide whether to renormalize
  merge-trees: push choice to renormalize away from low level
  t6038 (merge.renormalize): check that it can be turned off
  t6038 (merge.renormalize): try checkout -m and cherry-pick
  t6038 (merge.renormalize): style nitpicks
  Don't expand CRLFs when normalizing text during merge
  Try normalizing files to avoid delete/modify conflicts when merging
  Avoid conflicts when merging branches with mixed normalization

Conflicts:
builtin/rerere.c
t/t4200-rerere.sh

14 years agoSync with 1.7.2.3
Junio C Hamano [Fri, 3 Sep 2010 16:39:38 +0000 (09:39 -0700)]
Sync with 1.7.2.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoGit 1.7.2.3 v1.7.2.3
Junio C Hamano [Fri, 3 Sep 2010 16:38:53 +0000 (09:38 -0700)]
Git 1.7.2.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agobuiltin/merge_recursive.c: Add an usage string and make use of it.
Thiago Farina [Mon, 30 Aug 2010 03:30:22 +0000 (00:30 -0300)]
builtin/merge_recursive.c: Add an usage string and make use of it.

This improves the usage output by adding builtin_merge_recursive_usage string
that follows the same pattern used by the other builtin commands.

The previous output for git merger-recursive was:
usage: merge-recursive <base>... -- <head> <remote> ...

Now the output is:
usage: git merge-recursive <base>... -- <head> <remote> ...

Since cmd_merge_recursive is used to handle four different commands we need
the %s in the usage string, so the following example:

$ git merge-subtree -h

Will output:
usage: git merge-subtree <base>... -- <head> <remote> ...

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot7406 & t7407: add missing && at end of lines
Jens Lehmann [Wed, 1 Sep 2010 21:28:27 +0000 (23:28 +0200)]
t7406 & t7407: add missing && at end of lines

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot7405: cd inside subshell instead of around
Jens Lehmann [Wed, 1 Sep 2010 21:01:49 +0000 (23:01 +0200)]
t7405: cd inside subshell instead of around

Instead of using `cd dir && (...) && cd..` use `(cd dir && ...)`

This ensures that the test doesn't get caught in the subdirectory if there
is an error in the subshell.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoPrepare for 1.7.3
Junio C Hamano [Wed, 1 Sep 2010 21:17:32 +0000 (14:17 -0700)]
Prepare for 1.7.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Wed, 1 Sep 2010 22:10:18 +0000 (15:10 -0700)]
Merge branch 'maint'

* maint:
  Prepare for 1.7.2.3

14 years agoPrepare for 1.7.2.3
Junio C Hamano [Wed, 1 Sep 2010 21:15:35 +0000 (14:15 -0700)]
Prepare for 1.7.2.3

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'gp/pack-refs-remove-empty-dirs' into maint
Junio C Hamano [Wed, 1 Sep 2010 21:05:05 +0000 (14:05 -0700)]
Merge branch 'gp/pack-refs-remove-empty-dirs' into maint

* gp/pack-refs-remove-empty-dirs:
  pack-refs: remove newly empty directories

14 years agoMerge branch 'sg/rerere-gc-old-still-used' into maint
Junio C Hamano [Wed, 1 Sep 2010 20:57:23 +0000 (13:57 -0700)]
Merge branch 'sg/rerere-gc-old-still-used' into maint

* sg/rerere-gc-old-still-used:
  rerere: fix overeager gc
  mingw_utime(): handle NULL times parameter

14 years agoMerge branch 'np/maint-huge-delta-generation' into maint
Junio C Hamano [Wed, 1 Sep 2010 20:56:10 +0000 (13:56 -0700)]
Merge branch 'np/maint-huge-delta-generation' into maint

* np/maint-huge-delta-generation:
  fix >4GiB source delta assertion failure

14 years agoMerge branch 'dj/fetch-tagopt' into maint
Junio C Hamano [Wed, 1 Sep 2010 20:52:10 +0000 (13:52 -0700)]
Merge branch 'dj/fetch-tagopt' into maint

* dj/fetch-tagopt:
  fetch: allow command line --tags to override config

14 years agoMerge branch 'da/fix-submodule-sync-superproject-config' into maint
Junio C Hamano [Wed, 1 Sep 2010 20:50:46 +0000 (13:50 -0700)]
Merge branch 'da/fix-submodule-sync-superproject-config' into maint

* da/fix-submodule-sync-superproject-config:
  submodule sync: Update "submodule.<name>.url"

14 years agoMerge branch 'en/rebase-against-rebase-fix' into maint
Junio C Hamano [Wed, 1 Sep 2010 20:43:55 +0000 (13:43 -0700)]
Merge branch 'en/rebase-against-rebase-fix' into maint

* en/rebase-against-rebase-fix:
  pull --rebase: Avoid spurious conflicts and reapplying unnecessary patches
  t5520-pull: Add testcases showing spurious conflicts from git pull --rebase

14 years agoinstall-webdoc: filter timestamp-only changes correctly
Junio C Hamano [Wed, 1 Sep 2010 16:25:17 +0000 (09:25 -0700)]
install-webdoc: filter timestamp-only changes correctly

The timestamp that follows "Last updated " is formatted differently
depending on the version of AsciiDoc.  Looking at 4604fe56 on "html"
branch, you can see that AsciiDoc 7.0.2 used to give "02-Jul-2008 03:02:14
UTC" but AsciiDoc 8.2.5 gave "2008-09-19 06:33:25 UTC".  We haven't been
correctly filtering out phantom changes that result from only the build
date for some time now, it seems.

Just filter lines that begin with "Last updated ".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'np/maint-huge-delta-generation'
Junio C Hamano [Tue, 31 Aug 2010 23:34:16 +0000 (16:34 -0700)]
Merge branch 'np/maint-huge-delta-generation'

* np/maint-huge-delta-generation:
  fix >4GiB source delta assertion failure

14 years agoMerge branch 'da/fix-submodule-sync-superproject-config'
Junio C Hamano [Tue, 31 Aug 2010 23:25:29 +0000 (16:25 -0700)]
Merge branch 'da/fix-submodule-sync-superproject-config'

* da/fix-submodule-sync-superproject-config:
  submodule sync: Update "submodule.<name>.url"

14 years agoMerge branch 'jn/cherry-revert-message-clean-up'
Junio C Hamano [Tue, 31 Aug 2010 23:25:11 +0000 (16:25 -0700)]
Merge branch 'jn/cherry-revert-message-clean-up'

* jn/cherry-revert-message-clean-up:
  tests: fix syntax error in "Use advise() for hints" test
  cherry-pick/revert: Use advise() for hints
  cherry-pick/revert: Use error() for failure message
  Introduce advise() to print hints
  Eliminate “Finished cherry-pick/revert” message
  t3508: add check_head_differs_from() helper function and use it
  revert: improve success message by adding abbreviated commit sha1
  revert: don't print "Finished one cherry-pick." if commit failed
  revert: refactor commit code into a new run_git_commit() function
  revert: report success when using option --strategy

14 years agoMerge branch 'cb/binary-patch-id'
Junio C Hamano [Tue, 31 Aug 2010 23:24:48 +0000 (16:24 -0700)]
Merge branch 'cb/binary-patch-id'

* cb/binary-patch-id:
  hash binary sha1 into patch id

14 years agoMerge branch 'ab/maint-reset-mixed-w-pathspec-advice'
Junio C Hamano [Tue, 31 Aug 2010 23:24:36 +0000 (16:24 -0700)]
Merge branch 'ab/maint-reset-mixed-w-pathspec-advice'

* ab/maint-reset-mixed-w-pathspec-advice:
  reset: suggest what to do upon "git reset --mixed <paths>"

14 years agoMerge branch 'dj/fetch-tagopt'
Junio C Hamano [Tue, 31 Aug 2010 23:24:24 +0000 (16:24 -0700)]
Merge branch 'dj/fetch-tagopt'

* dj/fetch-tagopt:
  fetch: allow command line --tags to override config

14 years agoMerge branch 'en/d-f-conflict-fix'
Junio C Hamano [Tue, 31 Aug 2010 23:23:58 +0000 (16:23 -0700)]
Merge branch 'en/d-f-conflict-fix'

* en/d-f-conflict-fix:
  merge-recursive: Avoid excessive output for and reprocessing of renames
  merge-recursive: Fix multiple file rename across D/F conflict
  t6031: Add a testcase covering multiple renames across a D/F conflict
  merge-recursive: Fix typo
  Mark tests that use symlinks as needing SYMLINKS prerequisite
  t/t6035-merge-dir-to-symlink.sh: Remove TODO on passing test
  fast-import: Improve robustness when D->F changes provided in wrong order
  fast-export: Fix output order of D/F changes
  merge_recursive: Fix renames across paths below D/F conflicts
  merge-recursive: Fix D/F conflicts
  Add a rename + D/F conflict testcase
  Add additional testcases for D/F conflicts

Conflicts:
merge-recursive.c

14 years agoMerge branch 'jn/svn-fe'
Junio C Hamano [Tue, 31 Aug 2010 23:23:38 +0000 (16:23 -0700)]
Merge branch 'jn/svn-fe'

* jn/svn-fe:
  t/t9010-svn-fe.sh: add an +x bit to this test
  t9010 (svn-fe): avoid symlinks in test
  t9010 (svn-fe): use Unix-style path in URI
  vcs-svn: Avoid %z in format string
  vcs-svn: Rename dirent pool to build on Windows
  compat: add strtok_r()
  treap: style fix
  vcs-svn: remove build artifacts on "make clean"
  svn-fe manual: Clarify warning about deltas in dump files
  Update svn-fe manual
  SVN dump parser
  Infrastructure to write revisions in fast-export format
  Add stream helper library
  Add string-specific memory pool
  Add treap implementation
  Add memory pool library
  Introduce vcs-svn lib

14 years agoMerge branch 'tr/maint-no-unquote-plus'
Junio C Hamano [Tue, 31 Aug 2010 23:23:35 +0000 (16:23 -0700)]
Merge branch 'tr/maint-no-unquote-plus'

* tr/maint-no-unquote-plus:
  Do not unquote + into ' ' in URLs

14 years agoMerge branch 'jn/paginate-fix'
Junio C Hamano [Tue, 31 Aug 2010 23:23:31 +0000 (16:23 -0700)]
Merge branch 'jn/paginate-fix'

* jn/paginate-fix:
  t7006 (pager): add missing TTY prerequisites
  merge-file: run setup_git_directory_gently() sooner
  var: run setup_git_directory_gently() sooner
  ls-remote: run setup_git_directory_gently() sooner
  index-pack: run setup_git_directory_gently() sooner
  config: run setup_git_directory_gently() sooner
  bundle: run setup_git_directory_gently() sooner
  apply: run setup_git_directory_gently() sooner
  grep: run setup_git_directory_gently() sooner
  shortlog: run setup_git_directory_gently() sooner
  git wrapper: allow setup_git_directory_gently() be called earlier
  setup: remember whether repository was found
  git wrapper: introduce startup_info struct

Conflicts:
builtin/index-pack.c

14 years agoMerge branch 'jn/maint-setup-fix'
Junio C Hamano [Tue, 31 Aug 2010 23:23:19 +0000 (16:23 -0700)]
Merge branch 'jn/maint-setup-fix'

* jn/maint-setup-fix:
  setup: split off a function to handle ordinary .git directories
  Revert "rehabilitate 'git index-pack' inside the object store"
  setup: do not forget working dir from subdir of gitdir
  t4111 (apply): refresh index before applying patches to it
  setup: split off get_device_or_die helper
  setup: split off a function to handle hitting ceiling in repo search
  setup: split off code to handle stumbling upon a repository
  setup: split off a function to checks working dir for .git file
  setup: split off $GIT_DIR-set case from setup_git_directory_gently
  tests: try git apply from subdir of toplevel
  t1501 (rev-parse): clarify

Conflicts:
builtin/index-pack.c

14 years agoMerge branch 'en/fast-export-fix'
Junio C Hamano [Tue, 31 Aug 2010 23:15:20 +0000 (16:15 -0700)]
Merge branch 'en/fast-export-fix'

* en/fast-export-fix:
  fast-export: Add a --full-tree option
  fast-export: Fix dropping of files with --import-marks and path limiting

14 years agoMerge branch 'hv/autosquash-config'
Junio C Hamano [Tue, 31 Aug 2010 23:15:03 +0000 (16:15 -0700)]
Merge branch 'hv/autosquash-config'

* hv/autosquash-config:
  add configuration variable for --autosquash option of interactive rebase

14 years agoMerge branch 'sg/rerere-gc-old-still-used'
Junio C Hamano [Tue, 31 Aug 2010 23:14:27 +0000 (16:14 -0700)]
Merge branch 'sg/rerere-gc-old-still-used'

* sg/rerere-gc-old-still-used:
  rerere: fix overeager gc
  mingw_utime(): handle NULL times parameter

14 years agogitweb: Don't die_error in git_tag after already printing headers
Anders Kaseorg [Fri, 27 Aug 2010 17:38:16 +0000 (13:38 -0400)]
gitweb: Don't die_error in git_tag after already printing headers

This fixes an XML error when visiting a nonexistent tag
(i.e. "../gitweb.cgi?p=git.git;a=tag;h=refs/tags/BADNAME").

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Mon, 30 Aug 2010 06:37:02 +0000 (23:37 -0700)]
Merge branch 'maint'

* maint:
  t0003: add missing && at end of lines

14 years agoMerge branch 'maint-1.7.1' into maint
Junio C Hamano [Mon, 30 Aug 2010 06:36:57 +0000 (23:36 -0700)]
Merge branch 'maint-1.7.1' into maint

* maint-1.7.1:
  t0003: add missing && at end of lines

14 years agoobject.h: Add OBJECT_ARRAY_INIT macro and make use of it.
Thiago Farina [Sun, 29 Aug 2010 02:04:17 +0000 (23:04 -0300)]
object.h: Add OBJECT_ARRAY_INIT macro and make use of it.

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot0003: add missing && at end of lines
Matthieu Moy [Sat, 28 Aug 2010 18:18:36 +0000 (20:18 +0200)]
t0003: add missing && at end of lines

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Thu, 26 Aug 2010 23:42:59 +0000 (16:42 -0700)]
Merge branch 'maint'

* maint:
  for-each-ref: fix objectname:short bug
  tree-walk: Correct bitrotted comment about tree_entry()
  Fix 'git log' early pager startup error case

14 years agofor-each-ref: fix objectname:short bug
Jay Soffian [Thu, 26 Aug 2010 21:34:29 +0000 (17:34 -0400)]
for-each-ref: fix objectname:short bug

When objectname:short was introduced, it forgot to copy the result of
find_unique_abbrev. Because the result of find_unique_abbrev is a
pointer to static buffer, this resulted in the same value being
substituted in for each ref.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agotree-walk: Correct bitrotted comment about tree_entry()
Elijah Newren [Wed, 25 Aug 2010 02:53:11 +0000 (20:53 -0600)]
tree-walk: Correct bitrotted comment about tree_entry()

There was a code comment that referred to the "above two functions" but
over time the functions immediately preceding the comment have changed.
Just mention the relevant functions by name.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoFix 'git log' early pager startup error case
Linus Torvalds [Tue, 24 Aug 2010 17:33:59 +0000 (10:33 -0700)]
Fix 'git log' early pager startup error case

We start the pager too early for several git commands, which results in
the errors sometimes going to the pager rather than show up as errors.

This is often hidden by the fact that we pass in '-X' to less by default,
which causes 'less' to exit for small output, but if you do

  export LESS=-S

you can then clearly see the problem by doing

  git log --prretty

which shows the error message ("fatal: unrecognized argument: --prretty")
being sent to the pager.

This happens for pretty much all git commands that use USE_PAGER, and then
check arguments separately. But "git diff" does it too early too (even
though it does an explicit setup_pager() call)

This only fixes it for the trivial "git log" family case.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Tue, 24 Aug 2010 18:02:04 +0000 (11:02 -0700)]
Merge branch 'maint'

* maint:
  parse-options: clarify PARSE_OPT_NOARG description
  t3302 (notes): Port to Solaris

14 years agoparse-options: clarify PARSE_OPT_NOARG description
Jonathan Nieder [Sun, 22 Aug 2010 16:26:38 +0000 (21:56 +0530)]
parse-options: clarify PARSE_OPT_NOARG description

Here "takes no argument" means "does not take an argument".  The
latter phrasing might make it clearer that PARSE_OPT_NOARG does not
make an option with an argument that can optionally be left off.

Noticed-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot3302 (notes): Port to Solaris
Jonathan Nieder [Tue, 24 Aug 2010 07:14:53 +0000 (02:14 -0500)]
t3302 (notes): Port to Solaris

The time_notes script, which uses POSIX shell features, is
currently sometimes run with a non-POSIX /bin/sh.

Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot7606: Avoid using head as a file name
Brian Gernhardt [Mon, 23 Aug 2010 20:15:47 +0000 (16:15 -0400)]
t7606: Avoid using head as a file name

A file named 'head' gets confused with the HEAD ref on
case-insensitive file systems.  Replace '>head' with '>head.new' to
match the '>head.old' files they are compared to.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoWork around em-dash handling in newer AsciiDoc
Junio C Hamano [Mon, 23 Aug 2010 21:20:25 +0000 (14:20 -0700)]
Work around em-dash handling in newer AsciiDoc

Older versions of AsciiDoc used to literally pass double dashes when we
used them in our linkgit macros and manpage titles, but newer ones (the
issue was first reported with AsciiDoc 8.5.2) turn them into em dashes.

Define litdd (literal double-dash) custom attribute in asciidoc.conf to
work this around.  While we are at it, fix a few double-dashes (e.g. the
description of "project--devo--version" convention used by tla, among
other things) that used to be incorrectly written as em dashes in the body
text to also use this attribute.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot7610: cd inside subshell instead of around
Brian Gernhardt [Tue, 24 Aug 2010 02:37:24 +0000 (22:37 -0400)]
t7610: cd inside subshell instead of around

Instead of using `cd dir && (...) && cd..` use `(cd dir && ...)`

This ensures that the test doesn't get caught in the subdirectory if
there is an error in the subshell.

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agogit-bundle.txt: Clarify rev-list-args restrictions
Michael J Gruber [Mon, 23 Aug 2010 09:02:39 +0000 (11:02 +0200)]
git-bundle.txt: Clarify rev-list-args restrictions

Currently, one could think that 'git bundle create' groks
any 'git rev-list' expression. But in fact it requires a named reference
to be present. Try and make this clearer.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Acked-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agogit-bundle.txt: whitespace cleanup
Michael J Gruber [Mon, 23 Aug 2010 09:02:38 +0000 (11:02 +0200)]
git-bundle.txt: whitespace cleanup

Use tabs, not 7 spaces.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agogit-bundle.txt: Cleanup
Michael J Gruber [Mon, 23 Aug 2010 09:02:37 +0000 (11:02 +0200)]
git-bundle.txt: Cleanup

Cleanup various spellings of the same argument, as well as the code
for the tilde: Since neither '~' nor '\~' work consistently, use
'{tilde}'.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Acked-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Mon, 23 Aug 2010 03:18:37 +0000 (20:18 -0700)]
Merge branch 'maint'

* maint:
  Typos in code comments, an error message, documentation

14 years agoTypos in code comments, an error message, documentation
Ralf Wildenhues [Sun, 22 Aug 2010 11:12:12 +0000 (13:12 +0200)]
Typos in code comments, an error message, documentation

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoTypos in code comments, an error message, documentation
Ralf Wildenhues [Sun, 22 Aug 2010 11:12:12 +0000 (13:12 +0200)]
Typos in code comments, an error message, documentation

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agofix >4GiB source delta assertion failure
Nicolas Pitre [Sat, 21 Aug 2010 05:00:13 +0000 (01:00 -0400)]
fix >4GiB source delta assertion failure

When people try insane things such as delta-compressing 4GiB files, they
get this assertion:

diff-delta.c:285: create_delta_index: Assertion `packed_entry - (struct index_entry *)mem == entries' failed.

This happens because:

1) the 'entries' variable is an unsigned int

2) it is assigned with entries = (bufsize - 1) / RABIN_WINDOW
   (that itself is not a problem unless bufsize > 4G * RABIN_WINDOW)

3) the buffer is indexed from top to bottom starting at
   "data = buffer + entries * RABIN_WINDOW" and the multiplication
   here does indeed overflows, making the resulting top of the buffer
   much lower than expected.

This makes the number of actually produced index entries smaller than
what was computed initially, hence the assertion.

Furthermore, the current delta encoding format cannot represent offsets
into a reference buffer with more than 32 bits anyway.  So let's just
limit the number of entries to what the delta format can encode.

Reported-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'mm/rebase-i-exec'
Junio C Hamano [Sun, 22 Aug 2010 06:29:11 +0000 (23:29 -0700)]
Merge branch 'mm/rebase-i-exec'

* mm/rebase-i-exec:
  git-rebase--interactive.sh: use printf instead of echo to print commit message
  git-rebase--interactive.sh: rework skip_unnecessary_picks
  test-lib: user-friendly alternatives to test [-d|-f|-e]
  rebase -i: add exec command to launch a shell command

Conflicts:
git-rebase--interactive.sh
t/t3404-rebase-interactive.sh

14 years agoMerge branch 'gb/split-cmdline-errmsg'
Junio C Hamano [Sun, 22 Aug 2010 06:28:55 +0000 (23:28 -0700)]
Merge branch 'gb/split-cmdline-errmsg'

* gb/split-cmdline-errmsg:
  split_cmdline: Allow caller to access error string

14 years agoMerge branch 'so/http-user-agent'
Junio C Hamano [Sun, 22 Aug 2010 06:28:38 +0000 (23:28 -0700)]
Merge branch 'so/http-user-agent'

* so/http-user-agent:
  Allow HTTP user agent string to be modified.

14 years agoMerge branch 'mm/shortopt-detached'
Junio C Hamano [Sun, 22 Aug 2010 06:28:31 +0000 (23:28 -0700)]
Merge branch 'mm/shortopt-detached'

* mm/shortopt-detached:
  log: parse separate option for --glob
  log: parse separate options like git log --grep foo
  diff: parse separate options --stat-width n, --stat-name-width n
  diff: split off a function for --stat-* option parsing
  diff: parse separate options like -S foo

Conflicts:
revision.c

14 years agoMerge branch 'sr/local-config'
Junio C Hamano [Sun, 22 Aug 2010 06:28:09 +0000 (23:28 -0700)]
Merge branch 'sr/local-config'

* sr/local-config:
  config: add --local option

14 years agoMerge branch 'nd/fix-sparse-checkout'
Junio C Hamano [Sun, 22 Aug 2010 06:28:05 +0000 (23:28 -0700)]
Merge branch 'nd/fix-sparse-checkout'

* nd/fix-sparse-checkout:
  unpack-trees: mark new entries skip-worktree appropriately
  unpack-trees: do not check for conflict entries too early
  unpack-trees: let read-tree -u remove index entries outside sparse area
  unpack-trees: only clear CE_UPDATE|CE_REMOVE when skip-worktree is always set
  t1011 (sparse checkout): style nitpicks

14 years agoMerge branch 'hv/submodule-find-ff-merge'
Junio C Hamano [Sun, 22 Aug 2010 06:27:59 +0000 (23:27 -0700)]
Merge branch 'hv/submodule-find-ff-merge'

* hv/submodule-find-ff-merge:
  Implement automatic fast-forward merge for submodules
  setup_revisions(): Allow walking history in a submodule
  Teach ref iteration module about submodules

Conflicts:
submodule.c

14 years agoMerge branch 'en/rebase-against-rebase-fix'
Junio C Hamano [Sun, 22 Aug 2010 06:27:29 +0000 (23:27 -0700)]
Merge branch 'en/rebase-against-rebase-fix'

* en/rebase-against-rebase-fix:
  pull --rebase: Avoid spurious conflicts and reapplying unnecessary patches
  t5520-pull: Add testcases showing spurious conflicts from git pull --rebase

14 years agoMerge branch 'dg/local-mod-error-messages'
Junio C Hamano [Sun, 22 Aug 2010 06:26:46 +0000 (23:26 -0700)]
Merge branch 'dg/local-mod-error-messages'

* dg/local-mod-error-messages:
  t7609: test merge and checkout error messages
  unpack_trees: group error messages by type
  merge-recursive: distinguish "removed" and "overwritten" messages
  merge-recursive: porcelain messages for checkout
  Turn unpack_trees_options.msgs into an array + enum

Conflicts:
t/t3400-rebase.sh

14 years agoMerge branch 'po/userdiff-csharp'
Junio C Hamano [Sun, 22 Aug 2010 06:20:51 +0000 (23:20 -0700)]
Merge branch 'po/userdiff-csharp'

* po/userdiff-csharp:
  Userdiff patterns for C#

14 years agoMerge branch 'ab/perl-install'
Junio C Hamano [Sun, 22 Aug 2010 06:20:31 +0000 (23:20 -0700)]
Merge branch 'ab/perl-install'

* ab/perl-install:
  perl/Makefile: Unset INSTALL_BASE when making perl.mak

14 years agoreset: suggest what to do upon "git reset --mixed <paths>"
Ævar Arnfjörð Bjarmason [Sun, 15 Aug 2010 08:43:20 +0000 (08:43 +0000)]
reset: suggest what to do upon "git reset --mixed <paths>"

When you call "git reset --mixed <paths>" git will warn that using mixed
with paths is deprecated:

    warning: --mixed option is deprecated with paths.

That doesn't tell the user what he should use instead. Expand on the
warning and tell the user to just omit --mixed:

    warning: --mixed with paths is deprecated; use 'git reset -- <paths>' instead

The exact wording of the warning was suggested by Jonathan Nieder.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Sun, 22 Aug 2010 06:16:32 +0000 (23:16 -0700)]
Merge branch 'maint'

* maint:
  t7403: add missing &&'s
  Tell ignore file about generate files in /gitweb/static

14 years agoapply: handle traditional patches with space in filename
Jonathan Nieder [Thu, 19 Aug 2010 01:50:14 +0000 (20:50 -0500)]
apply: handle traditional patches with space in filename

To discover filenames from the --- and +++ lines in a traditional
unified diff, currently "git apply" scans forward for a whitespace
character on each line and stops there.  It can't use the whole line
because "diff -u" likes to include timestamps, like so:

 --- foo 2000-07-12 16:56:50.020000414 -0500
 +++ bar 2010-07-12 16:56:50.020000414 -0500

The whitespace-seeking heuristic works great, even when the tab
has been converted to spaces by some email + copy-and-paste
related corruption.

Except for one problem: if the filename itself contains whitespace,
the inferred filename will be too short.

When Giuseppe ran into this problem, it was for a file creation
patch (for debian/licenses/LICENSE.global BSD-style Chromium).
So one can't use the list of files present in the index to deduce an
appropriate filename (not to mention that way lies madness; see
v0.99~402, 2005-05-31).

Instead, look for a timestamp and use that if present to mark the end
of the filename.  If no timestamp is present, the old heuristic is
used, with one exception: the space character \040 is not considered
terminating whitespace any more unless it is followed by a timestamp.

Reported-by: Giuseppe Iuculano <iuculano@debian.org>
Acked-by: Guido Günther <agx@sigxcpu.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agotests: exercise "git apply" with weird filenames
Jonathan Nieder [Thu, 19 Aug 2010 01:48:03 +0000 (20:48 -0500)]
tests: exercise "git apply" with weird filenames

Check that "git apply" can cope with strange filenames, particularly
filenames with spaces.

Not all platforms have a sane enough diff -u and expand to
reliably create the such patches and maybe future versions of GNU
diff will handle funny characters differently, so this uses
pre-generated patches.  The script used to generate them is in
t/t4135/make-patches.

Filenames with tabs are not usable on NTFS; use something like the
FUNNYNAMES prerequisite from v1.3.0-rc1~67 (2006-03-03) to skip the
relevant tests when appropriate.  The detection is not shared in
test-lib.sh to avoid wasting time while running other test scripts.

Backslash is the path separator on Windows, so do not used it in
file names there (v1.6.3-rc0~93^2~6, 2009-03-13).

Finally, filenames starting with a quotation mark do not behave well
in msys (see v1.7.0-rc0~94^2, t4030, t4031: work around bogus MSYS
bash path conversion, 2010-01-01), so skip those tests on Windows,
too.

Helped-by: Andreas Schwab <schwab@linux-m68k.org>
Helped-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoapply: split quoted filename handling into new function
Jonathan Nieder [Thu, 19 Aug 2010 01:46:46 +0000 (20:46 -0500)]
apply: split quoted filename handling into new function

The new find_name_gnu() function handles new-style '--- "a/foo"'
patch header lines, leaving find_name() itself a bit less
daunting.

Functional change: do not clobber the p-value when there are not
enough path components in a quoted file name to honor it.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot7403: add missing &&'s
Jens Lehmann [Wed, 18 Aug 2010 21:20:33 +0000 (23:20 +0200)]
t7403: add missing &&'s

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoTell ignore file about generate files in /gitweb/static
Mark Rada [Sat, 21 Aug 2010 16:18:37 +0000 (12:18 -0400)]
Tell ignore file about generate files in /gitweb/static

Signed-off-by: Mark Rada <marada@uwaterloo.ca>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agodocs: fix Makefile dependency for user manual
Jeff King [Sat, 21 Aug 2010 06:21:22 +0000 (02:21 -0400)]
docs: fix Makefile dependency for user manual

We use our custom xsl file to build the user manual, so make
sure we depend on it. We don't use it anywhere else, so we
can stick it straight in the rule.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: remove stray backslash in show-branch discussion
Jonathan Nieder [Fri, 20 Aug 2010 10:37:06 +0000 (05:37 -0500)]
Documentation: remove stray backslash in show-branch discussion

Because there is no unescaped apostrophe to pair it with, asciidoc
does not consider this apostrophe a candidate for escaping and
the backslash passes through.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: remove stray backslashes from "Fighting regressions" article
Jonathan Nieder [Fri, 20 Aug 2010 10:40:31 +0000 (05:40 -0500)]
Documentation: remove stray backslashes from "Fighting regressions" article

The intended text is "it's O(N * T) vs O(N * T * M)".  Asciidoc
notices the spaces around the asterisks so there is no need to
escape them (and if you try, it passes the backslashes through).

Cc: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: do not convert ... operator to ellipses
Jonathan Nieder [Fri, 20 Aug 2010 10:39:48 +0000 (05:39 -0500)]
Documentation: do not convert ... operator to ellipses

The symmetric difference or merge-base operator ... as used by
rev-list and diff is actually three period characters.  If it
gets replaced by an ellipsis glyph in the manual, that would
stop readers from copying and pasting it.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: avoid stray backslash in user manual
Jonathan Nieder [Fri, 20 Aug 2010 10:38:14 +0000 (05:38 -0500)]
Documentation: avoid stray backslash in user manual

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: avoid stray backslashes in core tutorial
Jonathan Nieder [Fri, 20 Aug 2010 10:37:51 +0000 (05:37 -0500)]
Documentation: avoid stray backslashes in core tutorial

While at it:

 - remove some single-quotes that were being rendered as ’\n\';

 - do not escape ellipses (...) when they do not represent the
   literal three characters "...".  We may want to ensure the
   manpages render these as three ASCII periods to make the
   manual pages easier to search, but that would be a global
   output generation setting, not a context-specific thing;

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: remove stray backslashes in rev-parse manual
Jonathan Nieder [Fri, 20 Aug 2010 10:35:03 +0000 (05:35 -0500)]
Documentation: remove stray backslashes in rev-parse manual

Use the {asterisk} entity instead of \* or * to avoid both
stray backslashes in output and suppression of asterisks
misinterpreted as a bold-text delimiter.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: remove backslash before ~ in fast-import manual
Jonathan Nieder [Fri, 20 Aug 2010 10:34:29 +0000 (05:34 -0500)]
Documentation: remove backslash before ~ in fast-import manual

Use the {tilde} entity to get a literal tilde without fuss.
With \~, asciidoc 8.5.2 (and probably earlier versions) keeps the
backslash in the output.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: remove stray backslash from "git bundle" manual
Jonathan Nieder [Fri, 20 Aug 2010 10:33:48 +0000 (05:33 -0500)]
Documentation: remove stray backslash from "git bundle" manual

In v1.6.2.2~6^2~4 (Documentation: minor grammatical fixes
and rewording in git-bundle.txt, 2009-03-22), backslashes were
introduced before ~ to avoid introducing unintentional
superscripts.  In one paragraph there is only one ~, though,
making that not a candidate for quoting, and asciidoc 8.5.8
passes the backslash through so the man page says "\~10..master".

Maybe there is an asciidoc behavior change involved.

In any case, we should replace tildes with a {tilde} entity which
means the same thing regardless of where it is found.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Cc: David J. Mellor <dmellor@whistlingcat.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation/technical: avoid stray backslash in parse-options API docs
Jonathan Nieder [Fri, 20 Aug 2010 10:32:36 +0000 (05:32 -0500)]
Documentation/technical: avoid stray backslash in parse-options API docs

Due to some unpleasant interaction between the `quote', 'italics',
and `monospace` rules, a certain paragraph ends up rendered like so:

‘short` is a character for the short option
  (e.g. <tt>'e\’</tt> for <tt>-e</tt>, use <tt>0</tt> to omit),

Use the {apostrophe} to avoid this.

While at it, escape "->" strings: they are meant as a literal
two-character C operator, not a right-pointing arrow.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: remove backslashes in manpage synopses
Jonathan Nieder [Fri, 20 Aug 2010 10:31:58 +0000 (05:31 -0500)]
Documentation: remove backslashes in manpage synopses

For some reason, various manual pages have an asterisk escaped
with \ in the synopsis.  Since there is no other asterisk to pair it
with, Asciidoc does not consider this asterisk escapable, so it passes
the backslash through.

Each page either uses [verse] or has only one asterisk, so it
is safe to drop the backslashes (checked with asciidoc 8.5.2).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: clarify quoting in gitignore docs
Jonathan Nieder [Fri, 20 Aug 2010 10:30:56 +0000 (05:30 -0500)]
Documentation: clarify quoting in gitignore docs

An asterisk in "Documentation/*.txt" quoted with \ to avoid bold text
is being output as \* because asciidoc does not consider it a
candidate for escaping (there is no matching * to pair it with).

So the manual looks like it is saying that one should write
"Documentation/\*.txt" in the .gitignore file.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: clarify quoting in "git rm" example
Jonathan Nieder [Fri, 20 Aug 2010 10:30:24 +0000 (05:30 -0500)]
Documentation: clarify quoting in "git rm" example

Intended output:

git rm Documentation/\*.txt
Removes all *.txt files from the index that are under
the Documentation directory and any of its
subdirectories.

Note that the asterisk * is quoted from the shell in
this example; this lets git, and not the shell, expand
the pathnames of files and subdirectories under the
Documentation/ directory.

Without this change, there are too many backslashes output.
Tested with asciidoc 8.5.2.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Cc: Carl Worth <cworth@cworth.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: add missing quotes to "git grep" examples
Jonathan Nieder [Fri, 20 Aug 2010 10:28:53 +0000 (05:28 -0500)]
Documentation: add missing quotes to "git grep" examples

Without an indication to the contrary, Asciidoc puts 'quoted
text' in italics, making the output look like this:

git grep time_t -- *.[ch]
    Looks for time_t in all tracked .c and .h
    files in the working directory and its subdirectories.

git grep -e '#define\' --and \( -e MAX_PATH -e PATH_MAX \)
    Looks for a line that has #define and either MAX_PATH or
    PATH_MAX.

In the first example, the *.[ch] argument needs to be protected from
the shell, or else it will only match files in the current directory.
The second example has a stray backslash.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Cc: Mark Lodato <lodatom@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: clarify quoting in "git add" example
Jonathan Nieder [Fri, 20 Aug 2010 10:26:13 +0000 (05:26 -0500)]
Documentation: clarify quoting in "git add" example

The intended text looks like this:

· Adds content from all *.txt files under Documentation
  directory and its subdirectories:

$ git add Documentation/\*.txt

  Note that the asterisk * is quoted from the shell in this
  example; this lets the command include the files from
  subdirectories of Documentation/ directory.

The current asciidoc 8.5.2 output has a backslash before _every_
asterisk, which is more confusing than it needs to be.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Cc: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: unbreak regex in show-ref manual
Jonathan Nieder [Fri, 20 Aug 2010 10:23:54 +0000 (05:23 -0500)]
Documentation: unbreak regex in show-ref manual

I am not sure why, but the regular expression "(?:\^\{\})" gets
rendered by asciidoc as "(?:\{})".  The intent seems to be a regex
matching the literal string "^{}", so this rewrites the markup to
produce "(?:\^{})" as output.

Cc: Julian Phillips <julian@quantumfyre.co.uk>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: quoting trouble in "git rm" discussion
Jonathan Nieder [Fri, 20 Aug 2010 10:21:53 +0000 (05:21 -0500)]
Documentation: quoting trouble in "git rm" discussion

The current output (with Asciidoc 8.5.2) seems a bit broken:

given two directories ‘d` and d2, there is a difference
between using git rm 'd*’ and ‘git rm 'd/\*\’`, as the
former will also remove all of directory d2.

In other words, the markup parses as

given two directories << d` and _d2_, there is a difference
between using _git rm 'd* >>_ and << git rm 'd/\*\ >> `.

I suspect there is an asciidoc bug involved (why is ' a candidate
closing-quote mark when it is preceded by a backslash?) but with
all the meanings of ` and ' involved I do not want to track it
down.  Better to use unambiguous {asterisk} and {apostrophe}
entities.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: tweak description of log.date
Jonathan Nieder [Fri, 20 Aug 2010 10:20:36 +0000 (05:20 -0500)]
Documentation: tweak description of log.date

The markup "'git log'\'s" produces a stray backslash in the
produced man page.  Removing the backslash fixes it.

While at it, tweak the surrounding description for readability.

Reported-by: Frédéric Brière <fbriere@fbriere.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomergetool: Remove explicit references to /dev/tty
Charles Bailey [Fri, 20 Aug 2010 15:25:09 +0000 (16:25 +0100)]
mergetool: Remove explicit references to /dev/tty

mergetool used /dev/tty to switch back to receiving input from the user
via inside a block with a redirected stdin.

This harms testability, so change mergetool to save its original stdin
to an alternative fd in this block and restore it for those sub-commands
that need the original stdin.

Includes additional compatibility fix from Jonathan Nieder.

Tested-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Charles Bailey <charles@hashpling.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint'
Junio C Hamano [Fri, 20 Aug 2010 19:55:41 +0000 (12:55 -0700)]
Merge branch 'maint'

* maint:
  xmalloc: include size in the failure message

14 years agoMerge branch 'jc/maint-follow-rename-fix' into maint
Junio C Hamano [Fri, 20 Aug 2010 19:53:09 +0000 (12:53 -0700)]
Merge branch 'jc/maint-follow-rename-fix' into maint

* jc/maint-follow-rename-fix:
  log: test for regression introduced in v1.7.2-rc0~103^2~2
  diff --follow: do call diffcore_std() as necessary
  diff --follow: do not waste cycles while recursing

14 years agoMerge branch 'jn/maint-plug-leak' into maint
Junio C Hamano [Fri, 20 Aug 2010 19:53:09 +0000 (12:53 -0700)]
Merge branch 'jn/maint-plug-leak' into maint

* jn/maint-plug-leak:
  write-tree: Avoid leak when index refers to an invalid object
  read-tree: stop leaking tree objects
  core: Stop leaking ondisk_cache_entrys