git.git
17 years agofast-import: size_t vs ssize_t
Sami Farin [Tue, 24 Apr 2007 19:56:02 +0000 (22:56 +0300)]
fast-import: size_t vs ssize_t

size_t is unsigned, so (n < 0) is never true.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agofix importing of subversion tars
Uwe Kleine-König [Tue, 24 Apr 2007 11:51:04 +0000 (13:51 +0200)]
fix importing of subversion tars

add a / between the prefix and name fields of the tar archive if prefix
is non-empty.

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoDon't repack existing objects in fast-import
Shawn O. Pearce [Fri, 20 Apr 2007 15:23:45 +0000 (11:23 -0400)]
Don't repack existing objects in fast-import

Some users of fast-import have been trying to use it to rewrite
commits and trees, an activity where the all of the relevant blobs
are already available from the existing packfiles.  In such a case
we don't want to repack a blob, even if the frontend application
has supplied us the raw data rather than a mark or a SHA-1 name.

I'm intentionally only checking the packfiles that existed when
fast-import started and am always ignoring all loose object files.

We ignore loose objects because fast-import tends to operate on a
very large number of objects in a very short timespan, and it is
usually creating new objects, not reusing existing ones.  In such
a situtation the majority of the objects will not be found in the
existing packfiles, nor will they be loose object files.  If the
frontend application really wants us to look at loose object files,
then they can just repack the repository before running fast-import.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoRemove case-sensitive file in t3030-merge-recursive.
Brian Gernhardt [Thu, 19 Apr 2007 04:51:06 +0000 (00:51 -0400)]
Remove case-sensitive file in t3030-merge-recursive.

Rename "A" to the unused "c"

Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit.el: Add a commit description to the reflog.
Alexandre Julliard [Thu, 19 Apr 2007 11:16:58 +0000 (13:16 +0200)]
git.el: Add a commit description to the reflog.

Add a description of the commit to the reflog using the first line of
the log message, the same way the git-commit script does it.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoContribute a fairly paranoid update hook
Shawn O. Pearce [Fri, 20 Apr 2007 06:08:47 +0000 (02:08 -0400)]
Contribute a fairly paranoid update hook

I'm using a variant of this update hook in a corporate environment
where we perform some validations of the commits and tags that
are being pushed.  The model is a "central repository" type setup,
where users are given access to push to specific branches within
the shared central repository.  In this particular installation we
run a specially patched git-receive-pack in setuid mode via SSH,
allowing all writes into the repository as the repository owner,
but only if this hook blesses it.

One of the major checks we perform with this hook is that the
'committer' line of a commit, or the 'tagger' line of a new annotated
tag actually correlates to the UNIX user who is performing the push.
Users can falsify these lines on their local repositories, but
the central repository that management trusts will reject all such
forgery attempts.  Of course 'author' lines are still allowed to
be any value, as sometimes changes do come from other individuals.

Another nice feature of this hook is the access control lists for
all repositories on the system can also be stored and tracked in
a supporting Git repository, which can also be access controlled
by itself.  This allows full auditing of who-had-what-when-and-why,
thanks to git-blame's data mining capabilities.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Fri, 20 Apr 2007 06:06:21 +0000 (23:06 -0700)]
Merge branch 'maint'

* maint:
  Update git-config documentation
  Fix unmatched emphasis tag in git-tutorial
  Update git-cherry-pick documentation
  Update git-archive documentation

17 years agoFix working directory errno handling when unlinking a directory
Linus Torvalds [Fri, 20 Apr 2007 05:48:21 +0000 (22:48 -0700)]
Fix working directory errno handling when unlinking a directory

Alex Riesen noticed that the case where a file replaced a directory entry
in the working tree was broken on cygwin. It turns out that the code made
some Linux-specific assumptions, and also ignored errors entirely for the
case where the entry was a symlink rather than a file.

This cleans it up by separating out the common case into a function of its
own, so that both regular files and symlinks can share it, and by making
the error handling more obvious (and not depend on any Linux-specific
behaviour).

Acked-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUpdate git-config documentation
Andrew Ruder [Thu, 19 Apr 2007 03:03:37 +0000 (22:03 -0500)]
Update git-config documentation

Documentation/git-config.txt: Added documentation for --system
Documentation/builtin-config.c: Added --system to the short usage

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoFix unmatched emphasis tag in git-tutorial
Andrew Ruder [Thu, 19 Apr 2007 03:03:31 +0000 (22:03 -0500)]
Fix unmatched emphasis tag in git-tutorial

In asciidoc 7.1.2 and prior there is no obvious way to get:

'add'ing

to emphasize only the "add", instead it treats the first apostrophe as the
beginning of an emphasis, and the second apostrophe as a regular
apostrophe and makes the rest of the line an emphasis since there is no
closing apostrophe.  In the newer asciidoc you can do it pretty easily
with __add__ing but I'm not sure it would be best to make that a prereq
for something as silly as this.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUpdate git-cherry-pick documentation
Andrew Ruder [Thu, 19 Apr 2007 03:03:26 +0000 (22:03 -0500)]
Update git-cherry-pick documentation

