Commit Graph

1838 Commits

Author SHA1 Message Date
Junio C Hamano
540bf654d0 Allow finding things that begin with a dash in 'git grep'
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12 13:24:55 -07:00
Linus Torvalds
f22cc3fcbf [PATCH] Add "git grep" helper
Very convenient shorthand for

	git-ls-files [file-patterns] | xargs grep <pattern>

which I tend to do all the time.

Yes, it's trivial, but it's really nice. I can do

	git grep '\<some_variable\>' arch/i386 include/asm-i386

and it does exactly what you'd think it does. And since it just uses the
normal git-ls-files file patterns, you can do things like

	git grep something 'include/*.h'

and it will search all header files under the include/ subdirectory.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12 13:20:03 -07:00
Linus Torvalds
ba8a4970c7 [PATCH] Add note about IANA confirmation
The git port (9418) is officially listed by IANA now.

So document it.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12 13:19:53 -07:00
Junio C Hamano
c52b60a2f2 Merge branch 'master' of . 2005-09-11 18:58:53 -07:00
Junio C Hamano
7fa090844f Use int instead of socklen_t
This should work around the compilation problem Johannes Schindelin
and others had on Mac OS/X.

Quoting Linus:

    Any operating system where socklen_t is anything else than "int" is
    terminally broken. The people who introduced that typedef were confused,
    and I actually had to argue with them that it was fundamentally wrong:
    there is no other valid type than "int" that makes sense for it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 18:55:20 -07:00
Herbert Xu
65a9289d7e [PATCH] Apply N -> A status change in diff-helper
When the git diff status 'N' was changed to 'A', diff-helper.c was
not updated accordingly.  This means that it no longer shows the
diff for newly added files.

This patch makes that change in diff-helper.c.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 18:53:07 -07:00
martin@catalyst.net.nz
127bf00f7d [PATCH] archimport - better handling of temp dirs
Switched from backwards hard-coded tmp directory creation to using
File::Temp::tempdir() to create the directory inside $TMP_PATH or
what the user has provided via the -t parameter.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 10:51:57 -07:00
martin@catalyst.net.nz
1d4710d06c [PATCH] archimport - use GIT_DIR instead of hardcoded ".git"
Use GIT_DIR from the environment instead of a hardcoded '.git' string.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 10:51:56 -07:00
martin@catalyst.net.nz
241b59675f [PATCH] archimport - update in-script doco, options tidyup
Updated the usage/help message to match asciidoc documentation. The perldoc
documentation now includes the first paragraph from the asciidoc documentation
and points users to the manpage.

Updated TODO section.

