Commit Graph

2826 Commits

Author SHA1 Message Date
Junio C Hamano
73ab46d6d0 t3300: funny name test
Add double quote character to the test pattern.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-10 19:00:24 -08:00
Daniel Barkalow
024510c8d9 Allow saving an object from a pipe
In order to support getting data into git with scripts, this adds a
--stdin option to git-hash-object, which will make it read from stdin.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-10 18:57:57 -08:00
Eric Wong
10945e006a archimport: fix a in new changeset applyer addition
Fix a stupid bug I introduced when splitting the
accurate and fast changeset appliers.

Also, remove an old debugging statement I added

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:40 +13:00
Eric Wong
6e33101abd archimport: Fix a bug I introduced in the new log parser
This fixes the case (that worked originally in Martin's version)
where the only new/modified files are Arch control files.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:40 +13:00
Eric Wong
3e525e6738 archimport: Add the accurate changeset applyer
And make it the default.
This includes stats tracking to verbose mode

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:40 +13:00
Eric Wong
6df896b50a archimport: safer log file parsing
Better logfile parsing, no longer confused by 'headers' after the first
blank line.

Re-enabled tag-reading with abrowse (baz and tla compatible)

Remove need to quote args to external processes

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:40 +13:00
Eric Wong
42f44b08bc archimport: add -D <depth> and -a switch
add -D <depth> option to abrowse add -a switch to attempt to
auto-register archives at mirrors.sourcecontrol.net

(ML: Also removes some std libraries no longer in use)

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:40 +13:00
Eric Wong
1136fb5284 archimport: remove git wrapper dependency
use git-diff-files instead of git diff-files so we don't rely on the
wrapper being installed (some people may have git as GNU interactive
tools :)

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:40 +13:00
Eric Wong
5744f27794 archimport: fix -t tmpdir switch
set TMPDIR env correctly if -t <tmpdir> is passed from the command-line.
setting TMPDIR => 1 as an argument to tempdir() has no effect otherwise

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:40 +13:00
Eric Wong
f88961a85f archimport: remove String::ShellQuote dependency.
use safe_pipe_capture() or system() over backticks where
shellquoting may have been necessary.
More changes planned, so I'm not touching the parts I'm
planning on replacing entirely.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:39 +13:00
Eric Wong
2777ef76be archimport: first, make sure it still compiles
(ML: And introduce safe_pipe_capture())

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
2005-12-11 14:41:39 +13:00
Junio C Hamano
8b15e2fbc9 Link Everyday GIT to main documentation tree.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-09 23:41:03 -08:00
Junio C Hamano
db9536c856 Everyday GIT with 20 commands
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-09 23:07:29 -08:00
Junio C Hamano
10b94e283a Use GIT_EXEC_PATH explicitly for initial git-init-db in tests.
This is just a belts-and-suspenders check, but makes sure we
have both "git" and "git-init-db" built, executable, and
checking.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-09 17:32:18 -08:00
Alex Riesen
0f737464a6 use "git init-db" in tests
This is to catch an error where tests are run without first
building what are being tested.  Relying on prefixing $PATH with
the build directory and expect that the PATH mechanism would
find what we just built would silently run an already installed
binaries from the PATH.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-09 12:51:04 -08:00
Junio C Hamano
2b86976bfd git-prune: never lose objects reachable from our refs.
Explicit <head> arguments to git-prune replaces, instead of
extends, the list of heads used for reachability analysis by
fsck-objects.  By giving a subset of heads by mistake, objects
reachable only from other heads can be removed, resulting in a
corrupted repository.

This commit stops replacing the list of heads, and makes the
command line arguments to add to them instead for safety.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 23:18:41 -08:00
Junio C Hamano
2dee581667 qsort(): ptrdiff_t may be larger than int
This is a companion patch to e23eff8be9
commit.  The same logic, the same rationale that a comparison
function that returns an int should not just compute a ptrdiff_t
and return it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 17:29:11 -08:00
Junio C Hamano
c82365dc6f Documentation: git-prune
Not replacing but always including our own refs may be more
desirable (and unarguably much safer), but at the same time I
have a suspicion that that might be forbidding a useful usage I
haven't thought of, so...

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 16:30:24 -08:00
Nikolai Weibull
8c667f4bb8 Documentation/git-read-tree.txt: Add --reset to SYNOPSIS.
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:16 -08:00
Nikolai Weibull
d839091d13 Documentation/git-tag.txt: Fix the order of sections (DESCRIPTION should come before OPTIONS).
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:15 -08:00
Nikolai Weibull
03f6c23c5e Documentation/git-update-server-info.txt: Add -f alias for --force to documentation.
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:15 -08:00
Nikolai Weibull
5dd7342142 Documentation/git-http-fetch.txt: Document the commit-id argument.
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:15 -08:00
Nikolai Weibull
31f232819f Documentation/git-repack.txt: Add -l and -n.
This adds documentation for the -l and -n options to git-repack.

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:15 -08:00
Nikolai Weibull
5e34c99d95 Documentation/git-ls-remote.txt: Add -h and -t.
-h and -t are aliases for --heads and --tags to git-ls-remote.

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:15 -08:00
Nikolai Weibull
6f855371a5 Documentation/git-format-patch.txt: Add --signoff, --check, and long option-names.
The documentation was lacking descriptions for the --signoff and --check
options to git-format-patch.  It was also missing the following long
option-names: --output-directory (-o), --numbered (-n), --keep-subject
(-k), --author (-a), --date (-d), and --mbox (-m).

Signed-off-by: Nikolai Weibull <nikolai@bitwi.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08 15:50:15 -08:00
Nikolai Weibull
d4ce5f7e50 Add documentation for the --topo-order option to git-show-branch.
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
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