Documentation/git-cherry-pick.txt: Remove --replay as it is not
handled by the code (-r is however).

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUpdate git-archive documentation
Andrew Ruder [Thu, 19 Apr 2007 03:03:14 +0000 (22:03 -0500)]
Update git-archive documentation

Documentation/git-archive.txt: Document -v/--verbose option.
Add -l as short form of --list.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Thu, 19 Apr 2007 02:33:38 +0000 (19:33 -0700)]
Merge branch 'maint'

* maint:
  fix up strtoul_ui error handling
  git-tar-tree: complete deprecation conversion message

17 years agofix up strtoul_ui error handling
Andy Whitcroft [Thu, 19 Apr 2007 02:08:15 +0000 (03:08 +0100)]
fix up strtoul_ui error handling

Two scanf() calls were converted to strtoul_ui() but the return
values were not updated to match.  scanf() returns the number of
matched "values" which for this usage is 1 on success.  strtoul_ui()
return 0 on success.  Update these call sites to match.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-tar-tree: complete deprecation conversion message
Sam Vilain [Wed, 18 Apr 2007 23:51:21 +0000 (11:51 +1200)]
git-tar-tree: complete deprecation conversion message

The syntax for git-archive is different; warn about it in the
deprecation message on the manual page.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Wed, 18 Apr 2007 23:17:28 +0000 (16:17 -0700)]
Merge branch 'maint'

* maint:
  git-shortlog: Fix two formatting errors in asciidoc documentation
  Fix overwriting of files when applying contextually independent diffs
  git-svn: don't allow globs to match regular files

17 years agogit-shortlog: Fix two formatting errors in asciidoc documentation
Frank Lichtenheld [Wed, 18 Apr 2007 22:10:22 +0000 (00:10 +0200)]
git-shortlog: Fix two formatting errors in asciidoc documentation

First use [verse] in the SYNOPSIS so that the line break actually
shows.

Secondly drop the quotes around '.mailmap' since this exposes
a bug in our toolchain (didn't bother enough yet to find out wether
it is asciidoc's fault or that of the XSL templates) that leads to
the dot not getting escaped correctly in the roff output and thereby
swallowing the line.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoFix overwriting of files when applying contextually independent diffs
Alex Riesen [Wed, 18 Apr 2007 21:58:56 +0000 (23:58 +0200)]
Fix overwriting of files when applying contextually independent diffs

Noticed by applying two diffs of different contexts to the same file.

The check for existence of a file was wrong: the test assumed it was
a directory and reset the errno (twice: directly and by calling
lstat). So if an entry existed and was _not_ a directory no attempt
was made to rename into it, because the errno (expected by renaming
code) was already reset to 0. This resulted in error:

    fatal: unable to write file file mode 100644

For Linux, removing "errno = 0" is enough, as lstat wont modify errno
if it was successful. The behavior should not be depended upon,
though, so modify the "if" as well.

The test simulates this situation.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-svn: don't allow globs to match regular files
Eric Wong [Wed, 18 Apr 2007 07:17:33 +0000 (00:17 -0700)]
git-svn: don't allow globs to match regular files

git only tracks the histories of full directories, not
that of individual files.  Sometimes, SVN users will
place[1] a regular file in the directory designated
for subdirectories of branches or tags.

Thanks to jrockway on #git for pointing this out.

[1] mistakenly or otherwise, such as a README

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'fl/cvsserver'
Junio C Hamano [Wed, 18 Apr 2007 05:17:46 +0000 (22:17 -0700)]
Merge branch 'fl/cvsserver'

* fl/cvsserver:
  config.txt: Add gitcvs.db* variables
  cvsserver: Document the GIT branches -> CVS modules mapping more prominently
  cvsserver: Reword documentation on necessity of write access
  cvsserver: Allow to "add" a removed file
  cvsserver: Add asciidoc documentation for new database backend configuration
  cvsserver: Corrections to the database backend configuration
  cvsserver: Use DBI->table_info instead of DBI->tables
  cvsserver: Abort if connect to database fails
  cvsserver: Make the database backend configurable
  cvsserver: Allow to override the configuration per access method
  cvsserver: Handle three part keys in git config correctly
  cvsserver: Introduce new state variable 'method'

Conflicts:

Documentation/config.txt

17 years agoMerge branch 'maint'
Junio C Hamano [Wed, 18 Apr 2007 05:17:29 +0000 (22:17 -0700)]
Merge branch 'maint'

* maint:
  Use const qualifier for 'sha1' parameter in delete_ref function

17 years agoUse const qualifier for 'sha1' parameter in delete_ref function
Carlos Rica [Wed, 18 Apr 2007 03:34:34 +0000 (05:34 +0200)]
Use const qualifier for 'sha1' parameter in delete_ref function

delete_ref function does not change the 'sha1' parameter. Non-const pointer
causes a compiler warning if you call to the function using a const argument.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUpdate draft release notes for 1.5.2 with accumulated changes.
Junio C Hamano [Wed, 18 Apr 2007 01:03:00 +0000 (18:03 -0700)]
Update draft release notes for 1.5.2 with accumulated changes.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Wed, 18 Apr 2007 00:50:21 +0000 (17:50 -0700)]
Merge branch 'maint'

