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>
It mistakenly failed to output anything when given a single head.
Signed-off-by: Junio C Hamano <junkio@cox.net>
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>
... lest I get yelled at by a very angry scm ;-).
Signed-off-by: Junio C Hamano <junkio@cox.net>
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>
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>
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>
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>
[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>
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>
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>
Otherwise having subdirectories under refs/heads becomes rather
unwieldy.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Documentation/repository-layout.txt typo
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
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>
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>
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>
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>
Adjust .gitignore for big rename.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[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>
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>
[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>
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>
[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>
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>
Ignore datestamp-only changes when installing webdoc.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
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>
We do not say anything about checking out, so mentioning removal only
gets unnecessarily alarming.
Signed-off-by: Junio C Hamano <junkio@cox.net>
'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>
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>
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>
This would make things easier to use for Octopus.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation updates.
Fill in more missing documentation.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Fill in more missing documentation.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[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>
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>
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>
Originally from Martin Atukunda <matlads@dsmagic.com> but adjusted for
post-rename code.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[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>
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>
[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>
* 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>
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>
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>
GIT 0.99.6
[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>
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>
Documentation updates.
More commands are documented now; thanks Raymond.
Signed-off-by: Junio C Hamano <junkio@cox.net>
More commands are documented now; thanks Raymond.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Docs for git-build-rev-cache.
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Docs for git-show-rev-cache.
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Docs for git-reset-script.
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Docs for git-checkout-script.
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: A Large Angry SCM <gitzilla@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation updates.
parse-remote and rev-parse gets full documentation. Add skeleton for
archimport. Link them from the main git(7) page. Also move git-daemon
and git-request-pull out of 'undocumented' section.
Signed-off-by: Junio C Hamano <junkio@cox.net>
parse-remote and rev-parse gets full documentation. Add skeleton for
archimport. Link them from the main git(7) page. Also move git-daemon
and git-request-pull out of 'undocumented' section.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Flatten tools/ directory to make build procedure simpler.
Also make platform specific part more isolated. Currently we only
have Darwin defined, but I've taken a look at SunOS specific patch
(which I dropped on the floor for now) as well. Doing things this way
would make adding it easier.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Also make platform specific part more isolated. Currently we only
have Darwin defined, but I've taken a look at SunOS specific patch
(which I dropped on the floor for now) as well. Doing things this way
would make adding it easier.
Signed-off-by: Junio C Hamano <junkio@cox.net>
mailinfo: barf and exist upon nested multipart.
At least we can detect what we do not handle.
Signed-off-by: Junio C Hamano <junkio@cox.net>
At least we can detect what we do not handle.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge branch 'master' of .
[PATCH] Update documentation for git-get-tar-commit-id
... and add a copyright notice.
[jc: also move its entry in git.txt from undocumented section.]
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
... and add a copyright notice.
[jc: also move its entry in git.txt from undocumented section.]
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] git-cvsimport-script: handling of tags
This patch changes git-cvsimport-script so that it creates tag objects
instead of refs to commits, and adds an option, -u, to convert
underscores in branch and tag names to dots (since CVS doesn't allow
dots in branches and tags.)
Signed-off-by: Junio C Hamano <junkio@cox.net>
This patch changes git-cvsimport-script so that it creates tag objects
instead of refs to commits, and adds an option, -u, to convert
underscores in branch and tag names to dots (since CVS doesn't allow
dots in branches and tags.)
Signed-off-by: Junio C Hamano <junkio@cox.net>
Format fix for asciidoc documentation titles.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge branch 'master' of .
Retire git-clone-dumb-http.
... and fold it into git-clone-script.
Signed-off-by: Junio C Hamano <junkio@cox.net>
... and fold it into git-clone-script.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Update documentation of --compose to git-send-email-script.txt
Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Make git-send-email-script ignore some unnecessary options when operating in batch mode.
Add a "--compose" option that uses $EDITOR to edit an "introductory" email to the patch series.
Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Add a "--compose" option that uses $EDITOR to edit an "introductory" email to the patch series.
Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Install archimport-script.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge branch 'master' of .
Add copy/rename check for git-apply.
The new test pattern is taken from HPA's klibc and klibc-kbuild trees,
which has many interesting renames (the commits
001eef5a19219e5b0601068a3d13874b88c0653e and
0037d1bc0deaf7daec3778496656cb04b4e4b9d0). The test pattern exposes
problems in the apply.c changes currently in the proposed updates
branch.
Signed-off-by: Junio C Hamano <junkio@cox.net>
The new test pattern is taken from HPA's klibc and klibc-kbuild trees,
which has many interesting renames (the commits
001eef5a19219e5b0601068a3d13874b88c0653e and
0037d1bc0deaf7daec3778496656cb04b4e4b9d0). The test pattern exposes
problems in the apply.c changes currently in the proposed updates
branch.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Add a link from update-server-info documentation to repository layout.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Make git-apply understand incomplete lines in non-C locales
The message "\ No newline at end of file" used by diff(1) to mark
an incomplete line is locale dependent. We can't assume more than
that it begins with "\ ".
For example, given two files, "foo" and "bar", with appropriate
contents, 'diff -u foo bar' will produce the following output on
my system:
--- foo 2005-09-04 18:59:38.000000000 +0200
+++ bar 2005-09-04 18:59:16.000000000 +0200
@@ -1 +1 @@
-foobar
+foo
\ Ingen nyrad vid filslut
[jc: the check for the marker still uses the line length being no less
than 12 bytes for a sanity check, but I think it is safe to assume
that in other locales. I haven't checked the .po files from diff, tho'.]
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
The message "\ No newline at end of file" used by diff(1) to mark
an incomplete line is locale dependent. We can't assume more than
that it begins with "\ ".
For example, given two files, "foo" and "bar", with appropriate
contents, 'diff -u foo bar' will produce the following output on
my system:
--- foo 2005-09-04 18:59:38.000000000 +0200
+++ bar 2005-09-04 18:59:16.000000000 +0200
@@ -1 +1 @@
-foobar
+foo
\ Ingen nyrad vid filslut
[jc: the check for the marker still uses the line length being no less
than 12 bytes for a sanity check, but I think it is safe to assume
that in other locales. I haven't checked the .po files from diff, tho'.]
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-applymbox: fix '-c'.
Earlier round b50abe8843006e9856c633b5abeb4eab53b46629 broke it
by carelessly rewriting the main loop.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Earlier round b50abe8843006e9856c633b5abeb4eab53b46629 broke it
by carelessly rewriting the main loop.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] archimport: avoid committing on an Arch tag
Arch tags are full commits (without any changed files) as well. Trust Arch
to have put an unchanged tree in place (which seems to do reliably), and
just add a tag & new branch. Speeds up Arch imports significantly, and leaves
history in a much saner state.
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Arch tags are full commits (without any changed files) as well. Trust Arch
to have put an unchanged tree in place (which seems to do reliably), and
just add a tag & new branch. Speeds up Arch imports significantly, and leaves
history in a much saner state.
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] archimport autodetects import status, supports incremental imports
If there is no GIT directory, archimport will assume it is an initial import.
It now also supports incremental imports, skipping "seen" commits. You can
now run it repeatedly to pull new commits from the Arch repository.
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
If there is no GIT directory, archimport will assume it is an initial import.
It now also supports incremental imports, skipping "seen" commits. You can
now run it repeatedly to pull new commits from the Arch repository.
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] NUL terminate the object data in patch_delta()
At least pretty_print_commit() expects to get NUL-terminated commit data to
work properly. unpack_sha1_rest(), which reads objects from separate files,
and unpack_non_delta_entry(), which reads non-delta-compressed objects from
pack files, already add the NUL byte after the object data, but patch_delta()
did not do it, which caused problems with, e.g., git-rev-list --pretty when
there are delta-compressed commit objects.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>
At least pretty_print_commit() expects to get NUL-terminated commit data to
work properly. unpack_sha1_rest(), which reads objects from separate files,
and unpack_non_delta_entry(), which reads non-delta-compressed objects from
pack files, already add the NUL byte after the object data, but patch_delta()
did not do it, which caused problems with, e.g., git-rev-list --pretty when
there are delta-compressed commit objects.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Possible cleanups for local-pull.c
Hi. This patch contains the following possible cleanups:
* Make some needlessly global functions in local-pull.c static
* Change 'char *' to 'const char *' where appropriate
Signed-off-by: Peter Hagervall <hager@cs.umu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Hi. This patch contains the following possible cleanups:
* Make some needlessly global functions in local-pull.c static
* Change 'char *' to 'const char *' where appropriate
Signed-off-by: Peter Hagervall <hager@cs.umu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Doc: replace read-cache with git-read-tree.
Replace references to "read-cache" with references to git-read-tree in the
documentation. I chose that because reference say "see read-cache about
stages", and stages are explained in git-read-tree.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Replace references to "read-cache" with references to git-read-tree in the
documentation. I chose that because reference say "see read-cache about
stages", and stages are explained in git-read-tree.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Document hooks.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge branch 'master' of .
Mention post-update when we first talk about publishing a repository.
There is more detailed instruction for `project lead` later in
the tutorial to talk about the same, but at this point in the
flow of tutorial, the first time reader has no way of knowing it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
There is more detailed instruction for `project lead` later in
the tutorial to talk about the same, but at this point in the
flow of tutorial, the first time reader has no way of knowing it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
scripts: equality test '==' is not portable.
On NetBSD 3 we trigger an error:
[: ==: unexpected operator
Double-equal is accepted by bash built-in '[' and bash(1) suggests
using '=' for strict POSIX compliance (test(1) from coreutils does not
mention '=='). Eradicate their uses everywhere.
[jc: Somebody with a pseudonym kindly sent a message to let
me know about the problem privately; I do not have access to a NetBSD
box.]
Signed-off-by: Junio C Hamano <junkio@cox.net>
On NetBSD 3 we trigger an error:
[: ==: unexpected operator
Double-equal is accepted by bash built-in '[' and bash(1) suggests
using '=' for strict POSIX compliance (test(1) from coreutils does not
mention '=='). Eradicate their uses everywhere.
[jc: Somebody with a pseudonym kindly sent a message to let
me know about the problem privately; I do not have access to a NetBSD
box.]
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-checkout-script: Remove unnecessary variable.
There was unused variable $i that counted the number of arguments
being processed. Remove it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
There was unused variable $i that counted the number of arguments
being processed. Remove it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Fix automerge message.
The rewrite done while adding the shorthand support made the remote
refname recorded in the commit message too long for human consumption,
while losing information by using the shorthand not the real URL to
name the remote repository there. They were both bad changes done
without enough thinking.
Pointed out by Linus.
Signed-off-by: Junio C Hamano <junkio@cox.net>
The rewrite done while adding the shorthand support made the remote
refname recorded in the commit message too long for human consumption,
while losing information by using the shorthand not the real URL to
name the remote repository there. They were both bad changes done
without enough thinking.
Pointed out by Linus.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Explain what went wrong on update-cache of new file
If somebody tries to run `git update-cache foo', where foo is a new
file, git dies with a rather cryptic error message:
fatal: Unable to add foo to database
This trivial patch makes git explain what probably went wrong. It is
not a perfect diagnosis of all error paths, but for 90% of the cases it
should provide the user with the clue they need.
[jc: I ended up wording slightly differently, and fixed another
confusing error message I noticed while reviewing the code.]
Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
If somebody tries to run `git update-cache foo', where foo is a new
file, git dies with a rather cryptic error message:
fatal: Unable to add foo to database
This trivial patch makes git explain what probably went wrong. It is
not a perfect diagnosis of all error paths, but for 90% of the cases it
should provide the user with the clue they need.
[jc: I ended up wording slightly differently, and fixed another
confusing error message I noticed while reviewing the code.]
Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Add repository-layout document.
... and link to it from both the main index and the tutorial.
Signed-off-by: Junio C Hamano <junkio@cox.net>
... and link to it from both the main index and the tutorial.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge refs/heads/master from .
Use 'git status' now it can handle initial commit.
Update 'git commit' to use the updated `git status`. Also earlier
the `-s` flag was ignored for the initial commit.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Update 'git commit' to use the updated `git status`. Also earlier
the `-s` flag was ignored for the initial commit.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Fix git-status when HEAD is invalid.
It tried to do git-diff-cache against HEAD, of course.
Signed-off-by: Junio C Hamano <junkio@cox.net>
It tried to do git-diff-cache against HEAD, of course.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Fix git-log-script when HEAD is invalid.
It used 'die' without including git-sh-setup-script; since everything
it uses are subdirectory-aware, instead of including the script to
force it to be run from the top, use echo & exit.
Signed-off-by: Junio C Hamano <junkio@cox.net>
It used 'die' without including git-sh-setup-script; since everything
it uses are subdirectory-aware, instead of including the script to
force it to be run from the top, use echo & exit.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Add Pine 4.63 help from Daniel.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge refs/heads/master from .
Update tutorial.
Finally I bit the bullet and did a full sweep of this document.
The changes are mostly clarifications, adjusting old terminology
to the glossary compatible one, and asciidoc formatting.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Finally I bit the bullet and did a full sweep of this document.
The changes are mostly clarifications, adjusting old terminology
to the glossary compatible one, and asciidoc formatting.
Signed-off-by: Junio C Hamano <junkio@cox.net>
show-branch: make it work in a subdirectory.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Initial import of git-archimport-script
Imports a project history from one or more Arch repositories, following
the branching and tagging across repositories. Note you should import
separate projects to separate GIT repositories.
Supported
- Imports, tags and simple commits.
- File renames
- Arch tags
- Binary files
- Large trees
- Multiple repositories
- Branches
TODO:
- Allow re-running the import on an already-imported project
- Follow merges using Arch data
- Audit shell escaping of filenames
- Better support for file metadata
- Better/safer creation of temp directories
Unsupported:
- Arch 'configuration'
[jc: my arch/tla is very rusty and after Tom announced he is stepping
down as the maintainer I have very little motivation to relearn it,
so I would appreciate if people discuss any bugs or enhancements
directly with Martin. Of course I can help with the git end of the
issues.]
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Imports a project history from one or more Arch repositories, following
the branching and tagging across repositories. Note you should import
separate projects to separate GIT repositories.
Supported
- Imports, tags and simple commits.
- File renames
- Arch tags
- Binary files
- Large trees
- Multiple repositories
- Branches
TODO:
- Allow re-running the import on an already-imported project
- Follow merges using Arch data
- Audit shell escaping of filenames
- Better support for file metadata
- Better/safer creation of temp directories
Unsupported:
- Arch 'configuration'
[jc: my arch/tla is very rusty and after Tom announced he is stepping
down as the maintainer I have very little motivation to relearn it,
so I would appreciate if people discuss any bugs or enhancements
directly with Martin. Of course I can help with the git end of the
issues.]
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge refs/heads/master from .
cat-file: make it work in a subdirectory.
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from 73244994ee4abd6e436e8a1d597dd917271d77a9 commit)
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from 73244994ee4abd6e436e8a1d597dd917271d77a9 commit)
Documentaion updates.
Mostly making the formatted html prettier.
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from 7adf1f15ebe074d4767df941817a6cf86d8e2533 commit)
Mostly making the formatted html prettier.
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from 7adf1f15ebe074d4767df941817a6cf86d8e2533 commit)
'git bisect visualize'
Linus says:
I'm testing bisection to find a bug that causes my G5 to no longer boot,
and during the process have found this command line very nice:
gitk bisect/bad --not $(cd .git/refs ; ls bisect/good-*)
it basically shows the state of bisection with the known bad commit as the
top, and cutting off all the good commits - so what you see are the
potential buggy commits.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Linus says:
I'm testing bisection to find a bug that causes my G5 to no longer boot,
and during the process have found this command line very nice:
gitk bisect/bad --not $(cd .git/refs ; ls bisect/good-*)
it basically shows the state of bisection with the known bad commit as the
top, and cutting off all the good commits - so what you see are the
potential buggy commits.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Fix bisection terminating condition
When testing bisection and using gitk to visualize the result, it was
obvious that the termination condition was broken.
We know what the bad entry is only when the bisection ends up telling us
to test the known-bad entry again.
Also, add a safety net: if somebody marks as good something that includes
the known-bad point, we now notice and complain, instead of writing an
empty revision to the new bisection branch.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
When testing bisection and using gitk to visualize the result, it was
obvious that the termination condition was broken.
We know what the bad entry is only when the bisection ends up telling us
to test the known-bad entry again.
Also, add a safety net: if somebody marks as good something that includes
the known-bad point, we now notice and complain, instead of writing an
empty revision to the new bisection branch.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge refs/heads/master from .
parse-remote: trivial fix to allow refs/{heads,tags}/ spelled easier.
Earlier we always prefixed refs/heads to the token given to "git fetch"
(and "git pull") as refspec. This was a mistake. Allow them to be
spelled like "master:refs/tags/paulus" to mean "I want to fetch the
master there and store it as my local "paulus" tag.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Earlier we always prefixed refs/heads to the token given to "git fetch"
(and "git pull") as refspec. This was a mistake. Allow them to be
spelled like "master:refs/tags/paulus" to mean "I want to fetch the
master there and store it as my local "paulus" tag.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge refs/heads/master from paulus
Make sure howto/*.html is built as well.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Make "git resolve" less scary
When we resolve a merge between two branches, and it removes a file in the
current branch, we notify the person doing the resolve with a big nice
notice like
Removing xyzzy
which is all well and good.
HOWEVER, we also do this when the file was actually removed in the current
branch, and we're merging with another branch that didn't have it removed
(or, indeed, if the other branch _did_ have it removed, but the common
parent was far enough back that the file still existed in there).
And that just doesn't make sense. In that case we're not removing
anything: the file didn't exist in the branch we're merging into in the
first place. So the message just makes people nervous, and makes no sense.
This has been around forever, but I never bothered to do anything about
it.
Until now.
The trivial fix is to only talk about removing files if the file existed
in the branch we're merging into, but will not exist in the result.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
When we resolve a merge between two branches, and it removes a file in the
current branch, we notify the person doing the resolve with a big nice
notice like
Removing xyzzy
which is all well and good.
HOWEVER, we also do this when the file was actually removed in the current
branch, and we're merging with another branch that didn't have it removed
(or, indeed, if the other branch _did_ have it removed, but the common
parent was far enough back that the file still existed in there).
And that just doesn't make sense. In that case we're not removing
anything: the file didn't exist in the branch we're merging into in the
first place. So the message just makes people nervous, and makes no sense.
This has been around forever, but I never bothered to do anything about
it.
Until now.
The trivial fix is to only talk about removing files if the file existed
in the branch we're merging into, but will not exist in the result.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge refs/heads/master from .
Allow asciidoc formatted documentation in howto/
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge refs/heads/master from .
Add [HOWTO] revert/branch/rebase.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git commit: Allow editing on all occasions.
Sometimes it may be handy to be able to edit messages that come
from somewhere other than an existing commit.
This makes 'git commit -F <file> -e' to start editor with the initial
log message contents taken from <file>.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Sometimes it may be handy to be able to edit messages that come
from somewhere other than an existing commit.
This makes 'git commit -F <file> -e' to start editor with the initial
log message contents taken from <file>.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Do not verify reverted/cherry-picked/rebased patches.
The original committer may have used validation criteria that is less
stricter than yours. You do not want to lose the changes even if they
are done in substandard way from your 'commit -v' verifier's point of
view.
Signed-off-by: Junio C Hamano <junkio@cox.net>
The original committer may have used validation criteria that is less
stricter than yours. You do not want to lose the changes even if they
are done in substandard way from your 'commit -v' verifier's point of
view.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Fix compilation warnings.
... found by compiling them with gcc 2.95.
Signed-off-by: Junio C Hamano <junkio@cox.net>
... found by compiling them with gcc 2.95.
Signed-off-by: Junio C Hamano <junkio@cox.net>
[PATCH] Update Thunderbird specific hints.
Setting the wraplength to zero keeps the bird from trimming WS.
Signed-off-by: <gitzilla@gmail.com>
(cherry picked from 1d535d525d6a0ddddc3755065d721278bc5f0aff commit)
Setting the wraplength to zero keeps the bird from trimming WS.
Signed-off-by: <gitzilla@gmail.com>
(cherry picked from 1d535d525d6a0ddddc3755065d721278bc5f0aff commit)
[PATCH] Documentation for git-request-pull-script.
Copy & paste source comments into documentation.
Signed-off-by: <gitzilla@gmail.com>
(cherry picked from 10dce95490cb02f66b3a08984ccdee0a92b48236 commit)
Copy & paste source comments into documentation.
Signed-off-by: <gitzilla@gmail.com>
(cherry picked from 10dce95490cb02f66b3a08984ccdee0a92b48236 commit)
[PATCH] Documentation for git-clone-dumb-http.
Copy & paste source comments into documentation.
Signed-off-by: <gitzilla@gmail.com>
(cherry picked from f79528e5d05a64d68b8e09a18521950775e99ec1 commit)
Copy & paste source comments into documentation.
Signed-off-by: <gitzilla@gmail.com>
(cherry picked from f79528e5d05a64d68b8e09a18521950775e99ec1 commit)
[PATCH] Documentation for git-daemon.
Copy & paste source comments into documentation.
Signed-off-by: <gitzilla@gmail.com>
(cherry picked from 5d0a4efeff62cfa363437f91308453b5b9fd8cf5 commit)
Copy & paste source comments into documentation.
Signed-off-by: <gitzilla@gmail.com>
(cherry picked from 5d0a4efeff62cfa363437f91308453b5b9fd8cf5 commit)
Merge refs/heads/master from .
Draw selected graph line thicker and make arrowheads active.
Accumulated documentation updates.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-repack-script: Add option to repack all objects.
This originally came from Frank Sorenson, but with a bit of rework to
allow future enhancements without changing the external interface for
pack pruning part.
With the '-a' option, all objects in the current repository are packed
into a single pack. When the '-d' option is given at the same time,
existing packs that were made redundant by this round of repacking are
deleted.
Since we currently have only two repacking strategies, one with '-a'
(everything into one) and the other without '-a' (incrementally pack
only the unpacked ones), the '-d' option is meaningful only when used
with '-a'; it removes the packs existed before we did the "everything
into one" repacking. At least for now.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Frank Sorenson <frank@tuxrocks.com>
(cherry picked from bfed505327e31221d8de796b3af880bad696b149 commit)
This originally came from Frank Sorenson, but with a bit of rework to
allow future enhancements without changing the external interface for
pack pruning part.
With the '-a' option, all objects in the current repository are packed
into a single pack. When the '-d' option is given at the same time,
existing packs that were made redundant by this round of repacking are
deleted.
Since we currently have only two repacking strategies, one with '-a'
(everything into one) and the other without '-a' (incrementally pack
only the unpacked ones), the '-d' option is meaningful only when used
with '-a'; it removes the packs existed before we did the "everything
into one" repacking. At least for now.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Frank Sorenson <frank@tuxrocks.com>
(cherry picked from bfed505327e31221d8de796b3af880bad696b149 commit)
Updates: show-branch
Earlier show-branch gave names only to commits reachable via first
parent ancestry chain. Change the naming code to name everybody.
The original idea was to stop at the first merge point in the
topological order, and --more=<n> to show commits until we show <n>
more extra merge points. However depending on the order of how we
discover the commits, it additionally showed parents of the <n>th
merge points, which was unnecessary.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Earlier show-branch gave names only to commits reachable via first
parent ancestry chain. Change the naming code to name everybody.
The original idea was to stop at the first merge point in the
topological order, and --more=<n> to show commits until we show <n>
more extra merge points. However depending on the order of how we
discover the commits, it additionally showed parents of the <n>th
merge points, which was unnecessary.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Merge refs/heads/master from .
mailinfo and applymbox updates
This attempts to minimally cope with a subset of MIME "features" often
seen in patches sent to our mailing lists. Namely:
- People's name spelled in characters outside ASCII (both on From:
header and the signed-off-by line).
- Content-transfer-encoding using quoted-printable (both in
multipart and non-multipart messages).
These MIME features are detected and decoded by "git mailinfo".
Optionally, with the '-u' flag, the output to .info and .msg is
transliterated from its original chaset to utf-8. This is to
encourage people to use utf8 in their commit messages for
interoperability.
Applymbox accepts additional flag '-u' which is passed to mailinfo.
Signed-off-by: Junio C Hamano / 濱野 純 <junkio@cox.net>
This attempts to minimally cope with a subset of MIME "features" often
seen in patches sent to our mailing lists. Namely:
- People's name spelled in characters outside ASCII (both on From:
header and the signed-off-by line).
- Content-transfer-encoding using quoted-printable (both in
multipart and non-multipart messages).
These MIME features are detected and decoded by "git mailinfo".
Optionally, with the '-u' flag, the output to .info and .msg is
transliterated from its original chaset to utf-8. This is to
encourage people to use utf8 in their commit messages for
interoperability.
Applymbox accepts additional flag '-u' which is passed to mailinfo.
Signed-off-by: Junio C Hamano / 濱野 純 <junkio@cox.net>
Document "git cherry-pick" and "git revert"
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Remove git-apply-patch-script.
Now the rebase is rewritten to use git cherry-pick, there is no user
for that ancient script. I've checked Cogito and StGIT to make sure
they do not use it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Now the rebase is rewritten to use git cherry-pick, there is no user
for that ancient script. I've checked Cogito and StGIT to make sure
they do not use it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Redo "revert" using three-way merge machinery.
The reverse patch application using "git apply" sometimes is too
rigid. Since the user would get used to resolving conflicting merges
by hand during the normal merge experience, using the same machinery
would be more helpful rather than just giving up.
Cherry-picking and reverting are essentially the same operation.
You pick one commit, and apply the difference that commit introduces
to its own commit ancestry chain to the current tree. Revert applies
the diff in reverse while cherry-pick applies it forward. They share
the same logic, just different messages and merge direction.
Rewrite "git rebase" using "git cherry-pick".
Signed-off-by: Junio C Hamano <junkio@cox.net>
The reverse patch application using "git apply" sometimes is too
rigid. Since the user would get used to resolving conflicting merges
by hand during the normal merge experience, using the same machinery
would be more helpful rather than just giving up.
Cherry-picking and reverting are essentially the same operation.
You pick one commit, and apply the difference that commit introduces
to its own commit ancestry chain to the current tree. Revert applies
the diff in reverse while cherry-pick applies it forward. They share
the same logic, just different messages and merge direction.
Rewrite "git rebase" using "git cherry-pick".
Signed-off-by: Junio C Hamano <junkio@cox.net>