Code

git.git
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 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 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 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 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

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

* jn/fix-abbrev:
  examples/commit: use --abbrev for commit summary
  checkout, commit: remove confusing assignments to rev.abbrev
  archive: abbreviate substituted commit ids again

14 years agoMerge branch 'vs/doc-spell' into maint
Junio C Hamano [Fri, 20 Aug 2010 19:53:08 +0000 (12:53 -0700)]
Merge branch 'vs/doc-spell' into maint

* vs/doc-spell:
  Documentation: spelling fixes

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

* jn/rebase-rename-am:
  rebase: protect against diff.renames configuration
  t3400 (rebase): whitespace cleanup
  Teach "apply --index-info" to handle rename patches
  t4150 (am): futureproof against failing tests
  t4150 (am): style fix

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

* jn/doc-pull:
  Documentation: flesh out “git pull” description

14 years agoMerge branch 'bc/use-more-hardlinks-in-install' into maint
Junio C Hamano [Fri, 20 Aug 2010 19:53:07 +0000 (12:53 -0700)]
Merge branch 'bc/use-more-hardlinks-in-install' into maint

* bc/use-more-hardlinks-in-install:
  Makefile: make hard/symbolic links for non-builtins too
  Makefile: link builtins residing in bin directory to main git binary too

14 years agoMerge branch 'tr/rfc-reset-doc' into maint
Junio C Hamano [Fri, 20 Aug 2010 19:53:07 +0000 (12:53 -0700)]
Merge branch 'tr/rfc-reset-doc' into maint

* tr/rfc-reset-doc:
  Documentation/reset: move "undo permanently" example behind "make topic"
  Documentation/reset: reorder examples to match description
  Documentation/reset: promote 'examples' one section up
  Documentation/reset: separate options by mode
  Documentation/git-reset: reorder modes for soft-mixed-hard progression

14 years agobuiltin/checkout: Fix message when switching to an existing branch
Ramkumar Ramachandra [Fri, 20 Aug 2010 17:41:47 +0000 (23:11 +0530)]
builtin/checkout: Fix message when switching to an existing branch

Fix "Switched to a new branch <name>" to read "Switched to branch
<name>" when <name> corresponds to an existing branch. This bug was
introduced in 02ac983 while introducing the `-B` switch.

Cc: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoxmalloc: include size in the failure message
Matthieu Moy [Fri, 20 Aug 2010 15:09:51 +0000 (17:09 +0200)]
xmalloc: include size in the failure message

Out-of-memory errors can either be actual lack of memory, or bugs (like
code trying to call xmalloc(-1) by mistake). A little more information
may help tracking bugs reported by users.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge-recursive: Avoid excessive output for and reprocessing of renames
Elijah Newren [Fri, 20 Aug 2010 12:55:40 +0000 (06:55 -0600)]
merge-recursive: Avoid excessive output for and reprocessing of renames

In 5a2580d (merge_recursive: Fix renames across paths below D/F conflicts
2010-07-09) and ae74548 (merge-recursive: Fix multiple file rename across
D/F conflict 2010-08-17), renames across D/F conflicts were fixed by
making process_renames() consider as unprocessed renames whose dst_entry
"still" had higher stage entries.  The assumption was that those higher
stage entries would have been cleared out of dst_entry by that point in
cases where the conflict could be resolved (normal renames with no D/F
conflicts).  That is not the case -- higher stage entries will remain in
all cases.

Fix this by checking for higher stage entries corresponding to D/F
conflicts, namely that stages 2 and 3 have exactly one nonzero mode between
them.  The nonzero mode stage corresponds to a file at the path, while the
stage with a zero mode will correspond to a directory at that path (since
rename/delete conflicts will have already been handled before this codepath
is reached.)

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'maint' to sync with 1.7.2.2
Junio C Hamano [Thu, 19 Aug 2010 23:04:41 +0000 (16:04 -0700)]
Merge branch 'maint' to sync with 1.7.2.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoGit 1.7.2.2 v1.7.2.2
Junio C Hamano [Thu, 19 Aug 2010 23:03:18 +0000 (16:03 -0700)]
Git 1.7.2.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoMerge branch 'tr/xsize-bits' into maint
Junio C Hamano [Thu, 19 Aug 2010 22:49:54 +0000 (15:49 -0700)]
Merge branch 'tr/xsize-bits' into maint

* tr/xsize-bits:
  xsize_t: check whether we lose bits