* maint:
  Start preparing for 1.5.1.2
  git-svn: quiet some warnings when run only with --version/--help
  git-svn: respect lower bound of -r/--revision when following parent

Conflicts:

RelNotes

17 years agoStart preparing for 1.5.1.2
Junio C Hamano [Wed, 18 Apr 2007 00:32:23 +0000 (17:32 -0700)]
Start preparing for 1.5.1.2

17 years agoMerge branch 'master' of git://repo.or.cz/git-gui
Junio C Hamano [Wed, 18 Apr 2007 00:16:56 +0000 (17:16 -0700)]
Merge branch 'master' of git://repo.or.cz/git-gui

* 'master' of git://repo.or.cz/git-gui:
  git-gui: Honor TCLTK_PATH if supplied
  Revert "Allow wish interpreter to be defined with TCLTK_PATH"
  git-gui: Display the directory basename in the title
  git-gui: Brown paper bag fix division by 0 in blame
  Always bind the return key to the default button
  Do not break git-gui messages into multiple lines.
  Improve look-and-feel of the git-gui tool.
  Teach git-gui to use the user-defined UI font everywhere.
  Allow wish interpreter to be defined with TCLTK_PATH

17 years agoMerge branch 'maint' of git://repo.or.cz/git-gui into maint
Junio C Hamano [Wed, 18 Apr 2007 00:16:41 +0000 (17:16 -0700)]
Merge branch 'maint' of git://repo.or.cz/git-gui into maint

* 'maint' of git://repo.or.cz/git-gui:
  git-gui: Brown paper bag fix division by 0 in blame

17 years agoMerge branch 'jc/read-tree-df'
Junio C Hamano [Tue, 17 Apr 2007 23:55:46 +0000 (16:55 -0700)]
Merge branch 'jc/read-tree-df'

* jc/read-tree-df:
  t3030: merge-recursive backend test.
  merge-recursive: handle D/F conflict case more carefully.
  merge-recursive: do not barf on "to be removed" entries.
  Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()
  t1000: fix case table.

17 years agogit-gui: Honor TCLTK_PATH if supplied
Junio C Hamano [Tue, 17 Apr 2007 10:31:47 +0000 (03:31 -0700)]
git-gui: Honor TCLTK_PATH if supplied

Mimick what we do for gitk.  Since you do have a source file,
git-gui.sh, which is separate from the target, it should be much
easier in git-gui's Makefile.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoRevert "Allow wish interpreter to be defined with TCLTK_PATH"
Shawn O. Pearce [Tue, 17 Apr 2007 17:15:56 +0000 (13:15 -0400)]
Revert "Allow wish interpreter to be defined with TCLTK_PATH"

This reverts commit e2a1bc67d321a0c03737179f331c39a52e7049d7.

Junio rightly pointed out this patch doesn't handle the
`make install` target very well:

Junio C Hamano <junkio@cox.net> writes:
> You should never generate new files in the source tree from
> 'install' target.  Otherwise, the usual pattern of "make" as
> yourself and then "make install" as root would not work from a
> "root-to-nobody-squashing" NFS mounted source tree to local
> filesystem.  You should know better than accepting such a patch.

17 years agogit-svn: quiet some warnings when run only with --version/--help
Eric Wong [Tue, 17 Apr 2007 09:41:43 +0000 (02:41 -0700)]
git-svn: quiet some warnings when run only with --version/--help

These are harmless but annoying.  They were introduced in
512b620bd9fef7f170562ecad835e37479f051ce

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-svn: respect lower bound of -r/--revision when following parent
Eric Wong [Sun, 15 Apr 2007 10:01:29 +0000 (03:01 -0700)]
git-svn: respect lower bound of -r/--revision when following parent

When an explicit --revision argument is specified, do not fetch
past the specified range into the beginning of history.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd --ignore-unmatch option to exit with zero status when no files are removed.
Steven Grimm [Mon, 16 Apr 2007 07:53:24 +0000 (00:53 -0700)]
Add --ignore-unmatch option to exit with zero status when no files are removed.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoBisect: rename "t/t6030-bisect-run.sh" to "t/t6030-bisect-porcelain.sh".
Christian Couder [Tue, 17 Apr 2007 04:51:48 +0000 (06:51 +0200)]
Bisect: rename "t/t6030-bisect-run.sh" to "t/t6030-bisect-porcelain.sh".