Removed some redundant options from the getopt() invocation.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 10:51:54 -07:00
martin@catalyst.net.nz
a5c500b76c [PATCH] archimport documentation tidyup
New "merges" headline, clarified some parts that were not easy to understand.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 10:51:51 -07:00
martin@catalyst.net.nz
a4c5f9aab7 [PATCH] archimport documentation update
Updated and expanded the command description, and added a reference of the
command line options.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 10:51:48 -07:00
Yasushi SHOJI
e1ccf53a60 [PATCH] Escape asciidoc's built-in em-dash replacement
AsciiDoc replace '--' with em-dash (&#8212) by default. em-dash
looks a lot like a single long dash and it's very confusing when
we are talking about command options.

Section 21.2.8 'Replacements' of AsciiDoc's User Guide says that a
backslash in front of double dash prevent the replacement.  This
patch does just that.

Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 10:51:36 -07:00
Qingning Huo
2c865d9aa7 [PATCH] Fix buffer overflow in ce_flush().
Add a check before appending SHA1 signature to write_buffer,
flush it first if necessary.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-11 10:51:13 -07:00
Junio C Hamano
53e2cc9b9b Prepare 0.99.7 release candidate branch.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 19:48:09 -07:00
Junio C Hamano
720d150c48 Add a new merge strategy by Fredrik Kuivinen.
I really wanted to try this out, instead of asking for an adjustment
to the 'git merge' driver and waiting.  For now the new strategy is
called 'fredrik' and not in the list of default strategies to be tried.

The script wants Python 2.4 so this commit also adjusts Debian and RPM
build procecure files.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 19:46:53 -07:00
Junio C Hamano
0f69be5376 'git-merge': Documentation.
... and add link from git.txt, as usual.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:30:42 -07:00
Junio C Hamano
2276aa6c09 Use Daniel's read-tree in the merge strategy 'resolve'.
And rename the one Linus kept calling stupid, 'stupid'.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:30:41 -07:00
Junio C Hamano
91063bbc6c Multi-backend merge driver.
The new command 'git merge' takes the current head and one or more
remote heads, with the commit log message for the automated case.

If the heads being merged are simple fast-forwards, it acts the
same way as the current 'git resolve'.  Otherwise, it tries
different merge strategies and takes the result from the one that
succeeded auto-merging, if there is any.

If no merge strategy succeeds auto-merging, their results are
evaluated for number of paths needed for hand resolving, and the
one with the least number of such paths is left in the working
tree.  The user is asked to resolve them by hand and make a
commit manually.

The calling convention from the 'git merge' driver to merge
strategy programs is very simple:

 - A strategy program is to be called 'git-merge-<strategy>'.

 - They take input of this form:

	<common1> <common2> ... '--' <head> <remote1> <remote2>...

   That is, one or more the common ancestors, double dash, the
   current head, and one or more remote heads being merged into
   the current branch.

 - Before a strategy program is called, the working tree is
   matched to the current <head>.

 - The strategy program exits with status code 0 when it
   successfully auto-merges the given heads.  It should do
   update-cache for all the merged paths when it does so -- the
   index file will be used to record the merge result as a
   commit by the driver.

 - The strategy program exits with status code 1 when it leaves
   conflicts behind.  It should do update-cache for all the
   merged paths that it successfully auto-merged, and leave the
   cache entry in the index file as the same as <head> for paths
   it could not auto-merge, and leave its best-effort result
   with conflict markers in the working tree when it does so.

 - The strategy program exists with status code other than 0 or
   1 if it does not handle the given merge at all.

As examples, this commit comes with merge strategies based on
'git resolve' and 'git octopus'.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:30:41 -07:00
Junio C Hamano
bb97a2a804 Plug leak in Daniel's read-tree.
... and it is ready to be pushed out in the "master" branch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:27:42 -07:00
Junio C Hamano
4d3fe0c5f3 [PATCH] Add debugging help for case #16 to read-tree.c
This will help us detect if real-world example merges have multiple
merge-base candidates and one of them matches one head while another
matches the other head.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:27:42 -07:00
Junio C Hamano
2ab706a38f [PATCH] Disable debugging from read-tree.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:27:42 -07:00
Daniel Barkalow
3d89cb4f3f [PATCH] Document the trivial merge rules for 3(+more ancestors)-way merges.
Signed-off-by: Daniel Barkalow
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:27:41 -07:00
Daniel Barkalow
ee6566e8d7 [PATCH] Rewrite read-tree
Adds support for multiple ancestors, removes --emu23, much simplification.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:27:41 -07:00
Daniel Barkalow
680bab3d9a [PATCH] Add function to append to an object_list.
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:27:40 -07:00
Daniel Barkalow
77675e2aff [PATCH] Add a function for getting a struct tree for an ent.
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:27:40 -07:00
Junio C Hamano
c9d023b2a6 Fix 'git-show-branch --list <head>'
It mistakenly failed to output anything when given a single head.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 18:27:20 -07:00
Junio C Hamano
b595ed1478 Add 'git bisect replay/log' documentation.
... lest I get yelled at by a very angry scm ;-).

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 15:23:09 -07:00
Junio C Hamano
e204de28e6 Keep bisection log so that it can be replayed later.
The 'git bisect' command was very unforgiving in that once you made a
mistake telling it good/bad it was very hard to take it back.  Keep a
log of what you told it in an earlier session, so that it can be
replayed after removing everything after what you botched last time.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 15:18:31 -07:00
Junio C Hamano
6bac10d89d Fix copy marking from diffcore-rename.
When (A,B) ==> (B,C) rename-copy was detected, we incorrectly said
that C was created by copying B.  This is because we only check if the
path of rename/copy source still exists in the resulting tree to see
if the file is renamed out of existence.  In this case, the new B is
created by copying or renaming A, so the original B is lost and we
should say C is a rename of B not a copy of B.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 12:42:32 -07:00
martin@catalyst.net.nz
b779d5f009 [PATCH] archimport - add merge detection
We now keep track of the patches merged in each branch since they have
diverged, using the records that the Arch "logs" provide. Merge parents
for a commit are defined if we are merging a series of patches that starts
from the mergebase.

If patches from a related branch are merged out-of-order, we keep track of
how much has been merged sequentially -- the tip of that sequential merge
is our new parent from that branch.

