git/git.git
14 years agoMerge branch 'lj/refs'
Junio C Hamano [Wed, 1 Nov 2006 16:48:50 +0000 (08:48 -0800)]
Merge branch 'lj/refs'

* lj/refs: (63 commits)
  Fix show-ref usagestring
  t3200: git-branch testsuite update
  sha1_name.c: avoid compilation warnings.
  Make git-branch a builtin
  ref-log: fix D/F conflict coming from deleted refs.
  git-revert with conflicts to behave as git-merge with conflicts
  core.logallrefupdates thinko-fix
  git-pack-refs --all
  core.logallrefupdates create new log file only for branch heads.
  Remove bashism from t3210-pack-refs.sh
  ref-log: allow ref@{count} syntax.
  pack-refs: call fflush before fsync.
  pack-refs: use lockfile as everybody else does.
  git-fetch: do not look into $GIT_DIR/refs to see if a tag exists.
  lock_ref_sha1_basic does not remove empty directories on BSD
  Do not create tag leading directories since git update-ref does it.
  Check that a tag exists using show-ref instead of looking for the ref file.
  Use git-update-ref to delete a tag instead of rm()ing the ref file.
  Fix refs.c;:repack_without_ref() clean-up path
  Clean up "git-branch.sh" and add remove recursive dir test cases.
  ...

14 years agogit-svnimport: support for partial imports
Sasha Khapyorsky [Wed, 25 Oct 2006 22:50:26 +0000 (00:50 +0200)]
git-svnimport: support for partial imports

This adds support for partial svn imports. Let's assume that SVN
repository layout looks like:

  $trunk/path/to/our/project
  $branches/path/to/our/project
  $tags/path/to/our/project

, and we would like to import only tree under this specific
'path/to/our/project' and not whole tree under $trunk, $branches, etc..
Now we will be be able to do it by using '-P path/to/our/project' option
with git-svnimport.

Signed-off-by: Sasha Khapyorsky <sashak@voltaire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'maint'
Junio C Hamano [Tue, 31 Oct 2006 03:38:50 +0000 (19:38 -0800)]
Merge branch 'maint'

* maint:
  revision traversal: --unpacked does not limit commit list anymore.
  Continue traversal when rev-list --unpacked finds a packed commit.
  Use memmove instead of memcpy for overlapping areas
  quote.c: ensure the same quoting across platforms.
  Surround "#define DEBUG 0" with "#ifndef DEBUG..#endif"

14 years agoMove deny_non_fast_forwards handling completely into receive-pack.
Shawn Pearce [Mon, 30 Oct 2006 22:35:18 +0000 (17:35 -0500)]
Move deny_non_fast_forwards handling completely into receive-pack.

The 'receive.denynonfastforwards' option has nothing to do with
the repository format version.  Since receive-pack already uses
git_config to initialize itself before executing any updates we
can use the normal configuration strategy and isolate the receive
specific variables away from the core variables.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agorevision traversal: --unpacked does not limit commit list anymore.
Junio C Hamano [Tue, 31 Oct 2006 02:58:03 +0000 (18:58 -0800)]
revision traversal: --unpacked does not limit commit list anymore.

This is needed to gain smaller latency back.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoContinue traversal when rev-list --unpacked finds a packed commit.
Jan Harkes [Tue, 31 Oct 2006 01:37:49 +0000 (20:37 -0500)]
Continue traversal when rev-list --unpacked finds a packed commit.

When getting the list of all unpacked objects by walking the commit history,
we would stop traversal whenever we hit a packed commit. However the fact
that we found a packed commit does not guarantee that all previous commits
are also packed. As a result the commit walkers did not show all reachable
unpacked objects.

Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoUse memmove instead of memcpy for overlapping areas
Edgar Toernig [Tue, 31 Oct 2006 01:44:27 +0000 (17:44 -0800)]
Use memmove instead of memcpy for overlapping areas

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoUse memmove instead of memcpy for overlapping areas
Edgar Toernig [Tue, 31 Oct 2006 01:39:17 +0000 (17:39 -0800)]
Use memmove instead of memcpy for overlapping areas

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoquote.c: ensure the same quoting across platforms.
Junio C Hamano [Tue, 31 Oct 2006 00:07:54 +0000 (16:07 -0800)]
quote.c: ensure the same quoting across platforms.

We read a byte from "char *" and compared it with ' ' to decide
if it needs quoting to protect textual output.  With a platform
where char is unsigned char that would give different result.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoSurround "#define DEBUG 0" with "#ifndef DEBUG..#endif"
Junio C Hamano [Mon, 30 Oct 2006 23:29:53 +0000 (15:29 -0800)]
Surround "#define DEBUG 0" with "#ifndef DEBUG..#endif"

Otherwise "make CFLAGS=-DDEBUG=1" is cumbersome to run.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-send-email: Read the default SMTP server from the GIT config file
Sergey Vlasov [Sun, 29 Oct 2006 19:31:39 +0000 (22:31 +0300)]
git-send-email: Read the default SMTP server from the GIT config file