[jc: also fix 0a5280a9 that incorrectly changed the title of one test.]

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoBisect: simplify "bisect start" logging.
Christian Couder [Tue, 17 Apr 2007 04:40:50 +0000 (06:40 +0200)]
Bisect: simplify "bisect start" logging.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'js/wrap-log'
Junio C Hamano [Mon, 16 Apr 2007 23:53:29 +0000 (16:53 -0700)]
Merge branch 'js/wrap-log'

* js/wrap-log:
  Fix permissions on test scripts
  Fix t4201: accidental arithmetic expansion
  shortlog -w: make wrap-line behaviour optional.
  Use print_wrapped_text() in shortlog

17 years agoFix permissions on test scripts
Alex Riesen [Fri, 13 Apr 2007 20:13:51 +0000 (22:13 +0200)]
Fix permissions on test scripts

Make every test executable. Remove exec-attribute from included shell files,
they can't used standalone anyway.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoFix t4201: accidental arithmetic expansion
Alex Riesen [Fri, 13 Apr 2007 20:13:10 +0000 (22:13 +0200)]
Fix t4201: accidental arithmetic expansion

instead of embedded subshell. It actually breaks here (dash as /bin/sh):

t4201-shortlog.sh: 27: Syntax error: Missing '))'
FATAL: Unexpected exit with code 2

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agosend-email: do not leave an empty CC: line if no cc is present.
Junio C Hamano [Mon, 16 Apr 2007 23:51:47 +0000 (16:51 -0700)]
send-email: do not leave an empty CC: line if no cc is present.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd support for "commit name decorations" to log family of commands
Linus Torvalds [Mon, 16 Apr 2007 23:05:10 +0000 (16:05 -0700)]
Add support for "commit name decorations" to log family of commands

This adds "--decorate" as a log option, which prints out the ref names
of any commits that are shown.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd a generic "object decorator" interface, and make object refs use it
Linus Torvalds [Mon, 16 Apr 2007 23:03:15 +0000 (16:03 -0700)]
Add a generic "object decorator" interface, and make object refs use it

This allows you to add an arbitrary "decoration" of your choice to any
object.  It's a space- and time-efficient way to add information to
arbitrary objects, especially if most objects probably do not have the
decoration.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Mon, 16 Apr 2007 09:54:18 +0000 (02:54 -0700)]
Merge branch 'maint'

* maint:
  Have sample update hook not refuse deleting a branch through push.
  variable $projectdesc needs to be set before checking against unchanged default.
  Update git-annotate/git-blame documentation
  Update git-apply documentation
  Update git-applymbox documentation
  Update git-am documentation
  user-manual: use detached head when rewriting history
  user-manual: start revising "internals" chapter
  user-manual: detached HEAD
  user-manual: fix discussion of default clone
  Documentation: clarify track/no-track option.
  Documentation: clarify git-checkout -f, minor editing
  Documentation: minor edits of git-lost-found manpage

17 years agoHave sample update hook not refuse deleting a branch through push.
Gerrit Pape [Mon, 16 Apr 2007 08:31:35 +0000 (08:31 +0000)]
Have sample update hook not refuse deleting a branch through push.

source ref might be 0000...0000 to delete a branch through git-push,
'git <remote> push :<branch>'.  The update hook should not decline this.

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agovariable $projectdesc needs to be set before checking against unchanged default.
Gerrit Pape [Mon, 16 Apr 2007 08:30:42 +0000 (08:30 +0000)]
variable $projectdesc needs to be set before checking against unchanged default.

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-rm: Trivial fix for a comment typo.
Steven Grimm [Mon, 16 Apr 2007 08:17:32 +0000 (01:17 -0700)]
git-rm: Trivial fix for a comment typo.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUpdate git-annotate/git-blame documentation
Andrew Ruder [Mon, 16 Apr 2007 06:20:34 +0000 (01:20 -0500)]
Update git-annotate/git-blame documentation

Moved options that pertained to both git-blame and git-annotate to a
common file blame-options.txt.

builtin-blame.c: Removed --compatibility, --long, --time from the
short usage as they are not handled in the code.

Documentation/git-blame.txt: Removed common options to git-annotate.
Added documentation for --score-debug.  Removed --compatibility.
Adjusted usage at top to not wrap on 80 columns.

Documentation/git-annotate.txt: Using common options blame-options.txt.

Documentation/blame-options.txt: Added -b note about associated config
option, added --root note about associated config option, added
documentation for --show-stats.  Removed --long, --time, --rev-file as
those options do not really exist.  Added documentation for -M/-C taking
an optional score argument for detection of moved lines.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUpdate git-apply documentation
Andrew Ruder [Mon, 16 Apr 2007 06:20:40 +0000 (01:20 -0500)]
Update git-apply documentation

