]> asedeno.scripts.mit.edu Git - git.git/log
git.git
16 years agoMerge branch 'ar/add-unreadable'
Junio C Hamano [Wed, 21 May 2008 21:16:46 +0000 (14:16 -0700)]
Merge branch 'ar/add-unreadable'

* ar/add-unreadable:
  Add a config option to ignore errors for git-add
  Add a test for git-add --ignore-errors
  Add --ignore-errors to git-add to allow it to skip files with read errors
  Extend interface of add_files_to_cache to allow ignore indexing errors
  Make the exit code of add_file_to_index actually useful

16 years agoMerge branch 'ds/branch-auto-rebase'
Junio C Hamano [Wed, 21 May 2008 21:16:33 +0000 (14:16 -0700)]
Merge branch 'ds/branch-auto-rebase'

* ds/branch-auto-rebase:
  Allow tracking branches to set up rebase by default.

16 years agoMerge branch 'sv/first-parent'
Junio C Hamano [Wed, 21 May 2008 21:15:52 +0000 (14:15 -0700)]
Merge branch 'sv/first-parent'

* sv/first-parent:
  revision.c: really honor --first-parent
  Simplify and fix --first-parent implementation

16 years agoMerge branch 'np/pack'
Junio C Hamano [Wed, 21 May 2008 21:15:19 +0000 (14:15 -0700)]
Merge branch 'np/pack'

* np/pack:
  pack-objects: fix early eviction for max depth delta objects
  pack-objects: allow for early delta deflating
  pack-objects: move compression code in a separate function
  pack-objects: clean up write_object() a bit
  pack-objects: simplify the condition associated with --all-progress
  pack-objects: remove some double negative logic
  pack-objects: small cleanup

16 years agoMerge branch 'as/graph'
Junio C Hamano [Wed, 21 May 2008 21:05:02 +0000 (14:05 -0700)]
Merge branch 'as/graph'

* as/graph:
  graph API: eliminate unnecessary indentation
  log and rev-list: add --graph option
  Add history graph API
  revision API: split parent rewriting and parent printing options

16 years agoMerge branch 'jk/maint-send-email-compose'
Junio C Hamano [Wed, 21 May 2008 20:57:50 +0000 (13:57 -0700)]
Merge branch 'jk/maint-send-email-compose'

* jk/maint-send-email-compose:
  send-email: rfc2047-quote subject lines with non-ascii characters
  send-email: specify content-type of --compose body

Conflicts:

t/t9001-send-email.sh

Due to 065096c (git-send-email.perl: Handle shell metacharacters in
$EDITOR properly, 2008-05-04) which is a backward incompatible change (but
it makes handling of EDITOR consistent with other parts of the system),
the test script t9001 had to be adjusted.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoMerge branch 'hb/maint-send-email-quote-recipients'
Junio C Hamano [Wed, 21 May 2008 20:09:31 +0000 (13:09 -0700)]
Merge branch 'hb/maint-send-email-quote-recipients'

* hb/maint-send-email-quote-recipients:
  Fix recipient santitization

16 years agocvsexportcommit: Create config option for CVS dir
Trent Piepho [Thu, 8 May 2008 21:26:55 +0000 (14:26 -0700)]
cvsexportcommit: Create config option for CVS dir

For a given project the directory used with the -w option is almost always
the same each time.  Let it be specified with 'cvsexportcommit.cvsdir' so
it's not necessary to manually add it with -w each time.

Signed-off-by: Trent Piepho <tpiepho@freescale.com>
Acked-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoFix recipient santitization
Horst H. von Brand [Fri, 28 Mar 2008 14:09:04 +0000 (11:09 -0300)]
Fix recipient santitization

Need to quote all special characters, not just the first one

Signed-off-by: Horst H. von Brand <vonbrand@inf.utfsm.cl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agosend-email: rfc2047-quote subject lines with non-ascii characters
Jeff King [Fri, 28 Mar 2008 21:29:01 +0000 (17:29 -0400)]
send-email: rfc2047-quote subject lines with non-ascii characters

We always use 'utf-8' as the encoding, since we currently
have no way of getting the information from the user.

This also refactors the quoting of recipient names, since
both processes can share the rfc2047 quoting code.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agosend-email: specify content-type of --compose body
Jeff King [Fri, 28 Mar 2008 21:28:33 +0000 (17:28 -0400)]
send-email: specify content-type of --compose body

If the compose message contains non-ascii characters, then
we assume it is in utf-8 and include the appropriate MIME
headers. If the user has already included a MIME-Version
header, then we assume they know what they are doing and
don't add any headers.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoDocumentation: rev-parse: add a few "--verify" and "--default" examples
Christian Couder [Tue, 13 May 2008 04:51:41 +0000 (06:51 +0200)]
Documentation: rev-parse: add a few "--verify" and "--default" examples

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-merge: exclude unnecessary options from OPTIONS_SPEC
Miklos Vajna [Mon, 12 May 2008 17:22:56 +0000 (19:22 +0200)]
git-merge: exclude unnecessary options from OPTIONS_SPEC

gitcli(5) already documents them, and there are no options named
--no-no-stat, --no-no-summary and --no-no-log.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years ago"git-add -n -u" should not add but just report
Junio C Hamano [Wed, 21 May 2008 19:04:34 +0000 (12:04 -0700)]
"git-add -n -u" should not add but just report

Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoFix t3701 if core.filemode disabled
Alex Riesen [Tue, 20 May 2008 21:59:32 +0000 (23:59 +0200)]
Fix t3701 if core.filemode disabled