Make the default value for --smtp-server configurable through the
'sendemail.smtpserver' option in .git/config (or $HOME/.gitconfig).

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Acked-by: Ryan Anderson <rda@google.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-send-email: Document support for local sendmail instead of SMTP server
Sergey Vlasov [Sun, 29 Oct 2006 19:31:38 +0000 (22:31 +0300)]
git-send-email: Document support for local sendmail instead of SMTP server

Fix the --smtp-server option description to match reality.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoSwap the porcelain and plumbing commands in the git man page
Robin Rosenberg [Sun, 29 Oct 2006 20:09:48 +0000 (21:09 +0100)]
Swap the porcelain and plumbing commands in the git man page

This makes the documentation less confusing to newcomers.

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMention that pull can work locally in the synopsis
Robin Rosenberg [Sun, 29 Oct 2006 20:09:40 +0000 (21:09 +0100)]
Mention that pull can work locally in the synopsis

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Add "next" link to commitdiff view
Jakub Narebski [Sun, 22 Oct 2006 22:37:56 +0000 (00:37 +0200)]
gitweb: Add "next" link to commitdiff view

Add a kind of "next" view in the bottom part of navigation bar for
"commitdiff" view.

For commitdiff between two commits:
  (from: _commit_)
For commitdiff for one single parent commit:
  (parent: _commit_)
For commitdiff for one merge commit
  (merge: _commit_ _commit_ ...)
For commitdiff for root (parentless) commit
  (initial)
where _link_ denotes hyperlink. SHA1 is shortened to 7 characters on
display, everything is perhaps unnecessary esc_html on display.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Move git_get_last_activity subroutine earlier
Jakub Narebski [Sat, 28 Oct 2006 17:43:40 +0000 (19:43 +0200)]
gitweb: Move git_get_last_activity subroutine earlier

This is purely cosmetic.  Having git_get_* between two parse_* subroutines
violated a good convention to group related things together.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDocumentation: fix git-format-patch mark-up and link it from git.txt
Junio C Hamano [Sat, 28 Oct 2006 21:25:41 +0000 (14:25 -0700)]
Documentation: fix git-format-patch mark-up and link it from git.txt

Two asterisks the SYNOPSIS section were mistaken as emphasis,
and the latter backtick in "`<key>`s" were not recognized as
closing backtick.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDocumentation: Update information about <format> in git-for-each-ref
Jakub Narebski [Sat, 28 Oct 2006 17:30:05 +0000 (19:30 +0200)]
Documentation: Update information about <format> in git-for-each-ref

Update information about value of <format> used when it is left
unspecified.  Add information about `%%` and `%xx` interpolation
(URL encoding).

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoBash completion support for aliases
Dennis Stosberg [Sat, 28 Oct 2006 12:12:20 +0000 (14:12 +0200)]
Bash completion support for aliases

 - Add aliases to the list of available git commands.
 - Make completion work for aliased commands.

Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Fix up bogus $stylesheet declarations
Petr Baudis [Thu, 26 Oct 2006 12:41:25 +0000 (14:41 +0200)]
gitweb: Fix up bogus $stylesheet declarations

This seems to be a pre-++ residual declaration and it wasn't good for
anything at all besides flooding the webserver errorlog with "omg, our in
the same scope!!" warnings.

[jc: the patch was bogus by defining the variable which defeated a
 later test that checked it with "defined", which I fixed up.]

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agotests: merge-recursive is usable without Python
Junio C Hamano [Fri, 27 Oct 2006 21:29:55 +0000 (14:29 -0700)]
tests: merge-recursive is usable without Python

Many tests still protected themselves with $no_python; there is no need
to do so anymore.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'maint'
Junio C Hamano [Fri, 27 Oct 2006 09:16:18 +0000 (02:16 -0700)]
Merge branch 'maint'

* maint:
  gitweb: Check git base URLs before generating URL from it
  Documentation: add git in /etc/services.
  Documentation: add upload-archive service to git-daemon.
  git-cherry: document limit and add diagram
  diff-format.txt: Correct information about pathnames quoting in patch format

14 years agogitweb: Check git base URLs before generating URL from it
Jakub Narebski [Thu, 26 Oct 2006 10:26:44 +0000 (12:26 +0200)]
gitweb: Check git base URLs before generating URL from it

Check if each of git base URLs in @git_base_url_list is true before
appending "/$project" to it to generate project URL.

This fixes the error that for default configuration for gitweb in
Makefile, with GITWEB_BASE_URL empty (and "++GITWEB_BASE_URL++" being
"" in gitweb.cgi), we had URL of "/$project" in the summary view.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDocumentation: add git in /etc/services.
Christian Couder [Fri, 27 Oct 2006 05:00:57 +0000 (07:00 +0200)]
Documentation: add git in /etc/services.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDocumentation: add upload-archive service to git-daemon.
Christian Couder [Fri, 27 Oct 2006 04:59:18 +0000 (06:59 +0200)]
Documentation: add upload-archive service to git-daemon.