Document -v (short form of --verbose).  Redo usage
to not wrap on 80 column terminal with typical
settings.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUpdate git-applymbox documentation
Andrew Ruder [Mon, 16 Apr 2007 06:40:06 +0000 (01:40 -0500)]
Update git-applymbox documentation

Documentation/git-applymbox.txt: updating -u documentation to include
fact that it encodes to the i18n.commitencoding setting, not just utf-8.
Added documentation of -n option to pass -n to git-mailinfo.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUpdate git-am documentation
Andrew Ruder [Mon, 16 Apr 2007 07:21:31 +0000 (02:21 -0500)]
Update git-am documentation

Documentation/git-am.txt missing several short versions
of options.  Added documentation for --resolvemsg=<msg>
command-line option.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agouser-manual: use detached head when rewriting history
J. Bruce Fields [Mon, 16 Apr 2007 04:37:16 +0000 (00:37 -0400)]
user-manual: use detached head when rewriting history

This is slightly simpler if we use a detached head.  And it's probably
good to have another example that uses this feature.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agouser-manual: start revising "internals" chapter
J. Bruce Fields [Mon, 16 Apr 2007 04:37:15 +0000 (00:37 -0400)]
user-manual: start revising "internals" chapter

Minor revisions, cross-references.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agouser-manual: detached HEAD
J. Bruce Fields [Mon, 16 Apr 2007 04:37:14 +0000 (00:37 -0400)]
user-manual: detached HEAD

Add a brief mention of detached HEADs and .git/HEAD.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agouser-manual: fix discussion of default clone
J. Bruce Fields [Mon, 16 Apr 2007 04:37:13 +0000 (00:37 -0400)]
user-manual: fix discussion of default clone

The name "master" isn't actually quite so special.  Also, fix some bad
grammar.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDocumentation: clarify track/no-track option.
J. Bruce Fields [Mon, 16 Apr 2007 04:37:12 +0000 (00:37 -0400)]
Documentation: clarify track/no-track option.

Fix the description of the --no-track option so it no longer says the
opposite of what was intended.  Also mention branch.autosetupmerge
explicitly.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDocumentation: clarify git-checkout -f, minor editing
J. Bruce Fields [Mon, 16 Apr 2007 04:37:11 +0000 (00:37 -0400)]
Documentation: clarify git-checkout -f, minor editing

"Force a re-read of everything" doesn't mean much to me.

Also some minor grammar fixes.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDocumentation: minor edits of git-lost-found manpage
J. Bruce Fields [Mon, 16 Apr 2007 04:37:10 +0000 (00:37 -0400)]
Documentation: minor edits of git-lost-found manpage

Minor improvements to grammar and clarity of lost-found manpage.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd --quiet option to suppress output of "rm" commands for removed files.
Steven Grimm [Mon, 16 Apr 2007 07:46:48 +0000 (00:46 -0700)]
Add --quiet option to suppress output of "rm" commands for removed files.

Signed-off-by: Steven Grimm <koreth@midwinter.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDisplay the subject of the commit just made.
Michael S. Tsirkin [Mon, 16 Apr 2007 05:51:11 +0000 (08:51 +0300)]
Display the subject of the commit just made.

Useful e.g. to figure out what I did from screen history,
or to make sure subject line is short enough and makes sense
on its own.

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd policy on user-interface changes
Andrew Ruder [Mon, 16 Apr 2007 05:35:25 +0000 (00:35 -0500)]
Add policy on user-interface changes

Documentation/SubmittingPatches: Add note that all user interface changes
should include associated documentation updates.

Signed-off-by: Andrew Ruder <andy@aeruder.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Mon, 16 Apr 2007 00:52:07 +0000 (17:52 -0700)]
Merge branch 'maint'

* maint:
  Document -g (--walk-reflogs) option of git-log
  sscanf/strtoul: parse integers robustly
  git-blame: Fix overrun in fake_working_tree_commit()
  [PATCH] Improve look-and-feel of the gitk tool.
  [PATCH] Teach gitk to use the user-defined UI font everywhere.

17 years agoDocument -g (--walk-reflogs) option of git-log
Alex Riesen [Sun, 15 Apr 2007 22:36:06 +0000 (00:36 +0200)]
Document -g (--walk-reflogs) option of git-log

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoident.c: Use size_t (instead of int) to store sizes
Luiz Fernando N. Capitulino [Sun, 15 Apr 2007 18:51:29 +0000 (15:51 -0300)]
ident.c: Use size_t (instead of int) to store sizes

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoident.c: Use const qualifier for 'struct passwd' parameters
Luiz Fernando N. Capitulino [Sun, 15 Apr 2007 21:40:31 +0000 (18:40 -0300)]
ident.c: Use const qualifier for 'struct passwd' parameters

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-gui: Display the directory basename in the title
Shawn O. Pearce [Sat, 14 Apr 2007 19:10:48 +0000 (15:10 -0400)]
git-gui: Display the directory basename in the title

