summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-01-13checkout: merge local modifications while switching branches.Libravatar Junio C Hamano2-29/+107
* Instead of going interactive, introduce a command line switch '-m' to allow merging changes when normal two-way merge by read-tree prevents branch switching. * Leave the unmerged stages intact if automerge fails, but reset index entries of cleanly merged paths to that of the new branch, so that "git diff" (not "git diff HEAD") would show the local modifications. * Swap the order of trees in read-tree three-way merge used in the fallback, so that `git diff` to show the conflicts become more natural. * Describe the new option and give more examples in the documentation. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-13checkout: automerge local changes while switching branches.Libravatar Junio C Hamano1-1/+27
When switching branches, if the working tree has a local modification at paths that are different between current and new branches, we refused the operation saying "cannot merge." This attempts to do an automerge for such paths. This is still experimental. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-13Merge fixes up to GIT 1.1.2Libravatar Junio C Hamano9-15/+52
2006-01-13Fix the installation location.Libravatar Junio C Hamano1-8/+7
The earlier change to separate $(gitexecdir) from $(bindir) had the installation location of the git wrapper and the rest of the commands the wrong way (right now, both of them point at the same location so there is no real harm). Also gitk needs to be installed in $(bindir). Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-13Exec git programs without using PATH.Libravatar Michal Ostrowski12-62/+176
The git suite may not be in PATH (and thus programs such as git-send-pack could not exec git-rev-list). Thus there is a need for logic that will locate these programs. Modifying PATH is not desirable as it result in behavior differing from the user's intentions, as we may end up prepending "/usr/bin" to PATH. - git C programs will use exec*_git_cmd() APIs to exec sub-commands. - exec*_git_cmd() will execute a git program by searching for it in the following directories: 1. --exec-path (as used by "git") 2. The GIT_EXEC_PATH environment variable. 3. $(gitexecdir) as set in Makefile (default value $(bindir)). - git wrapper will modify PATH as before to enable shell scripts to invoke "git-foo" commands. Ideally, shell scripts should use the git wrapper to become independent of PATH, and then modifying PATH will not be necessary. [jc: with minor updates after a brief review.] Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-13GIT 1.1.2Libravatar Junio C Hamano9-15/+52
2006-01-13GIT 1.0.10Libravatar Junio C Hamano8-14/+49
2006-01-13Documentation: git-reset - interrupted workflow.Libravatar Junio C Hamano1-1/+26
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-13Documentation: git-commit -aLibravatar Junio C Hamano1-1/+3
A bit more elaboration on what "update all paths" means. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-13octopus: allow criss-cross and clarify the message when it rejectsLibravatar Junio C Hamano1-7/+7
We rejected multi-base merge situations even though we used the same underlying multi-base git-read-tree as the resolve strategy uses. This was unneeded and did not add much to ensure the merge to be truly trivial, so remove this restriction and be more similar to what resolve does. Also when the merge did not trivially resolve, we rejected without stating that octopus strategy does not handle the situation. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-12Documentation: clarify fetch parameter descriptions.Libravatar J. Bruce Fields1-3/+3
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-12Makefile: add 'strip' targetLibravatar Junio C Hamano1-1/+5
This is not invoked by any other target (most notably, "make install" does not), but is provided as a convenience for people who are building from the source. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-11show-branch: handle [] globs as well.Libravatar Junio C Hamano1-1/+1
Earlier only '?' and '*' signalled the command that what the user has given is a glob pattern. This prevented us to say: $ git show-branch 'v0.99.[0-3]' Now we notice '[' as well, so the above would work. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-11name-rev: do not omit leading components of ref name.Libravatar Junio C Hamano2-6/+7
In a repository with mainto/1.0 (to keep maintaining the 1.0.X series) and fixo/1.0 (to keep fixes that apply to both 1.0.X series and upwards) branches, "git-name-rev mainto/1.0" answered just "1.0" making things ambiguous. Show refnames unambiguously like show-branch does. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-11git-describe: default to HEADLibravatar Junio C Hamano1-16/+22
This is based on the patch by Andreas Ericsson, but done slightly differently, preferring to have separate loops -- one for options and then arguments. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-11describe: do not silently ignore indescribable commitsLibravatar Junio C Hamano1-2/+3
We silently ignored indescribable commits without complaining. Complain and die instead. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-11update-index: work with c-quoted nameLibravatar Junio C Hamano1-1/+8
update-index --stdin did not work with c-style quoted names even though update-index --index-info did. This fixes the inconsistency. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-11Add git-describe to .gitignore.Libravatar Tom Prince1-0/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-10Add --keep option to keep downloaded packs to git-fetch.Libravatar Tom Prince2-1/+7
Signed-off-by: Tom Prince <tom.prince@ualberta.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-10Merge fixes up to GIT 1.1.1Libravatar Junio C Hamano1-0/+11
2006-01-10GIT 1.0.9Libravatar Junio C Hamano1-0/+11
2006-01-10GIT 1.1.1Libravatar Junio C Hamano1-0/+11
2006-01-10glossary: explain "master" and "origin"Libravatar Johannes Schindelin1-0/+11
If you are a long time git user/developer, you forget that to a new git user, these words have not the same meaning as to you. [jc: with updates from J. Bruce Fields.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-09show-branch: take default arguments from configuration file.Libravatar Junio C Hamano1-1/+31
This lets showbranch.default multivalued configuration item to be used as the default set of parameters to git-show-branch when none is given on the command line. I keep many topic branches (e.g. zzz/pack, net/misc) and branches used only as a reference under subdirectories (e.g. hold/{html,man,todo} track the same from git.git, but clutters the show-branch output when shown along with the main development; ko/master tracks what I have pushed out already and refetched from the kernel.org server), and often run: $ git show-branch ko/master heads/* to view only the ko/master head and branches I keep immediately under $GIT_DIR/refs/heads. With this change, I can have this in my $GIT_DIR/config file: [showbranch] default = ko/master default = heads/* and say $ git show-branch Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-09GIT-VERSION-GEN: detect dirty tree and mark the version accordingly.Libravatar Junio C Hamano1-0/+9
If we are building from a working tree with local modifications, mark the version accordingly. Deliberately uses '-' to prevent RPM from being built from such a tree. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-09For release tarballs, include the proper versionLibravatar H. Peter Anvin2-3/+11
When producing a release tarball, include a "version" file, which GIT-VERSION-GEN can then use to do the right thing when building from a tarball. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-08GIT 1.1.0Libravatar Junio C Hamano36-504/+47
2006-01-08Add a test for rebase when a change was picked upstreamLibravatar Yann Dirson1-0/+53
This test exercises the standard feature that makes rebase useful. Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-08Add a minimal test for git-cherryLibravatar Yann Dirson1-0/+53
This test checks that git-cherry finds the expected number of patches in two simple cases, and then tests the new limit arguments. [jc: collapsed two patches into one and added sleep to make sure the two commits would get different timestamps] Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-08Add an optional limit to git-cherryLibravatar Yann Dirson1-7/+13
This allows to use another commit than the merge base as a limit for scanning patches. [jc: part about t3500 test omitted.] Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07git-daemon --base-pathLibravatar Petr Baudis2-2/+30
Tommi Virtanen expressed a wish on #git to be able to use short and elegant git URLs by making git-daemon 'root' in a given directory. This patch implements this, causing git-daemon to interpret all paths relative to the given base path if any is given. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07describe: allow more than one revs to be named.Libravatar Junio C Hamano3-1/+17
The main loop was prepared to take more than one revs, but the actual naming logic wad not (it used pop_most_recent_commit while forgetting that the commit marks stay after it's done). Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07ls-files --others --directory: testLibravatar Junio C Hamano1-6/+28
Add a test to run with --directory option. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07git-status: use ls-files --others --directory for untracked list.Libravatar Junio C Hamano1-2/+2
This shortens "Untracked files" list by using --directory option when running ls-files --others. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07ls-files --others --directory: give trailing slashLibravatar Junio C Hamano1-2/+3
This adds a trailing slash to directory names in the output when "--others --directory" option shows only untracked directories and not their contents, to make them stand out. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07ls-files --others --directory: fix a bug with index entry orderingLibravatar Junio C Hamano1-8/+5
When both howto-index.sh and howto/make-dist.txt exist under Documentation/ directory, dir_exists() mistakenly checked it without the trailing slash to see if there was something under Documentation/howto directory, and did not realize there was, because '-' sorts earlier than '/' and cache_name_pos() finds howto-index.sh, which is not under howto/ directory. This caused --others --directory to show it which was incorrect. Check the directory name with the trailing slash, because having an entry that has such as a prefix is what we are looking for. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07ls-files -o: optionally skip showing the contents in "untracked" directoriesLibravatar Linus Torvalds1-0/+22
Darrin Thompson notes that git-ls-files -o reports all the unknown files it finds in a work area. Subversion and probably other systems "simply ignore all the files and directories inside an unknown directory and just note the directory as unknown." With --directory option, ls-files --others shows untracked directories without descending into them. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07git-fetch: auto-following tags.Libravatar Junio C Hamano2-124/+169
I added things to ls-remote so that Cogito can auto-follow tags easily and correctly a while ago, but git-fetch did not use the facility. Recently added git-describe command relies on repository keeping up-to-date set of tags, which made it much more attractive to automatically follow tags, so we do that as well. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07GIT 1.0.8Libravatar Junio C Hamano35-492/+47
2006-01-07mailsplit: allow empty input from stdinLibravatar Junio C Hamano1-1/+4
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07revert/cherry-pick: handle single quote in author name.Libravatar Junio C Hamano1-0/+1
The same fix as aa66c7ec77d474b737da607d6cb2d07f56628def is needed here. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07Fix git-format-patch usage string wrt output modes.Libravatar Yann Dirson1-2/+4
--stdout was not mentionned, and the description for the case where -o was not given was thus incomplete. Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07Fix typo in debug stanza of t2001Libravatar Yann Dirson1-1/+1
Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07tar-tree: finish honoring extractor's umask in git-tar-tree.Libravatar Junio C Hamano1-1/+1
Earlier commit 38ec15a973a1f075f0d94d130b0ef279562921cd forgot to apply the same principle of not forcing go-w to the base directory when specified. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07[PATCH] Compilation: zero-length array declaration.Libravatar Junio C Hamano10-12/+21
ISO C99 (and GCC 3.x or later) lets you write a flexible array at the end of a structure, like this: struct frotz { int xyzzy; char nitfol[]; /* more */ }; GCC 2.95 and 2.96 let you to do this with "char nitfol[0]"; unfortunately this is not allowed by ISO C90. This declares such construct like this: struct frotz { int xyzzy; char nitfol[FLEX_ARRAY]; /* more */ }; and git-compat-util.h defines FLEX_ARRAY to 0 for gcc 2.95 and empty for others. If you are using a C90 C compiler, you should be able to override this with CFLAGS=-DFLEX_ARRAY=1 from the command line of "make". Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-07prune: do not show error from pack-redundant when no packs are found.Libravatar Junio C Hamano1-2/+1
When there is no pack yet, git-prune leaked an error message from "git-pack-redundant --all" which complained that there is no pack. Squelch the annoying message. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-06Retire debian/ directory.Libravatar Junio C Hamano16-441/+0
The official maintainer is keeping up-to-date quite well, and now the older Debian is supported with backports.org, there is no reason for me to keep debian/ directory around here. I have not been building and publishing debs since 1.0.4 anyway. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-06unpack-objects: default to quiet if stderr is not a tty.Libravatar Junio C Hamano1-0/+2
This would help cron/at jobs that run send-pack to mirror repositories. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-06Substitute "/" with $opt_s in tag names as well as branch namesLibravatar Joe English1-0/+1
In 'git cvsimport' changes "/" to "-" (or $opt_s) in branch names, but not in tag names, which is inconsistent. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-06Teach cvsexportcommit to add new filesLibravatar Yann Dirson1-2/+10
"cvs add" support was already there, but the "unknown" status returned when querying a file not yet known to cvs caused the script to abort prematurely. Signed-off-by: Junio C Hamano <junkio@cox.net>