[jc: squashed in suggestions from Jeff King]

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoclone: fall back to copying if hardlinking fails
Daniel Barkalow [Tue, 20 May 2008 18:15:14 +0000 (14:15 -0400)]
clone: fall back to copying if hardlinking fails

Note that it stops trying hardlinks if any fail.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoFix t6031 on filesystems without working exec bit
Alex Riesen [Sun, 18 May 2008 14:57:27 +0000 (16:57 +0200)]
Fix t6031 on filesystems without working exec bit

The point of the test is not really to test the ability of the
filesystem to keep the given x-bit, but to check is merge-recursive
correctly handles it.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoFix prepare-commit-msg hook and replace in-place sed
Marcel Koeppen [Wed, 21 May 2008 16:25:54 +0000 (18:25 +0200)]
Fix prepare-commit-msg hook and replace in-place sed

The patterns to the case statement could never be matched, so the hook
was a noop. This patch also replaces the non-portable use of in-place sed.

Signed-off-by: Marcel Koeppen <git-dev@marzelpan.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-gui: Add a --trace command line option
Shawn O. Pearce [Sun, 18 May 2008 17:08:17 +0000 (13:08 -0400)]
git-gui: Add a --trace command line option

Often new Git users want to know what commands git-gui uses to make
changes, so they can learn the command line interface by mimicking
what git-gui does in response to GUI actions.  Showing the direct
commands being executed is easy enough to implement but this is of
little value to end-users because git-gui frequently directly calls
plumbing, not porcelain.

Since the code is already written and tested, its fairly harmless
to include.  It may not help a new end-user, but it can help with
debugging git-gui or reverse-engineering its logic to further make
changes to it or implement another GUI for Git.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
16 years agogitk: Fix bug where current row number display stops working
Paul Mackerras [Tue, 20 May 2008 10:51:06 +0000 (20:51 +1000)]
gitk: Fix bug where current row number display stops working

The display of the current row number would stop working if the user
clicked on a line, or if selectedline got unset for any other reason,
because the trace on it got lost when it was unselected.  This fixes
it by changing the places that unset selectedline to set it to the
empty string instead, and the places that tested for it being set or
unset to compare it with the empty string.  Thus it never gets unset
now.  This actually simplified the code in a few places since it can
be compared for equality with a row number now without first testing
if it is set.

Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years agogit-am: fix typo in usage message
Jeff King [Mon, 19 May 2008 20:09:06 +0000 (16:09 -0400)]
git-am: fix typo in usage message

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agodoc/git-daemon: s/uploadarchive/uploadarch/
Jeff King [Mon, 19 May 2008 20:08:33 +0000 (16:08 -0400)]
doc/git-daemon: s/uploadarchive/uploadarch/

The git-daemon upload-archive feature has always used the
config directive 'daemon.uploadarch'; the documentation
which came later seems to have just mistakenly used the
wrong name.

Noticed by lionel@over-blog.com.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoDocumentation: Add missing git svn commands
Gustaf Hendeby [Mon, 19 May 2008 22:47:28 +0000 (00:47 +0200)]
Documentation: Add missing git svn commands

Signed-off-by: Gustaf Hendeby <hendeby@isy.liu.se>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agounpack-trees: allow Porcelain to give different error messages
Junio C Hamano [Sat, 17 May 2008 19:03:49 +0000 (12:03 -0700)]
unpack-trees: allow Porcelain to give different error messages

The plumbing output is sacred as it is an API.  We _could_ change it if it
is broken in such a way that it cannot convey necessary information fully,
but we just do not _reword_ for the sake of rewording.  If somebody does
not like it, s/he is complaining too late.  S/he should have been here in
early May 2005 and make the language used by the API closer to what humans
read.  S/he wasn't here.  Too bad, and it is too late.

And people who complain should look at a bigger picture.  Look at what was
suggested by one of them and think for five seconds:

     $ git checkout mytopic
    -fatal: Entry 'frotz' not uptodate. Cannot merge.
    +fatal: Entry 'frotz' has local changes. Cannot merge.

If you do not see something wrong with this output, your brain has already
been rotten with use of git for too long a time.  Nobody asked us to
"merge" but why are we talking about "Cannot merge"?

This patch introduces a mechanism to allow Porcelains to specify messages
that are different from the ones that is given by the underlying plumbing
implementation of read-tree, so that we can reword the message Porcelains give
without disrupting the output from the plumbing.

    $ git-checkout pu
    error: You have local changes to 'Makefile'; cannot switch branches.

There are other places that ask unpack_trees() to n-way merge, detect
issues  and let it issue error message on its own, but I did this as a
demonstration and replaced only one message.

Yes I know about C99 structure initializers.  I'd love to use them but we
try to be nice to compilers without it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agot/Makefile: "trash" directory was renamed recently
Brandon Casey [Sun, 18 May 2008 04:03:03 +0000 (23:03 -0500)]
t/Makefile: "trash" directory was renamed recently

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoEnsure that a test is run in the trash directory
Alex Riesen [Sun, 18 May 2008 15:27:00 +0000 (17:27 +0200)]
Ensure that a test is run in the trash directory

Exit with error if cd into the "trash directory" failed (error
already reported, so just exit).

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agobuiltin-clone.c: Need to closedir() in copy_or_link_directory()
Brandon Casey [Sun, 18 May 2008 04:00:01 +0000 (23:00 -0500)]
builtin-clone.c: Need to closedir() in copy_or_link_directory()

