git
15 years agoMerge branch 'jc/maint-merge-recursive-fix' into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:49 +0000 (21:16 -0700)] 
Merge branch 'jc/maint-merge-recursive-fix' into next

* jc/maint-merge-recursive-fix:
  merge-recursive: don't segfault while handling rename clashes

15 years agoMerge branch 'bc/mailsplit-cr-at-eol' into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:49 +0000 (21:16 -0700)] 
Merge branch 'bc/mailsplit-cr-at-eol' into next

* bc/mailsplit-cr-at-eol:
  Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings
  builtin-mailsplit.c: remove read_line_with_nul() since it is no longer used
  builtin-mailinfo,builtin-mailsplit: use strbufs
  strbuf: add new function strbuf_getwholeline()

15 years agoMerge branch 'jc/shortstatus' (early part) into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:49 +0000 (21:16 -0700)] 
Merge branch 'jc/shortstatus' (early part) into next

* 'jc/shortstatus' (early part):
  status: show worktree status of conflicted paths separately
  wt-status.c: rework the way changes to the index and work tree are summarized
  diff-index: keep the original index intact
  diff-index: report unmerged new entries

15 years agoMerge branch 'zf/maint-gitweb-acname' into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:49 +0000 (21:16 -0700)] 
Merge branch 'zf/maint-gitweb-acname' into next

* zf/maint-gitweb-acname:
  gitweb: parse_commit_text encoding fix

15 years agoMerge branch 'ns/am-raw-email' into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:49 +0000 (21:16 -0700)] 
Merge branch 'ns/am-raw-email' into next

* ns/am-raw-email:
  git-am: print fair error message when format detection fails
  am: allow individual e-mail files as input

15 years agoMerge branch 'db/vcs-helper' (early part) into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:49 +0000 (21:16 -0700)] 
Merge branch 'db/vcs-helper' (early part) into next

* 'db/vcs-helper' (early part):
  http-fetch: Fix Makefile dependancies
  Add transport native helper executables to .gitignore

15 years agoMerge branch 'lt/block-sha1' into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:49 +0000 (21:16 -0700)] 
Merge branch 'lt/block-sha1' into next

* lt/block-sha1:
  block-sha1: get rid of redundant 'lenW' context
  block-sha1: Use '(B&C)+(D&(B^C))' instead of '(B&C)|(D&(B|C))' in round 3
  block-sha1: macroize the rounds a bit further
  block-sha1: re-use the temporary array as we calculate the SHA1
  block-sha1: make the 'ntohl()' part of the first SHA1 loop
  block-sha1: minor fixups
  block-sha1: try to use rol/ror appropriately
  block-sha1: undo ctx->size change

15 years agoMerge branch 'jn/gitweb-blame' (early part) into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:49 +0000 (21:16 -0700)] 
Merge branch 'jn/gitweb-blame' (early part) into next

* 'jn/gitweb-blame' (early part):
  Revert the four topmost commits from jn/gitweb-blame topic

15 years agoMerge branch 'master' into next
Junio C Hamano [Fri, 7 Aug 2009 04:16:45 +0000 (21:16 -0700)] 
Merge branch 'master' into next

* master:
  git-ls-files.txt: clarify what "other files" mean for --other
  git-describe: Die early if there are no possible descriptions
  rebase: consistent error messages for staged and unstaged changes.
  git-tag(1): Refer to git-check-ref-format(1) for <name>
  git-rev-list.txt: Clarify the use of multiple revision arguments
  git.el: Clarify documentation of git-commit-tree

15 years agostatus: show worktree status of conflicted paths separately
Junio C Hamano [Wed, 5 Aug 2009 07:04:51 +0000 (00:04 -0700)] 
status: show worktree status of conflicted paths separately

When a path is unmerged in the index, we used to always say "unmerged" in
the "Changed but not updated" section, even when the path was deleted in
the work tree.

Remove unmerged entries from the "Updated" section, and create a new
section "Unmerged paths".  Describe how the different stages conflict
in more detail in this new section.

Note that with the current 3-way merge policy (with or without recursive),
certain combinations of index stages should never happen.  For example,
having only stage #2 means that a path that did not exist in the common
ancestor was added by us while the other branch did not do anything to it,
which would have autoresolved to take our addition.  The code nevertheless
prepares for the possibility that future merge policies may leave a path
in such a state.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-am: print fair error message when format detection fails
Nicolas Sebrecht [Fri, 7 Aug 2009 01:08:13 +0000 (20:08 -0500)] 
git-am: print fair error message when format detection fails

Avoid git ending with this message:
"Patch format  is not supported."

With improved error message in the format detection failure case by
Giuseppe Bilotta.

Signed-off-by: Nicolas Sebrecht <ni.s@laposte.net>
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoam: allow individual e-mail files as input
Junio C Hamano [Fri, 7 Aug 2009 01:08:12 +0000 (20:08 -0500)] 
am: allow individual e-mail files as input

We traditionally allowed a mbox file or a directory name of a maildir (but
never an individual file inside a maildir) to be given to "git am".  Even
though an individual file in a maildir (or more generally, a piece of
RFC2822 e-mail) is not a mbox file, it contains enough information to
create a commit out of it, so there is no reason to reject one.  Running
mailsplit on such a file feels stupid, but it does not hurt.