This patch minimaly documents the upload-archive service,
hoping that someone with better knowledge will improve upon.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-cherry: document limit and add diagram
Rene Scharfe [Thu, 26 Oct 2006 21:32:41 +0000 (23:32 +0200)]
git-cherry: document limit and add diagram

This patch adds the diagram from the long usage string of git-cherry to
its documentation, and documents the third option.  I changed some of
the + to - in order to save the reader from wondering where they might
fit into the picture.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'jc/reflog' into lj/refs
Junio C Hamano [Fri, 27 Oct 2006 01:48:30 +0000 (18:48 -0700)]
Merge branch 'jc/reflog' into lj/refs

* jc/reflog:
  sha1_name.c: avoid compilation warnings.
  ref-log: allow ref@{count} syntax.

14 years agoMerge branch 'jc/combined' into maint
Junio C Hamano [Fri, 27 Oct 2006 01:45:52 +0000 (18:45 -0700)]
Merge branch 'jc/combined' into maint

* jc/combined:
  combine-diff: honour --no-commit-id
  combine-diff: fix hunk_comment_line logic.
  combine-diff: a few more finishing touches.

14 years agoFix show-ref usagestring
Lars Hjemli [Thu, 26 Oct 2006 19:39:05 +0000 (21:39 +0200)]
Fix show-ref usagestring

This describes the abbreviation possibilities for git-show-ref

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agodiff-format.txt: Correct information about pathnames quoting in patch format
Jakub Narebski [Thu, 26 Oct 2006 20:21:02 +0000 (22:21 +0200)]
diff-format.txt: Correct information about pathnames quoting in patch format

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMake filenames line up in git-status output
Andy Parkins [Thu, 26 Oct 2006 14:17:24 +0000 (15:17 +0100)]
Make filenames line up in git-status output

When all the filenames line up it's much easier to copy and paste them
somewhere else, or to remove the "modified:", "copied:", etc prefix.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Use --no-commit-id in git_commit and git_commitdiff
Jakub Narebski [Thu, 26 Oct 2006 08:50:20 +0000 (10:50 +0200)]
gitweb: Use --no-commit-id in git_commit and git_commitdiff

Use --no-commit-id option to git-diff-tree command in git_commit and
git_commitdiff to filter out commit ID output that git-diff-tree adds
when called with only one <tree-ish> (not only for --stdin). Remove
filtering commit IDs from git-diff-tree output.

This option is in git since at least v1.0.0, so make use of it.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'jc/combined'
Junio C Hamano [Thu, 26 Oct 2006 09:07:18 +0000 (02:07 -0700)]
Merge branch 'jc/combined'

* jc/combined:
  combine-diff: honour --no-commit-id
  combine-diff: fix hunk_comment_line logic.

14 years agocombine-diff: honour --no-commit-id
Junio C Hamano [Thu, 26 Oct 2006 09:05:59 +0000 (02:05 -0700)]
combine-diff: honour --no-commit-id

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agocombine-diff: fix hunk_comment_line logic.
Junio C Hamano [Thu, 26 Oct 2006 09:05:05 +0000 (02:05 -0700)]
combine-diff: fix hunk_comment_line logic.

We forgot that the last element of sline[] is a sentinel without
the actual line.  *BLUSH*

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'jc/combined'
Junio C Hamano [Thu, 26 Oct 2006 08:18:55 +0000 (01:18 -0700)]
Merge branch 'jc/combined'

* jc/combined:
  combine-diff: a few more finishing touches.
  Documentation: clarify refname disambiguation rules.
  diff-format.txt: Combined diff format documentation supplement
  Remove --syslog in git-daemon inetd documentation examples.
  Documentation: updates to "Everyday GIT"

14 years agocombine-diff: a few more finishing touches.
Junio C Hamano [Thu, 26 Oct 2006 07:05:04 +0000 (00:05 -0700)]
combine-diff: a few more finishing touches.

"new file" and "deleted file" were already reported in the
original code, but the logic was not as transparent as it could
have.  This uses a few variables and more comments to clarify
the flow.  The rule is: (1) if a path exists in the merge result
when no parent had it, we report "new" (otherwise it came from
the parents, as opposed to have added by the evil merge). (2) if
the path does not exist in the merge result, it is "deleted".

Since we can say "new" and "deleted", there is no reason not to
follow the /dev/null convention.  This fixes it.

Appending function name after @@@ ... @@@ is trivial, so
implement it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDocumentation: clarify refname disambiguation rules.
Junio C Hamano [Thu, 26 Oct 2006 08:15:42 +0000 (01:15 -0700)]
Documentation: clarify refname disambiguation rules.

Nobody should create ambiguous refs (i.e. have tag "foobar" and branch
"foobar" at the same time) that need to be disambiguated with these
rules to keep sanity, but the rules are there so document them.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agodiff-format.txt: Combined diff format documentation supplement
Jakub Narebski [Thu, 26 Oct 2006 03:44:49 +0000 (05:44 +0200)]
diff-format.txt: Combined diff format documentation supplement

