Code

git.git
17 years agogit-svn: add Git::SVN module (to avoid global variables)
Eric Wong [Thu, 11 Jan 2007 20:14:21 +0000 (12:14 -0800)]
git-svn: add Git::SVN module (to avoid global variables)

This should make it easier to improve multi-fetch and
--follow-parent by avoiding global variables.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
17 years agogit-svn: cleanup: avoid re-use()ing Git.pm in sub-packages
Eric Wong [Thu, 11 Jan 2007 10:14:43 +0000 (02:14 -0800)]
git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages

I will be using functions from Git.pm in more modules, so I
want to avoid re-importing the long argument list everywhere
it's used.

Also removed an unused command-line switch
(--no-ignore-externals) and some variables.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
17 years agogit-svn: cleanup: put SVN workarounds into their own namespace
Eric Wong [Wed, 10 Jan 2007 09:22:38 +0000 (01:22 -0800)]
git-svn: cleanup: put SVN workarounds into their own namespace

Force some svn_ra functions to use a temporary pool via wrapper

This cleans up the code a bit by removing explicit instances of
pool allocation and deallocation and providing wrapper functions
that make use of temporary pools.

I've also added an explicit pool usage when creating the commit
editor for commit-diff where get_commit_editor can be called
multiple times with the same pool previously.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
17 years agogit-svn: cleanup: move process_rm around
Eric Wong [Thu, 4 Jan 2007 09:38:18 +0000 (01:38 -0800)]
git-svn: cleanup: move process_rm around