By showing the basename of the directory very early in the
title bar I can more easily locate a particular git-gui
session when I have 8 open at once and my  Windows taskbar
is overflowing with items.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
17 years agoMerge branch 'er/ui'
Shawn O. Pearce [Sun, 15 Apr 2007 04:34:28 +0000 (00:34 -0400)]
Merge branch 'er/ui'

* er/ui:
  Always bind the return key to the default button
  Do not break git-gui messages into multiple lines.
  Improve look-and-feel of the git-gui tool.
  Teach git-gui to use the user-defined UI font everywhere.
  Allow wish interpreter to be defined with TCLTK_PATH

17 years agosscanf/strtoul: parse integers robustly
Jim Meyering [Mon, 9 Apr 2007 23:01:44 +0000 (01:01 +0200)]
sscanf/strtoul: parse integers robustly

* builtin-grep.c (strtoul_ui): Move function definition from here, to...
* git-compat-util.h (strtoul_ui): ...here, with an added "base" parameter.
* builtin-grep.c (cmd_grep): Update use of strtoul_ui to include base, "10".
* builtin-update-index.c (read_index_info): Diagnose an invalid mode integer
that is out of range or merely larger than INT_MAX.
(cmd_update_index): Use strtoul_ui, not sscanf.
* convert-objects.c (write_subdirectory): Likewise.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge git://git2.kernel.org/pub/scm/gitk/gitk into maint
Junio C Hamano [Sun, 15 Apr 2007 02:45:16 +0000 (19:45 -0700)]
Merge git://git2./pub/scm/gitk/gitk into maint

* git://git2.kernel.org/pub/scm/gitk/gitk:
  [PATCH] Improve look-and-feel of the gitk tool.
  [PATCH] Teach gitk to use the user-defined UI font everywhere.

17 years agogit-blame: Fix overrun in fake_working_tree_commit()
Michael Spang [Sat, 14 Apr 2007 21:26:20 +0000 (17:26 -0400)]
git-blame: Fix overrun in fake_working_tree_commit()

git-blame would overflow commit->buffer when annotating files with long paths.

Signed-off-by: Michael Spang <mspang@uwaterloo.ca>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Sat, 14 Apr 2007 11:18:46 +0000 (04:18 -0700)]
Merge branch 'maint'

* maint:
  git-quiltimport complaining yet still working
  config.txt: Fix grammatical error in description of http.noEPSV
  config.txt: Change pserver to server in description of gitcvs.*
  config.txt: Document core.autocrlf
  config.txt: Document gitcvs.allbinary
  Do not default to --no-index when given two directories.
  Use rev-list --reverse in git-rebase.sh

17 years agogit-quiltimport complaining yet still working
Linus Torvalds [Fri, 13 Apr 2007 21:34:18 +0000 (14:34 -0700)]
git-quiltimport complaining yet still working

There were two bugs: "stop_here" doesn't exist, but the bug that causes
this code to trigger in the *first* place is the wrong use of "$dotest".
It should be ".dotest"

This is essentially the same bug introduced by 87ab7992, one was
fixed with 0d38ab25 but this was somehow left behind.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoconfig.txt: Add gitcvs.db* variables
Frank Lichtenheld [Fri, 13 Apr 2007 16:13:42 +0000 (18:13 +0200)]
config.txt: Add gitcvs.db* variables

Adds documentation for gitcvs.{dbname,dbdriver,dbuser,dbpass}
Texts are mostly taken from git-cvsserver.txt whith some
adaptions so that they make more sense out of the context
of the original man page.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoconfig.txt: Fix grammatical error in description of http.noEPSV
Frank Lichtenheld [Fri, 13 Apr 2007 16:02:33 +0000 (18:02 +0200)]
config.txt: Fix grammatical error in description of http.noEPSV

s/doesn't/don't/ since "ftp servers" is plural

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoconfig.txt: Change pserver to server in description of gitcvs.*
Frank Lichtenheld [Fri, 13 Apr 2007 16:02:32 +0000 (18:02 +0200)]
config.txt: Change pserver to server in description of gitcvs.*

These variables apply to the SSH access as well, so don't use
pserver here which might confuse users.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoconfig.txt: Document core.autocrlf
Frank Lichtenheld [Fri, 13 Apr 2007 16:02:31 +0000 (18:02 +0200)]
config.txt: Document core.autocrlf

Text shamelessly stolen from the 1.5.1 release notes.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoconfig.txt: Document gitcvs.allbinary
Frank Lichtenheld [Fri, 13 Apr 2007 16:02:30 +0000 (18:02 +0200)]
config.txt: Document gitcvs.allbinary

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDo not default to --no-index when given two directories.
Junio C Hamano [Fri, 13 Apr 2007 10:23:20 +0000 (03:23 -0700)]
Do not default to --no-index when given two directories.

git-diff -- a/ b/ always defaulted to --no-index, primarily
because the function is_in_index() was implemented quite
incorrectly.