This builds on top of a5a6755 (git-am foreign patch support: introduce
patch_format, 2009-05-27) that introduced mailbox format detection.  The
codepath to deal with a mbox requires it to begin with "From " line and
also allows it to begin with "From: ", but a random piece of e-mail can
and often do begin with any valid RFC2822 header lines.

Instead of checking the first line, we extract all the lines up to the
first empty line, and make sure they look like e-mail headers.

A test is added to t4150 to demonstrate this feature.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoRevert the four topmost commits from jn/gitweb-blame topic
Junio C Hamano [Thu, 6 Aug 2009 21:08:13 +0000 (14:08 -0700)] 
Revert the four topmost commits from jn/gitweb-blame topic

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-ls-files.txt: clarify what "other files" mean for --other
Matthieu Moy [Thu, 6 Aug 2009 15:11:48 +0000 (17:11 +0200)] 
git-ls-files.txt: clarify what "other files" mean for --other

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoblock-sha1: get rid of redundant 'lenW' context
Linus Torvalds [Thu, 6 Aug 2009 14:45:46 +0000 (07:45 -0700)] 
block-sha1: get rid of redundant 'lenW' context

.. and simplify the ctx->size logic.

We now count the size in bytes, which means that 'lenW' was always just
the low 6 bits of the total size, so we don't carry it around separately
any more.  And we do the 'size in bits' shift at the end.

Suggested by Nicolas Pitre and linux@horizon.com.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoblock-sha1: Use '(B&C)+(D&(B^C))' instead of '(B&C)|(D&(B|C))' in round 3
Linus Torvalds [Thu, 6 Aug 2009 14:27:57 +0000 (07:27 -0700)] 
block-sha1: Use '(B&C)+(D&(B^C))' instead of '(B&C)|(D&(B|C))' in round 3

It's an equivalent expression, but the '+' gives us some freedom in
instruction selection (for example, we can use 'lea' rather than 'add'),
and associates with the other additions around it to give some minor
scheduling freedom.

Suggested-by: linux@horizon.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoblock-sha1: macroize the rounds a bit further
Linus Torvalds [Thu, 6 Aug 2009 14:20:54 +0000 (07:20 -0700)] 
block-sha1: macroize the rounds a bit further

Avoid repeating the shared parts of the different rounds by adding a
macro layer or two. It was already more cpp than C.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoblock-sha1: re-use the temporary array as we calculate the SHA1
Linus Torvalds [Thu, 6 Aug 2009 03:49:41 +0000 (20:49 -0700)] 
block-sha1: re-use the temporary array as we calculate the SHA1

The mozilla-SHA1 code did this 80-word array for the 80 iterations.  But
the SHA1 state is really just 512 bits, and you can actually keep it in
a kind of "circular queue" of just 16 words instead.

This requires us to do the xor updates as we go along (rather than as a
pre-phase), but that's really what we want to do anyway.