Update example combined diff format to the current version
$ git diff-tree -p -c fec9ebf16c948bcb4a8b88d0173ee63584bcde76
and provide complete first chunk in example.

Document combined diff format headers: how "diff header" look like,
which of "extended diff headers" are used with combined diff and how
they look like, differences in two-line from-file/to-file header from
non-combined diff format, chunk header format.

It should be noted that combined diff format was designed for quick
_content_ inspection and renames would work correctly to pick which
blobs from each tree to compare but otherwise not reflected in the
output (the pathnames are not shown).

[jc: with minimum copyediting]

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoRemove --syslog in git-daemon inetd documentation examples.
Christian Couder [Thu, 26 Oct 2006 04:33:07 +0000 (06:33 +0200)]
Remove --syslog in git-daemon inetd documentation examples.

It is useless because --inetd implies --syslog.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDocumentation: updates to "Everyday GIT"
J. Bruce Fields [Thu, 26 Oct 2006 02:43:47 +0000 (22:43 -0400)]
Documentation: updates to "Everyday GIT"

Remove the introduction: I think it should be obvious why
we have this.  (And if it isn't obvious then we've got other
problems.)

Replace reference to git whatchanged by git log.

Miscellaneous style and grammar fixes.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'maint'
Junio C Hamano [Wed, 25 Oct 2006 21:38:33 +0000 (14:38 -0700)]
Merge branch 'maint'

* maint:
  Documentation/SubmittingPatches: 3+1 != 6

14 years agoDocumentation/SubmittingPatches: 3+1 != 6 v1.4.3.3
Junio C Hamano [Wed, 25 Oct 2006 21:38:24 +0000 (14:38 -0700)]
Documentation/SubmittingPatches: 3+1 != 6

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'aw/cvsimport'
Junio C Hamano [Wed, 25 Oct 2006 21:10:50 +0000 (14:10 -0700)]
Merge branch 'aw/cvsimport'

* aw/cvsimport:
  cvsimport: move over to using git-for-each-ref to read refs.

14 years agoMerge branch 'jc/web'
Junio C Hamano [Wed, 25 Oct 2006 20:30:18 +0000 (13:30 -0700)]
Merge branch 'jc/web'

* jc/web:
  gitweb: Print commit message without title in commitdiff only if there is any
  gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff
  gitweb: Get rid of git_print_simplified_log
  gitweb: Show project's README.html if available
  gitweb: Do not automatically append " git" to custom site name
  gitweb: Make search type a popup menu
  gitweb: Restore object-named links in item lists
  gitweb: use for-each-ref to show the latest activity across branches

14 years agoMerge for-each-ref to sync gitweb fully with 'next'
Junio C Hamano [Wed, 25 Oct 2006 20:29:12 +0000 (13:29 -0700)]
Merge for-each-ref to sync gitweb fully with 'next'

14 years agoMerge branch 'jc/web-blame'
Junio C Hamano [Wed, 25 Oct 2006 20:18:06 +0000 (13:18 -0700)]
Merge branch 'jc/web-blame'

* jc/web-blame:
  gitweb: spell "blame --porcelain" with -p
  blame: Document and add help text for -f, -n, and -p
  gitweb: blame porcelain: lineno and orig lineno swapped
  Remove git-annotate.perl and create a builtin-alias for git-blame
  gitweb: use blame --porcelain
  git-blame --porcelain
  blame.c: move code to output metainfo into a separate function.
  git-blame: --show-number (and -n)
  git-blame: --show-name (and -f)
  blame.c: whitespace and formatting clean-up.
  Gitweb - provide site headers and footers
  gitweb: blame: Mouse-over commit-8 shows author and date
  gitweb: blame: print commit-8 on the leading row of a commit-block
  Revert 954a6183756a073723a7c9fd8d2feb13132876b0
  gitweb: prepare for repositories with packed refs.
  gitweb: make leftmost column of blame less cluttered.

14 years agoMerge branch 'maint'
Junio C Hamano [Wed, 25 Oct 2006 19:57:48 +0000 (12:57 -0700)]
Merge branch 'maint'

* maint:
  xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines
  Update cherry documentation.
  Refer to git-rev-parse:Specifying Revisions from git.txt
  git-fetch.sh printed protocol fix
  RPM package re-classification.
  Documentation: note about contrib/.
  git-svn: fix symlink-to-file changes when using command-line svn 1.4.0
  Set $HOME for selftests

14 years agoxdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines
Petr Baudis [Wed, 25 Oct 2006 00:28:55 +0000 (02:28 +0200)]
xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines

This removes the '#' and '(' tests and adds a '$' test instead although I have
no idea what it is actually good for - but hey, if that's what GNU diff does...

Pasky only went and did as Junio sayeth.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoUpdate cherry documentation.
Junio C Hamano [Wed, 25 Oct 2006 06:14:30 +0000 (23:14 -0700)]
Update cherry documentation.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoRefer to git-rev-parse:Specifying Revisions from git.txt
Junio C Hamano [Wed, 25 Oct 2006 18:33:08 +0000 (11:33 -0700)]
Refer to git-rev-parse:Specifying Revisions from git.txt