Noticed by Patrick Maaß and Simon Schubert independently,
initial patch was provided by Patrick but I fixed it
differently.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoUse rev-list --reverse in git-rebase.sh
Alex Riesen [Fri, 13 Apr 2007 22:19:05 +0000 (00:19 +0200)]
Use rev-list --reverse in git-rebase.sh

...and drop the last perl dependency in the script.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'jc/cherry'
Junio C Hamano [Fri, 13 Apr 2007 04:04:27 +0000 (21:04 -0700)]
Merge branch 'jc/cherry'

* jc/cherry:
  Documentation: --cherry-pick
  git-log --cherry-pick A...B
  Refactor patch-id filtering out of git-cherry and git-format-patch.
  Add %m to '--pretty=format:'

17 years agoMerge branch 'maint'
Junio C Hamano [Fri, 13 Apr 2007 04:04:09 +0000 (21:04 -0700)]
Merge branch 'maint'

* maint:
  handle_options in git wrapper miscounts the options it handled.

17 years agohandle_options in git wrapper miscounts the options it handled.
Matthias Lederhofer [Thu, 12 Apr 2007 18:52:03 +0000 (20:52 +0200)]
handle_options in git wrapper miscounts the options it handled.

handle_options did not count the number of used arguments
correctly.  When --git-dir was used the extra argument was
not added to the number of handled arguments.

Signed-off-by: Matthias Lederhofer <matled@gmx.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoFix git {log,show,...} --pretty=email
Junio C Hamano [Thu, 12 Apr 2007 10:04:05 +0000 (03:04 -0700)]
Fix git {log,show,...} --pretty=email

An earlier --subject-prefix patch forgot that format-patch is
not the only codepath that adds the "[PATCH]" prefix, and broke
everybody else in the log family.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDon't yap about merge-subtree during make
Shawn O. Pearce [Thu, 12 Apr 2007 05:21:18 +0000 (01:21 -0400)]
Don't yap about merge-subtree during make

By default we are pretty quiet about the actual commands that
we are running.  So we should continue to be quiet about the new
merge-subtree hardlink to merge-recursive.  Technically this is not
a builtin, but it is close because subtree is actually builtin to
a non-builtin.  So lets just make things easy and call it a builtin.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agocvsserver: Document the GIT branches -> CVS modules mapping more prominently
Frank Lichtenheld [Thu, 12 Apr 2007 14:54:28 +0000 (16:54 +0200)]
cvsserver: Document the GIT branches -> CVS modules mapping more prominently

Add a note about the branches -> modules mapping to LIMITATIONS because
I really think it should be noted there and not just at the end of
the installation step-by-step HOWTO.

I used "git branches" there and changed "heads" to "branches" in
my section about database configuration. I'm reluctant to replace
all occourences of "head" with "branch" though because you always
have to say "git branch" because CVS also has the concept of
branches. You can say "head" though, because there is no such
concept in CVS. In all the existing occourences of head other than
the one I changed I think "head" flows better in the text.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agocvsserver: Reword documentation on necessity of write access
Frank Lichtenheld [Thu, 12 Apr 2007 14:43:36 +0000 (16:43 +0200)]
cvsserver: Reword documentation on necessity of write access

Reworded the section about git-cvsserver needing to update the
database.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agocvsserver: Allow to "add" a removed file
Frank Lichtenheld [Wed, 11 Apr 2007 22:51:33 +0000 (00:51 +0200)]
cvsserver: Allow to "add" a removed file

CVS allows you to add a removed file (where the
removal is not yet committed) which will
cause the server to send the latest revision of the
file and to delete the "removed" status.

Copy this behaviour.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoDocumentation: --cherry-pick
Junio C Hamano [Tue, 10 Apr 2007 22:28:32 +0000 (15:28 -0700)]
Documentation: --cherry-pick

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogit-log --cherry-pick A...B
Junio C Hamano [Mon, 9 Apr 2007 10:40:38 +0000 (03:40 -0700)]
git-log --cherry-pick A...B

This is meant to be a saner replacement for "git-cherry".

When used with "A...B", this filters out commits whose patch
text has the same patch-id as a commit on the other side.  It
would probably most useful to use with --left-right.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoRefactor patch-id filtering out of git-cherry and git-format-patch.
Junio C Hamano [Tue, 10 Apr 2007 00:01:27 +0000 (17:01 -0700)]
Refactor patch-id filtering out of git-cherry and git-format-patch.

This implements the patch-id computation and recording library,
patch-ids.c, and rewrites the get_patch_ids() function used in
cherry and format-patch to use it, so that they do not pollute
the object namespace.  Earlier code threw non-objects into the
in-core object database, and hoped for not getting bitten by
SHA-1 collisions.  While it may be practically Ok, it still was
an ugly hack.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd %m to '--pretty=format:'
Junio C Hamano [Mon, 9 Apr 2007 09:34:05 +0000 (02:34 -0700)]
Add %m to '--pretty=format:'