(it's only used in one function now)

Signed-off-by: Eric Wong <normalperson@yhbt.net>
17 years agogit-svn: move authentication prompts into their own namespace
Eric Wong [Thu, 4 Jan 2007 08:45:03 +0000 (00:45 -0800)]
git-svn: move authentication prompts into their own namespace

I'm going to be reorganizing some more code.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
17 years agoMerge branches 'lt/crlf' and 'jc/apply-config'
Junio C Hamano [Fri, 23 Feb 2007 05:34:36 +0000 (21:34 -0800)]
Merge branches 'lt/crlf' and 'jc/apply-config'

* lt/crlf:
  Teach core.autocrlf to 'git apply'
  t0020: add test for auto-crlf
  Make AutoCRLF ternary variable.
  Lazy man's auto-CRLF

* jc/apply-config:
  t4119: test autocomputing -p<n> for traditional diff input.
  git-apply: guess correct -p<n> value for non-git patches.
  git-apply: notice "diff --git" patch again
  Fix botched "leak fix"
  t4119: add test for traditional patch and different p_value
  apply: fix memory leak in prefix_one()
  git-apply: require -p<n> when working in a subdirectory.
  git-apply: do not lose cwd when run from a subdirectory.
  Teach 'git apply' to look at $HOME/.gitconfig even outside of a repository
  Teach 'git apply' to look at $GIT_DIR/config

17 years agoMerge branch 'maint'
Junio C Hamano [Fri, 23 Feb 2007 05:27:37 +0000 (21:27 -0800)]
Merge branch 'maint'

* maint:
  git-diff: fix combined diff
  Fix 'git commit -a' in a newly initialized repository
  Include git-gui credits file in dist.
  Document the new core.bare configuration option.

17 years agogit-diff: fix combined diff
Johannes Schindelin [Fri, 23 Feb 2007 04:20:32 +0000 (05:20 +0100)]
git-diff: fix combined diff

The code forgets that typecast binds tighter than addition, in
other words:

    (cast *)array + i  === ((cast *)array) + i

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoFix 'git commit -a' in a newly initialized repository
Fredrik Kuivinen [Thu, 22 Feb 2007 20:28:12 +0000 (21:28 +0100)]
Fix 'git commit -a' in a newly initialized repository

With current git:

$ git init
$ git commit -a
cp: cannot stat `.git/index': No such file or directory

Output a nice error message instead.

Signed-off-by: Fredrik Kuivinen <frekui@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoInclude git-gui credits file in dist.
Shawn O. Pearce [Thu, 22 Feb 2007 04:49:51 +0000 (23:49 -0500)]
Include git-gui credits file in dist.

The Makefile for the git-gui subproject will fail to execute if run
outside of a git.git directory, such as when building from a .tar.gz
or .tar.bz2.  This is because it is looking for the credits file,
which was created but omitted from the tarball by the toplevel
Makefile.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDocument the new core.bare configuration option.
Shawn O. Pearce [Wed, 21 Feb 2007 22:59:08 +0000 (17:59 -0500)]
Document the new core.bare configuration option.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agot4119: test autocomputing -p<n> for traditional diff input.
Junio C Hamano [Thu, 22 Feb 2007 00:18:45 +0000 (16:18 -0800)]
t4119: test autocomputing -p<n> for traditional diff input.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-apply: guess correct -p<n> value for non-git patches.
Junio C Hamano [Thu, 22 Feb 2007 00:05:56 +0000 (16:05 -0800)]
git-apply: guess correct -p<n> value for non-git patches.

This enhances the third point in the previous commit.  When
applying a non-git patch that begins like this:

--- 2.6.orig/mm/slab.c
+++ 2.6/mm/slab.c
@@ -N,M +L,K @@@
...

and if you are in 'mm' subdirectory, we notice that -p2 is the
right option to use to apply the patch in file slab.c in the
current directory (i.e. mm/slab.c)

The guess function also knows about this pattern, where you
would need to use -p0 if applying from the top-level:

--- mm/slab.c
+++ mm/slab.c
@@ -N,M +L,K @@@
...

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-apply: notice "diff --git" patch again
Junio C Hamano [Wed, 21 Feb 2007 22:31:10 +0000 (14:31 -0800)]
git-apply: notice "diff --git" patch again

Earlier one that tried to be too consistent with GNU patch by
not stripping the leading path when we _know_ we are in a
subdirectory and the patch is relative to the toplevel was a
mistake.  This fixes it.

 - No change to behaviour when it is run from the toplevel of
   the repository.

 - When run from a subdirectory to apply a git-generated patch,
   it uses the right -p<n> value automatically, with or without
   --index nor --cached option.

 - When run from a subdirectory to apply a randomly generated
   patch, it wants the right -p<n> value to be given by the
   user.

The second one is a pure improvement to correct inconsistency
between --index and non --index case, compared with 1.5.0.  The
third point could be further improved to guess what the right
value for -p<n> should be by looking at the patch, but should be
a topic of a separate patch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Wed, 21 Feb 2007 19:16:20 +0000 (11:16 -0800)]
Merge branch 'maint'

* maint:
  Use gunzip -c over gzcat in import-tars example.
  git-gui: Don't crash in citool mode on initial commit.
  git-gui: Remove TODO list.
  git-gui: Include browser in our usage message.
  git-gui: Change summary of git-gui.
  git-gui: Display all authors of git-gui.
  git-gui: Use mixed path for docs on Cygwin.
  git-gui: Correct crash when saving options in blame mode.
  git-gui: Expose the browser as a subcommand.
  git-gui: Create new branches from a tag.
  git-gui: Prefer version file over git-describe.
  git-gui: Print version on the console.
  git-gui: More consistently display the application name.
  git-gui: Permit merging tags into the current branch.
  git-gui: Basic version check to ensure git 1.5.0 or later is used.
  git-gui: Refactor 'exec git subcmd' idiom.

17 years agoMerge branch 'master' of git://repo.or.cz/git-gui into maint
Junio C Hamano [Wed, 21 Feb 2007 19:09:57 +0000 (11:09 -0800)]
Merge branch 'master' of git://repo.or.cz/git-gui into maint

* 'master' of git://repo.or.cz/git-gui:
  git-gui: Don't crash in citool mode on initial commit.
  git-gui: Remove TODO list.
  git-gui: Include browser in our usage message.
  git-gui: Change summary of git-gui.
  git-gui: Display all authors of git-gui.
  git-gui: Use mixed path for docs on Cygwin.
  git-gui: Correct crash when saving options in blame mode.
  git-gui: Expose the browser as a subcommand.
  git-gui: Create new branches from a tag.
  git-gui: Prefer version file over git-describe.
  git-gui: Print version on the console.
  git-gui: More consistently display the application name.
  git-gui: Permit merging tags into the current branch.
  git-gui: Basic version check to ensure git 1.5.0 or later is used.
  git-gui: Refactor 'exec git subcmd' idiom.

17 years agoUse gunzip -c over gzcat in import-tars example.
Michael Loeffler [Wed, 14 Feb 2007 16:03:12 +0000 (17:03 +0100)]
Use gunzip -c over gzcat in import-tars example.

Not everyone has gzcat or bzcat installed on their system, but
gunzip -c and bunzip2 -c perform the same task and are available
if the user has installed gzip support or bzip2 support.

Signed-off-by: Michael Loeffler <zvpunry@zvpunry.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoFix botched "leak fix"
Junio C Hamano [Wed, 21 Feb 2007 08:58:18 +0000 (00:58 -0800)]
Fix botched "leak fix"

When (new_name == old_name), the previous one prefixed old_name
alone, leaving new_name untouched, and worse yet, left it
dangling pointing at an already freed memory location.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agot4119: add test for traditional patch and different p_value
Junio C Hamano [Wed, 21 Feb 2007 09:14:22 +0000 (01:14 -0800)]
t4119: add test for traditional patch and different p_value

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-remote: support remotes with a dot in the name
Pavel Roskin [Wed, 21 Feb 2007 05:03:36 +0000 (00:03 -0500)]
git-remote: support remotes with a dot in the name

[jc: the original from Pavel was limiting the variable names to only
 fetch and url, but I loosened it to take valid variable names.]

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoTeach diff -B about colours
Johannes Schindelin [Tue, 20 Feb 2007 14:08:46 +0000 (15:08 +0100)]
Teach diff -B about colours

Matthias Lederhofer noticed that `diff -B` did not pick up on diff
colournig.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAllow git-remote to update named groups of remotes
Theodore Ts'o [Tue, 20 Feb 2007 20:13:43 +0000 (15:13 -0500)]
Allow git-remote to update named groups of remotes

In response to a feature request from Shawn Pearce, this patch allows
a user to update a named group of remotes by using "git remote update
<group>", where the group is defined in the config file by
remotes.<group>.  The default if the named group is not specified is
now fetched group remotes.default, instead of remote.fetch, which is
what had been previously used.

In addition, if remotes.default is not defined, all remotes defined in
the config file will be used, as before, but there is now also
possible to request that a particular repository to be skipped by
default by using the boolean configuration parameter
remote.<name>.skipDefaultUpdate.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd config_boolean() method to the Git perl module
Theodore Ts'o [Tue, 20 Feb 2007 20:13:42 +0000 (15:13 -0500)]
Add config_boolean() method to the Git perl module

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAllow passing of an alternative CVSROOT via -d.
Simon 'corecode' Schubert [Sun, 18 Feb 2007 17:17:08 +0000 (18:17 +0100)]
Allow passing of an alternative CVSROOT via -d.

This is necessary if using CVS in an asymmetric fashion, i.e. when the
CVSROOT you are checking out from differs from the CVSROOT you have to
commit to.

Signed-off-by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agodisable t4016-diff-quote.sh on some filesystems
Alex Riesen [Tue, 20 Feb 2007 09:04:32 +0000 (10:04 +0100)]
disable t4016-diff-quote.sh on some filesystems

... because the filesystems (most typically FAT and NTFS) do not support
HT nor LF in filenames.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
17 years agoSupport for large files on 32bit systems.
Martin Waitz [Sat, 17 Feb 2007 09:13:10 +0000 (10:13 +0100)]
Support for large files on 32bit systems.

Glibc uses the same size for int and off_t by default.
In order to support large pack sizes (>2GB) we force Glibc to a 64bit off_t.

Signed-off-by: Martin Waitz <tali@admingilde.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit grep: use pager
Johannes Schindelin [Mon, 19 Feb 2007 14:56:04 +0000 (15:56 +0100)]
git grep: use pager

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-gui: Don't crash in citool mode on initial commit. gitgui-0.6.1
Shawn O. Pearce [Wed, 21 Feb 2007 06:33:59 +0000 (01:33 -0500)]
git-gui: Don't crash in citool mode on initial commit.

Attempting to use `git citool` to create an initial commit caused
git-gui to crash with a Tcl error as it tried to add the newly
born branch to the non-existant branch menu.  Moving this code
to after the normal commit cleanup logic resolves the issue, as
we only have a branch menu if we are not in singlecommit mode.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agogit-gui: Remove TODO list.
Shawn O. Pearce [Wed, 21 Feb 2007 06:29:05 +0000 (01:29 -0500)]
git-gui: Remove TODO list.

I'm apparently not very good at keeping my own TODO file current.
I its also somewhat strange to keep the TODO list as part of the
software branch, as its meta-information that is not directly
related to the code.  I'm pulling the TODO list from git-gui and
moving it into a seperate branch.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoMerge branch 'fk/autoconf'
Junio C Hamano [Wed, 21 Feb 2007 06:28:22 +0000 (22:28 -0800)]
Merge branch 'fk/autoconf'

* fk/autoconf:
  New autoconf test for iconv

17 years agogit-gui: Include browser in our usage message.
Shawn O. Pearce [Wed, 21 Feb 2007 06:24:57 +0000 (01:24 -0500)]
git-gui: Include browser in our usage message.

Now that the 'browser' subcommand can be used to startup the tree
browser, it should be listed as a possible subcommand option in
our usage message.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoMerge branch 'js/name-rev-fix'
Junio C Hamano [Wed, 21 Feb 2007 06:24:03 +0000 (22:24 -0800)]
Merge branch 'js/name-rev-fix'

* js/name-rev-fix:
  name-rev: avoid "^0" when unneeded

17 years agoprefixcmp(): fix-up leftover strncmp().
Junio C Hamano [Tue, 20 Feb 2007 09:55:07 +0000 (01:55 -0800)]
prefixcmp(): fix-up leftover strncmp().

There were instances of strncmp() that were formatted improperly
(e.g. whitespace around parameter before closing parenthesis)
that caused the earlier mechanical conversion step to miss
them.  This step cleans them up.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoprefixcmp(): fix-up mechanical conversion.
Junio C Hamano [Tue, 20 Feb 2007 09:54:00 +0000 (01:54 -0800)]
prefixcmp(): fix-up mechanical conversion.

Previous step converted use of strncmp() with literal string
mechanically even when the result is only used as a boolean:

    if (!strncmp("foo", arg, 3)) ==> if (!(-prefixcmp(arg, "foo")))

This step manually cleans them up to read:

    if (!prefixcmp(arg, "foo"))

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMechanical conversion to use prefixcmp()
Junio C Hamano [Tue, 20 Feb 2007 09:53:29 +0000 (01:53 -0800)]
Mechanical conversion to use prefixcmp()

This mechanically converts strncmp() to use prefixcmp(), but only when
the parameters match specific patterns, so that they can be verified
easily.  Leftover from this will be fixed in a separate step, including
idiotic conversions like

    if (!strncmp("foo", arg, 3))

  =>

    if (!(-prefixcmp(arg, "foo")))

This was done by using this script in px.perl

   #!/usr/bin/perl -i.bak -p
   if (/strncmp\(([^,]+), "([^\\"]*)", (\d+)\)/ && (length($2) == $3)) {
           s|strncmp\(([^,]+), "([^\\"]*)", (\d+)\)|prefixcmp($1, "$2")|;
   }
   if (/strncmp\("([^\\"]*)", ([^,]+), (\d+)\)/ && (length($1) == $3)) {
           s|strncmp\("([^\\"]*)", ([^,]+), (\d+)\)|(-prefixcmp($2, "$1"))|;
   }

and running:

   $ git grep -l strncmp -- '*.c' | xargs perl px.perl

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd prefixcmp()
Junio C Hamano [Tue, 20 Feb 2007 09:51:22 +0000 (01:51 -0800)]
Add prefixcmp()

We have too many strncmp(a, b, strlen(b)).

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Wed, 21 Feb 2007 06:02:15 +0000 (22:02 -0800)]
Merge branch 'maint'

* maint:
  Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.

17 years agogit-gui: Change summary of git-gui.
Shawn O. Pearce [Mon, 19 Feb 2007 02:08:04 +0000 (21:08 -0500)]
git-gui: Change summary of git-gui.

Since git-gui does more than create commits, it is unfair to call
it "a commit creation tool".  Instead lets just call it a graphical
user interface.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agogit-gui: Display all authors of git-gui.
Shawn O. Pearce [Mon, 19 Feb 2007 02:06:48 +0000 (21:06 -0500)]
git-gui: Display all authors of git-gui.

Now that git-gui has been released to the public as part of Git 1.5.0
I am starting to see some work from other people beyond myself and
Paul.  Consequently the copyright for git-gui is not strictly the
two of us anymore, and these others deserve to have some credit
given to them.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agogit-gui: Use mixed path for docs on Cygwin.
Shawn O. Pearce [Mon, 19 Feb 2007 00:06:09 +0000 (19:06 -0500)]
git-gui: Use mixed path for docs on Cygwin.

The Firefox browser requires that a URL use / to delimit directories.
This is instead of \, as \ gets escaped by the browser into its hex
escape code and then relative URLs are incorrectly resolved, Firefox
no longer sees the directories for what they are.  Since we are
handing the browser a true URL, we better use the standard / for
directories.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoCheck for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.
Jason Riedy [Wed, 21 Feb 2007 01:34:56 +0000 (17:34 -0800)]
Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.

Thanks to Simon 'corecode' Schubert <corecode@fs.ei.tum.de> for
the clean-up.  Defining the C99 standard PRIuMAX when necessary
replaces UM_FMT and the awkward UM10_FMT.  There are no direct
C99 translations for other uses of NO_C99_FORMAT in git, alas.

Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoLink 1.5.0.1 documentation from the main page.
Junio C Hamano [Tue, 20 Feb 2007 08:44:35 +0000 (00:44 -0800)]
Link 1.5.0.1 documentation from the main page.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoname-rev: avoid "^0" when unneeded
Johannes Schindelin [Tue, 20 Feb 2007 00:08:48 +0000 (01:08 +0100)]
name-rev: avoid "^0" when unneeded

When naming by a tag, we used to add "^0" even if this was not really
necessary. For example, `git name-rev de6f0def` now outputs

de6f0def tags/v1.5.0.1~9

instead of

de6f0def tags/v1.5.0.1^0~9

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoapply: fix memory leak in prefix_one()
Johannes Schindelin [Tue, 20 Feb 2007 02:45:49 +0000 (03:45 +0100)]
apply: fix memory leak in prefix_one()

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-apply: require -p<n> when working in a subdirectory.
Junio C Hamano [Tue, 20 Feb 2007 01:57:29 +0000 (17:57 -0800)]
git-apply: require -p<n> when working in a subdirectory.

git-apply running inside a subdirectory, with or without --index,
used to always assume that the patch is formatted in such a way
to apply with -p1 from the toplevel, but it is more useful and
consistent with the use of "GNU patch -p1" if it defaulted to
assume that its input is meant to apply at the level it is
invoked in.

This changes the behaviour.  It used to be that the patch
generated this way would apply without any trick:

edit Documentation/Makefile
git diff >patch.file
cd Documentation
git apply ../patch.file

You need to give an explicit -p2 to git-apply now.  On the other
hand, if you got a patch from somebody else who did not follow
"patch is to apply from the top with -p1" convention, the input
patch would start with:

diff -u Makefile.old Makefile
--- Makefile.old
+++ Makefile

and in such a case, you can apply it with:

git apply -p0 patch.file

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-apply: do not lose cwd when run from a subdirectory.
Junio C Hamano [Tue, 20 Feb 2007 01:58:58 +0000 (17:58 -0800)]
git-apply: do not lose cwd when run from a subdirectory.

When a patch modifies (not deletes) the last file in a
directory, because we treat a modification just as deletion
followed by creation, and deleting the last file in a directory
automatically rmdir(2)'s that directory, we ended up removing
the directory, which can potentially be the cwd, and then
recreating the same directory to create the patch result.

Avoid the rmdir step when remove_file() is called only because
we are replacing it with the result by later calling
create_file().

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoTeach git-remote to update existing remotes by fetching from them
Theodore Ts'o [Mon, 19 Feb 2007 04:00:00 +0000 (23:00 -0500)]
Teach git-remote to update existing remotes by fetching from them

This allows users to use the command "git remote update" to update all
remotes that are being tracked in the repository.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'js/diff-color-check'
Junio C Hamano [Tue, 20 Feb 2007 02:30:59 +0000 (18:30 -0800)]
Merge branch 'js/diff-color-check'

* js/diff-color-check:
  diff --check: use colour

17 years agoMerge branch 'jc/fetch-notags'
Junio C Hamano [Tue, 20 Feb 2007 02:30:52 +0000 (18:30 -0800)]
Merge branch 'jc/fetch-notags'

* jc/fetch-notags:
  remotes.not-origin.tagopt

17 years agoMerge branch 'maint'
Junio C Hamano [Tue, 20 Feb 2007 02:29:41 +0000 (18:29 -0800)]
Merge branch 'maint'

* maint:
  Obey NO_C99_FORMAT in fast-import.c.
  Add a compat/strtoumax.c for Solaris 8.
  git-clone: Sync documentation to usage note.

17 years agoObey NO_C99_FORMAT in fast-import.c.
Jason Riedy [Tue, 20 Feb 2007 00:27:09 +0000 (16:27 -0800)]
Obey NO_C99_FORMAT in fast-import.c.

Define UM_FMT and UM10_FMT and use in place of %ju and %10ju,
respectively.  Both format as unsigned long long, so this
assumes the compiler supports long long.

Signed-off-by: Jason Riedy <jason@acm.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd a compat/strtoumax.c for Solaris 8.
Jason Riedy [Tue, 20 Feb 2007 00:22:56 +0000 (16:22 -0800)]
Add a compat/strtoumax.c for Solaris 8.

Solaris 8 was pre-c99, and they weren't willing to commit to
the strtoumax definition according to /usr/include/inttypes.h.

This adds NO_STRTOUMAX and NO_STRTOULL for ancient systems.
If NO_STRTOUMAX is defined, the routine in compat/strtoumax.c
will be used instead.  That routine passes its arguments to
strtoull unless NO_STRTOULL is defined.  If NO_STRTOULL, then
the routine uses strtoul (unsigned long).

Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
Acked-by: Shawn O Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-clone: Sync documentation to usage note.
Christian Schlotter [Mon, 19 Feb 2007 12:35:35 +0000 (13:35 +0100)]
git-clone: Sync documentation to usage note.

Documentation advertises the new `--depth <n>' parameter with an equal
sign, while the usage notes (shown after `git-clone --help') do not.  If I
understood git-clone's source code correctly, the version without the
equal sign is correct, which is why this patch syncs documentation to the
usage note.

Signed-off-by: Christian Schlotter <schlotter@users.sourceforge.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'ap/cvsserver'
Junio C Hamano [Mon, 19 Feb 2007 21:11:05 +0000 (13:11 -0800)]
Merge branch 'ap/cvsserver'

* ap/cvsserver:
  Have git-cvsserver call hooks/update before really altering the ref

Acked-by: Martin Langhoff <martin@catalyst.net.nz>
17 years agoMerge branch 'maint'
Junio C Hamano [Mon, 19 Feb 2007 02:45:52 +0000 (18:45 -0800)]
Merge branch 'maint'

* maint:
  GIT 1.5.0.1
  Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding
  Read the config in rev-list

Conflicts:

RelNotes

17 years agoGIT 1.5.0.1 v1.5.0.1
Junio C Hamano [Mon, 19 Feb 2007 00:18:43 +0000 (16:18 -0800)]
GIT 1.5.0.1

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDocumentation/i18n.txt: it is i18n.commitencoding not core.commitencoding
Fredrik Kuivinen [Sun, 18 Feb 2007 09:36:51 +0000 (10:36 +0100)]
Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding

Similarly for i18n.logoutputencoding.

Signed-off-by: Fredrik Kuivinen <frekui@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoRead the config in rev-list
Fredrik Kuivinen [Sun, 18 Feb 2007 09:36:22 +0000 (10:36 +0100)]
Read the config in rev-list

Otherwise "git rev-list --header HEAD" will not do the right
thing if i18n.commitencoding is set.

Signed-off-by: Fredrik Kuivinen <frekui@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoNew autoconf test for iconv
Fredrik Kuivinen [Sun, 18 Feb 2007 08:44:42 +0000 (09:44 +0100)]
New autoconf test for iconv

On a Solaris machine I have access to libc contains the symbol
"iconv" but, when compiling with gcc and including iconv.h we get
iconv.h from GNU libiconv. This header file define (among other
things) "iconv" to "libiconv" and so on.

In order to link with GNU libiconv we need -liconv. Currently we
test if the symbol "iconv" is in libc (which is true), then we get
a undefined reference error because we don't have libiconv_open.

The solution this patch implements is to compile and link a
small test program, instead of just checking if the libraries
(libc and libiconv) contains the symbol "iconv".

Signed-off-by: Fredrik Kuivinen <frekui@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agodiff --check: use colour
Johannes Schindelin [Sun, 18 Feb 2007 16:27:24 +0000 (17:27 +0100)]
diff --check: use colour

Reuse the colour handling of the regular diff.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoTeach 'git apply' to look at $HOME/.gitconfig even outside of a repository
Junio C Hamano [Sun, 18 Feb 2007 02:12:46 +0000 (18:12 -0800)]
Teach 'git apply' to look at $HOME/.gitconfig even outside of a repository

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-gui: Correct crash when saving options in blame mode.
Shawn O. Pearce [Sun, 18 Feb 2007 07:12:32 +0000 (02:12 -0500)]
git-gui: Correct crash when saving options in blame mode.

Martin Waitz noticed that git-gui crashed while saving the user's
options out if the application was started in blame mode.  This
was caused by the do_save_config procedure invoking reshow_diff
incase the number of context lines was modified by the user.
Because we bypassed main window UI setup to enter blame mode we
did not set many of the globals which were accessed by reshow_diff,
and reading unset variables is an error in Tcl.

Aside from moving the globals to be set earlier, I also modified
reshow_diff to not invoke clear_diff if there is no path currently
in the diff viewer.  This way reshow_diff does not crash when in
blame mode due to the $ui_diff command not being defined.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoUpdate draft release notes for 1.5.1
Junio C Hamano [Sat, 17 Feb 2007 23:50:36 +0000 (15:50 -0800)]
Update draft release notes for 1.5.1

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Sun, 18 Feb 2007 00:16:48 +0000 (16:16 -0800)]
Merge branch 'maint'

* maint:
  Update draft release notes for 1.5.0.1
  Convert update-index references in docs to add.
  Attempt to improve git-rebase lead-in description.
  Do not take mode bits from index after type change.
  git-blame: prevent argument parsing segfault
  Make gitk save and restore window pane position on Linux and Cygwin.
  Make gitk save and restore the user set window position.
  [PATCH] gitk: Use show-ref instead of ls-remote
  [PATCH] Make gitk work reasonably well on Cygwin.
  [PATCH] gitk - remove trailing whitespace from a few lines.
  Change git repo-config to git config

17 years agoUpdate draft release notes for 1.5.0.1
Junio C Hamano [Sat, 17 Feb 2007 23:47:46 +0000 (15:47 -0800)]
Update draft release notes for 1.5.0.1

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge git://git.kernel.org/pub/scm/gitk/gitk into maint
Junio C Hamano [Sun, 18 Feb 2007 00:13:08 +0000 (16:13 -0800)]
Merge git://git./pub/scm/gitk/gitk into maint

* git://git.kernel.org/pub/scm/gitk/gitk:
  Make gitk save and restore window pane position on Linux and Cygwin.
  Make gitk save and restore the user set window position.
  [PATCH] gitk: Use show-ref instead of ls-remote
  [PATCH] Make gitk work reasonably well on Cygwin.
  [PATCH] gitk - remove trailing whitespace from a few lines.
  Change git repo-config to git config

17 years agoTeach core.autocrlf to 'git apply'
Junio C Hamano [Sat, 17 Feb 2007 20:37:25 +0000 (12:37 -0800)]
Teach core.autocrlf to 'git apply'

This teaches git-apply that the data read from and written to
the filesystem might need to get converted to adjust for local
line-ending convention.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoTeach 'git apply' to look at $GIT_DIR/config
Junio C Hamano [Sat, 17 Feb 2007 21:12:52 +0000 (13:12 -0800)]
Teach 'git apply' to look at $GIT_DIR/config

When neither --index nor --cached was used, git-apply did not
try calling setup_git_directory(), which means it did not look
at configuration files at all.  This fixes it to call the setup
function but still allow the command to be run in a directory
not controlled by git.

The bug probably meant that 'git apply', not moving up to the
toplevel, did not apply properly formatted diffs from the
toplevel when you are inside a subdirectory, even though 'git
apply --index' would.  As a side effect, this patch fixes it as
well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoname-rev: introduce the --refs=<pattern> option
Johannes Schindelin [Sat, 17 Feb 2007 18:22:35 +0000 (19:22 +0100)]
name-rev: introduce the --refs=<pattern> option

Instead of (or, in addition to) --tags, to use only tags for naming,
you can now use --refs=<pattern> to specify a shell glob pattern
which the refs must match to be used for naming.

Example:

$ git name-rev --refs=*v1* 33db5f4d
33db5f4d tags/v1.0rc1^0~1593

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoConvert update-index references in docs to add.
Shawn O. Pearce [Sat, 17 Feb 2007 09:43:42 +0000 (04:43 -0500)]
Convert update-index references in docs to add.

Since `git add` is the approved porcelain for an end-user to invoke
when they want to manipulate the index, porcelain documentation
should steer the user to this command rather than the pure plumbing
update-index.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAttempt to improve git-rebase lead-in description.
Shawn O. Pearce [Sat, 17 Feb 2007 09:31:50 +0000 (04:31 -0500)]
Attempt to improve git-rebase lead-in description.

It was mentioned on #git this morning that the lead-in description
of git-rebase is very confusing.  Too many branch this and branch
that in a very short run of text.

This new description attempts to walk the user through the command
syntax, while also describing exactly what git-rebase is doing to
their repository.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDo not take mode bits from index after type change.
Junio C Hamano [Sat, 17 Feb 2007 06:43:48 +0000 (22:43 -0800)]
Do not take mode bits from index after type change.

When we do not trust executable bit from lstat(2), we copied
existing ce_mode bits without checking if the filesystem object
is a regular file (which is the only thing we apply the "trust
executable bit" business) nor if the blob in the index is a
regular file (otherwise, we should do the same as registering a
new regular file, which is to default non-executable).

Noticed by Johannes Sixt.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-blame: prevent argument parsing segfault
Tommi Kyntola [Fri, 16 Feb 2007 08:50:58 +0000 (10:50 +0200)]
git-blame: prevent argument parsing segfault

The 3rd branch in builtin-blame.c should also check for lacking
arguments.  Running that in top dir does not trigger the problem
because the 'prefix' is NULL.

Signed-off-by: Tommi Kyntola <tommi.kyntola@ray.fi>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Fri, 16 Feb 2007 23:08:46 +0000 (15:08 -0800)]
Merge branch 'maint'

* maint:
  git-merge: minor fix for no_trivial_merge_strategies.

17 years agogit-merge: minor fix for no_trivial_merge_strategies.
Junio C Hamano [Fri, 16 Feb 2007 23:08:25 +0000 (15:08 -0800)]
git-merge: minor fix for no_trivial_merge_strategies.

The shell loop to determine if we should skip the trivial
in-index merge stage based on what strategy is given was not
prepared to have more than one strategy listed in the variable
$no_trivial_merge_strategies.

This does not trigger unless you use a modified git but the fix
is simple and straightforward, so let's fix it before 1.5.0.1.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-gui: Expose the browser as a subcommand.
Shawn O. Pearce [Fri, 16 Feb 2007 05:24:03 +0000 (00:24 -0500)]
git-gui: Expose the browser as a subcommand.

Some users may find being able to browse around an arbitrary
branch to be handy, so we now expose our graphical browser
through `git gui browse <committish>`.

Yes, I'm being somewhat lazy and making the user give us
the name of the branch to browse.  They can always enter
HEAD.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoMerge branch 'maint'
Junio C Hamano [Fri, 16 Feb 2007 01:13:15 +0000 (17:13 -0800)]
Merge branch 'maint'

* maint:
  pretend-sha1: grave bugfix.

17 years agopretend-sha1: grave bugfix.
Junio C Hamano [Fri, 16 Feb 2007 01:02:06 +0000 (17:02 -0800)]
pretend-sha1: grave bugfix.

We stashed away objects that we pretend to have, but did not save the
actual data.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoremotes.not-origin.tagopt
Junio C Hamano [Thu, 15 Feb 2007 09:46:27 +0000 (01:46 -0800)]
remotes.not-origin.tagopt

With a configuration entry like this:

[remote "alt-git"]
         url = git://repo.or.cz/alt.git/git/
                fetch = +refs/heads/*:refs/remotes/alt-git/*
                tagopt = --no-tags

you do not have to say "git pull --no-tags alt-git".  Just
saying "git pull alt-git" would suffice.

Obviously, if you want to get the tag from such an alternate
remote in a separate namespace, you could also do something like:

[remote "alt-git"]
         url = git://repo.or.cz/alt.git/git/
                fetch = +refs/heads/*:refs/remotes/alt-git/*
                fetch = +refs/tags/*:refs/remote-tags/alt-git/*
                tagopt = --no-tags

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-gui: Create new branches from a tag.
Martin Koegler [Thu, 15 Feb 2007 06:28:34 +0000 (01:28 -0500)]
git-gui: Create new branches from a tag.

I'm missing the possibility to base a new branch on a tag.
The following adds a tag drop down to the new branch dialog.

Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoMerge branch 'maint'
Junio C Hamano [Wed, 14 Feb 2007 23:25:53 +0000 (15:25 -0800)]
Merge branch 'maint'

* maint:
  GIT-VERSION-FILE: check ./version first.
  sha1_file.c: Round the mmap offset to half the window size.
  Make sure packedgitwindowsize is multiple of (pagesize * 2)
  Add RelNotes 1.5.0.1
  Still updating 1.5.0 release notes.
  git-daemon: Avoid leaking the listening sockets into child processes.
  Clarify two backward incompatible repository options.

17 years agoGIT-VERSION-FILE: check ./version first.
Junio C Hamano [Wed, 14 Feb 2007 19:33:04 +0000 (11:33 -0800)]
GIT-VERSION-FILE: check ./version first.

When somebody else extracts git tarball inside a larger project,
'git describe' would reported the version number of that upper
level project.

Sometimes, using the consistent versioning across subdirectories
of a larger project is useful, but it may not always be the
right thing to do.

This changes the script to check ./vertion file first, and then
fall back to "git describe".  This way, by default, tarball
distribution will get our own version.  If the upper level wants
to use consistent versioning across its subdirectories, its
Makefile can overwrite ./version file to force whatever version
number they want to give us before descending into us.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agosha1_file.c: Round the mmap offset to half the window size.
Alexandre Julliard [Wed, 14 Feb 2007 17:11:40 +0000 (18:11 +0100)]
sha1_file.c: Round the mmap offset to half the window size.

This ensures that a given area is mapped at most twice, and greatly
reduces the virtual address space usage.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agot0020: add test for auto-crlf
Junio C Hamano [Wed, 14 Feb 2007 22:54:00 +0000 (14:54 -0800)]
t0020: add test for auto-crlf

This tests lowlevel of update/checkout codepaths and some patch
application.  Currently, variants of "git apply" that look at
the working tree files does not work, so it does not test the
patch application without parameter and with --index parameter
when autocrlf is set to produce CRLF files.

We should add test for diff generation too.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMake gitk save and restore window pane position on Linux and Cygwin.
Mark Levedahl [Tue, 13 Feb 2007 00:19:34 +0000 (19:19 -0500)]
Make gitk save and restore window pane position on Linux and Cygwin.

Subtle bugs remained on both Cygwin and Linux that caused the various
window panes to be restored in positions different than where the user
last placed them. Sergey Vlasov posed a pair of suggested fixes to this,
what is done here is slightly different. The basic fix here involves
a) explicitly remembering and restoring the sash positions for the upper
window, and b) using paneconfigure to redundantly set height and width of
other elements. This redundancy is needed as Cygwin Tcl has a nasty habit
of setting pane sizes to zero if their slaves are not configured with a
specific size, but Linux Tcl does not honor the specific size given.

Signed-off-by: Mark Levedahl <mdl123@verizon.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMake gitk save and restore the user set window position.
Mark Levedahl [Fri, 9 Feb 2007 03:22:24 +0000 (22:22 -0500)]
Make gitk save and restore the user set window position.

gitk was saving widget sizes and positions when the main window was
destroyed, which is after all child widgets are destroyed. The cure
is to trap the WM_DELETE_WINDOW event before the gui is torn down. Also,
the saved geometry was captured using "winfo geometry .", rather than
"wm geometry ." Under Linux, these two return different answers and the
latter one is correct.

[jc: credit goes to Brett Schwarz for suggesting the use of "wm protocol";
 I also squashed the follow-up patch to remove extraneous -0
 from expressions.]

Signed-off-by: Mark Levedahl <mdl123@verizon.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years ago[PATCH] gitk: Use show-ref instead of ls-remote
Junio C Hamano [Tue, 30 Jan 2007 05:53:28 +0000 (21:53 -0800)]
[PATCH] gitk: Use show-ref instead of ls-remote

It used to be ls-remote on self was the only easy way to grab
the ref information.  Now we have show-ref which does not
involve fork and IPC, so use it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[PATCH] Make gitk work reasonably well on Cygwin.
Junio C Hamano [Thu, 1 Feb 2007 13:46:38 +0000 (08:46 -0500)]
[PATCH] Make gitk work reasonably well on Cygwin.

The gitk gui layout was completely broken on Cygwin. If gitk was started
without previous geometry in ~/.gitk, the user could drag the window sashes
to get a useable layout. However, if ~/.gitk existed, this was not possible
at all.

The fix was to rewrite makewindow, changing the toplevel containers and
the particular geometry information saved between sessions. Numerous bugs
in both the Cygwin and the Linux Tk versions make this a delicate
balancing act: the version here works in both but many subtle variants
are competely broken in one or the other environment.

Three user visible changes result:
1 - The viewer is fully functional under Cygwin.
2 - The search bar moves from the bottom to the top of the lower left
    pane. This was necessary to get around a layout problem on Cygwin.
3 - The window size and position is saved and restored between sessions.
    Again, this is necessary to get around a layout problem on Cygwin.

Signed-off-by: Mark Levedahl <mdl123@verizon.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[PATCH] gitk - remove trailing whitespace from a few lines.
Mark Levedahl [Thu, 1 Feb 2007 13:44:46 +0000 (08:44 -0500)]
[PATCH] gitk - remove trailing whitespace from a few lines.

Signed-off-by: Mark Levedahl <mdl123@verizon.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoChange git repo-config to git config
Paul Mackerras [Wed, 14 Feb 2007 21:54:34 +0000 (08:54 +1100)]
Change git repo-config to git config

This is the gitk part of e0d10e1c63bc52b37bbec99b07deee794058d9b4
from Tom Prince.

Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoMake sure packedgitwindowsize is multiple of (pagesize * 2)
Junio C Hamano [Wed, 14 Feb 2007 21:20:41 +0000 (13:20 -0800)]
Make sure packedgitwindowsize is multiple of (pagesize * 2)

The next patch depends on this.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMake AutoCRLF ternary variable.
Linus Torvalds [Wed, 14 Feb 2007 02:16:12 +0000 (18:16 -0800)]
Make AutoCRLF ternary variable.

This allows you to do:

[core]
AutoCRLF = input

and it should do only the CRLF->LF translation (ie it simplifies CRLF only
when reading working tree files, but when checking out files, it leaves
the LF alone, and doesn't turn it into a CRLF).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoLazy man's auto-CRLF
Linus Torvalds [Tue, 13 Feb 2007 19:07:23 +0000 (11:07 -0800)]
Lazy man's auto-CRLF

It currently does NOT know about file attributes, so it does its
conversion purely based on content. Maybe that is more in the "git
philosophy" anyway, since content is king, but I think we should try to do
the file attributes to turn it off on demand.

Anyway, BY DEFAULT it is off regardless, because it requires a

[core]
AutoCRLF = true

in your config file to be enabled. We could make that the default for
Windows, of course, the same way we do some other things (filemode etc).

But you can actually enable it on UNIX, and it will cause:

 - "git update-index" will write blobs without CRLF
 - "git diff" will diff working tree files without CRLF
 - "git checkout" will write files to the working tree _with_ CRLF

and things work fine.

Funnily, it actually shows an odd file in git itself:

git clone -n git test-crlf
cd test-crlf
git config core.autocrlf true
git checkout
git diff

shows a diff for "Documentation/docbook-xsl.css". Why? Because we have
actually checked in that file *with* CRLF! So when "core.autocrlf" is
true, we'll always generate a *different* hash for it in the index,
because the index hash will be for the content _without_ CRLF.

Is this complete? I dunno. It seems to work for me. It doesn't use the
filename at all right now, and that's probably a deficiency (we could
certainly make the "is_binary()" heuristics also take standard filename
heuristics into account).

I don't pass in the filename at all for the "index_fd()" case
(git-update-index), so that would need to be passed around, but this
actually works fine.

NOTE NOTE NOTE! The "is_binary()" heuristics are totally made-up by yours
truly. I will not guarantee that they work at all reasonable. Caveat
emptor. But it _is_ simple, and it _is_ safe, since it's all off by
default.

The patch is pretty simple - the biggest part is the new "convert.c" file,
but even that is really just basic stuff that anybody can write in
"Teaching C 101" as a final project for their first class in programming.
Not to say that it's bug-free, of course - but at least we're not talking
about rocket surgery here.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd RelNotes 1.5.0.1
Junio C Hamano [Wed, 14 Feb 2007 19:01:41 +0000 (11:01 -0800)]
Add RelNotes 1.5.0.1

In the same spirit as commit 6fc66686, let's keep notes as we fix
things.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoStill updating 1.5.0 release notes.
Junio C Hamano [Wed, 14 Feb 2007 18:54:25 +0000 (10:54 -0800)]
Still updating 1.5.0 release notes.

In cruft removal section we had a cruft we needed to remove.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-daemon: Avoid leaking the listening sockets into child processes.
Alexandre Julliard [Wed, 14 Feb 2007 17:10:26 +0000 (18:10 +0100)]
git-daemon: Avoid leaking the listening sockets into child processes.

This makes it possible to restart git-daemon even if some children are
still running.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoThe "table-of-contents" in the update hook script should match the body
Andy Parkins [Wed, 14 Feb 2007 11:20:32 +0000 (11:20 +0000)]
The "table-of-contents" in the update hook script should match the body

44478d99ee0 introduced a filter using "git-rev-parse --not --all" to the
log display to prevent the display of revisions already in the
repository.  However, the table of contents generation didn't get that
same update.

This patch fixes that.  The table of contents before the log and the log
now both display the same list of revisions.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoHave git-cvsserver call hooks/update before really altering the ref
Andy Parkins [Tue, 13 Feb 2007 15:12:45 +0000 (15:12 +0000)]
Have git-cvsserver call hooks/update before really altering the ref

git-cvsserver is analogous to git-receive-pack; a checking from a cvs
client to a central server is like a git-push from a working repository.
Therefore it's nice to use the same access control (and email sending)
that a receive-pack would perform.

This patch tests for an executable update hook; if it is it is run with
the ref being updated and the old and new hashes as normal.  If the
update hook returns an error code the update is aborted and the ref is
never updated.  The cvsserver returns "error 1" to the client to signal
there was an EPERM error.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoClarify two backward incompatible repository options.
Junio C Hamano [Wed, 14 Feb 2007 09:50:28 +0000 (01:50 -0800)]
Clarify two backward incompatible repository options.

It was unclear if the backward compatible features were disabled
or the configuration variables that controls them were set to
false by default from the description.  Obviously we meant the
former, but the problem was made worse by the fact that one
configuration variable breaks compatibility when set to true and
the other one breaks it when set to false.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoPoint top-level RelNotes link at 1.5.1 release notes being prepared.
Junio C Hamano [Wed, 14 Feb 2007 08:49:06 +0000 (00:49 -0800)]
Point top-level RelNotes link at 1.5.1 release notes being prepared.

Signed-off-by: Junio C Hamano <junkio@cox.net>