So not to leak file descriptors, close the directory after opening it.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogitk: Move es.po where it belongs
Michele Ballabio [Sat, 17 May 2008 17:16:31 +0000 (19:16 +0200)]
gitk: Move es.po where it belongs

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years agogitk: Fix "wrong # coordinates" error on reload
Paul Mackerras [Sun, 18 May 2008 23:48:45 +0000 (09:48 +1000)]
gitk: Fix "wrong # coordinates" error on reload

This fixes the Tk error "wrong # coordinates: expected 0 or 4, got 2"
that sometimes occurred when reloading.  The problem was that we didn't
unset the variables containing the canvas item id numbers for the
displayed rows when we cleared the canvases.  Thus make_secsel would
think it had something to do when it didn't.

Thanks to Michele Ballabio for finding a way to trigger the bug
reliably.

Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years agobuiltin-apply: do not declare patch is creation when we do not know it
Junio C Hamano [Sat, 17 May 2008 09:02:44 +0000 (02:02 -0700)]
builtin-apply: do not declare patch is creation when we do not know it

When we see no context nor deleted line in the patch, we used to declare
that the patch creates a new file.  But some people create an empty file
and then apply a patch to it.  Similarly, a patch that delete everything
is not a deletion patch either.

This commit corrects these two issues.  Together with the previous commit,
it allows a diff between an empty file and a line-ful file to be treated
as both creation patch and "add stuff to an existing empty file",
depending on the context.  A new test t4126 demonstrates the fix.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agot0050: Fix merge test on case sensitive file systems
Steffen Prohaska [Thu, 15 May 2008 05:19:54 +0000 (07:19 +0200)]
t0050: Fix merge test on case sensitive file systems

On a case sensitive filesystem, "git reset --hard" might refuse to
overwrite a file whose name differs only by case, even if
core.ignorecase is set.  It is not clear which circumstances cause this
behavior.  This commit simply works around the problem by removing
the case changing file before running "git reset --hard".

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoMakefile: update the default build options for AIX
Mike Ralphson [Wed, 7 May 2008 08:35:55 +0000 (09:35 +0100)]
Makefile: update the default build options for AIX

NO_MKDTEMP is required to build, FREAD_READS_DIRECTORIES and the definition
of _LARGE_FILES fix test suite failures and INTERNAL_QSORT is required for
adequate performance.

Tested on AIX v5.3 Maintenance Level 06

Signed-off-by: Mike Ralphson <mike@abacus.co.uk>
Tested-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agobuiltin-apply: accept patch to an empty file
Junio C Hamano [Sat, 17 May 2008 08:51:31 +0000 (01:51 -0700)]
builtin-apply: accept patch to an empty file

A patch from a foreign SCM (or plain "diff" output) often have both
preimage and postimage filename on ---/+++ lines even for a patch that
creates a new file.  However, when there is a filename for preimage, we
used to insist the file to exist (either in the work tree and/or in the
index).  When we cannot be sure by parsing the patch that it is not a
creation patch, we shouldn't complain when if there is no such a file.
This commit fixes the logic.

Refactor the code that validates the preimage file into a separate
function while we are at it, as it is getting rather big.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agobuiltin-apply: typofix
Junio C Hamano [Sat, 17 May 2008 08:46:47 +0000 (01:46 -0700)]
builtin-apply: typofix

Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoMerge branch 'maint'
Junio C Hamano [Sat, 17 May 2008 05:10:13 +0000 (22:10 -0700)]
Merge branch 'maint'

* maint:
  git-filter-branch: Clarify file removal example.

16 years agoReplace in-place sed in t7502-commit
Marcel Koeppen [Fri, 16 May 2008 00:21:43 +0000 (02:21 +0200)]
Replace in-place sed in t7502-commit

The in-place mode of sed used in t7502-commit is a non-POSIX extension.
That call of sed is replaced by a more portable version using a temporary file.

Signed-off-by: Marcel Koeppen <git-dev@marzelpan.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-filter-branch: Clarify file removal example.
Jon Loeliger [Fri, 16 May 2008 19:43:50 +0000 (14:43 -0500)]
git-filter-branch: Clarify file removal example.

Signed-off-by: Jon Loeliger <jdl@jdl.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agosubmodule update: add convenience option --init
Johannes Schindelin [Fri, 16 May 2008 10:23:03 +0000 (11:23 +0100)]
submodule update: add convenience option --init

When a submodule is not initialized and you do not want to change the
defaults from .gitmodules anyway, you can now say

$ git submodule update --init <name>

When "update" is called without --init on an uninitialized submodule,
a hint to use --init is printed.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoDocumentation/git-repack.txt: document new -A behaviour
Chris Frey [Fri, 16 May 2008 02:37:31 +0000 (22:37 -0400)]
Documentation/git-repack.txt: document new -A behaviour

Add paragraph for the -A option, and describe the new behaviour
that makes unreachable objects loose.

Signed-off-by: Chris Frey <cdfrey@foursquare.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-fast-import: rename cmd_*() functions to parse_*()
Miklos Vajna [Thu, 15 May 2008 22:35:56 +0000 (00:35 +0200)]
git-fast-import: rename cmd_*() functions to parse_*()

There is a cmd_merge() function in fast-import that will conflict with
builtin-merge's cmd_merge() function. To keep it consistent, rename all
cmd_*() function to parse_*()

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoDocumentation/git-web--browse.txt: fix small typo
Teemu Likonen [Thu, 15 May 2008 17:52:22 +0000 (20:52 +0300)]
Documentation/git-web--browse.txt: fix small typo

Change "brower.konqueror.path" to "browser.konqueror.path" in
documentation.

Signed-off-by: Teemu Likonen <tlikonen@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoUse '-f' option to point to the .gitmodules file
Imran M Yousuf [Thu, 15 May 2008 07:42:58 +0000 (13:42 +0600)]
Use '-f' option to point to the .gitmodules file

