Code

git.git
18 years agoremove .keep pack lock files when done with refs update
Nicolas Pitre [Wed, 1 Nov 2006 22:06:25 +0000 (17:06 -0500)]
remove .keep pack lock files when done with refs update

This makes both git-fetch and git-push (fetch-pack and receive-pack)
safe against a possible race with aparallel git-repack -a -d that could
prune the new pack while it is not yet referenced, and remove the .keep
file after refs have been updated.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agohave index-pack create .keep file more carefully
Nicolas Pitre [Wed, 1 Nov 2006 22:06:24 +0000 (17:06 -0500)]
have index-pack create .keep file more carefully

If by chance we receive a pack which content (list of objects) matches
another pack that we already have, and if that pack is marked with a
.keep file, then we should not overwrite it.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoimprove fetch-pack's handling of kept packs
Nicolas Pitre [Wed, 1 Nov 2006 22:06:23 +0000 (17:06 -0500)]
improve fetch-pack's handling of kept packs

Since functions in fetch-clone.c were only used from fetch-pack.c,
its content has been merged with fetch-pack.c.  This allows for better
coupling of features with much simpler implementations.

One new thing is that the (abscence of) --thin also enforce it on
index-pack now, such that index-pack will abort if a thin pack was
_not_ asked for.

The -k or --keep, when provided twice, now causes the fetched pack
to be left as a kept pack just like receive-pack currently does.
Eventually this will be used to close a race against concurrent
repacking.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-fetch can use both --thin and --keep with fetch-pack now
Nicolas Pitre [Wed, 1 Nov 2006 22:06:22 +0000 (17:06 -0500)]
git-fetch can use both --thin and --keep with fetch-pack now

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoTeach receive-pack how to keep pack files based on object count.
Shawn Pearce [Wed, 1 Nov 2006 22:06:21 +0000 (17:06 -0500)]
Teach receive-pack how to keep pack files based on object count.

Since keeping a pushed pack or exploding it into loose objects
should be a local repository decision this teaches receive-pack
to decide if it should call unpack-objects or index-pack --stdin
--fix-thin based on the setting of receive.unpackLimit and the
number of objects contained in the received pack.

If the number of objects (hdr_entries) in the received pack is
below the value of receive.unpackLimit (which is 5000 by default)
then we unpack-objects as we have in the past.

If the hdr_entries >= receive.unpackLimit then we call index-pack and
ask it to include our pid and hostname in the .keep file to make it
easier to identify why a given pack has been kept in the repository.

Currently this leaves every received pack as a kept pack.  We really
don't want that as received packs will tend to be small.  Instead we
want to delete the .keep file automatically after all refs have
been updated.  That is being left as room for future improvement.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoAllow pack header preprocessing before unpack-objects/index-pack.
Nicolas Pitre [Wed, 1 Nov 2006 22:06:20 +0000 (17:06 -0500)]
Allow pack header preprocessing before unpack-objects/index-pack.

Some applications which invoke unpack-objects or index-pack --stdin
may want to examine the pack header to determine the number of
objects contained in the pack and use that value to determine which
executable to invoke to handle the rest of the pack stream.

However if the caller consumes the pack header from the input stream
then its no longer available for unpack-objects or index-pack --stdin,
both of which need the version and object count to process the stream.

This change introduces --pack_header=ver,cnt as a command line option
that the caller can supply to indicate it has already consumed the
pack header and what version and object count were found in that
header.  As this option is only meant for low level applications
such as receive-pack we are not documenting it at this time.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMerge branch 'master' into np/index-pack
Junio C Hamano [Fri, 3 Nov 2006 08:23:52 +0000 (00:23 -0800)]
Merge branch 'master' into np/index-pack

* master: (90 commits)
  gitweb: Better support for non-CSS aware web browsers
  gitweb: Output also empty patches in "commitdiff" view
  gitweb: Use git-for-each-ref to generate list of heads and/or tags
  for-each-ref: "creator" and "creatordate" fields
  Add --global option to git-repo-config.
  pack-refs: Store the full name of the ref even when packing only tags.
  git-clone documentation didn't mention --origin as equivalent of -o
  Minor grammar fixes for git-diff-index.txt
  link_temp_to_file: call adjust_shared_perm() only when we created the directory
  Remove uneccessarily similar printf() from print_ref_list() in builtin-branch
  pack-objects doesn't create random pack names
  branch: work in subdirectories.
  gitweb: Use 's' regexp modifier to secure against filenames with LF
  gitweb: Secure against commit-ish/tree-ish with the same name as path
  gitweb: esc_html() author in blame
  git-svnimport: support for partial imports
  link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure
  Move deny_non_fast_forwards handling completely into receive-pack.
  revision traversal: --unpacked does not limit commit list anymore.
  Continue traversal when rev-list --unpacked finds a packed commit.
  ...