This mechanism works very well for branches that merge in dovetail and/or
flying fish patterns, probably less well for others.

Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 10:44:21 -07:00
Junio C Hamano
866ff2f7ce Make sure we have leading directories under refs/{heads,tags}
Otherwise having subdirectories under refs/heads becomes rather
unwieldy.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 10:40:47 -07:00
Sven Verdoolaege
d5e34380af [PATCH] Documentation/repository-layout.txt typo
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-10 03:33:33 -07:00
Junio C Hamano
1f8af483df show-branch: --list and --independent
The --list option is what 'git branch' without parameter should
have been; it shows the one-line commit message for each branch
name.  The --independent option is used to filter out commits
that can be reachable from other commits, to make detection of
fast forward condition in multi-head merge easier.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09 16:35:53 -07:00
Junio C Hamano
a9ab586a5d Retire support for old environment variables.
We have deprecated the old environment variable names for quite a
while and now it's time to remove them.  Gone are:

    SHA1_FILE_DIRECTORIES AUTHOR_DATE AUTHOR_EMAIL AUTHOR_NAME
    COMMIT_AUTHOR_EMAIL COMMIT_AUTHOR_NAME SHA1_FILE_DIRECTORY

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09 14:48:54 -07:00
Junio C Hamano
44ec46a9df Adjust .gitignore for big rename.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09 11:55:56 -07:00
Marco Roeland
03d98d395a [PATCH] remove duplicate git-send-email-script.perl target in Makefile
Remove duplicate git-send-email-perl target in Makefile.

When WITH_SEND_EMAIL was defined, as in the Debian 'deb' target,
git-send-email-perl was added twice to SCRIPT_PERL, leading to a
duplicate definition in the Makefile. Creating a ".deb" then failed.

Signed-off-by: Marco Roeland <marco.roeland@xs4all.nl>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09 11:20:54 -07:00
jdl@freescale.com
96768e3108 [PATCH] fix tutorial typo
Fix a minor typo in the tutorial.txt.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09 09:59:03 -07:00
jdl@freescale.com
c87d41ebf7 [PATCH] Fix tutorial reference to git-*-scripts.
There was a lingering reference to the git-*-scripts in
the tutorial.  This patch reworks that paragraph a bit.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09 09:58:50 -07:00
Junio C Hamano
922fb98e1c Ignore datestamp-only changes when installing webdoc.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-09 01:17:54 -07:00
Junio C Hamano
e8623d45b4 Squelch `removal' message from 'git reset --hard'.
We do not say anything about checking out, so mentioning removal only
gets unnecessarily alarming.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-08 23:16:52 -07:00
Junio C Hamano
bc6146d2ab 'build' scripts before installing.
Earlier we renamed git-foo.sh to git-foo while installing, which
was mostly done by inertia than anything else.  This however
made writing tests to use scripts harder.

This patch builds the scripts the same way as we build binaries
from their sources.  As a side effect, you can now specify
non-standard paths you have your Perl binary is in when running
the make.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-08 18:50:33 -07:00
Junio C Hamano
2f0f8b71ee Show all merge-base candidates from show-branch --merge-base
This would make things easier to use for Octopus.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-08 12:15:52 -07:00
Junio C Hamano
35ef3a4c63 Documentation updates.
Fill in more missing documentation.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 23:04:52 -07:00
lars.doelle@on-line.de
7c3693f1f2 [PATCH] git-daemon --inetd
git-daemon using inetd. does not work properly. inetd routes stderr onto the
network line just like stdout, which was apparently not expected to be so.

As the result of this, the stream is closed by the receiver, because some
"Packing %d objects\n" originating from pack_objects is first reported over
the line instead of the expected pack_header, and so the SIGNATURE test
fails.  Here is a workaround.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 22:08:30 -07:00
Junio C Hamano
6a2e50f9df git --version tells which version of git you have.
Originally from Martin Atukunda <matlads@dsmagic.com> but adjusted for
post-rename code.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 22:08:30 -07:00
Amos Waterland
a3b427b9fa [PATCH] Do not create bogus branch from flag to git branch
If you run `git branch --help', you will unexpectedly have created a new
branch named "--help".  This simple patch adds logic and a usage
statement to catch this and similar problems, and adds a testcase for it.

Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 22:08:30 -07:00
Patrick Mauritz
f0ebff0dfe [PATCH] Portability fix for Solaris 10/x86
* getdomainname unavailable there.
 * needs -lsocket for linkage.
 * needs __EXTENSIONS__ at the beginning of convert-objects.c

[JC: I've done this slightly differently from what Patrick originally
sent to the list and dropped the bit that deals with installations
that has curl header and library at non-default location.  I am
resisting the slipperly slope called autoconf.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 22:08:28 -07:00
Junio C Hamano
215a7ad1ef Big tool rename.
As promised, this is the "big tool rename" patch.  The primary differences
since 0.99.6 are:

  (1) git-*-script are no more.  The commands installed do not
      have any such suffix so users do not have to remember if
      something is implemented as a shell script or not.

  (2) Many command names with 'cache' in them are renamed with
      'index' if that is what they mean.

There are backward compatibility symblic links so that you and
Porcelains can keep using the old names, but the backward
compatibility support  is expected to be removed in the near
future.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 17:45:20 -07:00
Junio C Hamano
99977bd5fd GIT 0.99.6 2005-09-07 15:59:24 -07:00
David_Kågedal
7eb93c8965 [PATCH] Simplify git script
The code for listing the available subcommands was unnecessarily
complex.

Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 14:29:50 -07:00