The brief list given in "Symbolic Identifiers" section of the
main documentation is good enough for overview, but help the
reader to find a more comrehensive list as needed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-fetch.sh printed protocol fix
Tuncer Ayaz [Wed, 25 Oct 2006 10:03:06 +0000 (12:03 +0200)]
git-fetch.sh printed protocol fix

We have supported https:// protocol for some time and in 1.4.3
added ftp:// protocol.  The transfer were still reported to be
over http.

[jc: Tuncer used substring parameter substitution ${remote%%:*}
 but I am deferring it to a later day.  We should replace
 colon-expr with substring substitution after everybody's shell
 can grok it someday, but we are not in a hurry. ]

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoRPM package re-classification.
Junio C Hamano [Wed, 25 Oct 2006 06:55:46 +0000 (23:55 -0700)]
RPM package re-classification.

Grabbing anything that had *arch* in its name into git-arch
package was a wrong idea and we lost git-archive from git-core
by mistake.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Print commit message without title in commitdiff only if there is any
Jakub Narebski [Tue, 24 Oct 2006 11:55:33 +0000 (13:55 +0200)]
gitweb: Print commit message without title in commitdiff only if there is any

Print the rest of commit message (title, i.e. first line of commit
message, is printed separately) only if there is any.

In repository which uses signoffs this shouldn't happen, because
commit message should consist of at least title and signoff.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff
Jakub Narebski [Tue, 24 Oct 2006 11:54:49 +0000 (13:54 +0200)]
gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff

Filter out commit ID output that git-diff-tree adds when called with
only one <tree-ish> (not only for --stdin) in git_commit and
git_commitdiff.

This also works with older git versions, which doesn't have
--no-commit-id option to git-diff-tree.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Get rid of git_print_simplified_log
Jakub Narebski [Tue, 24 Oct 2006 11:52:46 +0000 (13:52 +0200)]
gitweb: Get rid of git_print_simplified_log

Replace calls to git_print_simplified_log with its expansion,
i.e. with calling git_print_log with appropriate options.

Remove no longer used git_print_simplified_log subroutine.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDocumentation: note about contrib/.
Junio C Hamano [Tue, 24 Oct 2006 08:29:27 +0000 (01:29 -0700)]
Documentation: note about contrib/.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-svn: fix symlink-to-file changes when using command-line svn 1.4.0
Eric Wong [Tue, 24 Oct 2006 09:50:37 +0000 (02:50 -0700)]
git-svn: fix symlink-to-file changes when using command-line svn 1.4.0

I incorrectly thought this was hopelessly broken in svn 1.4.0,
but now it's just broken in that the old method didn't work.  It
looks like svn propdel and svn propset must be used now and the
(imho) more obvious svn rm --force && svn add no longer works.

"make -C t full-svn-test" should now work.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Acked-by: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoSet $HOME for selftests
Gerrit Pape [Tue, 24 Oct 2006 20:00:37 +0000 (20:00 +0000)]
Set $HOME for selftests

Set HOME environment variable to test trash directory and export for
selftests.  This fixes the git-svn selftests with nonexistent or not
readable home, as found in at least one automated build system:

 http://buildd.debian.org/fetch.cgi?&pkg=git-core&ver=1%3A1.4.2.3-2&arch=alpha&stamp=1161537466&file=log

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agot3200: git-branch testsuite update
Junio C Hamano [Tue, 24 Oct 2006 05:48:45 +0000 (22:48 -0700)]
t3200: git-branch testsuite update

The test expected "git branch --help" to exit successfully, but
built-ins spawn "man" when given --help, and when the test is
run, manpages may not be installed yet and "man" can legally
exit non-zero in such a case.

Also the new implementation logs "Created from master", instead
of "Created from HEAD" in the reflog, which makes a lot more
sense, so adjust the test to match that.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agosha1_name.c: avoid compilation warnings.
Junio C Hamano [Tue, 24 Oct 2006 04:15:34 +0000 (21:15 -0700)]
sha1_name.c: avoid compilation warnings.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Show project's README.html if available
Petr Baudis [Tue, 24 Oct 2006 03:23:46 +0000 (05:23 +0200)]
gitweb: Show project's README.html if available

If the repository includes a README.html file, show it in the summary page.
The usual "this should be in the config file" argument does not apply here
since this can be larger and having such a big string in the config file
would be impractical.

I don't know if this is suitable upstream, but it's one of the repo.or.cz
custom modifications that I've thought could be interesting for others
as well.

Compared to the previous patch, this adds the '.html' extension to the
filename, so that it's clear it is, well, HTML.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Do not automatically append " git" to custom site name
Petr Baudis [Tue, 24 Oct 2006 03:18:39 +0000 (05:18 +0200)]
gitweb: Do not automatically append " git" to custom site name

If you customized the site name, you probably do not want the " git"
appended so that the page title is not bastardized; I want repo.or.cz pages
titled "Public Git Hosting", not "Public Git Hosting git" (what's hosting
what?).