18 years agogitweb: Better support for non-CSS aware web browsers
Jakub Narebski [Wed, 1 Nov 2006 13:33:21 +0000 (14:33 +0100)]
gitweb: Better support for non-CSS aware web browsers

Add option to replace SPC (' ') with hard (non-breakable) space HTML
entity '&nbsp;' in esc_html subroutine.

Replace ' ' with '&nbsp;' for the code/diff display part in git_blob
and git_patchset_body; this is to be able to view code and diffs in
web browsers which doesn't understand "white-space: pre;" CSS
declaration.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogitweb: Output also empty patches in "commitdiff" view
Jakub Narebski [Tue, 31 Oct 2006 16:36:27 +0000 (17:36 +0100)]
gitweb: Output also empty patches in "commitdiff" view

Remove skipping over empty patches (i.e. patches which consist solely
of extended headers) in git_patchset_body, and add links to those
header-only patches in git_difftree_body (but not generate blobdiff
links when there were no change in file contents).

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMerge branch 'sp/keep-pack' into np/index-pack
Junio C Hamano [Fri, 3 Nov 2006 05:41:47 +0000 (21:41 -0800)]
Merge branch 'sp/keep-pack' into np/index-pack

* sp/keep-pack: (29 commits)
  Remove unused variable in receive-pack.
  Teach git-index-pack how to keep a pack file.
  Only repack active packs by skipping over kept packs.
  Allow short pack names to git-pack-objects --unpacked=.
  git-send-email: Read the default SMTP server from the GIT config file
  git-send-email: Document support for local sendmail instead of SMTP server
  Swap the porcelain and plumbing commands in the git man page
  Mention that pull can work locally in the synopsis
  gitweb: Add "next" link to commitdiff view
  gitweb: Move git_get_last_activity subroutine earlier
  Documentation: fix git-format-patch mark-up and link it from git.txt
  Documentation: Update information about <format> in git-for-each-ref
  Bash completion support for aliases
  gitweb: Fix up bogus $stylesheet declarations
  tests: merge-recursive is usable without Python
  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
  ...

18 years agoMerge branch 'maint'
Junio C Hamano [Fri, 3 Nov 2006 02:05:33 +0000 (18:05 -0800)]
Merge branch 'maint'

* maint:
  git-clone documentation didn't mention --origin as equivalent of -o
  Minor grammar fixes for git-diff-index.txt
  link_temp_to_file: call adjust_shared_perm() only when we created the directory

18 years agogitweb: Use git-for-each-ref to generate list of heads and/or tags
Jakub Narebski [Thu, 2 Nov 2006 19:23:11 +0000 (20:23 +0100)]
gitweb: Use git-for-each-ref to generate list of heads and/or tags

Add two subroutines: git_get_heads_list and git_get_refs_list, which
fill out needed parts of refs info (heads and tags respectively) info
using single call to git-for-each-ref, instead of using
git-peek-remote to get list of references and using parse_ref for each
ref to get ref info, which in turn uses at least one call of git
command.

Replace call to git_get_refs_list in git_summary by call to
git_get_references, git_get_heads_list and git_get_tags_list
(simplifying this subroutine a bit). Use git_get_heads_list in
git_heads and git_get_tags_list in git_tags. Modify git_tags_body
slightly to accept output from git_get_tags_list.

Remove no longer used, and a bit hackish, git_get_refs_list.
parse_ref is no longer used, but is left for now.

Generating "summary" and "tags" views should be much faster for
projects which have large number of tags.

CHANGES IN OUTPUT: Before, if ref in refs/tags was tag pointing to
commit we used committer epoch as epoch for ref, and used tagger epoch
as epoch only for tag pointing to object of other type. If ref in
refs/tags was commit, we used committer epoch as epoch for ref (see
parse_ref; we sorted in gitweb by 'epoch' field).

Currently we use committer epoch for refs pointing to commit objects,
and tagger epoch for refs pointing to tag object, even if tag points
to commit.