This gets me really close to the OpenSSL performance on my Nehalem.
Look ma, all C code (ok, there's the rol/ror hack, but that one doesn't
strictly even matter on my Nehalem, it's just a local optimization).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoblock-sha1: make the 'ntohl()' part of the first SHA1 loop
Linus Torvalds [Thu, 6 Aug 2009 03:28:07 +0000 (20:28 -0700)] 
block-sha1: make the 'ntohl()' part of the first SHA1 loop

This helps a teeny bit.  But what I -really- want to do is to avoid the
whole 80-array loop, and do the xor updates as I go along..

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoblock-sha1: minor fixups
Junio C Hamano [Thu, 6 Aug 2009 20:52:58 +0000 (13:52 -0700)] 
block-sha1: minor fixups

Bert Wesarg noticed non-x86 version of SHA_ROT() had a typo.
Also spell in-line assembly as __asm__(), otherwise I seem to get
error: implicit declaration of function 'asm' from my compiler.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoblock-sha1: try to use rol/ror appropriately
Linus Torvalds [Thu, 6 Aug 2009 02:42:15 +0000 (19:42 -0700)] 
block-sha1: try to use rol/ror appropriately

Use the one with the smaller constant.  It _can_ generate slightly
smaller code (a constant of 1 is special), but perhaps more importantly
it's possibly faster on any uarch that does a rotate with a loop.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoblock-sha1: undo ctx->size change
Junio C Hamano [Thu, 6 Aug 2009 20:56:19 +0000 (13:56 -0700)] 
block-sha1: undo ctx->size change

Undo the change I picked up from the mailing list discussion suggested
by Nico, not because it is wrong, but it will be done at the end of the
follow-up series.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agohttp-fetch: Fix Makefile dependancies
Mike Ralphson [Thu, 6 Aug 2009 13:14:45 +0000 (14:14 +0100)] 
http-fetch: Fix Makefile dependancies

Specify git-http-fetch's dependancies explicitly rather than inheriting from
git-http-push, as that may not be built if the libcurl version is too old or
NO_EXPAT is defined

Signed-off-by: Mike Ralphson <mike@abacus.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoAdd transport native helper executables to .gitignore
Mike Ralphson [Thu, 6 Aug 2009 13:14:44 +0000 (14:14 +0100)] 
Add transport native helper executables to .gitignore

Signed-off-by: Mike Ralphson <mike@abacus.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-describe: Die early if there are no possible descriptions
Björn Steinbrink [Thu, 6 Aug 2009 12:15:14 +0000 (14:15 +0200)] 
git-describe: Die early if there are no possible descriptions

If we find no refs that may be used for git-describe with the current
options, then die early instead of pointlessly walking the whole
history.

In git.git with all the tags dropped, this makes "git describe" go down
from 0.244 to 0.003 seconds for me. This is especially noticeable with
"git submodule status" which calls describe with increasing levels of
allowed refs to be matched. For a submodule without tags, this means
that it walks the whole history in the submodule twice (first annotated,
then plain tags), just to find out that it can't describe the commit
anyway.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agorebase: consistent error messages for staged and unstaged changes.
Matthieu Moy [Wed, 5 Aug 2009 14:56:25 +0000 (16:56 +0200)] 
rebase: consistent error messages for staged and unstaged changes.

Previous version expose the output of the plumbing update-index to the
user, which novice users have difficulty to understand.

We still need to run update-index to refresh the cache (if
diff.autorefreshindex is false, git diff won't do it).

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-tag(1): Refer to git-check-ref-format(1) for <name>
Jari Aalto [Wed, 5 Aug 2009 21:20:32 +0000 (00:20 +0300)] 
git-tag(1): Refer to git-check-ref-format(1) for <name>

Explain briefly what characters are prohibited in tag <name>
and point to git-check-ref-format(1) manual page for
further information.

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-rev-list.txt: Clarify the use of multiple revision arguments
Junio C Hamano [Wed, 5 Aug 2009 16:42:33 +0000 (09:42 -0700)] 
git-rev-list.txt: Clarify the use of multiple revision arguments

If one thinks of a revision as the set of commits which can be reached
from the rev, and of ^rev as the complement, then multiple arguments to
git rev-list can be neither understood as the intersection nor the union
of the individual sets.

But set language is the natural as well as logical language in which to
phrase this. So, add a paragraph which explains multiple arguments using
set language.

Suggested-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit.el: Clarify documentation of git-commit-tree
David Kågedal [Fri, 31 Jul 2009 07:23:09 +0000 (09:23 +0200)] 
git.el: Clarify documentation of git-commit-tree

Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agowt-status.c: rework the way changes to the index and work tree are summarized
Junio C Hamano [Wed, 5 Aug 2009 06:49:33 +0000 (23:49 -0700)] 
wt-status.c: rework the way changes to the index and work tree are summarized

Introduce a new infrastructure to find and summarize changes in a single
string list, and rewrite wt_status_print_{updated,changed} functions using
it.

The goal of this change is to give more information on conflicted paths in
the status output.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'db/vcs-helper' (early part) into next
Junio C Hamano [Thu, 6 Aug 2009 02:48:43 +0000 (19:48 -0700)] 
Merge branch 'db/vcs-helper' (early part) into next

* 'db/vcs-helper' (early part):
  git-http-fetch: not a builtin
  Use an external program to implement fetching with curl
  Add support for external programs for handling native fetches

15 years agoMerge branch 'lt/block-sha1' into next
Junio C Hamano [Thu, 6 Aug 2009 02:48:36 +0000 (19:48 -0700)] 
Merge branch 'lt/block-sha1' into next

* lt/block-sha1:
  Add new optimized C 'block-sha1' routines

15 years agoAdd new optimized C 'block-sha1' routines
Linus Torvalds [Wed, 5 Aug 2009 23:13:20 +0000 (16:13 -0700)] 
Add new optimized C 'block-sha1' routines

Based on the mozilla SHA1 routine, but doing the input data accesses a
word at a time and with 'htonl()' instead of loading bytes and shifting.

It requires an architecture that is ok with unaligned 32-bit loads and a
fast htonl().

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-http-fetch: not a builtin
Linus Torvalds [Wed, 5 Aug 2009 05:01:59 +0000 (01:01 -0400)] 
git-http-fetch: not a builtin

This splits up git-http-fetch so that it isn't built-in.

It also removes the general dependency on curl, because it is no
longer used by any built-in code. Because they are no longer LIB_OBJS,
add LIB_H to the dependencies of http-related object files, and remove
http.h from the dependencies of transport.o

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'jn/gitweb-blame' into next
Junio C Hamano [Wed, 5 Aug 2009 19:43:33 +0000 (12:43 -0700)] 
Merge branch 'jn/gitweb-blame' into next

* jn/gitweb-blame:
  gitweb: Create links leading to 'blame_incremental' using JavaScript
  gitweb: Incremental blame (proof of concept)
  gitweb: Add optional "time to generate page" info in footer
  gitweb: Add -partial_query option to href() subroutine
  gitweb: Use light/dark for class names also in 'blame' view
  gitweb: Add author initials in 'blame' view, a la "git gui blame"
  gitweb: Mark commits with no "previous" in 'blame' view
  gitweb: Use "previous" header of git-blame -p in 'blame' view
  gitweb: Mark boundary commits in 'blame' view
  gitweb: Make .error style generic

15 years agoMerge branch 'jp/symlink-dirs' into next
Junio C Hamano [Wed, 5 Aug 2009 19:42:45 +0000 (12:42 -0700)] 
Merge branch 'jp/symlink-dirs' into next

* jp/symlink-dirs:
  git-checkout: be careful about untracked symlinks
  lstat_cache: guard against full match of length of 'name' parameter
  Demonstrate bugs when a directory is replaced with a symlink

15 years agoMerge branch 'js/run-command-updates' into next
Junio C Hamano [Wed, 5 Aug 2009 19:40:39 +0000 (12:40 -0700)] 
Merge branch 'js/run-command-updates' into next

* js/run-command-updates:
  run-command.c: squelch a "use before assignment" warning

15 years agoMerge branch 'master' into next
Junio C Hamano [Wed, 5 Aug 2009 19:40:26 +0000 (12:40 -0700)] 
Merge branch 'master' into next

* master:
  gitweb/README: Document $base_url
  Documentation: git submodule: add missing options to synopsis
  git-merge-base/git-show-branch --merge-base: Documentation and test
  git-merge-base/git-show-branch: Cleanup documentation and usage
  t6010-merge-base.sh: Depict the octopus test graph
  Better usage string for reflog.
  hg-to-git: don't import the unused popen2 module
  send-email: remove debug trace
  gitweb: fix 'Use of uninitialized value' error in href()
  technical-docs: document tree-walking API
  config: Keep inner whitespace verbatim

15 years agoMerge branch 'sb/read-tree'
Junio C Hamano [Wed, 5 Aug 2009 19:40:07 +0000 (12:40 -0700)] 
Merge branch 'sb/read-tree'

* sb/read-tree:
  read-tree: migrate to parse-options
  read-tree: convert unhelpful usage()'s to helpful die()'s

15 years agoMerge branch 'jc/apply-epoch-patch'
Junio C Hamano [Wed, 5 Aug 2009 19:40:00 +0000 (12:40 -0700)] 
Merge branch 'jc/apply-epoch-patch'

* jc/apply-epoch-patch:
  apply: notice creation/removal patches produced by GNU diff

15 years agoMerge branch 'sb/parse-options'
Junio C Hamano [Wed, 5 Aug 2009 19:39:37 +0000 (12:39 -0700)] 
Merge branch 'sb/parse-options'

* sb/parse-options:
  prune-packed: migrate to parse-options
  verify-pack: migrate to parse-options
  verify-tag: migrate to parse-options
  write-tree: migrate to parse-options

15 years agoMerge branch 'ns/init-mkdir'
Junio C Hamano [Wed, 5 Aug 2009 19:39:33 +0000 (12:39 -0700)] 
Merge branch 'ns/init-mkdir'

* ns/init-mkdir:
  git init: optionally allow a directory argument

Conflicts:
builtin-init-db.c

15 years agoMerge branch 'mk/init-db-parse-options'
Junio C Hamano [Wed, 5 Aug 2009 19:39:06 +0000 (12:39 -0700)] 
Merge branch 'mk/init-db-parse-options'

* mk/init-db-parse-options:
  init-db: migrate to parse-options

15 years agoMerge branch 'jk/maint-show-tag'
Junio C Hamano [Wed, 5 Aug 2009 19:38:54 +0000 (12:38 -0700)] 
Merge branch 'jk/maint-show-tag'

* jk/maint-show-tag:
  show: add space between multiple items
  show: suppress extra newline when showing annotated tag

15 years agoMerge branch 'sb/maint-pull-rebase'
Junio C Hamano [Wed, 5 Aug 2009 19:38:39 +0000 (12:38 -0700)] 
Merge branch 'sb/maint-pull-rebase'

* sb/maint-pull-rebase:
  pull: support rebased upstream + fetch + pull --rebase
  t5520-pull: Test for rebased upstream + fetch + pull --rebase

15 years agoMerge branch 'ne/futz-upload-pack'
Junio C Hamano [Wed, 5 Aug 2009 19:38:29 +0000 (12:38 -0700)] 
Merge branch 'ne/futz-upload-pack'

* ne/futz-upload-pack:
  Shift object enumeration out of upload-pack

Conflicts:
upload-pack.c

15 years agoMerge branch 'maint'
Junio C Hamano [Wed, 5 Aug 2009 19:37:40 +0000 (12:37 -0700)] 
Merge branch 'maint'

* maint:
  gitweb/README: Document $base_url
  Documentation: git submodule: add missing options to synopsis
  Better usage string for reflog.
  hg-to-git: don't import the unused popen2 module
  send-email: remove debug trace
  config: Keep inner whitespace verbatim

15 years agoMerge branch 'maint-1.6.3' into maint
Junio C Hamano [Wed, 5 Aug 2009 19:37:24 +0000 (12:37 -0700)] 
Merge branch 'maint-1.6.3' into maint

* maint-1.6.3:
  Better usage string for reflog.
  hg-to-git: don't import the unused popen2 module
  send-email: remove debug trace
  config: Keep inner whitespace verbatim

15 years agogitweb: parse_commit_text encoding fix
Zoltán Füzesi [Sun, 2 Aug 2009 07:42:24 +0000 (09:42 +0200)] 
gitweb: parse_commit_text encoding fix

Call to_utf8 when parsing author and committer names, otherwise they will appear
with bad encoding if they written by using chop_and_escape_str.

Signed-off-by: Zoltán Füzesi <zfuzesi@eaglet.hu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogitweb/README: Document $base_url
Jakub Narebski [Tue, 4 Aug 2009 15:54:32 +0000 (17:54 +0200)] 
gitweb/README: Document $base_url

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: git submodule: add missing options to synopsis
Jens Lehmann [Sat, 1 Aug 2009 18:49:47 +0000 (20:49 +0200)] 
Documentation: git submodule: add missing options to synopsis

The option --merge was missing for submodule update and --cached for
submodule summary.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoAllow mailsplit (and hence git-am) to handle mails with CRLF line-endings
Junio C Hamano [Wed, 5 Aug 2009 03:31:59 +0000 (22:31 -0500)] 
Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings

It is not that uncommon to have mails with DOS line-ending, notably
Thunderbird and web mailers like Gmail (when saving what they call
"original" message).  So modify mailsplit to convert CRLF line-endings to
just LF.

Since git-rebase is built on top of git-am, add an option to mailsplit to
be used by git-am when it is acting on behalf of git-rebase, to refrain
from doing this conversion.

And add a test to make sure that rebase still works.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobuiltin-mailsplit.c: remove read_line_with_nul() since it is no longer used
Brandon Casey [Wed, 5 Aug 2009 03:31:58 +0000 (22:31 -0500)] 
builtin-mailsplit.c: remove read_line_with_nul() since it is no longer used

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agobuiltin-mailinfo,builtin-mailsplit: use strbufs
Brandon Casey [Wed, 5 Aug 2009 03:31:57 +0000 (22:31 -0500)] 
builtin-mailinfo,builtin-mailsplit: use strbufs

There should be no functional change.  Just the necessary changes and
simplifications associated with calling strbuf_getwholeline() rather
than an internal function or fgets.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agostrbuf: add new function strbuf_getwholeline()
Brandon Casey [Wed, 5 Aug 2009 03:31:56 +0000 (22:31 -0500)] 
strbuf: add new function strbuf_getwholeline()

This function is just like strbuf_getline() except it retains the
line-termination character.  This function will be used by the mailinfo
and mailsplit builtins which require the entire line for parsing.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoUse an external program to implement fetching with curl
Daniel Barkalow [Wed, 5 Aug 2009 05:01:56 +0000 (01:01 -0400)] 
Use an external program to implement fetching with curl

Use the transport native helper mechanism to fetch by http (and ftp, etc).

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoAdd support for external programs for handling native fetches
Daniel Barkalow [Wed, 5 Aug 2009 05:01:53 +0000 (01:01 -0400)] 
Add support for external programs for handling native fetches

transport_get() can call transport_native_helper_init() to have list and
fetch-ref operations handled by running a separate program as:

 git remote-<something> <remote> [<url>]

This program then accepts, on its stdin, "list" and "fetch <hex>
<name>" commands; the former prints out a list of available refs and
either their hashes or what they are symrefs to, while the latter
fetches them into the local object database and prints a newline when done.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-merge-base/git-show-branch --merge-base: Documentation and test
Michael J Gruber [Wed, 5 Aug 2009 07:59:20 +0000 (09:59 +0200)] 
git-merge-base/git-show-branch --merge-base: Documentation and test

Currently, the documentation suggests that 'git merge-base -a' and 'git
show-branch --merge-base' are equivalent (in fact it claims that the
former cannot handle more than two revs).

Alas, the handling of more than two revs is very different. Document
this by tests and correct the documentation to reflect this.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-merge-base/git-show-branch: Cleanup documentation and usage
Michael J Gruber [Wed, 5 Aug 2009 07:59:19 +0000 (09:59 +0200)] 
git-merge-base/git-show-branch: Cleanup documentation and usage

Make sure that usage strings and documentation coincide with each other
and with the actual code.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agot6010-merge-base.sh: Depict the octopus test graph
Michael J Gruber [Wed, 5 Aug 2009 07:59:18 +0000 (09:59 +0200)] 
t6010-merge-base.sh: Depict the octopus test graph

...so that it is easier to reuse it for other tests.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoBetter usage string for reflog.
Matthieu Moy [Wed, 5 Aug 2009 15:36:28 +0000 (17:36 +0200)] 
Better usage string for reflog.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodiff-index: keep the original index intact
Junio C Hamano [Wed, 5 Aug 2009 05:08:16 +0000 (22:08 -0700)] 
diff-index: keep the original index intact

When comparing the index and a tree, we used to read the contents of the
tree into stage #1 of the index and compared them with stage #0.  In order
not to lose sight of entries originally unmerged in the index, we hoisted
them to stage #3 before reading the tree.

Commit d1f2d7e (Make run_diff_index() use unpack_trees(), not read_tree(),
2008-01-19) changed all this.  These days, we instead use unpack_trees()
API to traverse the tree and compare the contents with the index, without
modifying the index at all.  There is no reason to hoist the unmerged
entries to stage #3 anymore.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodiff-index: report unmerged new entries
Junio C Hamano [Tue, 4 Aug 2009 23:25:40 +0000 (16:25 -0700)] 
diff-index: report unmerged new entries

Since an earlier change to diff-index by d1f2d7e (Make run_diff_index()
use unpack_trees(), not read_tree(), 2008-01-19), we stopped reporting an
unmerged path that does not exist in the tree, but we should.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agohg-to-git: don't import the unused popen2 module
Miklos Vajna [Mon, 3 Aug 2009 16:41:34 +0000 (18:41 +0200)] 
hg-to-git: don't import the unused popen2 module

Importing the popen2 module in Python-2.6 results in the
"DeprecationWarning: The popen2 module is deprecated.  Use the
subprocess module." message. The module itself isn't used in fact, so
just removing it solves the problem.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agosend-email: remove debug trace
Erik Faye-Lund [Tue, 4 Aug 2009 21:57:34 +0000 (21:57 +0000)] 
send-email: remove debug trace

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
15 years agorun-command.c: squelch a "use before assignment" warning
David Soria Parra [Tue, 4 Aug 2009 09:28:40 +0000 (11:28 +0200)] 
run-command.c: squelch a "use before assignment" warning

i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490) compiler
(and probably others) mistakenly thinks variable failed_errno is used
before assigned.  Work it around by giving it a fake initialization.