'git config' has a '-f' option that takes the file to parse.
Using it rather than the environment variable seems more logical
and simplified.

Signed-off-by: Imran M Yousuf <imyousuf@smartitengineering.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-cvsserver: add ability to guess -kb from contents
Matthew Ogilvie [Thu, 15 May 2008 04:35:48 +0000 (22:35 -0600)]
git-cvsserver: add ability to guess -kb from contents

If "gitcvs.allbinary" is set to "guess", then any file that has
not been explicitly marked as binary or text using the "crlf" attribute
and the "gitcvs.usecrlfattr" config will guess binary based on the contents
of the file.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoimplement gitcvs.usecrlfattr
Matthew Ogilvie [Thu, 15 May 2008 04:35:47 +0000 (22:35 -0600)]
implement gitcvs.usecrlfattr

If gitcvs.usecrlfattr is set to true, git-cvsserver will consult
the "crlf" for each file to determine if it should mark the file
as binary (-kb).

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-cvsserver: add mechanism for managing working tree and current directory
Matthew Ogilvie [Thu, 15 May 2008 04:35:46 +0000 (22:35 -0600)]
git-cvsserver: add mechanism for managing working tree and current directory

There are various reasons git-cvsserver needs to manipulate the current
directory, and this patch attempts to clarify and validate such changes:

1. Temporary empty working directory (with index) for certain operations
   that require an index file to work.
2. Use a temporary directory with temporary file names for doing
   merges of user's dirty sandbox state with latest changes in
   repository.
3. Coming up soon: Set up an index and either a valid or empty
   working directory when calling git-check-attr to decide
   if a file should be marked binary (-kb).

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agocvsexportcommit: introduce -W for shared working trees (between Git and CVS)
Johannes Schindelin [Wed, 14 May 2008 14:29:49 +0000 (15:29 +0100)]
cvsexportcommit: introduce -W for shared working trees (between Git and CVS)

If you have a CVS checkout, it is easy to import the CVS history by
calling "git cvsimport".  However, interacting with the CVS repository
using "git cvsexportcommit" was cumbersome, since that script assumes
separate working directories for Git and CVS.

Now, you can call cvsexportcommit with the -W option.  This will
automatically discover the GIT_DIR, and it will check out the parent
commit before exporting the commit.

The intended workflow is this:

$ CVSROOT=$URL cvs co module
$ cd module
$ git cvsimport
hack, hack, hack, making two commits, cleaning them up using rebase -i.
$ git cvsexportcommit -W -c -p -u HEAD^
$ git cvsexportcommit -W -c -p -u HEAD

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoIgnore dirty submodule states during rebase and stash
Johannes Schindelin [Wed, 14 May 2008 17:03:59 +0000 (18:03 +0100)]
Ignore dirty submodule states during rebase and stash

When rebasing or stashing, chances are that you do not care about
dirty submodules, since they are not updated by those actions anyway.
So ignore the submodules' states.

Note: the submodule states -- as committed in the superproject --
will still be stashed and rebased, it is _just_ the state of the
submodule in the working tree which is ignored.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoTeach update-index about --ignore-submodules
Johannes Schindelin [Wed, 14 May 2008 17:03:45 +0000 (18:03 +0100)]
Teach update-index about --ignore-submodules

Like with the diff machinery, update-index should sometimes just
ignore submodules (e.g. to determine a clean state before a rebase).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agodiff options: Introduce --ignore-submodules
Johannes Schindelin [Wed, 14 May 2008 17:03:31 +0000 (18:03 +0100)]
diff options: Introduce --ignore-submodules

The new option --ignore-submodules can now be used to ignore changes in
submodules.

Why?  Sometimes it is not interesting when a submodule changed.

For example, when reordering some commits in the superproject, a dirty
submodule is usually totally uninteresting.  So we will use this option
in git-rebase to test for a dirty working tree.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agocvsexportcommit: chomp only removes trailing whitespace
Johannes Schindelin [Wed, 14 May 2008 22:30:43 +0000 (23:30 +0100)]
cvsexportcommit: chomp only removes trailing whitespace

In commit fef3a7cc(cvsexportcommit: be graceful when "cvs status"
reorders the arguments), caution was taken to get the status even
for files with leading or trailing whitespace.

However, the author of that commit missed that chomp() removes only
trailing newlines.  With help of the mailing list, the author realized
his mistake and provided this patch.

The idea is that we do not want to rely on a certain layout of the
output of "cvs status".  Therefore we only call it with files that are
unambiguous after stripping leading and trailing whitespace.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agobuiltin-clone: fix initial checkout
Johannes Schindelin [Thu, 15 May 2008 09:48:25 +0000 (10:48 +0100)]
builtin-clone: fix initial checkout

Somewhere in the process of finishing up builtin-clone, the update of
the working tree was lost.  This was due to not using the option "merge"
for unpack_trees().

Breakage noticed by Kevin Ballard.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Tested-by: Jeff King <peff@peff.net>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoMerge git://repo.or.cz/git-gui
Junio C Hamano [Thu, 15 May 2008 08:31:15 +0000 (01:31 -0700)]
Merge git://repo.or.cz/git-gui

* git://repo.or.cz/git-gui:
  git-gui: Delete branches with 'git branch -D' to clear config
  git-gui: Setup branch.remote,merge for shorthand git-pull
  git-gui: Update German translation
  git-gui: Don't use '$$cr master' with aspell earlier than 0.60
  git-gui: Report less precise object estimates for database compression