Simple ab benchmark before and after this patch for my git.git
repository (git/jnareb-git.git) with some heads and tags added
as compared to git.git repository, shows around 2.4-3.0 times speedup
for "summary" and "tags" views:

 summary   3134 +/- 24.2 ms  -->   1081 +/- 30.2 ms
 tags      2886 +/- 18.9 ms  -->   1196 +/- 15.6 ms

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agofor-each-ref: "creator" and "creatordate" fields
Junio C Hamano [Sat, 28 Oct 2006 20:33:46 +0000 (13:33 -0700)]
for-each-ref: "creator" and "creatordate" fields

This adds "creator" (which is parallel to "tagger" or "committer")
and "creatordate" (corresponds to "taggerdate" and
"committerdate").

As other "date" fields, "creatordate" sorts numerically
and displays human readably. This allows for example for
sorting together heavyweigth and lightweight tags.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Jakub Narebski <jnareb@gmail.com>
18 years agoAdd --global option to git-repo-config.
Sean [Thu, 2 Nov 2006 15:44:20 +0000 (10:44 -0500)]
Add --global option to git-repo-config.

Allow user to set variables in global ~/.gitconfig file
using command line.

Signed-off-by: Sean Estabrooks <seanlkml@sympatico.ca>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agopack-refs: Store the full name of the ref even when packing only tags.
Alexandre Julliard [Thu, 2 Nov 2006 11:13:32 +0000 (12:13 +0100)]
pack-refs: Store the full name of the ref even when packing only tags.

Using for_each_tag_ref() to enumerate tags is wrong since it removes
the refs/tags/ prefix, we need to always use for_each_ref() and filter
out non-tag references in the callback.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogit-clone documentation didn't mention --origin as equivalent of -o
Andy Parkins [Thu, 2 Nov 2006 11:11:56 +0000 (12:11 +0100)]
git-clone documentation didn't mention --origin as equivalent of -o

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMinor grammar fixes for git-diff-index.txt
Andy Parkins [Thu, 2 Nov 2006 11:12:44 +0000 (12:12 +0100)]
Minor grammar fixes for git-diff-index.txt

"what you are going to commit is" doesn't need the "is" and does need a comma.

"can trivially see" is an unecessary split infinitive and "easily" is a more
appropriate adverb.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agolink_temp_to_file: call adjust_shared_perm() only when we created the directory
Johannes Schindelin [Fri, 3 Nov 2006 02:02:17 +0000 (18:02 -0800)]
link_temp_to_file: call adjust_shared_perm() only when we created the directory

18 years agoRemove uneccessarily similar printf() from print_ref_list() in builtin-branch
Andy Parkins [Thu, 2 Nov 2006 11:10:52 +0000 (11:10 +0000)]
Remove uneccessarily similar printf() from print_ref_list() in builtin-branch

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMerge branch 'maint'
Junio C Hamano [Wed, 1 Nov 2006 23:09:55 +0000 (15:09 -0800)]
Merge branch 'maint'

* maint:
  pack-objects doesn't create random pack names
  link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure

18 years agopack-objects doesn't create random pack names
Nicolas Pitre [Wed, 1 Nov 2006 22:34:47 +0000 (17:34 -0500)]
pack-objects doesn't create random pack names

Documentation for pack-objects seems to be out of date in this regard.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agobranch: work in subdirectories.
Junio C Hamano [Wed, 1 Nov 2006 20:53:13 +0000 (12:53 -0800)]
branch: work in subdirectories.

Noticed by Andy Whitcroft

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogitweb: Use 's' regexp modifier to secure against filenames with LF
Jakub Narebski [Mon, 30 Oct 2006 21:25:11 +0000 (22:25 +0100)]
gitweb: Use 's' regexp modifier to secure against filenames with LF

Use 's' (treat string as single line) regexp modifier in
git_get_hash_by_path (against future changes, probably unnecessary)
and in parse_ls_tree_line (when called with '-z'=>1 option) to secure
against filenames containing newline.

[jc: the hunk on git_get_hash_by_path was unneeded, and I noticed the
 regexp was doing unnecessary capture, so fixed it up while I was at it.]

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogitweb: Secure against commit-ish/tree-ish with the same name as path
Jakub Narebski [Mon, 30 Oct 2006 21:29:06 +0000 (22:29 +0100)]
gitweb: Secure against commit-ish/tree-ish with the same name as path

Add "--" after <commit-ish> or <tree-ish> argument to clearly mark it
as <commit-ish> or <tree-ish> and not pathspec, securing against refs
with the same names as files or directories in [live] repository.

Some wrapping to reduce line length as well.

[jc: with "oops, ls-tree does not want --" fix-up manually applied.]

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agogitweb: esc_html() author in blame
Luben Tuikov [Mon, 30 Oct 2006 20:37:54 +0000 (12:37 -0800)]
gitweb: esc_html() author in blame