Signed-off-by: David Soria Parra <dsp@php.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogitweb: fix 'Use of uninitialized value' error in href()
Giuseppe Bilotta [Fri, 31 Jul 2009 06:48:49 +0000 (08:48 +0200)] 
gitweb: fix 'Use of uninitialized value' error in href()

Equality between file_parent and file_name was being checked without a
preliminary check for existence of the parameters.

Fix by wrapping the equality check in appropriate if (defined ...),
rearranging the lines to prevent excessive length.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agotechnical-docs: document tree-walking API
Stephen Boyd [Tue, 4 Aug 2009 04:13:21 +0000 (21:13 -0700)] 
technical-docs: document tree-walking API

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'jc/1.7.0-diff-whitespace-only-status' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:17 +0000 (23:11 -0700)] 
Merge branch 'jc/1.7.0-diff-whitespace-only-status' into jch

* jc/1.7.0-diff-whitespace-only-status:
  diff: Rename QUIET internal option to QUICK
  diff: change semantics of "ignore whitespace" options

15 years agoMerge branch 'jc/1.7.0-push-safety' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:17 +0000 (23:11 -0700)] 
Merge branch 'jc/1.7.0-push-safety' into jch

* jc/1.7.0-push-safety:
  Refuse deleting the current branch via push
  Refuse updating the current branch in a non-bare repository via push