16 years agoDocumentation/git-prune.txt: document unpacked logic
Chris Frey [Wed, 14 May 2008 23:22:18 +0000 (19:22 -0400)]
Documentation/git-prune.txt: document unpacked logic

Clarifies the git-prune man page, documenting that it only
prunes unpacked objects.

Signed-off-by: Chris Frey <cdfrey@foursquare.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoMerge git://git.kernel.org/pub/scm/gitk/gitk
Junio C Hamano [Thu, 15 May 2008 04:27:55 +0000 (21:27 -0700)]
Merge git://git.kernel.org/pub/scm/gitk/gitk

* git://git.kernel.org/pub/scm/gitk/gitk: (44 commits)
  gitk: Add a progress bar for checking out a head
  gitk: Show current row number and total number of rows
  gitk: Allow users to view diffs in external diff viewer
  gitk: Synchronize highlighting in file view for 'f' and 'b' commands
  gitk: Make updates go faster
  gitk: Disable "Reset %s branch to here" when on a detached head
  gitk: German translation again updated
  gitk: Update German translation
  gitk: Makefile/install: force permissions when installing files and dirs
  gitk: Initial Swedish translation.
  gitk: Spanish translation of gitk
  gitk: Fix handling of tree file list with special chars in names
  gitk: Reorganize processing of arguments for git log
  gitk: Fix problem with target row not being in scroll region
  gitk: Avoid a crash in selectline if commitinfo($id) isn't set
  gitk: Fix some corner cases in computing vrowmod and displayorder
  gitk: Correct a few strings and comments to say "git log"
  gitk: Don't filter view arguments through git rev-parse
  gitk: Fix problems with target row stuff
  gitk: Handle updating with path limiting better
  ...

16 years agoMerge branch 'maint'
Junio C Hamano [Wed, 14 May 2008 20:55:17 +0000 (13:55 -0700)]
Merge branch 'maint'

* maint:
  Documentation/git-describe.txt: make description more readable

16 years agoMerge branch 'maint-1.5.4' into maint
Junio C Hamano [Wed, 14 May 2008 20:46:42 +0000 (13:46 -0700)]
Merge branch 'maint-1.5.4' into maint

* maint-1.5.4:
  Documentation/git-describe.txt: make description more readable

16 years agoMerge branch 'sb/committer'
Junio C Hamano [Wed, 14 May 2008 20:45:20 +0000 (13:45 -0700)]
Merge branch 'sb/committer'

* sb/committer:
  commit: Show committer if automatic
  commit: Show author if different from committer
  Preparation to call determine_author_info from prepare_to_commit

16 years agoMerge branch 'bd/tests'
Junio C Hamano [Wed, 14 May 2008 20:45:16 +0000 (13:45 -0700)]
Merge branch 'bd/tests'

* bd/tests:
  Rename the test trash directory to contain spaces.
  Fix tests breaking when checkout path contains shell metacharacters
  Don't use the 'export NAME=value' in the test scripts.
  lib-git-svn.sh: Fix quoting issues with paths containing shell metacharacters
  test-lib.sh: Fix some missing path quoting
  Use test_set_editor in t9001-send-email.sh
  test-lib.sh: Add a test_set_editor function to safely set $VISUAL
  git-send-email.perl: Handle shell metacharacters in $EDITOR properly
  config.c: Escape backslashes in section names properly
  git-rebase.sh: Fix --merge --abort failures when path contains whitespace

Conflicts:

t/t9115-git-svn-dcommit-funky-renames.sh

16 years agoMerge branch 'mv/format-cc'
Junio C Hamano [Wed, 14 May 2008 20:34:34 +0000 (13:34 -0700)]
Merge branch 'mv/format-cc'

* mv/format-cc:
  Add tests for sendemail.cc configuration variable
  git-send-email: add a new sendemail.cc configuration variable
  git-format-patch: add a new format.cc configuration variable

16 years agoMerge branch 'cc/hooks-doc'
Junio C Hamano [Wed, 14 May 2008 20:34:23 +0000 (13:34 -0700)]
Merge branch 'cc/hooks-doc'

* cc/hooks-doc:
  Documentation: rename "hooks.txt" to "githooks.txt" and make it a man page

16 years agoMerge branch 'jk/renamelimit' (early part)
Junio C Hamano [Wed, 14 May 2008 19:37:28 +0000 (12:37 -0700)]
Merge branch 'jk/renamelimit' (early part)

* 'jk/renamelimit' (early part):
  diff: make "too many files" rename warning optional
  bump rename limit defaults
  add merge.renamelimit config option

16 years agoProvide git_config with a callback-data parameter
Johannes Schindelin [Wed, 14 May 2008 17:46:53 +0000 (18:46 +0100)]
Provide git_config with a callback-data parameter

git_config() only had a function parameter, but no callback data
parameter.  This assumes that all callback functions only modify
global variables.

With this patch, every callback gets a void * parameter, and it is hoped
that this will help the libification effort.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoDocumentation/git-describe.txt: make description more readable
Ian Hilt [Wed, 14 May 2008 18:30:55 +0000 (14:30 -0400)]
Documentation/git-describe.txt: make description more readable

Signed-off-by: Ian Hilt <ian.hilt@gmail.com>
Credit-to: Kevin Ballard <kevin@sb.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agolet pack-objects do the writing of unreachable objects as loose objects
Nicolas Pitre [Wed, 14 May 2008 05:33:53 +0000 (01:33 -0400)]
let pack-objects do the writing of unreachable objects as loose objects