This slightly changes the $site_name semantics but only very
insignificantly.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Make search type a popup menu
Petr Baudis [Tue, 24 Oct 2006 03:15:46 +0000 (05:15 +0200)]
gitweb: Make search type a popup menu

This makes the multiple search types actually usable by the user;
if you don't read the gitweb source, you don't even have an idea
that you can write things like that there.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Restore object-named links in item lists
Petr Baudis [Tue, 24 Oct 2006 03:36:10 +0000 (05:36 +0200)]
gitweb: Restore object-named links in item lists

This restores the redundant links removed earlier. It supersedes my patch
to stick slashes to tree entries.

Sorry about the previous version of the patch, an unrelated snapshot link
addition to tree entries slipped through (and it it didn't even compile);
I've dropped the idea of snapshot links in tree entries in the meantime
anyway.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'master' into jc/web
Junio C Hamano [Tue, 24 Oct 2006 03:53:38 +0000 (20:53 -0700)]
Merge branch 'master' into jc/web

* master: (114 commits)
  gitweb: Fix setting $/ in parse_commit()
  daemon: do not die on older clients.
  xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.
  git-clone: honor --quiet
  Documentation for the [remote] config
  prune-packed: Fix uninitialized variable.
  ignore-errors requires cl
  git-send-email: do not pass custom Date: header
  Use column indexes in git-cvsserver where necessary.
  gitweb: Add '..' (up directory) to tree view if applicable
  gitweb: Improve git_print_page_path
  pager: default to LESS=FRSX not LESS=FRS
  Make prune also run prune-packed
  git-vc: better installation instructions
  gitweb: Do not esc_html $basedir argument to git_print_tree_entry
  gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)
  Fix usagestring for git-branch
  git-merge: show usage if run without arguments
  add the capability for index-pack to read from a stream
  git-clone: define die() and use it.
  ...

14 years agoMake git-branch a builtin
Lars Hjemli [Mon, 23 Oct 2006 21:27:45 +0000 (23:27 +0200)]
Make git-branch a builtin

This replaces git-branch.sh with builtin-branch.c

The changes is basically a patch from Kristian Høgsberg, updated
to apply onto current 'next'

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'maint'
Junio C Hamano [Tue, 24 Oct 2006 02:29:05 +0000 (19:29 -0700)]
Merge branch 'maint'

* maint:
  gitweb: Fix setting $/ in parse_commit()
  daemon: do not die on older clients.
  xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.
  git-clone: honor --quiet
  Documentation for the [remote] config
  prune-packed: Fix uninitialized variable.

14 years agogitweb: Fix setting $/ in parse_commit() v1.4.3.2
Petr Baudis [Tue, 24 Oct 2006 00:39:14 +0000 (02:39 +0200)]
gitweb: Fix setting $/ in parse_commit()

If the commit couldn't have been read, $/ wasn't restored to \n properly,
causing random havoc like git_get_ref_list() returning the ref names with
trailing \n.

Aside of potential confusion in the body of git_search(), no other $/
surprises are hopefully hidden in the code.

Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agodaemon: do not die on older clients.
Junio C Hamano [Tue, 24 Oct 2006 01:26:05 +0000 (18:26 -0700)]
daemon: do not die on older clients.

In the older times, the clients did not say which host they were trying
to connect, and the code we recently added did not quite handle the
older clients correctly.

Noticed by Simon Arlott.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoxdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.
Jim Meyering [Mon, 23 Oct 2006 20:22:25 +0000 (22:22 +0200)]
xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.

This removes trailing blanks from git-generated diff headers
the same way a similar patch did that for GNU diff:

  http://article.gmane.org/gmane.comp.gnu.utils.bugs/13839

That is, it removes trailing blanks on the hunk header line that
shows the function name.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-clone: honor --quiet
Jim Meyering [Mon, 23 Oct 2006 13:59:48 +0000 (15:59 +0200)]
git-clone: honor --quiet

I noticed that a cron-launched "git-clone --quiet" was generating
progress output to standard error -- and thus always spamming me.
The offending output was due to git-clone invoking git-read-tree with
its undocumented -v option.
This change turns off "-v" for --quiet.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDocumentation for the [remote] config
Santi Béjar [Mon, 23 Oct 2006 16:42:14 +0000 (18:42 +0200)]
Documentation for the [remote] config

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoprune-packed: Fix uninitialized variable.
Alexandre Julliard [Mon, 23 Oct 2006 16:26:39 +0000 (18:26 +0200)]
prune-packed: Fix uninitialized variable.

The dryrun variable was made local instead of static by the previous
commit, and local variables aren't initialized to zero.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoignore-errors requires cl
Karl Hasselström [Mon, 23 Oct 2006 00:02:42 +0000 (17:02 -0700)]
ignore-errors requires cl