15 years agoMerge branch 'cc/replace' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:17 +0000 (23:11 -0700)] 
Merge branch 'cc/replace' into jch

* cc/replace:
  t6050: check pushing something based on a replaced commit
  Documentation: add documentation for "git replace"
  Add git-replace to .gitignore
  builtin-replace: use "usage_msg_opt" to give better error messages
  parse-options: add new function "usage_msg_opt"
  builtin-replace: teach "git replace" to actually replace
  Add new "git replace" command
  environment: add global variable to disable replacement
  mktag: call "check_sha1_signature" with the replacement sha1
  replace_object: add a test case
  object: call "check_sha1_signature" with the replacement sha1
  sha1_file: add a "read_sha1_file_repl" function
  replace_object: add mechanism to replace objects found in "refs/replace/"
  refs: add a "for_each_replace_ref" function

15 years agoMerge branch 'mk/grep-max-depth' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:16 +0000 (23:11 -0700)] 
Merge branch 'mk/grep-max-depth' into jch

* mk/grep-max-depth:
  grep: Add --max-depth option.

15 years agoMerge branch 'sb/read-tree' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:16 +0000 (23:11 -0700)] 
Merge branch 'sb/read-tree' into jch

* sb/read-tree:
  read-tree: migrate to parse-options
  read-tree: convert unhelpful usage()'s to helpful die()'s