Commit ccc1297226b184c40459e9d373cc9eebfb7bd898 changed the behavior
of 'git repack -A' so unreachable objects are stored as loose objects.
However it did so in a naive and inn efficient way by making packs
about to be deleted inaccessible and feeding their content through
'git unpack-objects'.  While this works, there are major flaws with
this approach:

- It is unacceptably sloooooooooooooow.

  In the Linux kernel repository with no actual unreachable objects,
  doing 'git repack -A -d' before:

real    2m33.220s
user    2m21.675s
sys     0m3.510s

  And with this change:

real    0m36.849s
user    0m24.365s
sys     0m1.950s

  For reference, here's the timing for 'git repack -a -d':

real    0m35.816s
user    0m22.571s
sys     0m2.011s

  This is explained by the fact that 'git unpack-objects' was used to
  unpack _every_ objects even if (almost) 100% of them were thrown away.

- There is a black out period.

  Between the removal of the .idx file for the redundant pack and the
  completion of its unpacking, the unreachable objects become completely
  unaccessible.  This is not a big issue as we're talking about unreachable
  objects, but some consistency is always good.

- There is no way to easily set a sensible mtime for the newly created
  unreachable loose objects.

So, while having a command called "pack-objects" to perform object
unpacking looks really odd, this is probably the best compromize to be
able to solve the above issues in an efficient way.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoadd a force_object_loose() function
Nicolas Pitre [Wed, 14 May 2008 05:32:48 +0000 (01:32 -0400)]
add a force_object_loose() function

This is meant to force the creation of a loose object even if it
already exists packed.  Needed for the next commit.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agofilter-branch: fix variable export logic
Jeff King [Tue, 13 May 2008 08:46:38 +0000 (04:46 -0400)]
filter-branch: fix variable export logic

filter-branch tries to restore "old" copies of some
environment variables by using the construct:

  unset var
  test -z "$old_var" || var="$old_var" && export var

This is just wrong.  AND-list and OR-list operators && and || have equal
precedence and they bind left to right.  The second term, var="$old"
assignment always succeeds, so we always end up exporting var.

