summaryrefslogtreecommitdiffstats
path: root/git-merge-recursive.py (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2005-12-11merge-recursive: cleanup setIndexStagesJunio C Hamano1-12/+5
Fredrik points out there is a useful wrapper runProgram() used everywhere that we can use to feed input into subprocess. Use it to catch errors from the subprocess; it is a good cleanup as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-11merge-recursive: leave unmerged entries in the index.Junio C Hamano1-8/+46
This does two things. - When one branch renamed and the other branch did not, the resulting half-merged file in the working tree used to swap branches around and showed as if renaming side was "ours". This was confusing and inconsistent (even though the conflict markers were marked with branch names, it was not a good enough excuse). This changes the order of arguments to mergeFile in such a case to make sure we always see "our" change between <<< and ===, and "their" change between === and >>>. - When both branches renamed to the same path, and when one branch renamed and the other branch did not, we attempt mergeFile. When this automerge conflicted, we used to collapse the index. Now we use update-index --index-info to inject higher stage entries to leave the index in unmerged state for these two cases. What this still does _not_ do is to inject unmerged state into the index when the structural changes conflict. I have not thought things through what to do in each case yet, but the cases this commit cover are the most common ones, so this would be a good start. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-10format-patch: use same number of digits in numbersJunio C Hamano1-4/+10
This would help sorting by subject in MUA work saner even though MUA is too dumb to attempt sorting numbered subjects sanely. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-10t0000: catch trivial pilot errors.Junio C Hamano2-2/+36
People seem to be getting test failure from t6021 not becuase git is faulty but because they forgot to install "merge". Check this and other trivial pilot errors in the first test. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-10t3300: funny name testJunio C Hamano1-14/+14
Add double quote character to the test pattern. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-10Allow saving an object from a pipeDaniel Barkalow4-3/+52
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-11archimport: fix a in new changeset applyer additionEric Wong1-5/+1
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-11archimport: Fix a bug I introduced in the new log parserEric Wong1-2/+2
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-11archimport: Add the accurate changeset applyerEric Wong1-28/+171
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-11archimport: safer log file parsingEric Wong1-98/+111
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-11archimport: add -D <depth> and -a switchEric Wong1-90/+135
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-11archimport: remove git wrapper dependencyEric Wong1-1/+1
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-11archimport: fix -t tmpdir switchEric Wong1-3/+2
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-11archimport: remove String::ShellQuote dependency.Eric Wong1-23/+28
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-11archimport: first, make sure it still compilesEric Wong1-0/+16
(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-09Link Everyday GIT to main documentation tree.Junio C Hamano2-10/+11
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-09Everyday GIT with 20 commandsJunio C Hamano2-0/+139
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-09Use GIT_EXEC_PATH explicitly for initial git-init-db in tests.Junio C Hamano1-3/+2
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-09use "git init-db" in testsAlex Riesen1-2/+2
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-08git-prune: never lose objects reachable from our refs.Junio C Hamano2-19/+14
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-08qsort(): ptrdiff_t may be larger than intJunio C Hamano1-1/+6
This is a companion patch to e23eff8be92a2a2cb66b53deef020063cff285ed 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-08Documentation: git-pruneJunio C Hamano1-1/+29
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-08Documentation/git-read-tree.txt: Add --reset to SYNOPSIS.Nikolai Weibull1-1/+1
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08Documentation/git-tag.txt: Fix the order of sections (DESCRIPTION should ↵Nikolai Weibull1-20/+20
come before OPTIONS). Signed-off-by: Nikolai Weibull <nikolai@bitwi.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08Documentation/git-update-server-info.txt: Add -f alias for --force to ↵Nikolai Weibull1-1/+1
documentation. Signed-off-by: Nikolai Weibull <nikolai@bitwi.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08Documentation/git-http-fetch.txt: Document the commit-id argument.Nikolai Weibull1-0/+6
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08Documentation/git-repack.txt: Add -l and -n.Nikolai Weibull1-1/+8
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-08Documentation/git-ls-remote.txt: Add -h and -t.Nikolai Weibull1-1/+1
-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-08Documentation/git-format-patch.txt: Add --signoff, --check, and long ↵Nikolai Weibull1-6/+17
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-08Add documentation for the --topo-order option to git-show-branch.Nikolai Weibull2-2/+8
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08Add documentation for git-revert and git-cherry-pick.Nikolai Weibull3-4/+4
* 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-08Documentation/git-cherry-pick: Add --replay and --no-commit.Nikolai Weibull1-2/+2
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08Documentation/git-cvsimport.txt: Fix a slight glitch in description heading.Nikolai Weibull1-1/+1
Signed-off-by: Nikolai Weibull <nikolai@bitwi.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08Documentation/git-verify-pack.txt: added documentation for --.Nikolai Weibull1-1/+3
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-08Documentation/git-commit.txt: Add long options and -- to documentation.Nikolai Weibull1-6/+12
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-08Use uniform description for the '--' option.Nikolai Weibull1-1/+1
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-08Fix the description of --utf8 and --keep to git-am.Nikolai Weibull1-1/+1
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-08Document the --non-empty command-line option to git-pack-objects.Nikolai Weibull2-2/+6
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-08show-branch: comment typoJunio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-08Documentation: recursive is the default strategy these days.Junio C Hamano3-7/+7
We still said resolve was the default in handful places. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07Make sure we use compat/subprocess.py with Python 2.3 while running tests.Junio C Hamano1-1/+12
Otherwise the test will not succeed without installing. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07Clean up file descriptors when calling hooks.Daniel Barkalow3-3/+17
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-07refs.c: make sure leading directories exist before writing a ref.Junio C Hamano1-0/+4
Otherwise cloning a repository with hierarchical branch/tag over http would fail. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07Documentation(tutorial): adjust merge example to the new merge world order.Junio C Hamano1-11/+12
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07Documentation(cvs-migration): minor cleanups.Junio C Hamano1-1/+2
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07Documentation(glossary): minor formatting clean-ups.Junio C Hamano2-7/+6
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-07Documentation: git.html/git.7Junio C Hamano2-87/+104
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-07gitk: Work around Tcl's non-standard names for encodingsPaul Mackerras1-94/+374
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-07update-index: allow --index-info to add higher stages.Junio C Hamano2-18/+104
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-07git-merge-one: new merge world order.Junio C Hamano1-16/+9
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>