15 years agoMerge branch 'jc/apply-epoch-patch' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:16 +0000 (23:11 -0700)] 
Merge branch 'jc/apply-epoch-patch' into jch

* jc/apply-epoch-patch:
  apply: notice creation/removal patches produced by GNU diff

15 years agoMerge branch 'sb/parse-options' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:16 +0000 (23:11 -0700)] 
Merge branch 'sb/parse-options' into jch

* sb/parse-options:
  prune-packed: migrate to parse-options
  verify-pack: migrate to parse-options
  verify-tag: migrate to parse-options
  write-tree: migrate to parse-options

15 years agoMerge branch 'ns/init-mkdir' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:16 +0000 (23:11 -0700)] 
Merge branch 'ns/init-mkdir' into jch

* ns/init-mkdir:
  git init: optionally allow a directory argument

Conflicts:
builtin-init-db.c

15 years agoMerge branch 'mk/init-db-parse-options' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:15 +0000 (23:11 -0700)] 
Merge branch 'mk/init-db-parse-options' into jch

* mk/init-db-parse-options:
  init-db: migrate to parse-options

15 years agoMerge branch 'js/run-command-updates' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:15 +0000 (23:11 -0700)] 
Merge branch 'js/run-command-updates' into jch

* js/run-command-updates:
  receive-pack: remove unnecessary run_status report
  run_command: report failure to execute the program, but optionally don't
  run_command: encode deadly signal number in the return value
  run_command: report system call errors instead of returning error codes
  run_command: return exit code as positive value
  MinGW: simplify waitpid() emulation macros

15 years agoMerge branch 'jk/maint-show-tag' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:15 +0000 (23:11 -0700)] 
Merge branch 'jk/maint-show-tag' into jch

* jk/maint-show-tag:
  show: add space between multiple items
  show: suppress extra newline when showing annotated tag

15 years agoMerge branch 'sb/maint-pull-rebase' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:15 +0000 (23:11 -0700)] 
Merge branch 'sb/maint-pull-rebase' into jch

* sb/maint-pull-rebase:
  pull: support rebased upstream + fetch + pull --rebase
  t5520-pull: Test for rebased upstream + fetch + pull --rebase

