Commit Graph

2750 Commits

Author SHA1 Message Date
Nikolai Weibull
674b28085e Add documentation for git-revert and git-cherry-pick.
* Added the -e option to the documentation of git-cherry-pick.
* Added the -e and --no-commit option to git-revert.
* Removed redundant case expression for -n as --no-edit (already taken by
  --no-commit).

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:14 -08:00
Nikolai Weibull
d972217457 Documentation/git-cherry-pick: Add --replay and --no-commit.
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:14 -08:00
Nikolai Weibull
56e5e9170e Documentation/git-cvsimport.txt: Fix a slight glitch in description heading.
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:14 -08:00
Nikolai Weibull
e293de3efb Documentation/git-verify-pack.txt: added documentation for --.
The -- option has been added to the documentation of git-verify-pack.

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:14 -08:00
Nikolai Weibull
eaa54efc61 Documentation/git-commit.txt: Add long options and -- to documentation.
Added the following long options to documentation:

* --all
* --signoff
* --verify
* --no-verify
* --edit

Also added documentation for the -- option for terminating option parsing.

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:14 -08:00
Nikolai Weibull
16cc50d12e Use uniform description for the '--' option.
All descriptions of the '--' option were the same except for that in
Documentation/git-merge-index.txt.

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:13 -08:00
Nikolai Weibull
68e37f8402 Fix the description of --utf8 and --keep to git-am.
The git-am script actually transform --utf8 and --keep to -u and -k when
sent to git-mailinfo.

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:13 -08:00
Nikolai Weibull
63ae26f87a Document the --non-empty command-line option to git-pack-objects.
This provides (minimal) documentation for the --non-empty command-line
option to the pack-objects command.

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:13 -08:00
Junio C Hamano
bcaf60b25b show-branch: comment typo
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 14:10:02 -08:00
Junio C Hamano
9688a882e1 Documentation: recursive is the default strategy these days.
We still said resolve was the default in handful places.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 14:04:33 -08:00
Junio C Hamano
49ccb0877f Make sure we use compat/subprocess.py with Python 2.3 while running tests.
Otherwise the test will not succeed without installing.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 22:05:05 -08:00
Daniel Barkalow
128aed684d Clean up file descriptors when calling hooks.
When calling post-update hook, don't leave stdin and stdout connected to
the pushing connection.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 21:05:39 -08:00
Junio C Hamano
64224caf88 refs.c: make sure leading directories exist before writing a ref.
Otherwise cloning a repository with hierarchical branch/tag
over http would fail.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 17:48:53 -08:00
Junio C Hamano
361c06d8f5 Documentation(tutorial): adjust merge example to the new merge world order.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 16:44:12 -08:00
Junio C Hamano
6bad1902f5 Documentation(cvs-migration): minor cleanups.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 16:26:49 -08:00
Junio C Hamano
12bd7e78ee Documentation(glossary): minor formatting clean-ups.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 16:16:04 -08:00
Junio C Hamano
2fa090b6c1 Documentation: git.html/git.7
Finish each sentence with a full stop.

Instead of saying 'directory index' 'directory cache' etc,
consistently say 'index'.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 16:05:21 -08:00
Junio C Hamano
5e80092f7e Merge http://www.kernel.org/pub/scm/gitk/gitk 2005-12-07 11:25:42 -08:00
Paul Mackerras
fd8ccbec4f gitk: Work around Tcl's non-standard names for encodings
This uses a table of encoding names and aliases distilled from
http://www.iana.org/assignments/character-sets plus some heuristics
to convert standard encoding names to ones that Tcl recognizes.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-12-07 23:28:22 +11:00
Junio C Hamano
d23748a6af update-index: allow --index-info to add higher stages.
The new merge world order tells the merge strategies to leave
the cache unmerged and store the automerge result in the working
tree if automerge is not clean.  This was done for the resolve
strategy and recursive strategy when no rename is involved, but
recording a conflicting merge in the rename case could not
easily be done by the recursive strategy.

This commit adds a new input format, in addition to the exsting
two, to "update-index --index-info".

    (1) mode         SP sha1          TAB path
    The first format is what "git-apply --index-info"
    reports, and used to reconstruct a partial tree
    that is used for phony merge base tree when falling
    back on 3-way merge.

    (2) mode SP type SP sha1          TAB path
    The second format is to stuff git-ls-tree output
    into the index file.

    (3) mode         SP sha1 SP stage TAB path
    This format is to put higher order stages into the
    index file and matches git-ls-files --stage output.

To place a higher stage entry to the index, the path should
first be removed by feeding a mode=0 entry for the path, and
then feeding necessary input lines in the (3) format.

For example, starting with this index:

$ git ls-files -s
100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0       frotz

$ git update-index --index-info ;# interactive session -- input follows...

0 0000000000000000000000000000000000000000	frotz
100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1	frotz
100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2	frotz