vc-git complains that it can't find the definition of ignore-errors
unless I (require 'cl). So I guess the correct place to do that is in
the file itself.

Signed-off-by: Karl Hasselström <kha@treskal.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-send-email: do not pass custom Date: header
Eric Wong [Mon, 23 Oct 2006 07:46:37 +0000 (00:46 -0700)]
git-send-email: do not pass custom Date: header

We already generate a Date: header based on when the patch was
emailed.  git-format-patch includes the Date: header of the
patch.  Having two Date: headers is just confusing, so we
just use the current Date:

Often the mailed patches in a patch series are created over a
series of several hours or days, so the Date: header from the
original commit is incorrect for email, and often far off enough
for spam filters to complain.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoUse column indexes in git-cvsserver where necessary.
Shawn Pearce [Mon, 23 Oct 2006 05:09:35 +0000 (01:09 -0400)]
Use column indexes in git-cvsserver where necessary.

Tonight I found a git-cvsserver instance spending a lot of time in
disk IO while trying to process operations against a Git repository
with >30,000 objects contained in it.

Blowing away my SQLLite database and rebuilding all tables with
indexes on the attributes that git-cvsserver frequently runs queries
against seems to have resolved the issue quite nicely.

Since the indexes shouldn't hurt performance on small repositories
and always helps on larger repositories we should just always create
them when creating the revision storage tables.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Add '..' (up directory) to tree view if applicable
Jakub Narebski [Sat, 21 Oct 2006 15:54:44 +0000 (17:54 +0200)]
gitweb: Add '..' (up directory) to tree view if applicable

Adds '..' (up directory) link at the top of "tree" view listing,
if both $hash_base and $file_name are provided, and $file_name
is not empty string.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Improve git_print_page_path
Jakub Narebski [Sat, 21 Oct 2006 15:53:55 +0000 (17:53 +0200)]
gitweb: Improve git_print_page_path

Add link to "tree root" (root directory) also for not defined name,
for example for "tree" action without defined "file_name" which means
"tree root".

Add " / " at the end of path when $type eq "tree".

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'np/pack'
Junio C Hamano [Mon, 23 Oct 2006 05:51:42 +0000 (22:51 -0700)]
Merge branch 'np/pack'

* np/pack:
  add the capability for index-pack to read from a stream
  index-pack: compare only the first 20-bytes of the key.
  git-repack: repo.usedeltabaseoffset
  pack-objects: document --delta-base-offset option
  allow delta data reuse even if base object is a preferred base
  zap a debug remnant
  let the GIT native protocol use offsets to delta base when possible
  make pack data reuse compatible with both delta types
  make git-pack-objects able to create deltas with offset to base
  teach git-index-pack about deltas with offset to base
  teach git-unpack-objects about deltas with offset to base
  introduce delta objects with offset to base

14 years agoMerge branch 'maint'
Junio C Hamano [Mon, 23 Oct 2006 05:40:30 +0000 (22:40 -0700)]
Merge branch 'maint'

* maint:
  pager: default to LESS=FRSX not LESS=FRS
  Make prune also run prune-packed
  git-vc: better installation instructions
  gitweb: Do not esc_html $basedir argument to git_print_tree_entry
  gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)
  Fix usagestring for git-branch
  git-merge: show usage if run without arguments

14 years agopager: default to LESS=FRSX not LESS=FRS
Junio C Hamano [Mon, 23 Oct 2006 03:28:10 +0000 (20:28 -0700)]
pager: default to LESS=FRSX not LESS=FRS

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMake prune also run prune-packed
J. Bruce Fields [Sun, 22 Oct 2006 23:01:23 +0000 (19:01 -0400)]
Make prune also run prune-packed

Both the git-prune manpage and everday.txt say that git-prune should also prune
unpacked objects that are also found in packs, by running git prune-packed.

Junio thought this was "a regression when prune was rewritten as a built-in."

So modify prune to call prune-packed again.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
14 years agogit-vc: better installation instructions
Karl Hasselström [Sun, 22 Oct 2006 18:46:36 +0000 (20:46 +0200)]
git-vc: better installation instructions

Provide some more detailed installation instructions, for the
elisp-challenged among us.

Signed-off-by: Karl Hasselström <kha@treskal.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Do not esc_html $basedir argument to git_print_tree_entry
Jakub Narebski [Sat, 21 Oct 2006 15:53:09 +0000 (17:53 +0200)]
gitweb: Do not esc_html $basedir argument to git_print_tree_entry

In git_tree, rename $base variable (which is passed as $basedir
argument to git_print_tree_entry) to $basedir. Do not esc_html
$basedir, as it is part of file_name ('f') argument in link and not
printed. Add '/' at the end only if $basedir is not empty (it is empty
for top directory) and doesn't end in '/' already.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)
Jakub Narebski [Sat, 21 Oct 2006 15:52:19 +0000 (17:52 +0200)]
gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)