15 years agoMerge branch 'ne/futz-upload-pack' into jch
Junio C Hamano [Mon, 3 Aug 2009 06:11:14 +0000 (23:11 -0700)] 
Merge branch 'ne/futz-upload-pack' into jch

* ne/futz-upload-pack:
  Shift object enumeration out of upload-pack

Conflicts:
upload-pack.c

15 years agoFix typos on pt_BR/gittutorial.txt translation
André Goddard Rosa [Fri, 31 Jul 2009 16:50:50 +0000 (13:50 -0300)] 
Fix typos on pt_BR/gittutorial.txt translation

With extra fixes from Thadeu and Carlos as well.

Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Carlos R. Mafra <crmafra2@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: git-send-email: correct statement about standard ports
Wesley J. Landaker [Fri, 31 Jul 2009 17:45:00 +0000 (11:45 -0600)] 
Documentation: git-send-email: correct statement about standard ports

The current documentation states that servers typically listen on port
465 and calls this "ssmtp". While it's true that many mail servers use
port 465 for SSL smtp, this is non-standard, and hails from the days
before smtp and submission TLS support, that arrived in RFC2487 and
RFC3207. Port 465 is actually assigned by IANA for unrelated purposes,
and is mostly still used by mail servers today only to support Outlook
Express.

In any case, this patch helps the documentation better reflect both
standards and reality, while still helpfully mentioning ports numbers
that a user may wish to specify.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDocumentation: git-send-email: fix submission port number
Wesley J. Landaker [Thu, 30 Jul 2009 23:08:53 +0000 (17:08 -0600)] 
Documentation: git-send-email: fix submission port number

The current documentation confuses non-standard SSL smtp port 465 with
submission port 587 (RFC 4406). This patch just changes the referenced
number.

Signed-off-by: Wesley J. Landaker <wjl@icecavern.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoconfig: Keep inner whitespace verbatim
Björn Steinbrink [Thu, 30 Jul 2009 11:41:57 +0000 (13:41 +0200)] 
config: Keep inner whitespace verbatim

Configuration values are expected to be quoted when they have leading or
trailing whitespace, but inner whitespace should be kept verbatim even if
the value is not quoted. This is already documented in git-config(1), but
the code caused inner whitespace to be collapsed to a single space,
breaking, for example, clones from a path that has two consecutive spaces
in it, as future fetches would only see a single space.

Reported-by: John te Bokkel <tanj.tanj@gmail.com>
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit fast-export: add --no-data option
Geoffrey Irving [Tue, 28 Jul 2009 02:20:22 +0000 (22:20 -0400)] 
git fast-export: add --no-data option

When using git fast-export and git fast-import to rewrite the history
of a repository with large binary files, almost all of the time is
spent dealing with blobs.  This is extremely inefficient if all we want
to do is rewrite the commits and tree structure.  --no-data skips the
output of blobs and writes SHA-1s instead of marks, which provides a
massive speedup.

Signed-off-by: Geoffrey Irving <irving@naml.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoparse-opt: optionally show "--no-" option string
Johannes Schindelin [Mon, 27 Jul 2009 18:49:56 +0000 (20:49 +0200)] 
parse-opt: optionally show "--no-" option string

It is usually better to have positive options, to avoid confusing double
negations.  However, sometimes it is desirable to show the negative option
in the help.

Introduce the flag PARSE_OPT_NEGHELP to do that.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agomerge-recursive: don't segfault while handling rename clashes
Junio C Hamano [Fri, 31 Jul 2009 00:38:15 +0000 (17:38 -0700)] 
merge-recursive: don't segfault while handling rename clashes

When a branch moves A to B while the other branch created B (or moved C to
B), the code tried to rename one of them to B~something to preserve both
versions, and failed to register temporary resolution for the original
path B at stage#0 during virtual ancestor computation.  This left the
index in unmerged state and caused a segfault.

A better solution is to merge these two versions of B's in place and use
the (potentially conflicting) result as the intermediate merge result in
the virtual ancestor.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agogit-checkout: be careful about untracked symlinks
Linus Torvalds [Thu, 30 Jul 2009 03:22:25 +0000 (20:22 -0700)] 
git-checkout: be careful about untracked symlinks

This fixes the case where an untracked symlink that points at a directory
with tracked paths confuses the checkout logic, demostrated in t6035.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agolstat_cache: guard against full match of length of 'name' parameter
Kjetil Barvik [Sun, 14 Jun 2009 13:08:28 +0000 (15:08 +0200)] 
lstat_cache: guard against full match of length of 'name' parameter

longest_path_match() in symlinks.c does exactly what it's name says,
but in some cases that match can be too long, since the
has_*_leading_path() functions assumes that the match will newer be as
long as the name string given to the function.

fix this by adding an extra if test which checks if the match length
is equal to the 'len' parameter.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoDemonstrate bugs when a directory is replaced with a symlink
Pickens, James E [Wed, 29 Jul 2009 21:02:39 +0000 (14:02 -0700)] 
Demonstrate bugs when a directory is replaced with a symlink

This test creates two directories, a/b and a/b-2, then replaces a/b with
a symlink to a/b-2, then merges that change into the 'baseline' commit,
which contains an unrelated change.

There are two bugs:
1. 'git checkout' incorrectly deletes work tree file a/b-2/d.
2. 'git merge' incorrectly deletes work tree file a/b-2/d.