Blame fails for example on
block/ll_rw_blk.c at v2.6.19-rc3.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMerge branch 'rs/cherry'
Junio C Hamano [Wed, 1 Nov 2006 17:17:37 +0000 (09:17 -0800)]
Merge branch 'rs/cherry'

* rs/cherry:
  Make git-cherry handle root trees
  Built-in cherry

18 years agoMerge branch 'jc/refs-and-fetch'
Junio C Hamano [Wed, 1 Nov 2006 16:49:19 +0000 (08:49 -0800)]
Merge branch 'jc/refs-and-fetch'

* jc/refs-and-fetch:
  git-fetch: adjust to packed-refs.

18 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.
  ...

18 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>
18 years agolink_temp_to_file: don't leave the path truncated on adjust_shared_perm failure
Junio C Hamano [Tue, 31 Oct 2006 23:56:58 +0000 (15:56 -0800)]
link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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"

18 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>
18 years agoRemove unused variable in receive-pack.
Shawn Pearce [Mon, 30 Oct 2006 22:34:50 +0000 (17:34 -0500)]
Remove unused variable in receive-pack.

We aren't using this return code variable for anything so lets
just get rid of it to keep this section of code clean.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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>
18 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>
18 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>
18 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>
18 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>
18 years agoRevert "send-pack --keep: do not explode into loose objects on the receiving end."
Junio C Hamano [Tue, 31 Oct 2006 00:02:07 +0000 (16:02 -0800)]
Revert "send-pack --keep: do not explode into loose objects on the receiving end."

This reverts commit c7740a943ec896247ebc5514b6be02710caf3c53.  There should
be a way to make this controllable from the receiver end.

18 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>
18 years agomissing small substitution
Nicolas Pitre [Mon, 30 Oct 2006 02:33:22 +0000 (21:33 -0500)]
missing small substitution

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoTeach git-index-pack how to keep a pack file.
Shawn Pearce [Sun, 29 Oct 2006 09:41:59 +0000 (04:41 -0500)]
Teach git-index-pack how to keep a pack file.

To prevent a race condition between `index-pack --stdin` and
`repack -a -d` where the repack deletes the newly created pack
file before any refs are updated to reference objects contained
within it we mark the pack file as one that should be kept.  This
removes it from the list of packs that `repack -a -d` will consider
for removal.

Callers such as `receive-pack` which want to invoke `index-pack`
should use this new --keep option to prevent the newly created pack
and index file pair from being deleted before they have finished any
related ref updates.  Only after all ref updates have been finished
should the associated .keep file be removed.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoMerge early part of branch 'np/index-pack' into sp/keep-pack
Junio C Hamano [Sun, 29 Oct 2006 21:44:54 +0000 (13:44 -0800)]
Merge early part of branch 'np/index-pack' into sp/keep-pack

18 years agoOnly repack active packs by skipping over kept packs.
Shawn Pearce [Sun, 29 Oct 2006 09:37:54 +0000 (04:37 -0500)]
Only repack active packs by skipping over kept packs.

During `git repack -a -d` only repack objects which are loose or
which reside in an active (a non-kept) pack.  This allows the user
to keep large packs as-is without continuous repacking and can be
very helpful on large repositories.  It should also help us resolve
a race condition between `git repack -a -d` and the new pack store
functionality in `git-receive-pack`.

Kept packs are those which have a corresponding .keep file in
$GIT_OBJECT_DIRECTORY/pack.  That is pack-X.pack will be kept
(not repacked and not deleted) if pack-X.keep exists in the same
directory when `git repack -a -d` starts.

Currently this feature is not documented and there is no user
interface to keep an existing pack.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoAllow short pack names to git-pack-objects --unpacked=.
Shawn Pearce [Sun, 29 Oct 2006 09:37:11 +0000 (04:37 -0500)]
Allow short pack names to git-pack-objects --unpacked=.

This allows us to pass just the file name of a pack rather than
the complete path when we want pack-objects to consider its
contents as though they were loose objects.  This can be helpful
if $GIT_OBJECT_DIRECTORY contains shell metacharacters which make
it cumbersome to pass complete paths safely in a shell script.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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>
18 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>
18 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>
18 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>
18 years agosend-pack --keep: do not explode into loose objects on the receiving end.
Junio C Hamano [Sun, 29 Oct 2006 07:47:56 +0000 (00:47 -0700)]
send-pack --keep: do not explode into loose objects on the receiving end.