14 years agoMerge branch 'jc/sha1-name-find-fix' into maint
Junio C Hamano [Thu, 19 Aug 2010 22:49:24 +0000 (15:49 -0700)]
Merge branch 'jc/sha1-name-find-fix' into maint

* jc/sha1-name-find-fix:
  sha1_name.c: fix parsing of ":/token" syntax

Conflicts:
sha1_name.c

14 years agot/t9010-svn-fe.sh: add an +x bit to this test
Ævar Arnfjörð Bjarmason [Thu, 19 Aug 2010 15:53:50 +0000 (15:53 +0000)]
t/t9010-svn-fe.sh: add an +x bit to this test

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot9155: fix compatibility with older SVN
Eric Wong [Thu, 19 Aug 2010 19:03:18 +0000 (12:03 -0700)]
t9155: fix compatibility with older SVN

The "--parents" option did not appear until SVN 1.5.x
and is completely unnecessary in this case.

Reported-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
14 years agoMerge branch 'sp/fix-smart-http-deadlock-on-error' into maint
Junio C Hamano [Wed, 18 Aug 2010 23:30:11 +0000 (16:30 -0700)]
Merge branch 'sp/fix-smart-http-deadlock-on-error' into maint

* sp/fix-smart-http-deadlock-on-error:
  smart-http: Don't deadlock on server failure

14 years agomerge script: learn --[no-]rerere-autoupdate
Jonathan Nieder [Tue, 17 Aug 2010 07:13:40 +0000 (02:13 -0500)]
merge script: learn --[no-]rerere-autoupdate

Port v1.7.0-rc0~83^2 (Teach --[no-]rerere-autoupdate option to
merge, revert and friends, 2009-12-04) to the example merge script.

After this change, all tests pass for me with the scripted
merge.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: notice @{-1} shorthand
Jonathan Nieder [Tue, 17 Aug 2010 07:11:30 +0000 (02:11 -0500)]
merge script: notice @{-1} shorthand

Port v1.6.2-rc1~10^2 (Teach @{-1} to git merge, 2009-02-13) to
the old merge script.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: handle --no-ff --no-commit correctly
Jonathan Nieder [Tue, 17 Aug 2010 07:11:03 +0000 (02:11 -0500)]
merge script: handle --no-ff --no-commit correctly

In a --no-ff merge with conflicts, "git commit" used to forget the
--no-ff when used to complete the merge.  That was fixed by
v1.6.1-rc1~134^2 (builtin-commit: use reduce_heads() only when
appropriate, 2008-10-03) for the builtin merge.  Port the change to
the merge script in contrib/examples.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: --ff-only to disallow true merge
Jonathan Nieder [Tue, 17 Aug 2010 07:10:17 +0000 (02:10 -0500)]
merge script: --ff-only to disallow true merge

Port v1.6.6-rc0~62^2 (Teach 'git merge' and 'git pull' the option
--ff-only, 2009-10-29) to the old merge script.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: handle many-way octopus
Jonathan Nieder [Tue, 17 Aug 2010 07:09:58 +0000 (02:09 -0500)]
merge script: handle many-way octopus

Based on v1.6.0-rc0~51^2~5 (Build in merge, 2008-07-07).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: handle -m --log correctly
Jonathan Nieder [Tue, 17 Aug 2010 07:06:56 +0000 (02:06 -0500)]
merge script: handle -m --log correctly

Based on v1.7.1.1~23^2 (merge: --log appends shortlog to message if
specified, 2010-05-11).  Without this change, the scripted
(non-builtin) merge does not pass t7604.

Cc: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: forbid merge -s index
Jonathan Nieder [Tue, 17 Aug 2010 07:06:06 +0000 (02:06 -0500)]
merge script: forbid merge -s index

Some git-merge-* commands are not merge strategies.  This is based on
v1.6.1-rc1~294^2~7 (builtin-merge: allow using a custom strategy,
2008-07-30) but it is less smart: we just use a hard-coded list of
forbidden strategy names.  It is okay if this falls out of date, since
the code is just an example.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: allow custom strategies
Jonathan Nieder [Tue, 17 Aug 2010 07:05:32 +0000 (02:05 -0500)]
merge script: allow custom strategies

The idea comes from v1.6.1-rc1~294^2~7 (builtin-merge: allow using a
custom strategy, 2008-07-30).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: merge -X<option>
Jonathan Nieder [Tue, 17 Aug 2010 07:05:10 +0000 (02:05 -0500)]
merge script: merge -X<option>

Without this support, the scripted merge cannot pass t6037.