The test goes on to create another branch in which a/b-2 is replaced
with a symlink to a/b (i.e., the reverse of what was done the first
time), and merge it into the 'baseline' commit.

There is a different bug:
3. The merge should be clean, but git reports a conflict.

Signed-off-by: James Pickens <james.e.pickens@intel.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoTranslate the tutorial to Brazillian Portuguese
Thadeu Lima de Souza Cascardo [Mon, 29 Jun 2009 15:32:22 +0000 (12:32 -0300)] 
Translate the tutorial to Brazillian Portuguese

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agorequest-pull: optionally show a patch as well
Junio C Hamano [Mon, 27 Jul 2009 21:27:47 +0000 (14:27 -0700)] 
request-pull: optionally show a patch as well

Allow git request-pull to append diff body into the pull request.

It's useful for small series of commits.

Tested-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoMerge branch 'hv/cvsps-tests'
Junio C Hamano [Wed, 29 Jul 2009 17:39:57 +0000 (10:39 -0700)] 
Merge branch 'hv/cvsps-tests'

* hv/cvsps-tests:
  t/t9600: remove exit after test_done
  cvsimport: extend testcase about patchset order to contain branches
  cvsimport: add test illustrating a bug in cvsps
  Add a test of "git cvsimport"'s handling of tags and branches
  Add some tests of git-cvsimport's handling of vendor branches
  Test contents of entire cvsimported "master" tree contents
  Use CVS's -f option if available (ignore user's ~/.cvsrc file)
  Start a library for cvsimport-related tests

15 years agoAdd a reminder test case for a merge with F/D transition
Alex Riesen [Mon, 11 May 2009 09:31:42 +0000 (11:31 +0200)] 
Add a reminder test case for a merge with F/D transition

The problem is that if a file was replaced with a directory containing
another file with the same content and mode, an attempt to merge it
with a branch descended from a commit before this F->D transition will
cause merge-recursive to break. It breaks even if there were no
conflicting changes on that other branch.

Originally reported by Anders Melchiorsen.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodiff: Rename QUIET internal option to QUICK
Junio C Hamano [Sat, 23 May 2009 08:15:35 +0000 (01:15 -0700)] 
diff: Rename QUIET internal option to QUICK

The option "QUIET" primarily meant "find if we have _any_ difference as
quick as possible and report", which means we often do not even have to
look at blobs if we know the trees are different by looking at the higher
level (e.g. "diff-tree A B").  As a side effect, because there is no point
showing one change that we happened to have found first, it also enables
NO_OUTPUT and EXIT_WITH_STATUS options, making the end result look quiet.

Rename the internal option to QUICK to reflect this better; it also makes
grepping the source tree much easier, as there are other kinds of QUIET
option everywhere.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agodiff: change semantics of "ignore whitespace" options
Junio C Hamano [Fri, 22 May 2009 19:45:29 +0000 (12:45 -0700)] 
diff: change semantics of "ignore whitespace" options

Traditionally, the --ignore-whitespace* options have merely meant to tell
the diff output routine that some class of differences are not worth
showing in the textual diff output, so that the end user has easier time
to review the remaining (presumably more meaningful) changes.  These
options never affected the outcome of the command, given as the exit
status when the --exit-code option was in effect (either directly or
indirectly).

When you have only whitespace changes, however, you might expect

git diff -b --exit-code

to report that there is _no_ change with zero exit status.

Change the semantics of --ignore-whitespace* options to mean more than
"omit showing the difference in text".

The exit status, when --exit-code is in effect, is computed by checking if
we found any differences at the path level, while diff frontends feed
filepairs to the diffcore engine.  When "ignore whitespace" options are in
effect, we defer this determination until the very end of diffcore
transformation.  We simply do not know until the textual diff is
generated, which comes very late in the pipeline.

When --quiet is in effect, various diff frontends optimize by breaking out
early from the loop that enumerates the filepairs, when we find the first
path level difference; when --ignore-whitespace* is used the above change
automatically disables this optimization.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoRefuse deleting the current branch via push
Junio C Hamano [Mon, 9 Feb 2009 08:19:46 +0000 (00:19 -0800)] 
Refuse deleting the current branch via push

This makes git-push refuse deleting the current branch by default.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoRefuse updating the current branch in a non-bare repository via push
Junio C Hamano [Wed, 11 Feb 2009 10:28:03 +0000 (02:28 -0800)] 
Refuse updating the current branch in a non-bare repository via push

This makes git-push refuse pushing into a non-bare repository to update
the current branch by default.  To help people who are used to be able to
do this (and later "reset --hard" it in some other way), an error message
is issued when this refusal is triggered, instructing how to resurrect the
old behaviour.

Hosting sites that do not give the users direct access to customize their
repositories (e.g. repo.or.cz, gitorious, github etc.) may further want to
explicitly set the configuration variable to "refuse" for their customers'
repositories.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years agoStart 1.6.5 cycle
Junio C Hamano [Wed, 29 Jul 2009 16:33:29 +0000 (09:33 -0700)] 
Start 1.6.5 cycle

The next major release will be 1.6.5, hopefully with a shorter cycle
than the 1.6.4 cycle.  After that in 1.7.0 we can make potentially
backward incompatible changes if necessary.

Signed-off-by: Junio C Hamano <gitster@pobox.com>