The first line of the input feeds 0 as the mode to remove the
path; the SHA1 does not matter as long as it is well formatted.
Then the second and third line feeds stage 1 and stage 2 entries
for that path.  After the above, we would end up with this:

$ git ls-files -s
100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1	frotz
100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2	frotz

This completes the groundwork for the new merge world order.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 01:53:50 -08:00
Junio C Hamano
b539c5e8fb git-merge-one: new merge world order.
This does two things:

 - Use new --stage=2 option to create the working tree file with
   leading paths and correct permission bits using
   checkout-index, as before.

 - Make sure we do not confuse "merge" program when the file
   being merged has an unfortunate name, '-L'.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 00:50:33 -08:00
Junio C Hamano
3bd348aeea checkout-index: allow checking out from higher stages.
The new option, --stage=<n>, lets you copy out from an unmerged,
higher stage.  This is to help the new merge world order during
a nontrivial merge.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07 00:44:30 -08:00
Jason Riedy
9754563ca9 Use printf rather than echo -n.
On AIX, there is no -n option to the system's echo.  Instead,
it needs the '\c' control character.  We could replace
  echo -n "foo"
with
  echo -e "foo\c"
but printf is recommended by most man pages.  Tested on AIX
5.3, Solaris 8, and Debian.

[jc: futureproofed two instances that uses variable with '%s'
 so later feeding different messages would not break things too
 easily; others are emitting literal so whoever changes the
 literal ought to notice more easily so they are safe.]

Signed-off-by: E. Jason Riedy <ejr@cs.berkeley.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-06 18:09:12 -08:00
Junio C Hamano
e23eff8be9 qsort() ptrdiff_t may be larger than int
Morten Welinder <mwelinder@gmail.com> writes:

> The code looks wrong.  It assumes that pointers are no larger than ints.
> If pointers are larger than ints, the code does not necessarily compute
> a consistent ordering and qsort is allowed to do whatever it wants.
>
> Morten
>
> static int compare_object_pointers(const void *a, const void *b)
> {
> 	const struct object * const *pa = a;
> 	const struct object * const *pb = b;
> 	return *pa - *pb;
> }

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-06 17:28:26 -08:00
Jason Riedy
a6da9395a5 [PATCH] Initial AIX portability fixes.
Added an AIX clause in the Makefile; that clause likely
will be wrong for any AIX pre-5.2, but I can only test
on 5.3.  mailinfo.c was missing the compat header file,
and convert-objects.c needs to define a specific
_XOPEN_SOURCE as well as _XOPEN_SOURCE_EXTENDED.

Signed-off-by: E. Jason Riedy <ejr@cs.berkeley.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-06 16:15:55 -08:00
Junio C Hamano
be61db922a git-merge-one-file: resurrect leading path creation.
Since we do not use git-update-index followed by
git-checkout-index -u to create the half-merged file on
conflicting case anymore, we need to make sure the leading
directories are created here.

Maybe a better solution would be to allow update-index to add to
higher stage, and checkout-index to extract from such, but that
is a change slightly bigger than I would like to have so close
to 1.0, so this should do for now.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-06 00:07:58 -08:00
Junio C Hamano
bb6d7b893e Documentaiton (read-tree): update description of 3-way
The merge-one-file used to leave the working tree intact, but
it has long been changed to leave the merge result there since
2a68a8659f commit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 23:26:10 -08:00
Junio C Hamano
5f6da1d9d2 Documentation: hash-object.
The file parameter is better spelled just "file", not "any file
on the filesystem".  We stress that in the description text
later anyway.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 22:36:22 -08:00
Junio C Hamano
75a46f6b0e write-tree: check extra arguments and die but be a bit more helpful.
"git-write-tree junk" complains and dies, but it does not say
what option it supports.  Die with the usage string in such a
case.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 22:31:18 -08:00
Junio C Hamano
4a62eaed31 init-db: check extra arguments and complain.
"git-init-db junk" does not complain but just ignores "junk".
Die with the usage string in such a case.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 22:29:36 -08:00
Junio C Hamano
9c2e7c0ca2 hash-object: -- and --help
It was cumbersome to feed hash-object the file '-t' (you could
have said "./-t", though).  Teach it '--' that terminates the
option list, like everybody else.  There is no way to extract
usage string from the command either, so teach it "--help" as
well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 22:29:05 -08:00
Jon Loeliger
61f693bd5a Added documentation for few missing options.
More $ shell prompts in examples.
Minor English grammar improvements.
Added a few "See Also"s.
Use back-ticks on more command examples.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 21:47:16 -08:00
Junio C Hamano
23c99d8460 git-mv to work with Perl 5.6
List form of pipe open is 5.8 invention.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 19:12:27 -08:00
Junio C Hamano
8d69195124 Fix 5501 test
Not everybody can rely on /bin/sh to be sane, and we support
SHELL_PATH for that.  Use it.

mktemp(1) is not used anywhere else in the core git.  Do not
introduce dependency on it.