When used with '--boundary A...B', this shows the -/</> marker
you would get with --left-right option to 'git-log' family.
When symmetric diff is not used, everybody is shown to be on the
"right" branch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agosscanf/strtoul: parse integers robustly
Jim Meyering [Mon, 9 Apr 2007 23:01:44 +0000 (01:01 +0200)]
sscanf/strtoul: parse integers robustly

* builtin-grep.c (strtoul_ui): Move function definition from here, to...
* git-compat-util.h (strtoul_ui): ...here, with an added "base" parameter.
* builtin-grep.c (cmd_grep): Update use of strtoul_ui to include base, "10".
* builtin-update-index.c (read_index_info): Diagnose an invalid mode integer
that is out of range or merely larger than INT_MAX.
(cmd_update_index): Use strtoul_ui, not sscanf.
* convert-objects.c (write_subdirectory): Likewise.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd testcase for format-patch --subject-prefix (take 3)
Robin H. Johnson [Wed, 11 Apr 2007 23:58:08 +0000 (16:58 -0700)]
Add testcase for format-patch --subject-prefix (take 3)

Add testcase for format-patch --subject-prefix support.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoAdd custom subject prefix support to format-patch (take 3)
Robin H. Johnson [Wed, 11 Apr 2007 23:58:07 +0000 (16:58 -0700)]
Add custom subject prefix support to format-patch (take 3)

Add a new option to git-format-patch, entitled --subject-prefix that allows
control of the subject prefix '[PATCH]'. Using this option, the text 'PATCH' is
replaced with whatever input is provided to the option. This allows easily
generating patches like '[PATCH 2.6.21-rc3]' or properly numbered series like
'[-mm3 PATCH N/M]'. This patch provides the implementation and documentation.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Thu, 12 Apr 2007 01:43:01 +0000 (18:43 -0700)]
Merge branch 'maint'

* maint:
  GIT 1.5.1.1
  cvsserver: Fix handling of diappeared files on update
  fsck: do not complain on detached HEAD.
  (encode_85, decode_85): Mark source buffer pointer as "const".

17 years agoGIT 1.5.1.1 v1.5.1.1
Junio C Hamano [Wed, 11 Apr 2007 21:39:07 +0000 (14:39 -0700)]
GIT 1.5.1.1

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agocvsserver: Fix handling of diappeared files on update
Frank Lichtenheld [Wed, 11 Apr 2007 20:38:19 +0000 (22:38 +0200)]
cvsserver: Fix handling of diappeared files on update

Only send a modified response if the client sent a
"Modified" entry. This fixes the case where the
file was locally deleted on the client without
being removed from CVS. In this case the client
will only have sent the Entry for the file but nothing
else.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Acked-by: Martin Langhoff <martin@catalyst.net.nz>
Acked-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agofsck: do not complain on detached HEAD.
Junio C Hamano [Wed, 11 Apr 2007 08:28:43 +0000 (01:28 -0700)]
fsck: do not complain on detached HEAD.

Detached HEAD is just a normal state of a repository.  Do not
say anything about it.

Do not give worrying "error:" messages when we let the user know
that the HEAD points at nothing (i.e. yet to be born branch),
nor we do not have any default refs to start following the
objects chain.  Reword them as "notice:".

Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years ago(encode_85, decode_85): Mark source buffer pointer as "const".
Jim Meyering [Mon, 9 Apr 2007 22:56:33 +0000 (00:56 +0200)]
(encode_85, decode_85): Mark source buffer pointer as "const".

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogitweb: Allow configuring the default projects order and add order 'none'
Frank Lichtenheld [Fri, 6 Apr 2007 21:58:24 +0000 (23:58 +0200)]
gitweb: Allow configuring the default projects order and add order 'none'

Introduce new configuration variable $default_projects_order
that can be used to specify the default order of projects on
the index page if no 'o' parameter is given.

Allow a new value 'none' for order that will cause the projects
to be in the order we learned about them. In case of reading the
list of projects from a file, this should be the order as they are
listed in the file. In case of reading the list of projects from
a directory this will probably give random results depending on the
filesystem in use.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agogitweb: Allow forks with project list file
Frank Lichtenheld [Fri, 6 Apr 2007 21:58:11 +0000 (23:58 +0200)]
gitweb: Allow forks with project list file

Make it possible to use the forks feature even when
reading the list of projects from a file, by creating
a list of known prefixes as we go. Forks have to be
listed after the main project in order to be recognised
as such.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
17 years agoMerge branch 'maint'
Junio C Hamano [Tue, 10 Apr 2007 20:53:07 +0000 (13:53 -0700)]
Merge branch 'maint'

* maint:
  Documentation: show-ref: document --exclude-existing
  cvsexportcommit -p : fix the usage of git-apply -C.