This adds "keep-pack" extension to send-pack vs receive pack protocol,
and makes the receiver invoke "index-pack --stdin --fix-thin".

With this, you can ask send-pack not to explode the result into
loose objects on the receiving end.

I've patched has_sha1_file() to re-check for added packs just
like is done in read_sha1_file() for now, but I think the static
"re-prepare" interface for packs was a mistake.  Creation of a
new pack inside a process that needs to read objects in them
back ought to be a rare event, so we are better off making the
callers (such as receive-pack that calls "index-pack --stdin
--fix-thin") explicitly call re-prepare.  That way we do not
have to penalize ordinary users of read_sha1_file() and
has_sha1_file().

We would need to fix this someday.

Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 years agoindex-pack: minor fixes to comment and function name
Nicolas Pitre [Fri, 27 Oct 2006 20:14:23 +0000 (16:14 -0400)]
index-pack: minor fixes to comment and function name

Use proper english. Be more exact in one comment.

[jc: I threw in a bit of style clean-up as well]

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agoenhance clone and fetch -k experience
Nicolas Pitre [Fri, 27 Oct 2006 19:42:17 +0000 (15:42 -0400)]
enhance clone and fetch -k experience

Now that index-pack can be streamed with a pack, it is probably a good
idea to use it directly instead of creating a temporary file and running
index-pack afterwards.  This way index-pack can abort early whenever a
corruption is encountered even if the pack has not been fully
downloaded, it can display a progress percentage as it knows how much to
expects, and it is a bit faster since the pack indexing is partially
done as data is received. Using fetch -k doesn't need to disable thin
pack generation on the remote end either.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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>
18 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

18 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>
18 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>
18 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>
18 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>
18 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.

18 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.

18 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>
18 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>
18 years agoMake git-cherry handle root trees
Rene Scharfe [Thu, 26 Oct 2006 16:52:39 +0000 (18:52 +0200)]
Make git-cherry handle root trees

This patch on top of 'next' makes built-in git-cherry handle root
commits.

It moves the static function log-tree.c::diff_root_tree() to
tree-diff.c and makes it more similar to diff_tree_sha1() by
shuffling around arguments and factoring out the call to
log_tree_diff_flush().  Consequently the name is changed to
diff_root_tree_sha1().  It is a version of diff_tree_sha1() that
compares the empty tree (= root tree) against a single 'real' tree.

This function is then used in get_patch_id() to compute patch IDs
for initial commits instead of SEGFAULTing, as the current code
does if confronted with parentless commits.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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>
18 years agomimic unpack-objects when --stdin is used with index-pack
Nicolas Pitre [Thu, 26 Oct 2006 03:31:53 +0000 (23:31 -0400)]
mimic unpack-objects when --stdin is used with index-pack

It appears that git-unpack-objects writes the last part of the input
buffer to stdout after the pack has been parsed.  This looks a bit
suspicious since the last fill() might have filled the buffer up to
the 4096 byte limit and more data might still be pending on stdin,
but since this is about being a drop-in replacement for unpack-objects
let's simply duplicate the same behavior for now.

[jc: with fix-up appeared in Nico's sleep]

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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>
18 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.

18 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>
18 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>
18 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"

18 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>
18 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>
18 years agoadd progress status to index-pack
Nicolas Pitre [Thu, 26 Oct 2006 03:32:59 +0000 (23:32 -0400)]
add progress status to index-pack

This is more interesting to look at when performing a big fetch.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 years agomake index-pack able to complete thin packs.
Nicolas Pitre [Thu, 26 Oct 2006 03:28:17 +0000 (23:28 -0400)]
make index-pack able to complete thin packs.

A new flag, --fix-thin, instructs git-index-pack to append any missing
objects to a thin pack to make it self contained and indexable. Of course
objects missing from the pack must be present elsewhere in the local
repository.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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>
18 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>
18 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>
18 years agoenable index-pack streaming capability
Nicolas Pitre [Mon, 23 Oct 2006 18:50:18 +0000 (14:50 -0400)]
enable index-pack streaming capability

A new flag, --stdin, allows for a pack to be received over a stream.
When this flag is provided, the pack content is written to either
the named pack file or directly to the object repository under the
same name as produced by git-repack.  The pack index is written as
well with the corresponding base name, unless the index name is
overriden with -o.

With this patch, git-index-pack could be used instead of
git-unpack-objects when fetching remote objects but only with
non "thin" packs for now.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
18 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

18 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>
18 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.

18 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

18 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'

18 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.

18 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

18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>
18 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>