Code should be aligned the same way, regardless of tab size.
Use tabs for indent, but spaces for align.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoFix usagestring for git-branch
Lars Hjemli [Sun, 22 Oct 2006 11:30:24 +0000 (13:30 +0200)]
Fix usagestring for git-branch

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-merge: show usage if run without arguments
Rene Scharfe [Sat, 21 Oct 2006 18:51:04 +0000 (20:51 +0200)]
git-merge: show usage if run without arguments

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoadd the capability for index-pack to read from a stream
Nicolas Pitre [Fri, 20 Oct 2006 18:45:21 +0000 (14:45 -0400)]
add the capability for index-pack to read from a stream

This patch only adds the streaming capability to index-pack.  Although
the code is different it has the exact same functionality as before to
make sure nothing broke.

This is in preparation for receiving packs over the net, parse them on
the fly, fix them up if they are "thin" packs, and keep the resulting
pack instead of exploding it into loose objects.  But such functionality
should come separately.

One immediate advantage of this patch is that index-pack can now deal
with packs up to 4GB in size even on 32-bit architectures since the pack
is not entirely mmap()'d all at once anymore.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agogit-clone: define die() and use it.
Dmitry V. Levin [Fri, 20 Oct 2006 19:38:31 +0000 (23:38 +0400)]
git-clone: define die() and use it.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'maint'
Junio C Hamano [Fri, 20 Oct 2006 23:51:05 +0000 (16:51 -0700)]
Merge branch 'maint'

* maint:
  Fix typo in show-index.c
  pager: default to LESS=FRS

14 years agoFix typo in show-index.c v1.4.3.1
Lars Hjemli [Fri, 20 Oct 2006 21:24:32 +0000 (23:24 +0200)]
Fix typo in show-index.c

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agopager: default to LESS=FRS
Junio C Hamano [Fri, 20 Oct 2006 23:37:49 +0000 (16:37 -0700)]
pager: default to LESS=FRS

Recent change to paginate "git diff" by default is often irritating
when you do not have any change (or very small change) in your working
tree.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'maint'
Junio C Hamano [Fri, 20 Oct 2006 04:28:12 +0000 (21:28 -0700)]
Merge branch 'maint'

* maint:
  git-apply: prepare for upcoming GNU diff -u format change.

14 years agogit-apply: prepare for upcoming GNU diff -u format change.
Linus Torvalds [Fri, 20 Oct 2006 02:26:08 +0000 (19:26 -0700)]
git-apply: prepare for upcoming GNU diff -u format change.

The latest GNU diff from CVS emits an empty line to express
an empty context line, instead of more traditional "single
white space followed by a newline".  Do not get broken by it.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoDon't use $author_name undefined when $from contains no /\s</.
Jim Meyering [Thu, 19 Oct 2006 08:33:01 +0000 (10:33 +0200)]
Don't use $author_name undefined when $from contains no /\s</.

I noticed a case not handled in a recent patch.
Demonstrate it like this:

  $ touch new-file
  $ git-send-email --dry-run --from j --to k new-file 2>err
  new-file
  OK. Log says:
  Date: Thu, 19 Oct 2006 10:26:24 +0200
  Sendmail: /usr/sbin/sendmail
  From: j
  Subject:
  Cc:
  To: k

  Result: OK
  $ cat err
  Use of uninitialized value in pattern match (m//) at /p/bin/git-send-email line 416.
  Use of uninitialized value in concatenation (.) or string at /p/bin/git-send-email line 420.
  Use of uninitialized value in concatenation (.) or string at /p/bin/git-send-email line 468.

There's a patch for the $author_name part below.

The example above shows that $subject may also be used uninitialized.
That should be easy to fix, too.

Signed-off-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoref-log: fix D/F conflict coming from deleted refs.
Junio C Hamano [Thu, 19 Oct 2006 08:28:47 +0000 (01:28 -0700)]
ref-log: fix D/F conflict coming from deleted refs.

After deleting a branch l/k, you should be able to create a
branch l.  Earlier we added remove_empty_directories() on the
ref creation side to remove leftover .git/refs/l directory but
we also need a matching code to remove .git/logs/refs/l
directory.

Signed-off-by: Junio C Hamano <junkio@cox.net>
14 years agoMerge branch 'mw/pathinfo'
Junio C Hamano [Thu, 19 Oct 2006 05:09:11 +0000 (22:09 -0700)]
Merge branch 'mw/pathinfo'

* mw/pathinfo:
  gitweb: Fix search form when PATH_INFO is enabled
  gitweb: Document features better
  gitweb: warn if feature cannot be overridden.
  gitweb: start to generate PATH_INFO URLs.

Conflicts:

gitweb/README

14 years agoMerge branch 'js/diff'
Junio C Hamano [Thu, 19 Oct 2006 05:09:03 +0000 (22:09 -0700)]
Merge branch 'js/diff'

* js/diff:
  Turn on recursive with --summary

14 years agoMerge branch 'jc/send-email'
Junio C Hamano [Thu, 19 Oct 2006 05:09:00 +0000 (22:09 -0700)]
Merge branch 'jc/send-email'

* jc/send-email:
  Make git-send-email detect mbox-style patches more readily
  git-send-email: real name with period need to be dq-quoted on From: line
  git-send-email: do not drop custom headers the user prepared