Based on v1.7.0-rc0~55^2~5 (git merge -X<option>, 2009-11-25).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: improve log message subject
Jonathan Nieder [Tue, 17 Aug 2010 07:04:43 +0000 (02:04 -0500)]
merge script: improve log message subject

 - point out remote-tracking branches as "remote branch
   'upstream/master'";
 - avoid misleading log messages when a tag and branch
   share a name.

This approximates the builtin merge command's behavior well
enough to pass the relevant tests.

Based roughly on v1.6.4.2~10^2 (merge: indicate remote tracking
branches in merge message, 2009-08-09) and v1.6.4.2~10^2~1 (merge: fix
incorrect merge message for ambiguous tag/branch, 2009-08-09).

Cc: Jeff King <peff@peff.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: refuse to merge during merge
Jonathan Nieder [Tue, 17 Aug 2010 07:03:58 +0000 (02:03 -0500)]
merge script: refuse to merge during merge

Check MERGE_HEAD and bail out if it exists.  Based on v1.6.3.3~3^2
(refuse to merge during a merge, 2009-06-01).  Without this change,
the scripted merge does not pass t3030.

Cc: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: tweak unmerged files message to match builtin
Jonathan Nieder [Tue, 17 Aug 2010 07:03:36 +0000 (02:03 -0500)]
merge script: tweak unmerged files message to match builtin

Before:

You are in the middle of a conflicted merge.

After:

Merge is not possible because you have unmerged files.

I prefer the old message, but the new one is more consistent with
other commands and tests expect it.  In particular, without this
change the scripted merge does not pass t3030.

Based on v1.7.0-rc0~66^2 (Be more user-friendly when refusing to do
something because of conflict., 2010-01-12).

Cc: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge script: --squash, --ff from unborn branch are errors
Jonathan Nieder [Tue, 17 Aug 2010 07:03:07 +0000 (02:03 -0500)]
merge script: --squash, --ff from unborn branch are errors

Port v1.6.1-rc1~319 (provide more errors for the "merge into empty
head" case, 2008-08-21) to the example merge script.

Noticed by comparison with builtin merge.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agofmt-merge-msg -m to override merge title
Jonathan Nieder [Tue, 17 Aug 2010 23:00:34 +0000 (18:00 -0500)]
fmt-merge-msg -m to override merge title

Since v1.7.1.1~23^2 (merge: --log appends shortlog to message if
specified, 2010-05-11), the fmt-merge-msg backend supports custom text
to override the merge title "Merge <foo> into <bar>".

Expose this functionality for scripted callers.  Example:

 git fmt-merge-msg --log -m \
"$(printf '%s\n' \
    "Merge branch 'api-cleanup' into feature" \
    '' \
    'This is to use a few functions refactored for this purpose.'
)" <.git/FETCH_HEAD

Cc: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge-base --independent to print reduced parent list in a merge
Jonathan Nieder [Tue, 17 Aug 2010 07:01:54 +0000 (02:01 -0500)]
merge-base --independent to print reduced parent list in a merge

While show-branch --independent does not support more than MAX_REVS
revs, git internally supports more with a different algorithm.
Expose that functionality as "git merge-base --independent".

This should help scripts to catch up with builtin merge in supporting
dodecapus.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agomerge-base --octopus to mimic show-branch --merge-base
Jonathan Nieder [Tue, 17 Aug 2010 07:01:15 +0000 (02:01 -0500)]
merge-base --octopus to mimic show-branch --merge-base

While show-branch --merge-base does not support more than MAX_REVS
revs, git supports more with a different algorithm
(v1.6.0-rc0~51^2~13, Introduce get_octopus_merge_bases() in commit.c,
2008-06-27).  Expose that functionality.

This should help scripts to catch up with builtin merge in supporting
dodecapus.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agoDocumentation: add a SEE ALSO section for merge-base
Jonathan Nieder [Tue, 17 Aug 2010 06:59:55 +0000 (01:59 -0500)]
Documentation: add a SEE ALSO section for merge-base

For example, a person reading the merge-base man page might wonder
about the fastest way to check if one commit is an ancestor of
another (which would require rev-list).

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
14 years agot6200 (fmt-merge-msg): style nitpicks
Jonathan Nieder [Tue, 17 Aug 2010 06:57:40 +0000 (01:57 -0500)]
t6200 (fmt-merge-msg): style nitpicks

Guard setup with test_expect_success.  Use test_might_fail
instead of ignoring the exit code from git config --unset.
Point out setup commands that are shared by multiple tests,
to make it easy to write GIT_SKIP_TESTS specifications that
work.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>