On bash and dash, exporting an unset variable has no effect. However, on
some shells (such as FreeBSD's /bin/sh), the shell exports the empty
value.

This manifested itself in this case as git-filter-branch setting
GIT_INDEX_FILE to the empty string, which in turn caused its call to
git-read-tree to fail, leaving the working tree pointing at the original
HEAD instead of the rewritten one.

To fix this, we change the short-circuit logic to better match the intent:

  test -z "$old_var" || {
    var="$old_var" && export var
  }

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoclone: bsd shell portability fix
Jeff King [Tue, 13 May 2008 08:45:56 +0000 (04:45 -0400)]
clone: bsd shell portability fix

When using /bin/sh from FreeBSD 6.1, the value of $? is lost
when calling a function inside the 'trap' action. This
resulted in clone erroneously indicating success when it
should have reported failure.

As a workaround, we save the value of $? before calling any
functions.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agot5000: tar portability fix
Jeff King [Tue, 13 May 2008 08:45:32 +0000 (04:45 -0400)]
t5000: tar portability fix

The output of 'tar tv' varies from system to system. In
particular, the t5000 was expecting to parse the date from
something like:

  -rw-rw-r-- root/root         0 2008-05-13 04:27 file

but FreeBSD's tar produces this:

  -rw-rw-r--  0 root   root        0 May 13 04:27 file

Instead of relying on tar's output, let's just extract the
file using tar and stat the result using perl.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agofix bsd shell negation
Jeff King [Wed, 14 May 2008 04:01:22 +0000 (00:01 -0400)]
fix bsd shell negation

On some shells (notably /bin/sh on FreeBSD 6.1), the
construct

  foo && ! bar | baz

is true if

  foo && baz

whereas for most other shells (such as bash) is true if

  foo && ! baz

We can work around this by specifying

  foo && ! (bar | baz)

which works everywhere.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoAdd a config option to ignore errors for git-add
Alex Riesen [Mon, 12 May 2008 17:59:23 +0000 (19:59 +0200)]
Add a config option to ignore errors for git-add

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoAdd a test for git-add --ignore-errors
Alex Riesen [Mon, 12 May 2008 17:58:48 +0000 (19:58 +0200)]
Add a test for git-add --ignore-errors

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoAdd --ignore-errors to git-add to allow it to skip files with read errors
Alex Riesen [Mon, 12 May 2008 17:58:29 +0000 (19:58 +0200)]
Add --ignore-errors to git-add to allow it to skip files with read errors

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoExtend interface of add_files_to_cache to allow ignore indexing errors
Alex Riesen [Mon, 12 May 2008 17:58:10 +0000 (19:58 +0200)]
Extend interface of add_files_to_cache to allow ignore indexing errors

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoMake the exit code of add_file_to_index actually useful
Alex Riesen [Mon, 12 May 2008 17:57:45 +0000 (19:57 +0200)]
Make the exit code of add_file_to_index actually useful

Update the programs which used the function (as add_file_to_cache).

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoImprove reporting of errors in config file routines
Alex Riesen [Mon, 12 May 2008 21:41:04 +0000 (23:41 +0200)]
Improve reporting of errors in config file routines

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoAllow tracking branches to set up rebase by default.
Dustin Sallings [Sat, 10 May 2008 22:36:29 +0000 (15:36 -0700)]
Allow tracking branches to set up rebase by default.

Change cd67e4d4 introduced a new configuration parameter that told
pull to automatically perform a rebase instead of a merge.  This
change provides a configuration option to enable this feature
automatically when creating a new branch.

If the variable branch.autosetuprebase applies for a branch that's
being created, that branch will have branch.<name>.rebase set to true.

Signed-off-by: Dustin Sallings <dustin@spy.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-svn: add test for --add-author-from and --use-log-author
Junio C Hamano [Tue, 13 May 2008 00:09:49 +0000 (17:09 -0700)]
git-svn: add test for --add-author-from and --use-log-author

This adds a minimalistic set of tests to recently added --add-author-from
option and existing --use-log-author option to git-svn.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agorevision.c: really honor --first-parent
Lars Hjemli [Mon, 12 May 2008 15:12:36 +0000 (17:12 +0200)]
revision.c: really honor --first-parent

In add_parents_to_list, if any parent of a revision had already been
SEEN, the current code would continue with the next parent, skipping
the test for --first-parent. This patch inverts the test for SEEN so
that the test for --first-parent is always performed.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoMerge branch 'gp/bisect-fix'
Junio C Hamano [Mon, 12 May 2008 22:44:43 +0000 (15:44 -0700)]
Merge branch 'gp/bisect-fix'

* gp/bisect-fix:
  bisect: print an error message when "git rev-list --bisect-vars" fails
  git-bisect.sh: don't accidentally override existing branch "bisect"

16 years agogitk: Add a progress bar for checking out a head
Paul Mackerras [Mon, 12 May 2008 00:18:38 +0000 (10:18 +1000)]
gitk: Add a progress bar for checking out a head

Now that git checkout reports progress when checking out files, we
can use that to provide a progress bar in gitk.  We re-use the green
progress bar (formerly used when reading stuff in) for that.

Signed-off-by: Paul Mackerras <paulus@samba.org>
16 years agoMerge branch 'maint'
Junio C Hamano [Sun, 11 May 2008 19:09:18 +0000 (12:09 -0700)]
Merge branch 'maint'

* maint:
  wt-status.h: declare global variables as extern
  builtin-commit.c: add -u as short name for --untracked-files
  git-repack: re-enable parsing of -n command line option

16 years agoMerge branch 'maint-1.5.4' into maint
Junio C Hamano [Sun, 11 May 2008 19:09:12 +0000 (12:09 -0700)]
Merge branch 'maint-1.5.4' into maint

* maint-1.5.4:
  wt-status.h: declare global variables as extern
  builtin-commit.c: add -u as short name for --untracked-files
  git-repack: re-enable parsing of -n command line option

16 years agoMerge branch 'lt/core-optim'
Junio C Hamano [Sun, 11 May 2008 19:08:20 +0000 (12:08 -0700)]
Merge branch 'lt/core-optim'

* lt/core-optim:
  Optimize symlink/directory detection
  Avoid some unnecessary lstat() calls
  is_racy_timestamp(): do not check timestamp for gitlinks
  diff-lib.c: rename check_work_tree_entity()
  diff: a submodule not checked out is not modified
  Add t7506 to test submodule related functions for git-status
  t4027: test diff for submodule with empty directory
  Make git-add behave more sensibly in a case-insensitive environment
  When adding files to the index, add support for case-independent matches
  Make unpack-tree update removed files before any updated files
  Make branch merging aware of underlying case-insensitive filsystems
  Add 'core.ignorecase' option
  Make hash_name_lookup able to do case-independent lookups
  Make "index_name_exists()" return the cache_entry it found
  Move name hashing functions into a file of its own
  Make unpack_trees_options bit flags actual bitfields

16 years agorev-parse --verify: do not output anything on error
Christian Couder [Sun, 11 May 2008 16:28:25 +0000 (18:28 +0200)]
rev-parse --verify: do not output anything on error

Before this patch, when "git rev-parse --verify" was passed at least one
good rev and then anything, it would output something for the good rev
even if it would latter exit on error.

With this patch, we only output something if everything is ok.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agorev-parse: fix using "--default" with "--verify"
Christian Couder [Sun, 11 May 2008 16:27:36 +0000 (18:27 +0200)]
rev-parse: fix using "--default" with "--verify"

Before this patch, something like:

$ git rev-parse --verify HEAD --default master

did not work, while:

$ git rev-parse --default master --verify HEAD

worked.

This patch fixes that, so that they both work (assuming
HEAD and master can be parsed).

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agorev-parse: add test script for "--verify"
Christian Couder [Sun, 11 May 2008 16:27:10 +0000 (18:27 +0200)]
rev-parse: add test script for "--verify"

This patch documents the current behavior of "git rev-parse --verify".

This command is tested both with and without the "--quiet" and
"--default" options.

This shows some problems with the current behavior that will be fixed
in latter patches:

- in case of errors, there should be no good rev output on
stdout,
- with "--default" one test case is broken

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agot0050: Add test for case insensitive add
Steffen Prohaska [Sun, 11 May 2008 16:16:42 +0000 (18:16 +0200)]
t0050: Add test for case insensitive add

Add should recognize if a file is added with a different case and add
the file using its original name.

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agot0050: Set core.ignorecase case to activate case insensitivity
Steffen Prohaska [Sun, 11 May 2008 16:16:41 +0000 (18:16 +0200)]
t0050: Set core.ignorecase case to activate case insensitivity

Case insensitive file handling is only active when
core.ignorecase = true.  Hence, we need to set it to give the tests
in t0050 a chance to succeed.  Setting core.ignorecase explicitly
allows to test some aspects of case handling even on case sensitive file
systems.

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agot0050: Test autodetect core.ignorecase
Steffen Prohaska [Sun, 11 May 2008 16:16:40 +0000 (18:16 +0200)]
t0050: Test autodetect core.ignorecase

Verify if core.ignorecase is automatically set to 'true' during
repository initialization if the file system is case insensitive,
and unset or 'false' otherwise.

Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-init: autodetect core.ignorecase
Dmitry Potapov [Sun, 11 May 2008 16:16:39 +0000 (18:16 +0200)]
git-init: autodetect core.ignorecase

We already detect if symbolic links are supported by the filesystem.
This patch adds autodetect for case-insensitive filesystems, such
as VFAT and others.

Signed-off-by: Dmitry Potapov <dpotapov@gmail.com>
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agobuiltin-gc.c: deprecate --prune, it now really has no effect
Brandon Casey [Sat, 10 May 2008 04:01:57 +0000 (23:01 -0500)]
builtin-gc.c: deprecate --prune, it now really has no effect

16 years agogit-gc: always use -A when manually repacking
Brandon Casey [Sat, 10 May 2008 04:01:56 +0000 (23:01 -0500)]
git-gc: always use -A when manually repacking

Now that repack -A will leave unreferenced objects unpacked, there is
no reason to use the -a option to repack (which will discard unreferenced
objects). The unpacked unreferenced objects will not be repacked by a
subsequent repack, and will eventually be pruned by git-gc based on the
gc.pruneExpire config option.

16 years agorepack: modify behavior of -A option to leave unreferenced objects unpacked
Brandon Casey [Sat, 10 May 2008 04:01:55 +0000 (23:01 -0500)]
repack: modify behavior of -A option to leave unreferenced objects unpacked

The previous behavior of the -A option was to retain any previously
packed objects which had become unreferenced, and place them into the newly
created pack file.  Since git-gc, when run automatically with the --auto
option, calls repack with the -A option, this had the effect of retaining
unreferenced packed objects indefinitely. To avoid this scenario, the
user was required to run git-gc with the little known --prune option or
to manually run repack with the -a option.

This patch changes the behavior of the -A option so that unreferenced
objects that exist in any pack file being replaced, will be unpacked into
the repository. The unreferenced loose objects can then be garbage collected
by git-gc (i.e. git-prune) based on the gc.pruneExpire setting.

Also add new tests for checking whether unreferenced objects which were
previously packed are properly left in the repository unpacked after
repacking.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoAdd svn-compatible "blame" output format to git-svn
Steven Grimm [Sun, 11 May 2008 05:11:18 +0000 (22:11 -0700)]
Add svn-compatible "blame" output format to git-svn

git-svn blame produced output in the format of git blame; in environments
where there are scripts that read the output of svn blame, it's useful
to be able to use them with the output of git-svn. The git-compatible
format is still available using the new "--git-format" option.

This also fixes a bug in the initial git-svn blame implementation; it was
bombing out on uncommitted local changes.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agomergetool: Make ECMerge use the settings as specified by the user in the GUI
Sebastian Schuberth [Tue, 6 May 2008 10:53:56 +0000 (12:53 +0200)]
mergetool: Make ECMerge use the settings as specified by the user in the GUI

When run from the command line, ECMerge does not automatically use the same
settings for a merge / diff that it would use when starting the GUI and loading
files manually. In the first case the built-in factory defaults would be used,
while in the second case the settings the user has specified in the GUI would
be used, which can be misleading. Specifying the "--default" command line
option changes this behavior so that always the user specfified GUI settings
are used.

Signed-off-by: Sebastian Schuberth <sschuberth@visageimaging.com>
Tested-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-format-patch: add --no-binary to omit binary changes in the patch.
Caio Marcelo de Oliveira Filho [Fri, 9 May 2008 22:55:43 +0000 (19:55 -0300)]
git-format-patch: add --no-binary to omit binary changes in the patch.

Add a new option --no-binary to git-format-patch so that no binary
changes are included in the generated patches, only notices that those
files changed.  This generate patches that cannot be applied, but still
is useful for generating mails for code review purposes.

See also: commit e47f306d4bf964def1a0b29e8f7cea419471dffd, where --binary
option was turned on by default.

Signed-off-by: Caio Marcelo de Oliveira Filho <cmarcelo@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agowt-status.h: declare global variables as extern
Johannes Sixt [Fri, 9 May 2008 08:05:27 +0000 (10:05 +0200)]
wt-status.h: declare global variables as extern

There are linkers out there that complain if a global non-static variable
is defined multiple times.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agobuiltin-commit.c: add -u as short name for --untracked-files
Sitaram Chamarty [Fri, 9 May 2008 17:12:55 +0000 (22:42 +0530)]
builtin-commit.c: add -u as short name for --untracked-files

This makes the C code consistent with the documentation and the old shell
code.

Signed-off-by: Sitaram Chamarty <sitaramc@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agogit-repack: re-enable parsing of -n command line option
A Large Angry SCM [Sat, 10 May 2008 20:52:51 +0000 (16:52 -0400)]
git-repack: re-enable parsing of -n command line option

In commit 5715d0b (Migrate git-repack.sh to use git-rev-parse --parseopt,
2007-11-04), parsing of the '-n' command line option was accidentally lost
when git-repack.sh was migrated to use git-rev-parse --parseopt. This adds
it back.

Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
16 years agoAllow tracking branches to set up rebase by default.
Dustin Sallings [Sat, 10 May 2008 22:36:29 +0000 (15:36 -0700)]
Allow tracking branches to set up rebase by default.

Change cd67e4d4 introduced a new configuration parameter that told
pull to automatically perform a rebase instead of a merge.  This
change provides a configuration option to enable this feature
automatically when creating a new branch.

If the variable branch.autosetuprebase applies for a branch that's
being created, that branch will have branch.<name>.rebase set to true.

Signed-off-by: Dustin Sallings <dustin@spy.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>