Not everybody's "which" gives a sane return value.  For example,
on Solaris 'which XXX' says "no XXX in /usr/bin /bin ..." and
exits with zero status.  The lesson here is to never use 'which'
in your scripts.

Signed-off-by: Junio C Hamano <junkio@twinsun.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 19:12:26 -08:00
Junio C Hamano
4050c0df8e Clean up compatibility definitions.
This attempts to clean up the way various compatibility
functions are defined and used.

 - A new header file, git-compat-util.h, is introduced.  This
   looks at various NO_XXX and does necessary function name
   replacements, equivalent of -Dstrcasestr=gitstrcasestr in the
   Makefile.

 - Those function name replacements are removed from the Makefile.

 - Common features such as usage(), die(), xmalloc() are moved
   from cache.h to git-compat-util.h; cache.h includes
   git-compat-util.h itself.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 15:50:29 -08:00
Paul Mackerras
4dd5d0d9eb gitk: Some improvements for the code for updating the display
This should be more robust in the case that some does "Update" before
the initial drawing is finished.  It also avoids having to reset the
list of children for each commit and reconstruct it.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-12-06 09:46:23 +11:00
Jason Riedy
cd8c458947 [PATCH] Document config.mak in INSTALL.
The existing config.mak should satisfy almost everyone...  You
can change the prefix and other vars catch the new setting
anyways.  I had forgotten that ?= acts as = (lazy value binding)
and as not := (immediate value binding).

Signed-off-by: E. Jason Riedy <ejr@cs.berkeley.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 13:19:39 -08:00
Junio C Hamano
53e7181cd9 config.c: remove unnecessary header in minimum configuration file.
It is just silly to start the file called "config" with a
comment that says "This is the config file."

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 12:58:53 -08:00
Junio C Hamano
9cebe90bc5 server-info.c: and two functions are not used anymore.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 11:12:01 -08:00
Junio C Hamano
f13d7db4af server-info.c: use pack_local like everybody else.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 10:39:17 -08:00
Junio C Hamano
dc5f9239f7 Documentation: shared repository management in tutorial.
The branch policy script I outlined was improved and polished by
Carl and posted on the list twice since then.  It is a shame not
to pick it up, so replace the original outline in
howto/update-hook-example.txt with the latest from Carl.

Also talk about setting up git-shell to allow git-push/git-fetch
only SSH access to a shared repository host in the tutorial.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 00:58:23 -08:00
Junio C Hamano
eb0362a467 Documentation: push/receive hook references.
Mention documentation pages that talk about update and
post-update hooks from git-push, because a frequently asked
question is "I want X to happen when I push" and people would
not know to look at git-receive-pack documentation until they
understand that is what runs on the other end.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 00:58:23 -08:00
Junio C Hamano
dfa2f22f94 Documentation: git-diff asciidoc table workaround.
The table facility was nice in rendering HTML but was disastrous
for man page.  Reword the text and do not use table for now.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 00:22:01 -08:00
Junio C Hamano
63d34b0b13 Documentation: git-mv manpage workaround.
Work-around asciidoc manpage trouble that does not seem to allow
more than one line in the SYNOPSIS section.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 00:15:44 -08:00
Junio C Hamano
556cb4e583 Documentation: talk about pathspec in bisect.
Also work-around asciidoc manpage trouble that does not seem to
allow more than one line in the SYNOPSIS section.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05 00:15:24 -08:00
Junio C Hamano
3e15c67c90 server-info: throw away T computation as well.
Again, dumb transport clients are too dumb to make use of the
top objects information to make a choice among multiple packs,
so computing these lines are useless for now.  We could
resurrect them if needed later.  Also dumb transport clients
presumably can do their own approximation by downloading idx
files to see how relevant each pack is for their fetch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-04 23:19:32 -08:00
Junio C Hamano
d5eac49868 server-info: stop sorting packs by latest date.
This does not seem to buy us much, for the same reason as the
previous change.  Dumb clients are still too dumb.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-04 23:19:31 -08:00
Junio C Hamano
6f42f89c1f server-info.c: drop unused D lines.
We tried to compute pack interdependency information in
$GIT_DIR/objects/info/packs, hoping that dumb transports would
make use of it when choosing from multiple choice, but that has
never materialized, so stop computing D lines for now.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-04 23:19:31 -08:00
Junio C Hamano
1494e03888 sha1_file.c: make sure packs in an alternate odb is named properly.
We somehow ended up registering packs in alternate object
directories as "dir/object//pack/pack-*", which confusd the
update-server-info code very badly.  Also we did not attempt to
detect a mistake of listing the object directory itself as one
of the alternates. This does not lead to incorrect behaviour,
but is simply wasteful, so try to do so when we are trivially
able to.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-04 23:19:31 -08:00
Junio C Hamano
b270c634b7 git.c: remove excess output for debugging when command is too long.
When the given command name was too long, we exited with a
message with the number of bytes of the final command name
inside parentheses, without saying what that number is.  It was
only meant as a debugging aid while development, so remove it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-04 23:19:31 -08:00